#include "llvm/Function.h"
#include "llvm/ExecutionEngine/ExecutionEngine.h"
#include "llvm/ExecutionEngine/GenericValue.h"
+#include "llvm/ADT/APInt.h"
#include "llvm/Support/InstVisitor.h"
#include "llvm/Support/CallSite.h"
#include "llvm/Target/TargetData.h"
/// create - Create an interpreter ExecutionEngine. This can never fail.
///
- static ExecutionEngine *create(ModuleProvider *M);
+ static ExecutionEngine *create(ModuleProvider *M, std::string *ErrorStr = 0);
/// run - Start execution with the specified function and arguments.
///
};
-inline void maskToBitWidth(GenericValue& GV, unsigned BitWidth) {
- uint64_t BitMask = (1ull << BitWidth) - 1;
- if (BitWidth <= 8)
- GV.Int8Val &= BitMask;
- else if (BitWidth <= 16)
- GV.Int16Val &= BitMask;
- else if (BitWidth <= 32)
- GV.Int32Val &= BitMask;
- else
- GV.Int64Val &= BitMask;
-}
} // End llvm namespace
#endif