mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-25 13:24:46 +00:00
Refactor rewinding code for finding the first terminator of a basic
block into MachineBasicBlock::getFirstTerminator(). This also fixes a bug in the implementation of the above in both RegAllocLocal and InstrSched, where instructions where added after the terminator if the basic block's only instruction was a terminator (it shouldn't matter for RegAllocLocal since this case never occurs in practice). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11748 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -95,6 +95,11 @@ public:
|
||||
reverse_iterator rend () { return Insts.rend(); }
|
||||
const_reverse_iterator rend () const { return Insts.rend(); }
|
||||
|
||||
/// getFirstTerminator - returns an iterator to the first terminator
|
||||
/// instruction of this basic block. If a terminator does not exist,
|
||||
/// it returns end()
|
||||
iterator getFirstTerminator();
|
||||
|
||||
void push_back(MachineInstr *MI) { Insts.push_back(MI); }
|
||||
template<typename IT>
|
||||
void insert(iterator I, IT S, IT E) { Insts.insert(I, S, E); }
|
||||
|
Reference in New Issue
Block a user