[PATCH] D66190: [CodeGen] Add a pass to do block predication on SSA machine IR

Thomas Raoux via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 13 17:32:15 PDT 2019


ThomasRaoux created this revision.
ThomasRaoux added reviewers: jmolloy, majnemer.
Herald added subscribers: llvm-commits, hiraditya.
Herald added a project: LLVM.

For targets requiring aggressive scheduling and/or software pipeline we need to apply predication before preRA scheduling. This adds a pass re-using the early if-cvt infrastructure but generating predicated instructions instead of speculatively executing instructions. It allows doing if conversion on blocks containing instructions with side-effects. The pass re-use the target hook from postRA if-conversion to let the target decide on the heuristic to apply.
Since there are currently no target supporting both predicate and implementing insertselect target hook I'm not able to add tests for it at this point.


Repository:
  rL LLVM

https://reviews.llvm.org/D66190

Files:
  llvm/include/llvm/CodeGen/Passes.h
  llvm/include/llvm/InitializePasses.h
  llvm/lib/CodeGen/CodeGen.cpp
  llvm/lib/CodeGen/EarlyIfConversion.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D66190.214994.patch
Type: text/x-patch
Size: 17245 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190814/356312eb/attachment.bin>


More information about the llvm-commits mailing list