[PATCH] D36013: Fix logic for generating llvm.type.test()s

2017-07-31 Thread Peter Collingbourne via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL309622: Fix logic for generating llvm.type.test()s (authored by pcc). Changed prior to commit: https://reviews.llvm.org/D36013?vs=108702=108994#toc Repository: rL LLVM

[PATCH] D36013: Fix logic for generating llvm.type.test()s

2017-07-28 Thread Vlad Tsyrklevich via Phabricator via cfe-commits
vlad.tsyrklevich updated this revision to Diff 108702. vlad.tsyrklevich marked 2 inline comments as done. https://reviews.llvm.org/D36013 Files: lib/CodeGen/CGClass.cpp test/CodeGenCXX/cfi-vcall-no-trap.cpp Index: test/CodeGenCXX/cfi-vcall-no-trap.cpp

[PATCH] D36013: Fix logic for generating llvm.type.test()s

2017-07-28 Thread Peter Collingbourne via Phabricator via cfe-commits
pcc accepted this revision. pcc added a comment. This revision is now accepted and ready to land. LGTM Comment at: test/CodeGenCXX/cfi-vcall-no-trap.cpp:2 +// Only output llvm.assume(llvm.type.test()) if cfi-vcall is disabled and whole-program-vtables is enabled +// RUN:

[PATCH] D36013: Fix logic for generating llvm.type.test()s

2017-07-28 Thread Vlad Tsyrklevich via Phabricator via cfe-commits
vlad.tsyrklevich created this revision. `CodeGenFunction::EmitTypeMetadataCodeForVCall()` could output an `llvm.assume(llvm.type.test())`when CFI was enabled, optimizing out the vcall check. This case was only reached when: 1) CFI-vcall was enabled, 2) -fwhole-program-tables was specified, and