llvm-6502/include/llvm/CodeGen
Chris Lattner 071c62fad0 Rearrange handling of jump tables. Highlights:
1. MachineJumpTableInfo is now created lazily for a function the first time
   it actually makes a jump table instead of for every function.
2. The encoding of jump table entries is now described by the
   MachineJumpTableInfo::JTEntryKind enum.  This enum is determined by the
   TLI::getJumpTableEncoding() hook, instead of by lots of code scattered
   throughout the compiler that "knows" that jump table entries are always
   32-bits in pic mode (for example).
3. The size and alignment of jump table entries is now calculated based on
   their kind, instead of at machinefunction creation time.

Future work includes using the EntryKind in more places in the compiler,
eliminating other logic that "knows" the layout of jump tables in various
situations.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94470 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-25 23:26:13 +00:00
..
AsmPrinter.h eliminate redundant argument to EmitJumpTableInfo 2010-01-25 22:41:33 +00:00
BinaryObject.h Make a few more LLVM headers parsable as standalone headers. 2009-11-05 23:01:30 +00:00
CalcSpillWeights.h Moved spill weight calculation out of SimpleRegisterCoalescing and into its own pass: CalculateSpillWeights. 2009-12-14 06:49:42 +00:00
CallingConvLower.h Add code to check at SelectionDAGISel::LowerArguments time to see if return values can be lowered to registers. Coming soon, code to perform sret-demotion if return values cannot be lowered to registers 2009-11-07 02:11:54 +00:00
DAGISelHeader.h Change SelectCode's argument from SDValue to SDNode *, to make it more 2010-01-05 01:24:18 +00:00
DwarfWriter.h "Attach debug info with llvm instructions" mode was enabled a month ago. Now make it permanent and remove old way of inserting intrinsics to encode debug info for line number and scopes. 2009-11-12 19:02:56 +00:00
ELFRelocation.h Move DataTypes.h to include/llvm/System, update all users. This breaks the last 2009-10-26 01:35:46 +00:00
FastISel.h Don't use the ISD::NodeType enum for SDNode opcodes, as CodeGen 2010-01-05 22:26:32 +00:00
FileWriters.h Hook up llc's -filetype=obj to use MCStreamer if an MCCodeEmitter is available. 2010-01-15 18:51:18 +00:00
GCMetadata.h
GCMetadataPrinter.h
GCs.h
GCStrategy.h
IntrinsicLowering.h
JITCodeEmitter.h Change indirect-globals to use a dedicated allocIndirectGV. This lets us 2009-12-15 22:42:46 +00:00
LatencyPriorityQueue.h Remove some old experimental code that is no longer needed. Remove additional, speculative scheduling pass as its cost did not translate into significant performance improvement. Minor tweaks. 2009-11-20 19:32:48 +00:00
LinkAllAsmWriterComponents.h Make a few more LLVM headers parsable as standalone headers. 2009-11-05 23:01:30 +00:00
LinkAllCodegenComponents.h Remove the '-disable-scheduling' flag and replace it with the 'source' option of 2010-01-23 10:26:57 +00:00
LiveInterval.h The Indexes Patch. 2009-11-03 23:52:08 +00:00
LiveIntervalAnalysis.h Also attempt trivial coalescing for live intervals that end in a copy. 2009-12-10 17:48:32 +00:00
LiveStackAnalysis.h The Indexes Patch. 2009-11-03 23:52:08 +00:00
LiveVariables.h Move PHIElimination::isLiveOut method to LiveVariables. 2009-12-01 17:13:31 +00:00
MachineBasicBlock.h make findDebugLoc a class method 2010-01-20 21:36:02 +00:00
MachineCodeEmitter.h Change indirect-globals to use a dedicated allocIndirectGV. This lets us 2009-12-15 22:42:46 +00:00
MachineCodeInfo.h Make a few more LLVM headers parsable as standalone headers. 2009-11-05 23:01:30 +00:00
MachineConstantPool.h
MachineDominators.h Add a WriteAsOperand for MachineBasicBlock so MachineLoopInfo dump looks sane. 2009-11-17 19:19:59 +00:00
MachineFrameInfo.h Factor the stack alignment calculations out into a target independent pass. 2009-12-02 19:30:24 +00:00
MachineFunction.h Rearrange handling of jump tables. Highlights: 2010-01-25 23:26:13 +00:00
MachineFunctionAnalysis.h Revert 88957. This file uses CodeGenOpt, which is defined in TargetMachine.h. 2009-11-16 20:45:50 +00:00
MachineFunctionPass.h
MachineInstr.h Add <imp-def> and <imp-kill> operands when replacing virtual sub-register defs and kills. 2010-01-06 00:29:28 +00:00
MachineInstrBuilder.h Further progration of metadata operands. The 2010-01-13 00:00:24 +00:00
MachineJumpTableInfo.h Rearrange handling of jump tables. Highlights: 2010-01-25 23:26:13 +00:00
MachineLocation.h
MachineLoopInfo.h Restore dump() methods to Loop and MachineLoop. 2010-01-05 21:08:02 +00:00
MachineMemOperand.h Make a few more LLVM headers parsable as standalone headers. 2009-11-05 23:01:30 +00:00
MachineModuleInfo.h back this out for now. Growing Function is not good. 2010-01-21 20:10:22 +00:00
MachineModuleInfoImpls.h
MachineOperand.h Remove unneeded argument per review. 2010-01-15 23:28:49 +00:00
MachinePassRegistry.h Sundry dependent-name fixes flagged by clang++. 2009-12-17 23:49:16 +00:00
MachineRegisterInfo.h Print "..." instead of all the uninteresting register clobbers on call 2009-11-09 19:38:45 +00:00
MachineRelocation.h Make the need-stub variables accurate and consistent. In the case of 2009-11-07 08:51:52 +00:00
MachineSSAUpdater.h Pre-regalloc tale duplication. Work in progress. 2009-12-07 10:15:19 +00:00
MachORelocation.h Make a few more LLVM headers parsable as standalone headers. 2009-11-05 23:01:30 +00:00
ObjectCodeEmitter.h
Passes.h For aligned load/store instructions, it's only required to know whether a 2010-01-19 18:31:11 +00:00
ProcessImplicitDefs.h The Indexes Patch. 2009-11-03 23:52:08 +00:00
PseudoSourceValue.h Make PseudoSourceValue's classof recognize 2009-11-16 20:40:06 +00:00
RegAllocRegistry.h
RegisterCoalescer.h
RegisterScavenging.h
RuntimeLibcalls.h Add 8 bit libcalls and make use of them for msp430 2009-11-07 17:14:39 +00:00
ScheduleDAG.h Remove some old experimental code that is no longer needed. Remove additional, speculative scheduling pass as its cost did not translate into significant performance improvement. Minor tweaks. 2009-11-20 19:32:48 +00:00
ScheduleHazardRecognizer.h
SchedulerRegistry.h Remove the '-disable-scheduling' flag and replace it with the 'source' option of 2010-01-23 10:26:57 +00:00
SelectionDAG.h When XDEBUG is enabled, check for SelectionDAG cycles at some key 2010-01-20 20:13:31 +00:00
SelectionDAGISel.h Teach dag combine to fold the following transformation more aggressively: 2010-01-06 19:38:29 +00:00
SelectionDAGNodes.h When XDEBUG is enabled, check for SelectionDAG cycles at some key 2010-01-20 20:13:31 +00:00
SlotIndexes.h Changed slot index ranges for MachineBasicBlocks to be exclusive of endpoint. 2009-12-22 00:11:50 +00:00
ValueTypes.h Simplify this code; avoid duplicating the low-level implementation code. 2010-01-05 00:42:54 +00:00
ValueTypes.td Move Flag and isVoid after the vector types, since bit arithmetic with 2009-12-14 23:36:03 +00:00