[PATCH] D16483: Require MachineFunctionPasses to declare their support for virtual registers.

Derek Schuff via llvm-commits llvm-commits at lists.llvm.org
Fri Jan 22 12:27:32 PST 2016


dschuff created this revision.
dschuff added a reviewer: qcolombet.
dschuff added a subscriber: llvm-commits.
Herald added subscribers: dschuff, jfb, qcolombet, MatzeB.

Not ready for commit yet; only includes X86 and WebAssembly.
Adds a method to MachineFunctionPass for derived classes to declare that they
support virtual registers, and an assert in the base runOnFunction to
enforce it. The idea is to make it more clear which passes support virtual
registers and to avoid accidentally exposing VRegs to passes which aren't
prepared to handle them.

http://reviews.llvm.org/D16483

Files:
  include/llvm/CodeGen/EdgeBundles.h
  include/llvm/CodeGen/LiveIntervalAnalysis.h
  include/llvm/CodeGen/LiveRegMatrix.h
  include/llvm/CodeGen/LiveStackAnalysis.h
  include/llvm/CodeGen/LiveVariables.h
  include/llvm/CodeGen/MachineBlockFrequencyInfo.h
  include/llvm/CodeGen/MachineDominanceFrontier.h
  include/llvm/CodeGen/MachineDominators.h
  include/llvm/CodeGen/MachineFunctionPass.h
  include/llvm/CodeGen/MachineLoopInfo.h
  include/llvm/CodeGen/MachinePostDominators.h
  include/llvm/CodeGen/MachineTraceMetrics.h
  include/llvm/CodeGen/SlotIndexes.h
  include/llvm/CodeGen/VirtRegMap.h
  lib/CodeGen/BranchFolding.cpp
  lib/CodeGen/DeadMachineInstructionElim.cpp
  lib/CodeGen/EarlyIfConversion.cpp
  lib/CodeGen/ExpandISelPseudos.cpp
  lib/CodeGen/ExpandPostRAPseudos.cpp
  lib/CodeGen/LiveDebugVariables.h
  lib/CodeGen/LocalStackSlotAllocation.cpp
  lib/CodeGen/MIRPrintingPass.cpp
  lib/CodeGen/MachineBlockPlacement.cpp
  lib/CodeGen/MachineCSE.cpp
  lib/CodeGen/MachineCombiner.cpp
  lib/CodeGen/MachineFunctionPass.cpp
  lib/CodeGen/MachineFunctionPrinterPass.cpp
  lib/CodeGen/MachineLICM.cpp
  lib/CodeGen/MachineScheduler.cpp
  lib/CodeGen/MachineSink.cpp
  lib/CodeGen/MachineVerifier.cpp
  lib/CodeGen/OptimizePHIs.cpp
  lib/CodeGen/PHIElimination.cpp
  lib/CodeGen/PeepholeOptimizer.cpp
  lib/CodeGen/ProcessImplicitDefs.cpp
  lib/CodeGen/PrologEpilogInserter.cpp
  lib/CodeGen/RegAllocBasic.cpp
  lib/CodeGen/RegAllocFast.cpp
  lib/CodeGen/RegAllocGreedy.cpp
  lib/CodeGen/RegAllocPBQP.cpp
  lib/CodeGen/RegisterCoalescer.cpp
  lib/CodeGen/SpillPlacement.h
  lib/CodeGen/StackColoring.cpp
  lib/CodeGen/TailDuplication.cpp
  lib/CodeGen/TwoAddressInstructionPass.cpp
  lib/CodeGen/UnreachableBlockElim.cpp
  lib/CodeGen/VirtRegMap.cpp
  lib/Target/WebAssembly/WebAssemblyArgumentMove.cpp
  lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
  lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp
  lib/Target/WebAssembly/WebAssemblyLowerBrUnless.cpp
  lib/Target/WebAssembly/WebAssemblyPEI.cpp
  lib/Target/WebAssembly/WebAssemblyPeephole.cpp
  lib/Target/WebAssembly/WebAssemblyRegColoring.cpp
  lib/Target/WebAssembly/WebAssemblyRegNumbering.cpp
  lib/Target/WebAssembly/WebAssemblyRegStackify.cpp
  lib/Target/WebAssembly/WebAssemblyStoreResults.cpp
  lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
  lib/Target/X86/X86CallFrameOptimization.cpp
  lib/Target/X86/X86InstrInfo.cpp
  lib/Target/X86/X86OptimizeLEAs.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D16483.45728.patch
Type: text/x-patch
Size: 29369 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160122/4d283ac5/attachment.bin>


More information about the llvm-commits mailing list