[PATCH] D52827: [LICM] Make LICM able to hoist phis

John Brawn via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Nov 20 09:12:12 PST 2018


john.brawn updated this revision to Diff 174796.
john.brawn added a comment.

The thing causing the crash was incorrect handling of instructions that need to be rehoisted. When we have hoisted a phi, then hoisted a use of that phi, then if have to rehoist that use we need to make sure that we rehoist it to _after_ the hoisted phi. We can do this by rehoisting to the immediate dominator instead of just rehoisting everything to the original preheader.


Repository:
  rL LLVM

https://reviews.llvm.org/D52827

Files:
  lib/Transforms/Scalar/LICM.cpp
  test/Transforms/LICM/hoist-phi.ll
  test/Transforms/LoopVectorize/invariant-store-vectorization.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D52827.174796.patch
Type: text/x-patch
Size: 54016 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20181120/14b3d44f/attachment.bin>


More information about the llvm-commits mailing list