#include "llvm/Instruction.h"
#include "llvm/Target/TargetData.h"
#include "llvm/DerivedTypes.h"
-#include "llvm/ConstantVals.h"
+#include "llvm/Constants.h"
#include <map>
#include <set>
static inline int getConstantValue(const ConstantInt *CPI) {
if (const ConstantSInt *CSI = dyn_cast<ConstantSInt>(CPI))
- return CSI->getValue();
- return cast<ConstantUInt>(CPI)->getValue();
+ return (int)CSI->getValue();
+ return (int)cast<ConstantUInt>(CPI)->getValue();
}
void ReplaceInstWithInst(Instruction *From, Instruction *To);
+// InsertInstBeforeInst - Insert 'NewInst' into the basic block that 'Existing'
+// is already in, and put it right before 'Existing'. This instruction should
+// only be used when there is no iterator to Existing already around. The
+// returned iterator points to the new instruction.
+//
+BasicBlock::iterator InsertInstBeforeInst(Instruction *NewInst,
+ Instruction *Existing);
// ConvertableToGEP - This function returns true if the specified value V is
// a valid index into a pointer of type Ty. If it is valid, Idx is filled in