[PATCH] D110620: [SCEV] Infer ranges for SCC consisting of cycled Phis

Max Kazantsev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Oct 5 05:02:20 PDT 2021


mkazantsev added inline comments.


================
Comment at: llvm/lib/Analysis/ScalarEvolution.cpp:6327
+          else {
+            auto SharpenedRange =
+                I->second.intersectWith(ConservativeResult, RangeType);
----------------
mkazantsev wrote:
> reames wrote:
> > Does this ever get hit?  I'd expect this to be unreachable as we'd always traverse the same SCC by definition from any entry.  
> I think you are right. Need to check.
Actually no, this happens quite often. Here is what happens when I add assert:
```
Failed Tests (22):
  LLVM :: Analysis/CostModel/X86/interleaved-load-f64-stride-4.ll
  LLVM :: Analysis/CostModel/X86/interleaved-load-i16-stride-6.ll
  LLVM :: Analysis/CostModel/X86/interleaved-store-f32-stride-2.ll
  LLVM :: Analysis/CostModel/X86/interleaved-store-i32-stride-4.ll
  LLVM :: Analysis/CostModel/X86/interleaved-store-i32-stride-6.ll
  LLVM :: Analysis/CostModel/X86/interleaved-store-i64-stride-3.ll
  LLVM :: Analysis/CostModel/X86/interleaved-store-i8-stride-6.ll
  LLVM :: CodeGen/AMDGPU/amdpal-callable.ll
  LLVM :: CodeGen/AMDGPU/wave32.ll
  LLVM :: CodeGen/ARM/loop-indexing.ll
  LLVM :: CodeGen/Hexagon/swp-epilog-reuse4.ll
  LLVM :: CodeGen/X86/stack-protector.ll
  LLVM :: CodeGen/X86/vector-fshl-256.ll
  LLVM :: Transforms/Attributor/willreturn.ll
  LLVM :: Transforms/IndVarSimplify/no-iv-rewrite.ll
  LLVM :: Transforms/LoopStrengthReduce/lsr-comp-time.ll
  LLVM :: Transforms/LoopUnroll/runtime-loop-branchweight.ll
  LLVM :: Transforms/LoopUnroll/runtime-loop2.ll
  LLVM :: Transforms/LoopVectorize/ARM/tail-folding-counting-down.ll
  LLVM :: Transforms/LoopVectorize/PowerPC/reg-usage.ll
  LLVM :: Transforms/LoopVectorize/X86/gather_scatter.ll
  LLVM :: Transforms/LoopVectorize/tail-folding-counting-down.ll
```



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

https://reviews.llvm.org/D110620



More information about the llvm-commits mailing list