llvm-6502/include/llvm/CodeGen
Jakob Stoklund Olesen 3e20475fee Fix liveness calculation when splitting critical edges during PHI elimination.
- Edges are split before any phis are eliminated, so the code is SSA.

- Create a proper IR BasicBlock for the split edges.

- LiveVariables::addNewBlock now has same syntax as
  MachineDominatorTree::addNewBlock. Algorithm calculates predecessor live-out
  set rather than successor live-in set.

This feature still causes some miscompilations.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86867 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-11 19:31:31 +00:00
..
AsmPrinter.h Make printImplicitDef and printKill non-virtual, since they don't 2009-11-06 00:04:05 +00:00
BinaryObject.h Make a few more LLVM headers parsable as standalone headers. 2009-11-05 23:01:30 +00:00
BreakCriticalMachineEdge.h Tidy up #includes, deleting a bunch of unnecessary #includes. 2009-01-05 17:59:02 +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 Split EVT into MVT and EVT, the former representing _just_ a primitive type, while 2009-08-11 20:47:22 +00:00
DwarfWriter.h Implement support to debug inlined functions. 2009-11-10 23:06:00 +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 Fix a name in a comment. 2009-10-05 15:23:17 +00:00
FileWriters.h Add the Object Code Emitter class. Original patch by Aaron Gray, I did some 2009-07-06 05:09:34 +00:00
GCMetadata.h Rename TargetAsmInfo (and its subclasses) to MCAsmInfo. 2009-08-22 20:48:53 +00:00
GCMetadataPrinter.h rename TAI -> MAI, being careful not to make MAILJMP instructions :) 2009-08-22 21:43:10 +00:00
GCs.h
GCStrategy.h Tidy up #includes, deleting a bunch of unnecessary #includes. 2009-01-05 17:59:02 +00:00
IntrinsicLowering.h Get rid of these cache variables, which are a holdover from the days when 2009-06-26 20:33:47 +00:00
JITCodeEmitter.h Move DataTypes.h to include/llvm/System, update all users. This breaks the last 2009-10-26 01:35:46 +00:00
LatencyPriorityQueue.h Do a scheduling pass ignoring anti-dependencies to identify candidate registers that should be renamed. 2009-11-03 20:57:50 +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 simple regalloc. It has bit rotted. 2009-09-17 05:48:07 +00:00
LiveInterval.h The Indexes Patch. 2009-11-03 23:52:08 +00:00
LiveIntervalAnalysis.h Fix inverted conflict test in -early-coalesce. 2009-11-07 01:58:40 +00:00
LiveStackAnalysis.h The Indexes Patch. 2009-11-03 23:52:08 +00:00
LiveVariables.h Fix liveness calculation when splitting critical edges during PHI elimination. 2009-11-11 19:31:31 +00:00
MachineBasicBlock.h Fix a comment. 2009-11-09 17:06:51 +00:00
MachineCodeEmitter.h Move DataTypes.h to include/llvm/System, update all users. This breaks the last 2009-10-26 01:35: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 Mark more constants unsigned, as warned about by icc (#68). 2009-09-06 12:56:52 +00:00
MachineDominators.h Change Pass::print to take a raw ostream instead of std::ostream, 2009-08-23 06:03:38 +00:00
MachineFrameInfo.h Move DataTypes.h to include/llvm/System, update all users. This breaks the last 2009-10-26 01:35:46 +00:00
MachineFunction.h Suppress implicit copy ctor and copy assignment for MachineFunction. 2009-11-09 17:06:23 +00:00
MachineFunctionAnalysis.h Constify MachineFunctionAnalysis' TargetMachine reference. 2009-11-09 18:18:49 +00:00
MachineFunctionPass.h Remove an unnecessary include. Now we won't have circular include 2009-08-19 23:00:07 +00:00
MachineInstr.h Factor out LiveIntervalAnalysis' code to determine whether an instruction 2009-10-09 23:27:56 +00:00
MachineInstrBuilder.h Remove dead code. 2009-10-30 00:39:25 +00:00
MachineJumpTableInfo.h convert some stuff to work on raw_ostreams instead of std::ostream. 2009-08-23 01:12:47 +00:00
MachineLocation.h
MachineLoopInfo.h Add getTopBlock and getBottomBlock member functions to MachineLoopInfo. 2009-10-20 04:16:37 +00:00
MachineMemOperand.h Make a few more LLVM headers parsable as standalone headers. 2009-11-05 23:01:30 +00:00
MachineModuleInfo.h Implement support to debug inlined functions. 2009-11-10 23:06:00 +00:00
MachineModuleInfoImpls.h move FnStubs/GVSTubs/HiddenGVStub handling out of the X86 asmprinter 2009-09-16 06:25:03 +00:00
MachineOperand.h Remove dead code. 2009-10-30 00:39:25 +00:00
MachinePassRegistry.h
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
MachORelocation.h Make a few more LLVM headers parsable as standalone headers. 2009-11-05 23:01:30 +00:00
ObjectCodeEmitter.h 1) Proper emit displacements for x86, using absolute relocations where necessary 2009-08-05 00:11:21 +00:00
Passes.h Don't put in these EH changes. 2009-10-29 00:37:35 +00:00
ProcessImplicitDefs.h The Indexes Patch. 2009-11-03 23:52:08 +00:00
PseudoSourceValue.h Add PseudoSourceValue::mayAlias. It returns true if the object can ever alias any LLVM IR value. 2009-11-01 23:50:04 +00:00
RegAllocRegistry.h Reformat. 2009-07-08 21:57:46 +00:00
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 8 bit libcalls and make use of them for msp430 2009-11-07 17:14:39 +00:00
ScheduleDAG.h Do a scheduling pass ignoring anti-dependencies to identify candidate registers that should be renamed. 2009-11-03 20:57:50 +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 Instead of passing in an unsigned value for the optimization level, use an enum, 2009-04-29 23:29:43 +00:00
SelectionDAG.h Initial target-independent CodeGen support for BlockAddresses. 2009-10-30 01:27:03 +00:00
SelectionDAGISel.h Move some code from being emitted as boilerplate duplicated in every 2009-10-29 22:30:23 +00:00
SelectionDAGNodes.h Initial target-independent CodeGen support for BlockAddresses. 2009-10-30 01:27:03 +00:00
SlotIndexes.h Moved some ManagedStatics out of the SlotIndexes header. 2009-11-08 08:49:59 +00:00
ValueTypes.h Move DataTypes.h to include/llvm/System, update all users. This breaks the last 2009-10-26 01:35:46 +00:00
ValueTypes.td Add a new overloaded EVT::vAny type for use in TableGen to allow intrinsic 2009-08-11 01:14:02 +00:00