You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

38 lines
780 B
C++

namespace llvm
{
class BasicBlock;
class CallInst;
class Function;
class Instruction;
class IntegerType;
class LLVMContext;
class MDNode;
class Pass;
class PointerType;
class Value;
}
using namespace llvm;
namespace GNUstep
{
class IMPCacher
{
private:
LLVMContext &Context;
MDNode *AlreadyCachedFlag;
unsigned IMPCacheFlagKind;
Pass *Owner;
const PointerType *PtrTy;
const PointerType *IdTy;
const IntegerType *IntTy;
public:
IMPCacher(LLVMContext &C, Pass *owner);
void CacheLookup(Instruction *lookup, Value *slot, Value *version, bool
isSuperMessage=false);
void SpeculativelyInline(Instruction *call, Function *function);
};
void removeTerminator(BasicBlock *BB);
}