1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-28 06:22:51 +01:00
llvm-mirror/include/llvm/CodeGen
Dan Gohman 082879cfde Change ConstantSDNode and ConstantFPSDNode to use ConstantInt* and
ConstantFP* instead of APInt and APFloat directly.

This reduces the amount of time to create ConstantSDNode
and ConstantFPSDNode nodes when ConstantInt* and ConstantFP*
respectively are already available, as is the case in
SelectionDAGBuild.cpp. Also, it reduces the amount of time
to legalize constants into constant pools, and the amount of
time to add ConstantFP operands to MachineInstrs, due to
eliminating ConstantInt::get and ConstantFP::get calls.

It increases the amount of work needed to create new constants
in cases where the client doesn't already have a ConstantInt*
or ConstantFP*, such as legalize expanding 64-bit integer constants
to 32-bit constants. And it adds a layer of indirection for the
accessor methods. But these appear to be outweight by the benefits
in most cases.

It will also make it easier to make ConstantSDNode and
ConstantFPNode more consistent with ConstantInt and ConstantFP.

llvm-svn: 56162
2008-09-12 18:08:03 +00:00
..
AsmPrinter.h Do not emit a UsedDirective for things in the llvm.used 2008-09-03 20:34:58 +00:00
BreakCriticalMachineEdge.h Fix the name of BreakCriticalMachineEdge.h's include guard 2008-07-16 16:04:07 +00:00
CallingConvLower.h - Doh. Pass vector by value is bad. 2008-09-07 09:02:18 +00:00
DAGISelHeader.h erect abstraction boundaries for accessing SDValue members, rename Val -> Node to reflect semantics 2008-08-28 21:40:38 +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 Add X86FastISel support for static allocas, and refences 2008-09-10 20:11:02 +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 Tidy up several unbeseeming casts from pointer to intptr_t. 2008-09-04 17:05:41 +00:00
LiveStackAnalysis.h Tidy up several unbeseeming casts from pointer to intptr_t. 2008-09-04 17:05:41 +00:00
LiveVariables.h Tidy up several unbeseeming casts from pointer to intptr_t. 2008-09-04 17:05:41 +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 get MachineConstantPool off std::ostream, onto raw_ostream. It would be 2008-08-23 22:53:13 +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 Tidy up several unbeseeming casts from pointer to intptr_t. 2008-09-04 17:05:41 +00:00
MachineInstr.h Refactor isSafeToReMat out of 2addr pass. 2008-08-27 20:33:50 +00:00
MachineInstrBuilder.h Change ConstantSDNode and ConstantFPSDNode to use ConstantInt* and 2008-09-12 18:08:03 +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 Change ConstantSDNode and ConstantFPSDNode to use ConstantInt* and 2008-09-12 18:08:03 +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 Unbreak PseudoSourceValue::print. This fixes -print-machine-instrs 2008-08-27 15:24:43 +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 intrinsics for log, log2, log10, exp, exp2. 2008-09-04 00:47:13 +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 Change ConstantSDNode and ConstantFPSDNode to use ConstantInt* and 2008-09-12 18:08:03 +00:00
SelectionDAGISel.h Create HandlePHINodesInSuccessorBlocksFast, a version of 2008-09-03 23:12:08 +00:00
SelectionDAGNodes.h Change ConstantSDNode and ConstantFPSDNode to use ConstantInt* and 2008-09-12 18:08:03 +00:00
ValueTypes.h fit in 80 cols, minor tweaks 2008-09-09 17:52:13 +00:00
ValueTypes.td Added support for overloading intrinsics (atomics) based on pointers 2008-07-30 04:36:53 +00:00