llvm/lib/CodeGen
Chris Lattner fc3c82a804 Add a trivially simple pass to delete unreachable blocks from the CFG. This
pass is required to paper over problems in the code generator (primarily
live variables and its clients) which doesn't really have any well defined
semantics for unreachable code.

The proper solution to this problem is to have instruction selectors not
select blocks that are unreachable.  Until we have a instruction selection
framework available for use, however, we can't expect all instruction
selector writers to do this.  Until then, this pass should be used.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14563 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-02 05:46:10 +00:00
..
InstrSched Adjust to the new TargetMachine interface 2004-06-02 06:06:20 +00:00
ModuloScheduling updates to ModuloSched 2004-05-28 20:14:12 +00:00
SelectionDAG Rename Type::PrimitiveID to TypeId and ::getPrimitiveID() to ::getTypeID() 2004-06-17 18:19:28 +00:00
IntrinsicLowering.cpp Move the IntrinsicLowering header into the CodeGen directory, as per PR346 2004-06-20 07:49:54 +00:00
LiveIntervalAnalysis.cpp Now that MachineFunction/MachineBasicBlock keep a mapping of blocks to ID #'s 2004-07-01 06:15:32 +00:00
LiveIntervalAnalysis.h Rename Interval class to LiveInterval to avoid conflicting with the already 2004-06-21 13:10:56 +00:00
LiveVariables.cpp Now that MachineFunction/MachineBasicBlock keep a mapping of blocks to ID #'s 2004-07-01 06:15:32 +00:00
MachineBasicBlock.cpp Change MBB autonumber a bit to get the reverse mapping as well as a forward 2004-07-01 06:02:27 +00:00
MachineCodeEmitter.cpp Implement emitWordAt() for the debug emitter and the file printer emitter. (I 2004-04-23 17:11:13 +00:00
MachineCodeForInstruction.cpp Do not find these ugly sparc-specific objects by using the annotation API on 2004-06-27 18:52:17 +00:00
MachineFunction.cpp Make sure that we destroy the MBB's, with all of their instructions, before 2004-07-01 06:29:07 +00:00
MachineInstr.cpp Made a fix so that you can print out MachineInstrs that belong to a MachineBasicBlock that is not yet attached to a MachineFunction. This change includes changing the third operand (TargetMachine) to a pointer for the MachineInstr::print function. 2004-06-25 00:13:11 +00:00
MachineInstrAnnot.cpp Move the private MachineInstrAnnot.h into a private directory. 2004-02-29 19:12:51 +00:00
Makefile Making an archive version of the CodeGen library is unnecessary if we just 2004-06-22 17:52:30 +00:00
Passes.cpp Add a spiller option to llc. A simple spiller will come soon. When we get CFG in the machine code represenation a global spiller will also be possible. Also document the linear scan register allocator but mark it as experimental for now. 2004-03-01 23:18:15 +00:00
PHIElimination.cpp Start using MBB numbers directly instead of going through the live variables 2004-07-01 04:29:47 +00:00
PhysRegTracker.h Improved PhysRegTracker interface. RegAlloc lazily allocates the register tracker using a std::auto_ptr 2004-02-23 06:10:13 +00:00
PrologEpilogInserter.cpp Fix fallout from getOffsetOfLocalArea() being negated. Debugging dumps were being 2004-06-11 06:37:11 +00:00
RegAllocLinearScan.cpp Rename Interval class to LiveInterval to avoid conflicting with the already 2004-06-21 13:10:56 +00:00
RegAllocLocal.cpp Fix a recent regression in Applications/sgefa that Alkis pointed out to me. 2004-06-16 06:57:29 +00:00
RegAllocSimple.cpp Made a fix so that you can print out MachineInstrs that belong to a MachineBasicBlock that is not yet attached to a MachineFunction. This change includes changing the third operand (TargetMachine) to a pointer for the MachineInstr::print function. 2004-06-25 00:13:11 +00:00
TwoAddressInstructionPass.cpp Made a fix so that you can print out MachineInstrs that belong to a MachineBasicBlock that is not yet attached to a MachineFunction. This change includes changing the third operand (TargetMachine) to a pointer for the MachineInstr::print function. 2004-06-25 00:13:11 +00:00
UnreachableBlockElim.cpp Add a trivially simple pass to delete unreachable blocks from the CFG. This 2004-07-02 05:46:10 +00:00
VirtRegMap.cpp Made a fix so that you can print out MachineInstrs that belong to a MachineBasicBlock that is not yet attached to a MachineFunction. This change includes changing the third operand (TargetMachine) to a pointer for the MachineInstr::print function. 2004-06-25 00:13:11 +00:00
VirtRegMap.h Add method to assign stack slot to virtual register without creating a 2004-05-29 20:38:05 +00:00