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 83102 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.