mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-09-25 17:20:48 +00:00
- Fix SelectionDAG to generate correct CFGs.
- Add a basic machine-level dead block eliminator. These two have to go together, since many other parts of the code generator are unable to handle the unreachable blocks otherwise created. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54333 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -247,10 +247,8 @@ public:
|
||||
assert(Removed && "Register is not defined by this instruction!");
|
||||
return true;
|
||||
}
|
||||
|
||||
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
|
||||
AU.setPreservesAll();
|
||||
}
|
||||
|
||||
void getAnalysisUsage(AnalysisUsage &AU) const;
|
||||
|
||||
virtual void releaseMemory() {
|
||||
VirtRegInfo.clear();
|
||||
|
@@ -71,6 +71,10 @@ namespace llvm {
|
||||
/// register allocators.
|
||||
extern const PassInfo *const TwoAddressInstructionPassID;
|
||||
|
||||
/// UnreachableMachineBlockElimination pass - This pass removes unreachable
|
||||
/// machine basic blocks.
|
||||
extern const PassInfo *const UnreachableMachineBlockElimID;
|
||||
|
||||
/// Creates a register allocator as the user specified on the command line.
|
||||
///
|
||||
FunctionPass *createRegisterAllocator();
|
||||
|
Reference in New Issue
Block a user