[PATCH] D18800: [MBP] Improve nop placement in MBP pass.

Chad Rosier via llvm-commits llvm-commits at lists.llvm.org
Tue Apr 5 11:14:10 PDT 2016


mcrosier created this revision.
mcrosier added a reviewer: hfinkel.
mcrosier added subscribers: llvm-commits, kristof.beyls, chandlerc.
mcrosier set the repository for this revision to rL LLVM.
Herald added subscribers: dsanders, aemerson.

While toying with the preferred loop alignment for AArch64, I noticed the MBP pass had a bad habit of inserting nop instructions into the dynamic instruction stream when aligning blocks.  This patch attempts to prevent nops from being added to the dynamic instruction stream by placing additional alignment directives on non-fall through basic blocks.

**This is a WIP and I don't plan on pursuing this patch further at this time.**  However, I figured I would post the patch in case someone else would like to take this on..  AFAIK, PowerPC is the only target that would immediately benefit from this patch.  However, if other targets start setting a preferred loop alignment this work becomes much more interesting.

 Chad

Repository:
  rL LLVM

http://reviews.llvm.org/D18800

Files:
  include/llvm/Target/TargetInstrInfo.h
  lib/CodeGen/MachineBlockPlacement.cpp
  lib/Target/AArch64/AArch64InstrInfo.h
  lib/Target/ARM/ARMBaseInstrInfo.h
  lib/Target/MSP430/MSP430InstrInfo.h
  lib/Target/Mips/MipsInstrInfo.h
  lib/Target/PowerPC/PPCInstrInfo.h

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D18800.52706.patch
Type: text/x-patch
Size: 9636 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160405/8a2279cd/attachment.bin>


More information about the llvm-commits mailing list