1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-28 14:32:51 +01:00
llvm-mirror/include/llvm/CodeGen
Dan Gohman a9d5f9b006 Move the point at which FastISel taps into the SelectionDAGISel
process up to a higher level. This allows FastISel to leverage
more of SelectionDAGISel's infastructure, such as updating Machine
PHI nodes.

Also, implement transitioning from SDISel back to FastISel in
the middle of a block, so it's now possible to go back and
forth. This allows FastISel to hand individual CallInsts and other
complicated things off to SDISel to handle, while handling the rest
of the block itself.

To help support this, reorganize the SelectionDAG class so that it
is allocated once and reused throughout a function, instead of
being completely reallocated for each block.

llvm-svn: 55219
2008-08-23 02:25:05 +00:00
..
AsmPrinter.h Use raw_ostream throughout the AsmPrinter. 2008-08-21 00:14:44 +00:00
BreakCriticalMachineEdge.h Fix the name of BreakCriticalMachineEdge.h's include guard 2008-07-16 16:04:07 +00:00
CallingConvLower.h Wrap MVT::ValueType in a struct to get type safety 2008-06-06 12:08:01 +00:00
DAGISelHeader.h Simplify SelectRoot's interface, and factor out some common code 2008-08-21 16:36:34 +00:00
DwarfWriter.h Use raw_ostream throughout the AsmPrinter. 2008-08-21 00:14:44 +00:00
ELFRelocation.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
FastISel.h Reapply r55191 and r55192. 2008-08-22 21:28:19 +00:00
FileWriters.h Use raw_ostream throughout the AsmPrinter. 2008-08-21 00:14:44 +00:00
GCMetadata.h Rename some GC classes so that their roll will hopefully be clearer. 2008-08-17 18:44:35 +00:00
GCMetadataPrinter.h Use raw_ostream throughout the AsmPrinter. 2008-08-21 00:14:44 +00:00
GCs.h Rename some GC classes so that their roll will hopefully be clearer. 2008-08-17 18:44:35 +00:00
GCStrategy.h Rename some GC classes so that their roll will hopefully be clearer. 2008-08-17 18:44:35 +00:00
IntrinsicLowering.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
LinkAllAsmWriterComponents.h Rename some GC classes so that their roll will hopefully be clearer. 2008-08-17 18:44:35 +00:00
LinkAllCodegenComponents.h Rename some GC classes so that their roll will hopefully be clearer. 2008-08-17 18:44:35 +00:00
LiveInterval.h Instead of adding an isSS field to LiveInterval to denote stack slot. Use top bit of 'reg' instead. If the top bit is set, than the LiveInterval represents a stack slot live interval. 2008-06-23 21:03:19 +00:00
LiveIntervalAnalysis.h consolidate DenseMapInfo implementations, and add one for std::pair. 2008-08-22 05:08:25 +00:00
LiveStackAnalysis.h Add a stack slot coloring pass. Not yet enabled. 2008-06-04 09:18:41 +00:00
LiveVariables.h - Fix SelectionDAG to generate correct CFGs. 2008-08-04 23:54:43 +00:00
MachineBasicBlock.h Fold the useful features of alist and alist_node into ilist, and 2008-07-28 21:51:04 +00:00
MachineCodeEmitter.h Prune and tidy #includes. 2008-05-29 19:52:31 +00:00
MachineConstantPool.h Trim unnecessary #includes. 2008-07-11 20:38:31 +00:00
MachineDominators.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
MachineFrameInfo.h Fix error: ‘std::ostream’ has not been declared 2008-07-25 19:29:14 +00:00
MachineFunction.h Fold the useful features of alist and alist_node into ilist, and 2008-07-28 21:51:04 +00:00
MachineFunctionPass.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
MachineInstr.h Use raw_ostream throughout the AsmPrinter. 2008-08-21 00:14:44 +00:00
MachineInstrBuilder.h Pool-allocation for MachineInstrs, MachineBasicBlocks, and 2008-07-07 23:14:23 +00:00
MachineJumpTableInfo.h Fix more -Wshorten-64-to-32 warnings. 2008-05-05 18:30:58 +00:00
MachineLocation.h Rename MRegisterInfo to TargetRegisterInfo. 2008-02-10 18:45:23 +00:00
MachineLoopInfo.h Use empty() instead of begin() == end(). 2008-08-14 18:13:49 +00:00
MachineMemOperand.h Change the FoldingSetNodeID usage for objects which carry 2008-08-20 15:58:01 +00:00
MachineModuleInfo.h Use StringMap for greater justice! 2008-07-07 20:59:31 +00:00
MachineOperand.h Use raw_ostream throughout the AsmPrinter. 2008-08-21 00:14:44 +00:00
MachinePassRegistry.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
MachineRegisterInfo.h Enable rematerialization of constants using AliasAnalysis::pointsToConstantMemory, 2008-07-25 00:02:30 +00:00
MachineRelocation.h Revert 51775. 2008-05-30 22:47:19 +00:00
MachORelocation.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
Passes.h Rename some GC classes so that their roll will hopefully be clearer. 2008-08-17 18:44:35 +00:00
PseudoSourceValue.h Enable rematerialization of constants using AliasAnalysis::pointsToConstantMemory, 2008-07-25 00:02:30 +00:00
RegAllocRegistry.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
RegisterCoalescer.h Remove uses of "llvm/Support/Debug.h" from LLVM include files, which 2008-07-07 18:14:29 +00:00
RegisterScavenging.h Allow registers defined by implicit_def to be clobbered. 2008-04-10 23:47:53 +00:00
RuntimeLibcalls.h Add libcalls for the new rounding opcodes. 2008-08-21 18:38:14 +00:00
ScheduleDAG.h Rename SDOperand to SDValue. 2008-07-27 21:46:04 +00:00
SchedulerRegistry.h Do not use computationally expensive scheduling heuristics with -fast. 2008-07-01 18:05:03 +00:00
SelectionDAG.h Move the point at which FastISel taps into the SelectionDAGISel 2008-08-23 02:25:05 +00:00
SelectionDAGISel.h Move the point at which FastISel taps into the SelectionDAGISel 2008-08-23 02:25:05 +00:00
SelectionDAGNodes.h Fix a typo that Dale noticed. 2008-08-21 18:13:12 +00:00
ValueTypes.h Added support for overloading intrinsics (atomics) based on pointers 2008-07-30 04:36:53 +00:00
ValueTypes.td Added support for overloading intrinsics (atomics) based on pointers 2008-07-30 04:36:53 +00:00