These are interesting again because the user may not be aware that this
is a common reason preventing LICM.
A const is removed from an instruction pointer declaration in order to
pass it to ORE.
Paths
| Differential D27940
[LICM] Report failing to hoist conditionally-executed loads ClosedPublic Authored by anemet on Dec 19 2016, 1:37 PM.
Details Summary These are interesting again because the user may not be aware that this A const is removed from an instruction pointer declaration in order to
Diff Detail
Event Timelineanemet updated this object. This revision is now accepted and ready to land.Jan 10 2017, 4:53 PM Closed by commit rL291649: [LICM] Report failing to hoist conditionally-executed loads (authored by anemet). · Explain WhyJan 10 2017, 8:50 PM This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 81994 include/llvm/Transforms/Utils/LoopUtils.h
lib/Transforms/Scalar/LICM.cpp
test/Transforms/LICM/opt-remarks-conditional-load.ll
|
I have the same question here as I did in D27939, is the CurLoop->isLoopInvariant check needed here? At least in the call on line 407, the call is guarded by CurLoop->hasLoopInvariantOperands.