[LLVMdev] [llvm] r184698 - Add a flag to defer vectorization into a phase after the inliner and its

Hal Finkel hfinkel at anl.gov
Mon Jun 24 12:50:37 PDT 2013


----- Original Message -----
> 
> On Jun 24, 2013, at 2:32 PM, Hal Finkel <hfinkel at anl.gov> wrote:
> 
> > I assume that we're taking about nsw, etc. The fact that SCEV
> > assumes nsw in some cases has led to problems (PR16130 has some
> > history on this), and I don't understand why SCEV's
> > unique-ifying/commoning expressions implies that it needs to drop
> > the flags.
> 
> Yes I am talking about the ability to maintain nsw/nuw on general
> expressions between LLVM IR and the SCEV IR and back.
> 
> If I recall Andy’s explanation correctly, it is at least an issue if
> you have the same expression once with a wrapping flag (because it
> is guarded) and once without.

That makes sense, especially combined with simplification. This is why I asked how equality should be defined if we kept the flags.

> Maybe also issues when we simplify
> expressions in that it is hard to maintain them?
> 
> What holds true is that if you go
> 
>   LLVM IR -> SCEV -> SCEV expander -> LLVM IR
> 
> is that you will loose wrapping flags. And IndVars does just that :(.

Thanks for following up.

 -Hal

-- 
Hal Finkel
Assistant Computational Scientist
Leadership Computing Facility
Argonne National Laboratory




More information about the llvm-dev mailing list