llvm-6502/lib/Target/PTX
Andrew Trick 8dd26253f5 RegAlloc superpass: includes phi elimination, coalescing, and scheduling.
Creates a configurable regalloc pipeline.

Ensure specific llc options do what they say and nothing more: -reglloc=... has no effect other than selecting the allocator pass itself. This patch introduces a new umbrella flag, "-optimize-regalloc", to enable/disable the optimizing regalloc "superpass". This allows for example testing coalscing and scheduling under -O0 or vice-versa.

When a CodeGen pass requires the MachineFunction to have a particular property, we need to explicitly define that property so it can be directly queried rather than naming a specific Pass. For example, to check for SSA, use MRI->isSSA, not addRequired<PHIElimination>.

CodeGen transformation passes are never "required" as an analysis

ProcessImplicitDefs does not require LiveVariables.

We have a plan to massively simplify some of the early passes within the regalloc superpass.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150226 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-10 04:10:36 +00:00
..
InstPrinter More dead code removal (using -Wunreachable-code) 2012-01-20 21:51:11 +00:00
MCTargetDesc Unweaken vtables as per http://llvm.org/docs/CodingStandards.html#ll_virtual_anch 2011-12-20 02:50:00 +00:00
TargetInfo LLVMBuild: Remove trailing newline, which irked me. 2011-12-12 19:48:00 +00:00
CMakeLists.txt Fix up the CMake build for the new files added in r146960, they're 2011-12-20 08:42:11 +00:00
LLVMBuild.txt LLVMBuild: Introduce a common section which currently has a list of the 2011-12-12 22:45:54 +00:00
Makefile
PTX.h
PTX.td
PTXAsmPrinter.cpp More dead code removal (using -Wunreachable-code) 2012-01-20 21:51:11 +00:00
PTXAsmPrinter.h
PTXFPRoundingModePass.cpp
PTXFrameLowering.cpp
PTXFrameLowering.h
PTXInstrFormats.td
PTXInstrInfo.cpp Convert assert(0) to llvm_unreachable 2012-02-07 02:50:20 +00:00
PTXInstrInfo.h
PTXInstrInfo.td PTX: Continue to fix up the register mess. 2011-12-06 17:39:48 +00:00
PTXInstrLoadStore.td
PTXIntrinsicInstrInfo.td
PTXISelDAGToDAG.cpp
PTXISelLowering.cpp More dead code removal (using -Wunreachable-code) 2012-01-20 21:51:11 +00:00
PTXISelLowering.h
PTXMachineFunctionInfo.cpp Unweaken vtables as per http://llvm.org/docs/CodingStandards.html#ll_virtual_anch 2011-12-20 02:50:00 +00:00
PTXMachineFunctionInfo.h Unweaken vtables as per http://llvm.org/docs/CodingStandards.html#ll_virtual_anch 2011-12-20 02:50:00 +00:00
PTXMCAsmStreamer.cpp Better diagnostic for malformed .org assembly directive. 2012-01-27 00:37:08 +00:00
PTXMCInstLower.cpp
PTXMFInfoExtract.cpp Clean up some Release build warnings. 2011-12-27 11:41:05 +00:00
PTXParamManager.cpp
PTXParamManager.h
PTXRegAlloc.cpp RegAlloc superpass: includes phi elimination, coalescing, and scheduling. 2012-02-10 04:10:36 +00:00
PTXRegisterInfo.cpp
PTXRegisterInfo.h More dead code removal (using -Wunreachable-code) 2012-01-20 21:51:11 +00:00
PTXRegisterInfo.td
PTXSelectionDAGInfo.cpp
PTXSelectionDAGInfo.h
PTXSubtarget.cpp Fix some leftover control reaches end of non-void function warnings. 2012-01-10 20:47:20 +00:00
PTXSubtarget.h Unweaken vtables as per http://llvm.org/docs/CodingStandards.html#ll_virtual_anch 2011-12-20 02:50:00 +00:00
PTXTargetMachine.cpp RegAlloc superpass: includes phi elimination, coalescing, and scheduling. 2012-02-10 04:10:36 +00:00
PTXTargetMachine.h TargetPassConfig: confine the MC configuration to TargetMachine. 2012-02-04 02:56:59 +00:00