llvm-6502/lib/CodeGen
Evan Cheng a16d4429e4 Watch out for cases like this:
entry (0x8b056f0, LLVM BB @0x8b01b30, ID#0):
Live Ins: %r0 %r1 %r2 %r3
        %reg1032 = tMOVrr %r3<kill>
        %reg1033 = tMOVri8 1
        %reg1034 = tMOVri8 0
        tCMPi8 %reg1029<kill>, 0
        tBcc mbb<entry,0x8b06a10>, 0
    Successors according to CFG: 0x8b06980 0x8b06a10

entry (0x8b06980, LLVM BB @0x8b01b30, ID#12):
    Predecessors according to CFG: 0x8b056f0
        %reg1036 = tMOVrr %reg1034<kill>
    Successors according to CFG: 0x8b06a10

entry (0x8b06a10, LLVM BB @0x8b01b30, ID#13):
    Predecessors according to CFG: 0x8b056f0 0x8b06980
        %reg1024<dead> = tMOVrr %reg1030<kill>
        ...

reg1030 and r1 have already been joined. When reg1024 and reg1030 are joined,
r1 live range from function entry to the tMOVrr instruction are dead. Eliminate
r1 from the livein set of the entry BB, not the BB where the copy is.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34866 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-03 02:18:00 +00:00
..
SelectionDAG Lower eh filter intrinsic. 2007-03-01 20:24:30 +00:00
AsmPrinter.cpp Exception handling support. 2007-02-21 22:48:45 +00:00
BranchFolding.cpp Remove isAccessable. 2007-02-22 16:39:03 +00:00
DwarfWriter.cpp Emit eh filter info. 2007-03-01 20:26:43 +00:00
ELFWriter.cpp Generalize TargetData strings, to support more interesting forms of data. 2007-02-14 05:52:17 +00:00
ELFWriter.h Moved from include/llvm/CodeGen to lib/CodeGen. 2007-02-08 01:30:50 +00:00
IntrinsicLowering.cpp Lower eh filter intrinsic. 2007-03-01 20:24:30 +00:00
LiveInterval.cpp Added an automatic cast to "std::ostream*" etc. from OStream. We then can 2006-12-17 05:15:13 +00:00
LiveIntervalAnalysis.cpp Watch out for cases like this: 2007-03-03 02:18:00 +00:00
LiveVariables.cpp Re-apply my liveintervalanalysis changes. Now with PR1207 fixes. 2007-02-19 21:49:54 +00:00
LLVMTargetMachine.cpp Use exception flag. 2007-02-22 16:22:15 +00:00
MachineBasicBlock.cpp Re-apply my liveintervalanalysis changes. Now with PR1207 fixes. 2007-02-19 21:49:54 +00:00
MachineFunction.cpp Generalize TargetData strings, to support more interesting forms of data. 2007-02-14 05:52:17 +00:00
MachineInstr.cpp Use findRegisterUseOperand to find a kill of particular register. 2007-02-23 01:04:26 +00:00
MachineModuleInfo.cpp Collect eh filter info. 2007-03-01 20:25:32 +00:00
MachinePassRegistry.cpp
MachOWriter.cpp Fix a typo, thanks Bill! 2007-02-28 09:16:38 +00:00
MachOWriter.h More Mach-O writer improvements. 2007-02-28 07:40:50 +00:00
Makefile
Passes.cpp
PHIElimination.cpp rename DenseMap to IndexedMap. 2007-02-01 05:32:05 +00:00
PhysRegTracker.h
PrologEpilogInserter.cpp Delete register scavenger when done with it. 2007-03-01 10:23:33 +00:00
RegAllocLinearScan.cpp Only add liveinterval to livein set if it isn't assigned a stack slot. 2007-02-25 09:39:02 +00:00
RegAllocLocal.cpp Use BitVector instead of vector<bool> which can be extremely slow. 2007-02-15 05:59:24 +00:00
RegAllocSimple.cpp Eliminate static ctors from Statistics 2006-12-19 22:41:21 +00:00
RegisterScavenging.cpp Mark dead def as unused. 2007-03-02 10:43:16 +00:00
TwoAddressInstructionPass.cpp Eliminate static ctors from Statistics 2006-12-19 22:41:21 +00:00
UnreachableBlockElim.cpp
VirtRegMap.cpp - Keep track all def and uses of stack slot available in register. 2007-03-02 08:52:00 +00:00
VirtRegMap.h rename DenseMap to IndexedMap. 2007-02-01 05:32:05 +00:00