[PATCH] D43256: [MBP] Move a latch block with conditional exit and multi predecessors to top of loop

Guozhi Wei via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Feb 22 13:53:57 PST 2018


Carrot updated this revision to Diff 135512.
Carrot added a comment.

Add more code to iteratively find new block that can be moved before old loop top block, and reduce taken branches. Now it can layout the test case optimally as David commented.


https://reviews.llvm.org/D43256

Files:
  lib/CodeGen/MachineBlockPlacement.cpp
  test/CodeGen/AArch64/neg-imm.ll
  test/CodeGen/AArch64/tailmerging_in_mbp.ll
  test/CodeGen/AMDGPU/collapse-endcf.ll
  test/CodeGen/AMDGPU/global_smrd_cfg.ll
  test/CodeGen/AMDGPU/hoist-cond.ll
  test/CodeGen/AMDGPU/loop_break.ll
  test/CodeGen/AMDGPU/madmk.ll
  test/CodeGen/AMDGPU/multilevel-break.ll
  test/CodeGen/AMDGPU/valu-i1.ll
  test/CodeGen/ARM/code-placement.ll
  test/CodeGen/ARM/swifterror.ll
  test/CodeGen/PowerPC/cmp_elimination.ll
  test/CodeGen/PowerPC/licm-remat.ll
  test/CodeGen/SystemZ/atomicrmw-minmax-01.ll
  test/CodeGen/SystemZ/atomicrmw-minmax-02.ll
  test/CodeGen/SystemZ/loop-01.ll
  test/CodeGen/SystemZ/loop-02.ll
  test/CodeGen/SystemZ/swifterror.ll
  test/CodeGen/X86/2009-02-26-MachineLICMBug.ll
  test/CodeGen/X86/avx-cmp.ll
  test/CodeGen/X86/avx512-i1test.ll
  test/CodeGen/X86/block-placement.ll
  test/CodeGen/X86/branch_instruction_and_target_split_perf_nops.mir
  test/CodeGen/X86/code_placement_ignore_succ_in_inner_loop.ll
  test/CodeGen/X86/code_placement_loop_rotation2.ll
  test/CodeGen/X86/move_latch_to_loop_top.ll
  test/CodeGen/X86/pr5145.ll
  test/CodeGen/X86/ragreedy-bug.ll
  test/CodeGen/X86/swifterror.ll
  test/CodeGen/X86/tail-dup-merge-loop-headers.ll
  test/CodeGen/X86/tail-dup-repeat.ll
  test/CodeGen/X86/x86-cmov-converter.ll
  test/DebugInfo/X86/dbg-value-transfer-order.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D43256.135512.patch
Type: text/x-patch
Size: 38891 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180222/b2c49e55/attachment-0001.bin>


More information about the llvm-commits mailing list