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

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


iteratee created this revision.
iteratee added a reviewer: davidxl.
iteratee added subscribers: llvm-commits, echristo, timshen, t.p.northover.
iteratee set the repository for this revision to rL LLVM.
Herald added subscribers: nhaehnle, nemanjai, jyknight, jfb.
Herald added a reviewer: tstellarAMD.

When choosing the best successor for a block, ordinarily we would have preferred
a block that preserves the CFG unless there is a strong probability the other
direction. For small blocks that can be duplicated we now skip that requirement
as well, because the copy means that the CFG won't actually be violated.


Repository:
  rL LLVM

https://reviews.llvm.org/D27742

Files:
  lib/CodeGen/MachineBlockPlacement.cpp
  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/compare-branch.ll
  test/CodeGen/AArch64/logical_shifted_reg.ll
  test/CodeGen/AArch64/tbz-tbnz.ll
  test/CodeGen/AMDGPU/branch-relaxation.ll
  test/CodeGen/AMDGPU/si-annotate-cf-noloop.ll
  test/CodeGen/AMDGPU/skip-if-dead.ll
  test/CodeGen/AMDGPU/uniform-cfg.ll
  test/CodeGen/ARM/arm-and-tst-peephole.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/brconnez.ll
  test/CodeGen/Mips/llvm-ir/ashr.ll
  test/CodeGen/Mips/micromips-compact-branches.ll
  test/CodeGen/PowerPC/misched-inorder-latency.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/thumb-shrink-wrapping.ll
  test/CodeGen/Thumb2/cbnz.ll
  test/CodeGen/Thumb2/ifcvt-compare.ll
  test/CodeGen/Thumb2/v8_IT_4.ll
  test/CodeGen/WebAssembly/phi.ll
  test/CodeGen/X86/2008-11-29-ULT-Sign.ll
  test/CodeGen/X86/add.ll
  test/CodeGen/X86/avx-splat.ll
  test/CodeGen/X86/avx512-cmp.ll
  test/CodeGen/X86/bt.ll
  test/CodeGen/X86/critical-edge-split-2.ll
  test/CodeGen/X86/fp-une-cmp.ll
  test/CodeGen/X86/jump_sign.ll
  test/CodeGen/X86/machine-cse.ll
  test/CodeGen/X86/shift-double.ll
  test/CodeGen/X86/sink-hoist.ll
  test/CodeGen/X86/testb-je-fusion.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D27742.81329.patch
Type: text/x-patch
Size: 56394 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20161214/05d2d51e/attachment-0001.bin>


More information about the llvm-commits mailing list