[llvm-commits] CVS: llvm/include/llvm/Target/MRegisterInfo.h
Alkis Evlogimenos
alkis at cs.uiuc.edu
Thu Feb 12 02:12:17 PST 2004
Changes in directory llvm/include/llvm/Target:
MRegisterInfo.h updated: 1.29 -> 1.30
---
Log message:
Change interface so that we can add to the end of a basic block
without getting an assertion from ilist that we are dereferencing
ilist<T>::end().
---
Diffs of the changes: (+6 -6)
Index: llvm/include/llvm/Target/MRegisterInfo.h
diff -u llvm/include/llvm/Target/MRegisterInfo.h:1.29 llvm/include/llvm/Target/MRegisterInfo.h:1.30
--- llvm/include/llvm/Target/MRegisterInfo.h:1.29 Wed Feb 11 20:27:10 2004
+++ llvm/include/llvm/Target/MRegisterInfo.h Thu Feb 12 02:11:04 2004
@@ -17,11 +17,11 @@
#define LLVM_TARGET_MREGISTERINFO_H
#include <cassert>
+#include "llvm/CodeGen/MachineBasicBlock.h"
namespace llvm {
class Type;
-class MachineBasicBlock;
class MachineFunction;
class MachineInstr;
@@ -227,17 +227,17 @@
//
virtual int storeRegToStackSlot(MachineBasicBlock &MBB,
- MachineInstr* MI,
+ MachineBasicBlock::iterator MI,
unsigned SrcReg, int FrameIndex,
const TargetRegisterClass *RC) const = 0;
virtual int loadRegFromStackSlot(MachineBasicBlock &MBB,
- MachineInstr* MI,
+ MachineBasicBlock::iterator MI,
unsigned DestReg, int FrameIndex,
const TargetRegisterClass *RC) const = 0;
virtual int copyRegToReg(MachineBasicBlock &MBB,
- MachineInstr* MI,
+ MachineBasicBlock::iterator MI,
unsigned DestReg, unsigned SrcReg,
const TargetRegisterClass *RC) const = 0;
@@ -262,7 +262,7 @@
///
virtual int eliminateCallFramePseudoInstr(MachineFunction &MF,
MachineBasicBlock &MBB,
- MachineInstr* MI) const {
+ MachineBasicBlock::iterator MI) const {
assert(getCallFrameSetupOpcode()== -1 && getCallFrameDestroyOpcode()== -1 &&
"eliminateCallFramePseudoInstr must be implemented if using"
" call frame setup/destroy pseudo instructions!");
@@ -290,7 +290,7 @@
/// added to (negative if removed from) the basic block.
///
virtual int eliminateFrameIndex(MachineFunction &MF,
- MachineInstr* MI) const = 0;
+ MachineBasicBlock::iterator MI) const = 0;
/// emitProlog/emitEpilog - These methods insert prolog and epilog code into
/// the function. The return value is the number of instructions
More information about the llvm-commits
mailing list