[PATCH] D20505: Codegen: Outline for chains of tail-duplicable blocks.

Kyle Butt via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Dec 13 17:17:05 PST 2016


iteratee updated this revision to Diff 81332.
iteratee added a comment.
Herald added subscribers: nhaehnle, wdng.

This is now MUCH shorter.

I realized with some help from davidxl that I didn't need to tie this to the outlining.

Also, because we need to recognize the pattern that occurs from repeated tail-duplication (So that when we repeat layout, we get the same result), we just recognize the pattern instead of using the delay set, as it's redundant.

I need to rewrite the description, but the code should be much easier to review now. The change the placement algorithm is now 22 lines, and most of that is a utility function for CFG matching.


https://reviews.llvm.org/D20505

Files:
  lib/CodeGen/MachineBlockPlacement.cpp
  test/CodeGen/AArch64/branch-relax-cbz.ll
  test/CodeGen/AArch64/optimize-cond-branch.ll
  test/CodeGen/AMDGPU/basic-branch.ll
  test/CodeGen/AMDGPU/cf-loop-on-constant.ll
  test/CodeGen/AMDGPU/convergent-inlineasm.ll
  test/CodeGen/AMDGPU/salu-to-valu.ll
  test/CodeGen/AMDGPU/skip-if-dead.ll
  test/CodeGen/ARM/atomic-cmpxchg.ll
  test/CodeGen/ARM/fold-stack-adjust.ll
  test/CodeGen/PowerPC/tail-dup-layout.ll
  test/CodeGen/WebAssembly/mem-intrinsics.ll
  test/CodeGen/X86/block-placement.ll
  test/CodeGen/X86/tail-dup-merge-loop-headers.ll
  test/CodeGen/X86/tail-dup-repeat.ll
  test/CodeGen/X86/tail-opts.ll
  test/CodeGen/X86/twoaddr-coalesce-3.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D20505.81332.patch
Type: text/x-patch
Size: 19228 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20161214/2e15ed95/attachment.bin>


More information about the llvm-commits mailing list