-ExecutionEngine *Interpreter::create(Module *M){
- bool isLittleEndian = false;
- switch (M->getEndianness()) {
- case Module::LittleEndian: isLittleEndian = true; break;
- case Module::BigEndian: isLittleEndian = false; break;
- case Module::AnyPointerSize:
- int Test = 0;
- *(char*)&Test = 1; // Return true if the host is little endian
- isLittleEndian = (Test == 1);
- break;
- }
+ExecutionEngine *Interpreter::create(Module *M, std::string* ErrStr) {
+ // Tell this Module to materialize everything and release the GVMaterializer.
+ if (M->MaterializeAllPermanently(ErrStr))
+ // We got an error, just return 0
+ return 0;