[PATCH] D45916: Enable MachineOutliner by default under -Oz for AArch64

Jessica Paquette via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue May 1 10:16:04 PDT 2018


paquette updated this revision to Diff 144746.
paquette marked an inline comment as done.
paquette added a comment.

Updated patch for review. Lots of tests modified this time because in this round the outliner is *always* added to the pass pipleline. It then decides whether or not it should run based off of user input/target default behaviour.

Also all the outliner tests have been updated because -enable-machine-outliner now accepts 3 choices: always, default, and never.

-enable-machine-outliner=always => Run the outliner on every function (modulo those with linkonceodr linkage)
-enable-machine-outliner=default => Run the outliner on functions the target decides should always be outlined from (e.g, in this case, those with the minsize attribute in AArch64)
-enable-machine-outliner=never => Do nothing and return false


https://reviews.llvm.org/D45916

Files:
  include/llvm/CodeGen/TargetInstrInfo.h
  lib/CodeGen/MachineOutliner.cpp
  lib/CodeGen/TargetPassConfig.cpp
  lib/Target/AArch64/AArch64InstrInfo.cpp
  lib/Target/AArch64/AArch64InstrInfo.h
  test/CodeGen/AArch64/O3-pipeline.ll
  test/CodeGen/AArch64/arm64-opt-remarks-lazy-bfi.ll
  test/CodeGen/AArch64/cond-sel.ll
  test/CodeGen/AArch64/machine-outliner-calls.mir
  test/CodeGen/AArch64/machine-outliner-flags.ll
  test/CodeGen/AArch64/machine-outliner-noredzone.ll
  test/CodeGen/AArch64/machine-outliner-remarks.ll
  test/CodeGen/AArch64/machine-outliner.ll
  test/CodeGen/AArch64/machine-outliner.mir
  test/CodeGen/AArch64/max-jump-table.ll
  test/CodeGen/X86/O3-pipeline.ll
  test/CodeGen/X86/cfi-inserter-check-order.ll
  test/CodeGen/X86/machine-outliner-debuginfo.ll
  test/CodeGen/X86/machine-outliner-disubprogram.ll
  test/CodeGen/X86/machine-outliner-noredzone.ll
  test/CodeGen/X86/machine-outliner-tailcalls.ll
  test/CodeGen/X86/machine-outliner.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D45916.144746.patch
Type: text/x-patch
Size: 19489 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180501/3be40aee/attachment.bin>


More information about the llvm-commits mailing list