[PATCH] D37460: [GVN] Prevent LoadPRE from hoisting through guards
Max Kazantsev via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Sep 6 02:25:56 PDT 2017
mkazantsev updated this revision to Diff 113971.
mkazantsev retitled this revision from "[GVN] Prevent LoadPRE from hoisting through guards and assumes" to "[GVN] Prevent LoadPRE from hoisting through guards".
mkazantsev edited the summary of this revision.
mkazantsev added a comment.
1. Removed assumes-related stuff.
2. Added a motivating test and comment.
3. Daniel, I didn't get what you mean under using ordered instructions to do this stuff. OrderedInstructions can only answer if a particular guard dominates our load. It will still take linear time to gather the guards, and for them we know for sure that they dominate the load and don't basically need to ask anything from OrderdeInstructions. I used `any_of` to speed the things up, but don't see any way to reduce complexity.
Could you please explain what you mean under using OrderedInstructions for gaining amortized constant complexity?
https://reviews.llvm.org/D37460
Files:
lib/Transforms/Scalar/GVN.cpp
test/Transforms/GVN/PRE/pre-load-guards.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D37460.113971.patch
Type: text/x-patch
Size: 5679 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170906/f49c1dc1/attachment.bin>
More information about the llvm-commits
mailing list