[PATCH] D111191: [SCEV] Search operand tree for scope bound when inferring flags from IR

Nikita Popov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Oct 6 15:12:05 PDT 2021


nikic added inline comments.


================
Comment at: llvm/test/Analysis/LoopAccessAnalysis/memcheck-wrapping-pointers.ll:48
 ; CHECK-NEXT:    [PSE]  %arrayidx = getelementptr inbounds i32, i32* %a, i64 %idxprom:
-; CHECK-NEXT:      ((4 * (zext i32 {1,+,1}<%for.body> to i64))<nuw><nsw> + %a)
+; CHECK-NEXT:      ((4 * (zext i32 {1,+,1}<%for.body> to i64))<nuw><nsw> + %a)<nuw>
 ; CHECK-NEXT:      --> {(4 + %a),+,4}<%for.body>
----------------
xbolva00 wrote:
> And here nuw.. 
> 
> Suspicous.
The comment above is indeed outdated, but nuw is correct here. This is because inbounds only guarantees no overflow in the unsigned address space (despite the index being signed).


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D111191/new/

https://reviews.llvm.org/D111191



More information about the llvm-commits mailing list