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

Add LLVM patches to fix InstCombine loosing tbaa metadata #16897

Merged
merged 1 commit into from
Jun 18, 2016

Conversation

yuyichao
Copy link
Contributor

@yuyichao yuyichao commented Jun 12, 2016

Seems that the patches are applied in series so there's no need to add dependencies manually anymore.

Tested on LLVM 3.7.1 and 3.8 on Linux.

Fixes #16894

Upstream review http://reviews.llvm.org/D21271, I think we can wait for this to be fixed upstream first.

@yuyichao yuyichao added the compiler:codegen Generation of LLVM IR and native code label Jun 12, 2016
@yuyichao yuyichao force-pushed the yyc/codegen/instcombine-tbaa branch from 46b6b1b to b03c3e3 Compare June 16, 2016 15:05
@yuyichao
Copy link
Contributor Author

The patch is merged upstream as http://reviews.llvm.org/rL272868 . I've updated the patches here to include a minor change in the final version (cast instead of static_cast).

@tkelman I guess we need a windows LLVM binary with the new patch? It would also be nice to verify that this patch fixes the problem on windows too.

@tkelman
Copy link
Contributor

tkelman commented Jun 16, 2016

Do you have a test that would fail without the patch? I can prepare binaries that include this patch but am doing a bunch of other things for the next few days, when do you need them?

@yuyichao
Copy link
Contributor Author

Do you have a test that would fail without the patch?

This fixes #16894 so the test is that both versions in that issue should vectorize.

when do you need them?

Whenever we want to have a nightly windows build that include the fix? Can this be merged before we have that?

@tkelman
Copy link
Contributor

tkelman commented Jun 16, 2016

I need to explain how things work a little better apparently, the LLVM binaries that I personally build on my local machine are only used for appveyor. The buildbots that make nightlies do everything from source, so they'll pick these up as soon as they get merged. Now that we have LLVM as a shared library I could probably use the dll from the nightlies for appveyor too instead of building it by hand, but I'd still need to do something about the headers and tools like llvm-config.

@yuyichao yuyichao merged commit 7ea3fb5 into master Jun 18, 2016
@yuyichao yuyichao deleted the yyc/codegen/instcombine-tbaa branch June 18, 2016 00:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
compiler:codegen Generation of LLVM IR and native code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Vectorization depends on silly details
2 participants