[PATCH] D11683: Create a wrapper pass for MachineDominatorTree to remove pass dependence when it is only used conditionally.

Cong Hou congh at google.com
Fri Jul 31 10:44:24 PDT 2015


congh created this revision.
congh added reviewers: dexonsmith, dblaikie.
congh added subscribers: llvm-commits, davidxl.
Herald added subscribers: qcolombet, MatzeB.

This patch adds a wrapper pass MachineDominatorTreeWrapperPass that contains MachineDominatorTree analysis, which could be done flexibly without declaring pass dependence. This is good to the compilation time: in some cases we only need to do this analysis conditionally (like in MachineBlockPlacement in this patch). This is quite similar to the wrapper pass for DominatorTree.

Most changes are mechanical due to the name and usage changes.

http://reviews.llvm.org/D11683

Files:
  include/llvm/CodeGen/MachineDominators.h
  include/llvm/InitializePasses.h
  lib/CodeGen/CodeGen.cpp
  lib/CodeGen/EarlyIfConversion.cpp
  lib/CodeGen/InlineSpiller.cpp
  lib/CodeGen/LiveDebugVariables.cpp
  lib/CodeGen/LiveIntervalAnalysis.cpp
  lib/CodeGen/MachineBasicBlock.cpp
  lib/CodeGen/MachineBlockPlacement.cpp
  lib/CodeGen/MachineCSE.cpp
  lib/CodeGen/MachineCombiner.cpp
  lib/CodeGen/MachineDominanceFrontier.cpp
  lib/CodeGen/MachineDominators.cpp
  lib/CodeGen/MachineLICM.cpp
  lib/CodeGen/MachineLoopInfo.cpp
  lib/CodeGen/MachineRegionInfo.cpp
  lib/CodeGen/MachineScheduler.cpp
  lib/CodeGen/MachineSink.cpp
  lib/CodeGen/PHIElimination.cpp
  lib/CodeGen/PeepholeOptimizer.cpp
  lib/CodeGen/PostRASchedulerList.cpp
  lib/CodeGen/PrologEpilogInserter.cpp
  lib/CodeGen/RegAllocBasic.cpp
  lib/CodeGen/RegAllocGreedy.cpp
  lib/CodeGen/RegAllocPBQP.cpp
  lib/CodeGen/ShrinkWrap.cpp
  lib/CodeGen/StackColoring.cpp
  lib/CodeGen/UnreachableBlockElim.cpp
  lib/Target/AArch64/AArch64CleanupLocalDynamicTLSPass.cpp
  lib/Target/AArch64/AArch64CollectLOH.cpp
  lib/Target/AArch64/AArch64ConditionOptimizer.cpp
  lib/Target/AArch64/AArch64ConditionalCompares.cpp
  lib/Target/AMDGPU/AMDILCFGStructurizer.cpp
  lib/Target/AMDGPU/R600OptimizeVectorRegisters.cpp
  lib/Target/AMDGPU/R600Packetizer.cpp
  lib/Target/AMDGPU/SIFoldOperands.cpp
  lib/Target/AMDGPU/SILowerI1Copies.cpp
  lib/Target/Hexagon/HexagonFrameLowering.cpp
  lib/Target/Hexagon/HexagonGenInsert.cpp
  lib/Target/Hexagon/HexagonGenPredicate.cpp
  lib/Target/Hexagon/HexagonHardwareLoops.cpp
  lib/Target/Hexagon/HexagonVLIWPacketizer.cpp
  lib/Target/Mips/MipsOptimizePICCall.cpp
  lib/Target/PowerPC/PPCCTRLoops.cpp
  lib/Target/SystemZ/SystemZLDCleanup.cpp
  lib/Target/X86/X86InstrInfo.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D11683.31132.patch
Type: text/x-patch
Size: 50927 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150731/66ac900f/attachment.bin>


More information about the llvm-commits mailing list