llvm-6502/include/llvm/CodeGen
Chris Lattner 999aee24c7 Fix the third (and last known) case of code update problems due
to LLVM IR changes with addr label weirdness.  In the testcase, we
generate references to the two bb's when codegen'ing the first
function:

_test1:                                 ## @test1
	leaq	Ltmp0(%rip), %rax
..
	leaq	Ltmp1(%rip), %rax

Then continue to codegen the second function where the blocks
get merged.  We're now smart enough to emit both labels, producing
this code:

_test_fun:                              ## @test_fun
## BB#0:                                ## %entry
Ltmp1:                                  ## Block address taken
Ltmp0:
## BB#1:                                ## %ret
	movl	$-1, %eax
	ret

Rejoice.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98595 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-16 00:29:39 +00:00
..
AsmPrinter.h remove dead method. 2010-03-15 00:00:42 +00:00
BinaryObject.h
CalcSpillWeights.h
CallingConvLower.h
DwarfWriter.h reapply r98035: 2010-03-09 04:54:43 +00:00
ELFRelocation.h
FastISel.h
GCMetadata.h switch GC_LABEL to use an MCSymbol operand instead of a label ID operand. 2010-03-14 07:27:07 +00:00
GCMetadataPrinter.h switch GC_LABEL to use an MCSymbol operand instead of a label ID operand. 2010-03-14 07:27:07 +00:00
GCs.h
GCStrategy.h
IntrinsicLowering.h
JITCodeEmitter.h change EH related stuff (other than EH_LABEL) to use MCSymbol 2010-03-14 01:41:15 +00:00
LatencyPriorityQueue.h
LinkAllAsmWriterComponents.h
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 Use methods to determine if a LiveInterval is spillable. 2010-03-01 20:59:38 +00:00
LiveIntervalAnalysis.h The check for coalescing a virtual register to a physical register, e.g. 2010-03-11 08:20:21 +00:00
LiveStackAnalysis.h
LiveVariables.h Keep track of phi join registers explicitly in LiveVariables. 2010-02-23 22:43:58 +00:00
MachineBasicBlock.h eliminate the now-unneeded context argument of MBB::getSymbol() 2010-03-13 21:04:28 +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
MachineConstantPool.h Fix "the the" and similar typos. 2010-02-10 16:03:48 +00:00
MachineDominators.h
MachineFrameInfo.h Teach MachineFrameInfo to track maximum alignment while stack objects are being 2010-02-13 01:56:41 +00:00
MachineFunction.h eliminate the now-unneeded context argument of MBB::getSymbol() 2010-03-13 21:04:28 +00:00
MachineFunctionAnalysis.h make MachineFunction keep track of its ID and make 2010-01-26 04:35:26 +00:00
MachineFunctionPass.h
MachineInstr.h Move MachineInstrExpressionTrait::getHashValue() out of line so it can skip over only virtual register defs. This matches what isEqual() is doing. 2010-03-03 23:37:30 +00:00
MachineInstrBuilder.h add builder support for mcsymbol operands. 2010-03-13 08:16:25 +00:00
MachineJumpTableInfo.h Add a new jump table encoding to indicate jump tables entries 2010-03-11 14:58:16 +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
MachineMemOperand.h Add non-temporal flags to MachineMemOperand. 2010-02-15 16:48:31 +00:00
MachineModuleInfo.h Fix the third (and last known) case of code update problems due 2010-03-16 00:29:39 +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 support for MCSymbols as operands to MachineInstrs. 2010-03-13 08:14:18 +00:00
MachinePassRegistry.h
MachineRegisterInfo.h Add MachineRegisterInfo::hasOneUse and hasOneNonDBGUse. 2010-03-03 21:18:38 +00:00
MachineRelocation.h Disable external stubs for X86-32 and X86-64 2010-02-04 19:56:59 +00:00
MachineSSAUpdater.h
MachORelocation.h
ObjectCodeEmitter.h change EH related stuff (other than EH_LABEL) to use MCSymbol 2010-03-14 01:41:15 +00:00
Passes.h Add skeleton of a machine level cse pass. 2010-03-02 02:38:24 +00:00
ProcessImplicitDefs.h
PseudoSourceValue.h
RegAllocRegistry.h
RegisterCoalescer.h
RegisterScavenging.h
RuntimeLibcalls.h Turn calls to copysignl into an FCOPYSIGN node. Handle FCOPYSIGN nodes 2010-03-14 21:08:40 +00:00
ScheduleDAG.h Progress towards shepherding debug info through SelectionDAG. 2010-03-10 22:13:47 +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 change the LabelSDNode to be EHLabelSDNode and make it hold 2010-03-14 02:33:54 +00:00
SelectionDAGISel.h change the LabelSDNode to be EHLabelSDNode and make it hold 2010-03-14 02:33:54 +00:00
SelectionDAGNodes.h Add DAG nodes to represent FP16 <-> FP32 intrinsics 2010-03-14 18:42:15 +00:00
SlotIndexes.h Changed the definition of an "invalid" slot to include the empty & tombstone values, but not zero. 2010-02-09 00:41:23 +00:00
TargetLoweringObjectFileImpl.h rename getSymbolForDwarf* to getExprForDwarf* since it returns 2010-03-11 19:41:58 +00:00
ValueTypes.h Do an early exit when the result is known cheaply. 2010-02-01 20:57:35 +00:00
ValueTypes.td