Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix SegFault on LLVM 3.8.0 #16503

Merged
merged 1 commit into from
May 22, 2016
Merged

Fix SegFault on LLVM 3.8.0 #16503

merged 1 commit into from
May 22, 2016

Conversation

yuyichao
Copy link
Contributor

@yuyichao yuyichao commented May 21, 2016

This is due to a LLVM bug which sets the wrong alignment on a scalar load
unpacked from an aligned aggregate load.

This is very similar to the issue in #15417 (comment) although the transformation is somehow visible in code_llvm and not only code_native so more tests are needed on windows (all tests passes on linux for me with this patch).

The bug was introduced by http://reviews.llvm.org/D17158 which was applied on 3.8 branch in llvm-mirror/llvm@7a0ec46. This is fixed on the LLVM master in llvm-mirror/llvm@7aec751 5 days after but was not backported....

@tkelman
Copy link
Contributor

tkelman commented May 21, 2016

We have a few days left to nominate patches for 3.8.1, just need to email the release manager and llvm-commits

@@ -728,6 +728,8 @@ $(eval $(call LLVM_PATCH,llvm-3.8.0_winshlib))
$(eval $(call LLVM_PATCH,llvm-3.8.0_threads))
# fix replutil test on unix
$(eval $(call LLVM_PATCH,llvm-D17165-D18583))
# Segfault for aggregate load
$(eval $(call LLVM_PATCH,llvm-D17326_unpack_load))
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

touches the same file as llvm-D14260.patch, should have a dependency to avoid a race condition

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

This is due to a LLVM bug which sets the wrong alignment on a scalar load
unpacked from an aligned aggregate load.
@yuyichao
Copy link
Contributor Author

just need to email the release manager.

I left a comment on http://reviews.llvm.org/D17326#436371 . How to contact the release manager?

@tkelman
Copy link
Contributor

tkelman commented May 21, 2016

email llvm-commits, cc the code owner and tom stellard http://lists.llvm.org/pipermail/llvm-dev/2016-May/099946.html

@yuyichao
Copy link
Contributor Author

yuyichao commented May 21, 2016

Done (edit: http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20160516/358350.html)

@tkelman
Copy link
Contributor

tkelman commented May 21, 2016

Confirmed fixes the segfault in the subarray test on win64.

edit: also fixes the bitarray test if I apply this patch at d6df2a0

@tkelman tkelman merged commit 6497786 into master May 22, 2016
@tkelman tkelman deleted the yyc/llvm38 branch May 22, 2016 06:18
@tkelman
Copy link
Contributor

tkelman commented May 22, 2016

Was David Majnemer the code owner there? May be good to remind them that you don't have commit access (how many patches have you had upstream now? what's their commit access nomination process?)

@yuyichao
Copy link
Contributor Author

Was David Majnemer the code owner there

He's the one I find for InstCombine.

May be good to remind them that you don't have commit access

Following the thread you linked, I'm waiting for Tom's reply and will ask him to help committing.

@StefanKarpinski
Copy link
Member

You may want to include @Keno in the conversation since he's got LLVM commit access.

@Keno
Copy link
Member

Keno commented May 22, 2016

Backporting is generally done by the release manager, I don't even know how to do it, even though I probably have the permissions.

ncopa pushed a commit to alpinelinux/aports that referenced this pull request Jun 10, 2016
This patch is backported from upstream, see
JuliaLang/julia#16503 for more information.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants