[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