[PATCH] D35292: [SLPVectorizer] Add propagateIRFlagsWithOp() function to propagate IRFlags for specific Operation

Dinar Temirbulatov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 13 00:18:57 PDT 2017


dtemirbulatov added a comment.

> I'm not sure if Z having those flags is on purpose, though. And I don't see what we get from that.
> 
> Please tell me if I misunderstood something. I'm not the most familiar with the SLP vectorizer.

Usually it should have flags in common and  it collects those flags see "Intersection->andIRFlags(V);" in the loop across all VL,
but I have one example from test/Transforms/SLPVectorizer/X86/horizontal-list.ll where NUW flag was canceled by NSW. 
VL[0]:   %r1 = add nuw i32 %arg, undef
VL[1]:   %r2 = add nsw i32 %r1, undef
VL[2]:   %r3 = add nsw i32 %r2, undef
VL[3]:   %r4 = add nsw i32 %r3, undef
VL[4]:   %r5 = add nsw i32 %r4, undef


https://reviews.llvm.org/D35292





More information about the llvm-commits mailing list