llvm-6502/include/llvm/CodeGen
Jakob Stoklund Olesen 9edf7deb37 Slightly change the meaning of the reMaterialize target hook when the original
instruction defines subregisters.

Any existing subreg indices on the original instruction are preserved or
composed with the new subreg index.

Also substitute multiple operands mentioning the original register by using the
new MachineInstr::substituteRegister() function. This is necessary because there
will soon be <imp-def> operands added to non read-modify-write partial
definitions. This instruction:

  %reg1234:foo = FLAP %reg1234<imp-def>

will reMaterialize(%reg3333, bar) like this:

  %reg3333:bar-foo = FLAP %reg333:bar<imp-def>

Finally, replace the TargetRegisterInfo pointer argument with a reference to
indicate that it cannot be NULL.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105358 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-02 22:47:25 +00:00
..
Analysis.h Move several SelectionDAG-independent utility functions out of the 2010-04-21 01:22:34 +00:00
AsmPrinter.h Rework global alignment computation again. Now we do round up 2010-04-28 19:58:07 +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
FastISel.h Add initial kill flag support to FastISel. 2010-05-11 23:54:07 +00:00
GCMetadata.h Add const qualifiers to CodeGen's use of LLVM IR constructs. 2010-04-15 01:51:59 +00:00
GCMetadataPrinter.h mcize the gc metadata printing stuff. 2010-04-04 07:39:04 +00:00
GCs.h
GCStrategy.h
IntrinsicLowering.h
ISDOpcodes.h back out 104862/104869. Can reuse stacksave after all. Very cool. 2010-05-27 23:11:57 +00:00
JITCodeEmitter.h Add a "PadTo" field to the emitULEB128Bytes method. This will pad out to the 2010-04-18 00:51:49 +00:00
LatencyPriorityQueue.h Eliminate the use of PriorityQueue and just use a std::vector, 2010-05-26 18:52:00 +00:00
LinkAllAsmWriterComponents.h Make a few more LLVM headers parsable as standalone headers. 2009-11-05 23:01:30 +00:00
LinkAllCodegenComponents.h Add a hybrid bottom up scheduler that reduce register usage while avoiding 2010-05-20 06:13:19 +00:00
LiveInterval.h Removed scaleNumbering method declaration from LiveInterval (not defined, not used). 2010-05-21 03:04:04 +00:00
LiveIntervalAnalysis.h Teach liveintervalanalysis about virtual registers which are defined by reg_sequence instructions that are formed by registers defined by distinct instructions. e.g. 2010-05-05 18:27:40 +00:00
LiveStackAnalysis.h Introduce SpecificBumpPtrAllocator, a wrapper for BumpPtrAllocator which allows 2010-03-30 20:16:45 +00:00
LiveVariables.h Keep track of phi join registers explicitly in LiveVariables. 2010-02-23 22:43:58 +00:00
MachineBasicBlock.h Eliminate MachineBasicBlock::const_livein_iterator and make 2010-04-13 16:57:55 +00:00
MachineCodeEmitter.h change EH related stuff (other than EH_LABEL) to use MCSymbol 2010-03-14 01:41:15 +00:00
MachineCodeInfo.h Make a few more LLVM headers parsable as standalone headers. 2009-11-05 23:01:30 +00:00
MachineConstantPool.h Add const qualifiers to CodeGen's use of LLVM IR constructs. 2010-04-15 01:51:59 +00:00
MachineDominators.h Add an isReachableFromEntry to MachineDominators, following the one 2010-04-05 19:16:38 +00:00
MachineFrameInfo.h Remove the TargetRegisterClass member from CalleeSavedInfo 2010-06-02 20:02:30 +00:00
MachineFunction.h Move the check for "calls setjmp" to SelectionDAGISel so that it can be used by 2010-05-26 19:46:12 +00:00
MachineFunctionAnalysis.h Give MachineModuleInfo an actual Module*. 2010-04-06 00:51:52 +00:00
MachineFunctionPass.h Ok, third time's the charm. No changes from last time except the CMake 2010-04-02 23:17:14 +00:00
MachineInstr.h Slightly change the meaning of the reMaterialize target hook when the original 2010-06-02 22:47:25 +00:00
MachineInstrBuilder.h Add const qualifiers to CodeGen's use of LLVM IR constructs. 2010-04-15 01:51:59 +00:00
MachineJumpTableInfo.h Stop trying to merge identical jump tables. This had been inadvertently 2010-03-19 19:05:41 +00:00
MachineLocation.h MachineMove ctor doesn't need to to mutate input, add 'const' 2010-03-15 05:55:35 +00:00
MachineLoopInfo.h Restore dump() methods to Loop and MachineLoop. 2010-01-05 21:08:02 +00:00
MachineMemOperand.h Add non-temporal flags to MachineMemOperand. 2010-02-15 16:48:31 +00:00
MachineModuleInfo.h The JIT calls TidyLandingPads to tidy up the landing pads. However, because the 2010-04-16 08:46:10 +00:00
MachineModuleInfoImpls.h Add a bit along with the MCSymbols stored in the MachineModuleInfo maps that 2010-03-10 22:34:10 +00:00
MachineOperand.h Add a TargetRegisterInfo::composeSubRegIndices hook with a default 2010-05-28 18:18:53 +00:00
MachinePassRegistry.h Sundry dependent-name fixes flagged by clang++. 2009-12-17 23:49:16 +00:00
MachineRegisterInfo.h Avoid adding duplicate function live-in's. 2010-05-24 21:33:37 +00:00
MachineRelocation.h Disable external stubs for X86-32 and X86-64 2010-02-04 19:56:59 +00:00
MachineSSAUpdater.h Combine the implementations of the core part of the SSAUpdater and 2010-05-04 23:18: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 change EH related stuff (other than EH_LABEL) to use MCSymbol 2010-03-14 01:41:15 +00:00
Passes.h Add a -regalloc=default option that chooses a register allocator based on the -O 2010-05-27 23:57:25 +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 Delete spurious semicolons. 2009-07-31 18:59:29 +00:00
RegisterScavenging.h Add register-reuse to frame-index register scavenging. When a target uses 2009-10-07 17:12:56 +00:00
RuntimeLibcalls.h Add few missed libcalls and correct names for others. 2010-03-26 21:32:14 +00:00
ScheduleDAG.h Change push_all to a non-virtual function and implement it in the 2010-05-26 01:10:55 +00:00
ScheduleHazardRecognizer.h Post RA scheduler changes. Introduce a hazard recognizer that uses the target schedule information to accurately model the pipeline. Update the scheduler to correctly handle multi-issue targets. 2009-08-10 15:55:25 +00:00
SchedulerRegistry.h Add a hybrid bottom up scheduler that reduce register usage while avoiding 2010-05-20 06:13:19 +00:00
SelectionDAG.h SelectionDAG shouldn't have a FunctionLoweringInfo member. RegsForValue 2010-05-29 17:03:36 +00:00
SelectionDAGISel.h Move HandlePHINodesInSuccessorBlocks functions out of SelectionDAGISel 2010-04-22 20:46:50 +00:00
SelectionDAGNodes.h Add const qualifiers to CodeGen's use of LLVM IR constructs. 2010-04-15 01:51:59 +00:00
SlotIndexes.h remove some unneeded errorhandling stuff. 2010-04-07 22:44:07 +00:00
TargetLoweringObjectFileImpl.h More data/parsing support for tls directives. Add a few more testcases 2010-05-17 22:53:55 +00:00
ValueTypes.h Fix enum to address array bounds regression. 2010-05-18 21:22:12 +00:00
ValueTypes.td Adding a v8i64 512-bit vector type. This will be used to model ARM NEON intrinsics which translate into a pair of vld / vst instructions that can load / store 8 consecutive 64-bit (D) registers. 2010-05-13 23:55:47 +00:00