[PATCH] D75980: [LV] Generate RT checks up-front and remove them if required. (WIP)

Florian Hahn via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jan 4 02:11:18 PST 2021


fhahn updated this revision to Diff 314335.
fhahn added a comment.

Rebased on top of current trunk. This version now can build MultiSource/SPEC2006/SPEC2000 with -O3 -flto without crashing.

In D75980#2317378 <https://reviews.llvm.org/D75980#2317378>, @fhahn wrote:

> Just in the process of rebasing this again now that most other parts landed and discovered I accidentally made our job harder by teaching SCEVExpander to preserve LCSSA. Needs a bit of more work now.

I recently fixed a related issue (0ea3749b3cde <https://reviews.llvm.org/rG0ea3749b3cde16d70c5f66357b623c8edf521f2b>), which makes this point obsolete; the final CFG is constructed before expanding, which solves the issue.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D75980

Files:
  llvm/include/llvm/Transforms/Utils/LoopUtils.h
  llvm/include/llvm/Transforms/Utils/ScalarEvolutionExpander.h
  llvm/lib/Transforms/Utils/LoopUtils.cpp
  llvm/lib/Transforms/Utils/LoopVersioning.cpp
  llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
  llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
  llvm/test/Transforms/LoopVectorize/X86/illegal-parallel-loop-uniform-write.ll
  llvm/test/Transforms/LoopVectorize/runtime-drop-crash.ll
  llvm/test/Transforms/LoopVectorize/skeleton-lcssa-crash.ll
  llvm/test/Transforms/LoopVectorize/version-mem-access.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D75980.314335.patch
Type: text/x-patch
Size: 37735 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210104/4486e395/attachment.bin>


More information about the llvm-commits mailing list