[PATCH] D68194: [LCSSA] Forget values we create LCSSA phis for

Sanjoy Das (Work Account) via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Oct 7 14:21:44 PDT 2019


sanjoy.google added a comment.

If the SCEV expression is mathematically correct I think this is a problem with SCEV expander.  If it is expected to preserve LCSSA it should add the necessary PHIs.

I know this contradicts existing code in SCEV that tries not to break LCSSA, I'm wondering if we should just remove those in favor of teaching SCEV expander about preserving LCSSA.



================
Comment at: llvm/test/Transforms/LoopUnroll/unroll-preserve-scev-lcssa.ll:76
+bb3:                                              ; preds = %bb9, %bb
+  br i1 undef, label %bb9, label %bb5
+
----------------
Minor thing: I'd avoid adding branches on `undef` (unless you need them to reproduce the test) because there is no  guarantee on how the optimizers will optimize these.

(It is also unclear whether this is UB.)


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D68194





More information about the llvm-commits mailing list