[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