[PATCH] D104762: [PowerPC] Move PPCBranchSelector as close to asm printer as possible

Kai Luo via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 23 00:12:17 PDT 2021


lkail created this revision.
lkail added reviewers: nemanjai, jsji, shchenz, PowerPC.
Herald added subscribers: steven.zhang, kbarton, hiraditya.
lkail requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

Currently, PPCBranchSelector is not immediately preceding asm printer pass. `-debug-pass=Structure` gives

  PowerPC Branch Selector
  Contiguously Lay Out Funclets
  StackMap Liveness Analysis
  Live DEBUG_VALUE analysis
  Lazy Machine Block Frequency Analysis
  Machine Optimization Remark Emitter
  Linux PPC Assembly Printer

After the patch

  Contiguously Lay Out Funclets
  StackMap Liveness Analysis
  Live DEBUG_VALUE analysis
  PowerPC Branch Selector
  Lazy Machine Block Frequency Analysis
  Machine Optimization Remark Emitter
  Linux PPC Assembly Printer


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D104762

Files:
  llvm/lib/Target/PowerPC/PPCTargetMachine.cpp


Index: llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
===================================================================
--- llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
+++ llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
@@ -397,6 +397,7 @@
   void addPreRegAlloc() override;
   void addPreSched2() override;
   void addPreEmitPass() override;
+  void addPreEmitPass2() override;
   // GlobalISEL
   bool addIRTranslator() override;
   bool addLegalizeMachineIR() override;
@@ -535,6 +536,9 @@
 
   if (getOptLevel() != CodeGenOpt::None)
     addPass(createPPCEarlyReturnPass());
+}
+
+void PPCPassConfig::addPreEmitPass2() {
   // Must run branch selection immediately preceding the asm printer.
   addPass(createPPCBranchSelectionPass());
 }


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D104762.353857.patch
Type: text/x-patch
Size: 741 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210623/f74c89ae/attachment.bin>


More information about the llvm-commits mailing list