[PATCH] D28583: CodeGen: Allow small copyable blocks to "break" the CFG.

Kyle Butt via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jan 27 11:01:15 PST 2017


iteratee updated this revision to Diff 86081.
iteratee added a comment.

Per offline discussion, I removed the ordering constraint for blocks that are profitable to tail-duplicate.

This resulted in a lot of test churn, but the source change is relatively small.


https://reviews.llvm.org/D28583

Files:
  lib/CodeGen/MachineBlockPlacement.cpp
  test/CodeGen/AArch64/aarch64-dynamic-stack-layout.ll
  test/CodeGen/AArch64/addsub.ll
  test/CodeGen/AArch64/arm64-atomic.ll
  test/CodeGen/AArch64/arm64-ccmp.ll
  test/CodeGen/AArch64/arm64-shrink-wrapping.ll
  test/CodeGen/AArch64/branch-relax-bcc.ll
  test/CodeGen/AArch64/compare-branch.ll
  test/CodeGen/AArch64/logical_shifted_reg.ll
  test/CodeGen/AArch64/rm_redundant_cmp.ll
  test/CodeGen/AArch64/tail-dup-repeat-worklist.ll
  test/CodeGen/AArch64/tbz-tbnz.ll
  test/CodeGen/AMDGPU/basic-branch.ll
  test/CodeGen/AMDGPU/br_cc.f16.ll
  test/CodeGen/AMDGPU/branch-relaxation.ll
  test/CodeGen/AMDGPU/convergent-inlineasm.ll
  test/CodeGen/AMDGPU/i1-copy-implicit-def.ll
  test/CodeGen/AMDGPU/salu-to-valu.ll
  test/CodeGen/AMDGPU/si-annotate-cf-noloop.ll
  test/CodeGen/AMDGPU/uniform-cfg.ll
  test/CodeGen/AMDGPU/valu-i1.ll
  test/CodeGen/ARM/arm-and-tst-peephole.ll
  test/CodeGen/ARM/arm-shrink-wrapping.ll
  test/CodeGen/ARM/atomic-cmpxchg.ll
  test/CodeGen/ARM/atomic-op.ll
  test/CodeGen/ARM/atomic-ops-v8.ll
  test/CodeGen/ARM/cmpxchg-weak.ll
  test/CodeGen/ARM/machine-cse-cmp.ll
  test/CodeGen/Mips/brconeq.ll
  test/CodeGen/Mips/brconeqk.ll
  test/CodeGen/Mips/brcongt.ll
  test/CodeGen/Mips/brconlt.ll
  test/CodeGen/Mips/brconne.ll
  test/CodeGen/Mips/brconnek.ll
  test/CodeGen/Mips/brconnez.ll
  test/CodeGen/Mips/fcmp.ll
  test/CodeGen/Mips/llvm-ir/ashr.ll
  test/CodeGen/Mips/llvm-ir/lshr.ll
  test/CodeGen/Mips/llvm-ir/select-dbl.ll
  test/CodeGen/Mips/llvm-ir/select-flt.ll
  test/CodeGen/Mips/llvm-ir/select-int.ll
  test/CodeGen/Mips/llvm-ir/shl.ll
  test/CodeGen/Mips/micromips-compact-branches.ll
  test/CodeGen/Mips/setcc-se.ll
  test/CodeGen/PowerPC/misched-inorder-latency.ll
  test/CodeGen/PowerPC/select-i1-vs-i1.ll
  test/CodeGen/PowerPC/tail-dup-break-cfg.ll
  test/CodeGen/PowerPC/tail-dup-layout.ll
  test/CodeGen/SPARC/sjlj.ll
  test/CodeGen/SystemZ/asm-18.ll
  test/CodeGen/SystemZ/cond-store-01.ll
  test/CodeGen/SystemZ/cond-store-02.ll
  test/CodeGen/SystemZ/cond-store-03.ll
  test/CodeGen/SystemZ/cond-store-04.ll
  test/CodeGen/SystemZ/cond-store-05.ll
  test/CodeGen/SystemZ/cond-store-06.ll
  test/CodeGen/SystemZ/int-cmp-37.ll
  test/CodeGen/SystemZ/int-cmp-40.ll
  test/CodeGen/SystemZ/int-cmp-44.ll
  test/CodeGen/SystemZ/int-cmp-48.ll
  test/CodeGen/SystemZ/tdc-06.ll
  test/CodeGen/Thumb/select.ll
  test/CodeGen/Thumb/thumb-shrink-wrapping.ll
  test/CodeGen/Thumb/unord.ll
  test/CodeGen/Thumb2/cbnz.ll
  test/CodeGen/Thumb2/ifcvt-compare.ll
  test/CodeGen/Thumb2/v8_IT_4.ll
  test/CodeGen/WebAssembly/implicit-def.ll
  test/CodeGen/WebAssembly/phi.ll
  test/CodeGen/X86/2008-11-29-ULT-Sign.ll
  test/CodeGen/X86/2011-12-26-extractelement-duplicate-load.ll
  test/CodeGen/X86/2012-08-17-legalizer-crash.ll
  test/CodeGen/X86/add.ll
  test/CodeGen/X86/avx-select.ll
  test/CodeGen/X86/avx-splat.ll
  test/CodeGen/X86/avx512-calling-conv.ll
  test/CodeGen/X86/avx512-cmp.ll
  test/CodeGen/X86/avx512-mask-op.ll
  test/CodeGen/X86/avx512-select.ll
  test/CodeGen/X86/bt.ll
  test/CodeGen/X86/cmov.ll
  test/CodeGen/X86/cmovcmov.ll
  test/CodeGen/X86/critical-edge-split-2.ll
  test/CodeGen/X86/fast-isel-select-pseudo-cmov.ll
  test/CodeGen/X86/fp-une-cmp.ll
  test/CodeGen/X86/fp128-i128.ll
  test/CodeGen/X86/jump_sign.ll
  test/CodeGen/X86/machine-cse.ll
  test/CodeGen/X86/pr5145.ll
  test/CodeGen/X86/pseudo_cmov_lower2.ll
  test/CodeGen/X86/select.ll
  test/CodeGen/X86/sext-i1.ll
  test/CodeGen/X86/shift-double.ll
  test/CodeGen/X86/shrink-wrap-chkstk.ll
  test/CodeGen/X86/sink-hoist.ll
  test/CodeGen/X86/sse-scalar-fp-arith.ll
  test/CodeGen/X86/testb-je-fusion.ll
  test/CodeGen/X86/use-add-flags.ll
  test/CodeGen/X86/vec_int_to_fp.ll
  test/CodeGen/X86/x86-shrink-wrap-unwind.ll
  test/CodeGen/X86/x86-shrink-wrapping.ll
  test/CodeGen/XCore/codemodel.ll
  test/DebugInfo/X86/bbjoin.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D28583.86081.patch
Type: text/x-patch
Size: 197597 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170127/9409915f/attachment-0001.bin>


More information about the llvm-commits mailing list