diff options
Diffstat (limited to 'lib/ExecutionEngine')
-rw-r--r-- | lib/ExecutionEngine/ExecutionEngineBindings.cpp | 16 | ||||
-rw-r--r-- | lib/ExecutionEngine/IntelJITEvents/ittnotify_config.h | 6 | ||||
-rw-r--r-- | lib/ExecutionEngine/IntelJITEvents/jitprofiling.h | 86 | ||||
-rw-r--r-- | lib/ExecutionEngine/Interpreter/Execution.cpp | 42 | ||||
-rw-r--r-- | lib/ExecutionEngine/Interpreter/Interpreter.h | 6 | ||||
-rw-r--r-- | lib/ExecutionEngine/RuntimeDyld/RTDyldMemoryManager.cpp | 6 | ||||
-rw-r--r-- | lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp | 2 |
7 files changed, 82 insertions, 82 deletions
diff --git a/lib/ExecutionEngine/ExecutionEngineBindings.cpp b/lib/ExecutionEngine/ExecutionEngineBindings.cpp index abcdaeba8eb0..3be4bec566a0 100644 --- a/lib/ExecutionEngine/ExecutionEngineBindings.cpp +++ b/lib/ExecutionEngine/ExecutionEngineBindings.cpp @@ -153,7 +153,7 @@ void LLVMInitializeMCJITCompilerOptions(LLVMMCJITCompilerOptions *PassedOptions, LLVMMCJITCompilerOptions options; memset(&options, 0, sizeof(options)); // Most fields are zero by default. options.CodeModel = LLVMCodeModelJITDefault; - + memcpy(PassedOptions, &options, std::min(sizeof(options), SizeOfPassedOptions)); } @@ -171,14 +171,14 @@ LLVMBool LLVMCreateMCJITCompilerForModule( "LLVM library mismatch."); return 1; } - + // Defend against the user having an old version of the API by ensuring that // any fields they didn't see are cleared. We must defend against fields being // set to the bitwise equivalent of zero, and assume that this means "do the // default" as if that option hadn't been available. LLVMInitializeMCJITCompilerOptions(&options, sizeof(options)); memcpy(&options, PassedOptions, SizeOfPassedOptions); - + TargetOptions targetOptions; targetOptions.EnableFastISel = options.EnableFastISel; std::unique_ptr<Module> Mod(unwrap(M)); @@ -241,12 +241,12 @@ LLVMGenericValueRef LLVMRunFunction(LLVMExecutionEngineRef EE, LLVMValueRef F, unsigned NumArgs, LLVMGenericValueRef *Args) { unwrap(EE)->finalizeObject(); - + std::vector<GenericValue> ArgVec; ArgVec.reserve(NumArgs); for (unsigned I = 0; I != NumArgs; ++I) ArgVec.push_back(*unwrap(Args[I])); - + GenericValue *Result = new GenericValue(); *Result = unwrap(EE)->runFunction(unwrap<Function>(F), ArgVec); return wrap(Result); @@ -297,7 +297,7 @@ void LLVMAddGlobalMapping(LLVMExecutionEngineRef EE, LLVMValueRef Global, void *LLVMGetPointerToGlobal(LLVMExecutionEngineRef EE, LLVMValueRef Global) { unwrap(EE)->finalizeObject(); - + return unwrap(EE)->getPointerToGlobal(unwrap<GlobalValue>(Global)); } @@ -395,11 +395,11 @@ LLVMMCJITMemoryManagerRef LLVMCreateSimpleMCJITMemoryManager( LLVMMemoryManagerAllocateDataSectionCallback AllocateDataSection, LLVMMemoryManagerFinalizeMemoryCallback FinalizeMemory, LLVMMemoryManagerDestroyCallback Destroy) { - + if (!AllocateCodeSection || !AllocateDataSection || !FinalizeMemory || !Destroy) return nullptr; - + SimpleBindingMMFunctions functions; functions.AllocateCodeSection = AllocateCodeSection; functions.AllocateDataSection = AllocateDataSection; diff --git a/lib/ExecutionEngine/IntelJITEvents/ittnotify_config.h b/lib/ExecutionEngine/IntelJITEvents/ittnotify_config.h index 1f029fb1c45b..61d8cc75d9f2 100644 --- a/lib/ExecutionEngine/IntelJITEvents/ittnotify_config.h +++ b/lib/ExecutionEngine/IntelJITEvents/ittnotify_config.h @@ -7,7 +7,7 @@ * *===----------------------------------------------------------------------===* * - * This file provides Intel(R) Performance Analyzer JIT (Just-In-Time) + * This file provides Intel(R) Performance Analyzer JIT (Just-In-Time) * Profiling API internal config. * * NOTE: This file comes in a style different from the rest of LLVM @@ -213,7 +213,7 @@ typedef pthread_mutex_t mutex_t; #define __itt_thread_id() GetCurrentThreadId() #define __itt_thread_yield() SwitchToThread() #ifndef ITT_SIMPLE_INIT -ITT_INLINE long +ITT_INLINE long __itt_interlocked_increment(volatile long* ptr) ITT_INLINE_ATTRIBUTE; ITT_INLINE long __itt_interlocked_increment(volatile long* ptr) { @@ -273,7 +273,7 @@ ITT_INLINE long __TBB_machine_fetchadd4(volatile void* ptr, long addend) } #endif /* ITT_ARCH==ITT_ARCH_IA64 */ #ifndef ITT_SIMPLE_INIT -ITT_INLINE long +ITT_INLINE long __itt_interlocked_increment(volatile long* ptr) ITT_INLINE_ATTRIBUTE; ITT_INLINE long __itt_interlocked_increment(volatile long* ptr) { diff --git a/lib/ExecutionEngine/IntelJITEvents/jitprofiling.h b/lib/ExecutionEngine/IntelJITEvents/jitprofiling.h index 8d16ee85d141..efd2b1a33f75 100644 --- a/lib/ExecutionEngine/IntelJITEvents/jitprofiling.h +++ b/lib/ExecutionEngine/IntelJITEvents/jitprofiling.h @@ -7,7 +7,7 @@ * *===----------------------------------------------------------------------===* * - * This file provides Intel(R) Performance Analyzer JIT (Just-In-Time) + * This file provides Intel(R) Performance Analyzer JIT (Just-In-Time) * Profiling API declaration. * * NOTE: This file comes in a style different from the rest of LLVM @@ -28,54 +28,54 @@ typedef enum iJIT_jvm_event { /* shutdown */ - - /* + + /* * Program exiting EventSpecificData NA */ - iJVM_EVENT_TYPE_SHUTDOWN = 2, + iJVM_EVENT_TYPE_SHUTDOWN = 2, /* JIT profiling */ - - /* + + /* * issued after method code jitted into memory but before code is executed * EventSpecificData is an iJIT_Method_Load */ - iJVM_EVENT_TYPE_METHOD_LOAD_FINISHED=13, + iJVM_EVENT_TYPE_METHOD_LOAD_FINISHED=13, - /* issued before unload. Method code will no longer be executed, but code - * and info are still in memory. The VTune profiler may capture method + /* issued before unload. Method code will no longer be executed, but code + * and info are still in memory. The VTune profiler may capture method * code only at this point EventSpecificData is iJIT_Method_Id */ - iJVM_EVENT_TYPE_METHOD_UNLOAD_START, + iJVM_EVENT_TYPE_METHOD_UNLOAD_START, /* Method Profiling */ - /* method name, Id and stack is supplied - * issued when a method is about to be entered EventSpecificData is + /* method name, Id and stack is supplied + * issued when a method is about to be entered EventSpecificData is * iJIT_Method_NIDS */ - iJVM_EVENT_TYPE_ENTER_NIDS = 19, + iJVM_EVENT_TYPE_ENTER_NIDS = 19, - /* method name, Id and stack is supplied - * issued when a method is about to be left EventSpecificData is + /* method name, Id and stack is supplied + * issued when a method is about to be left EventSpecificData is * iJIT_Method_NIDS */ - iJVM_EVENT_TYPE_LEAVE_NIDS + iJVM_EVENT_TYPE_LEAVE_NIDS } iJIT_JVM_EVENT; typedef enum _iJIT_ModeFlags { /* No need to Notify VTune, since VTune is not running */ - iJIT_NO_NOTIFICATIONS = 0x0000, + iJIT_NO_NOTIFICATIONS = 0x0000, - /* when turned on the jit must call + /* when turned on the jit must call * iJIT_NotifyEvent * ( * iJVM_EVENT_TYPE_METHOD_LOAD_FINISHED, * ) * for all the method already jitted */ - iJIT_BE_NOTIFY_ON_LOAD = 0x0001, + iJIT_BE_NOTIFY_ON_LOAD = 0x0001, /* when turned on the jit must call * iJIT_NotifyEvent @@ -83,19 +83,19 @@ typedef enum _iJIT_ModeFlags * iJVM_EVENT_TYPE_METHOD_UNLOAD_FINISHED, * ) for all the method that are unloaded */ - iJIT_BE_NOTIFY_ON_UNLOAD = 0x0002, + iJIT_BE_NOTIFY_ON_UNLOAD = 0x0002, /* when turned on the jit must instrument all * the currently jited code with calls on * method entries */ - iJIT_BE_NOTIFY_ON_METHOD_ENTRY = 0x0004, + iJIT_BE_NOTIFY_ON_METHOD_ENTRY = 0x0004, /* when turned on the jit must instrument all * the currently jited code with calls * on method exit */ - iJIT_BE_NOTIFY_ON_METHOD_EXIT = 0x0008 + iJIT_BE_NOTIFY_ON_METHOD_EXIT = 0x0008 } iJIT_ModeFlags; @@ -104,13 +104,13 @@ typedef enum _iJIT_ModeFlags typedef enum _iJIT_IsProfilingActiveFlags { /* No profiler is running. Currently not used */ - iJIT_NOTHING_RUNNING = 0x0000, + iJIT_NOTHING_RUNNING = 0x0000, /* Sampling is running. This is the default value * returned by iJIT_IsProfilingActive() */ - iJIT_SAMPLING_ON = 0x0001, - + iJIT_SAMPLING_ON = 0x0001, + /* Call Graph is running */ iJIT_CALLGRAPH_ON = 0x0002 @@ -135,7 +135,7 @@ typedef struct _iJIT_Method_Id /* Id of the method (same as the one passed in * the iJIT_Method_Load struct */ - unsigned int method_id; + unsigned int method_id; } *piJIT_Method_Id, iJIT_Method_Id; @@ -149,13 +149,13 @@ typedef struct _iJIT_Method_Id typedef struct _iJIT_Method_NIDS { /* unique method ID */ - unsigned int method_id; + unsigned int method_id; /* NOTE: no need to fill this field, it's filled by VTune */ - unsigned int stack_id; + unsigned int stack_id; /* method name (just the method, without the class) */ - char* method_name; + char* method_name; } *piJIT_Method_NIDS, iJIT_Method_NIDS; /* structures for the events: @@ -168,51 +168,51 @@ typedef struct _LineNumberInfo unsigned int Offset; /* source line number from the beginning of the source file */ - unsigned int LineNumber; + unsigned int LineNumber; } *pLineNumberInfo, LineNumberInfo; typedef struct _iJIT_Method_Load { /* unique method ID - can be any unique value, (except 0 - 999) */ - unsigned int method_id; + unsigned int method_id; /* method name (can be with or without the class and signature, in any case * the class name will be added to it) */ - char* method_name; + char* method_name; /* virtual address of that method - This determines the method range for the * iJVM_EVENT_TYPE_ENTER/LEAVE_METHOD_ADDR events */ - void* method_load_address; + void* method_load_address; /* Size in memory - Must be exact */ - unsigned int method_size; + unsigned int method_size; /* Line Table size in number of entries - Zero if none */ unsigned int line_number_size; /* Pointer to the beginning of the line numbers info array */ - pLineNumberInfo line_number_table; + pLineNumberInfo line_number_table; /* unique class ID */ - unsigned int class_id; - + unsigned int class_id; + /* class file name */ - char* class_file_name; + char* class_file_name; /* source file name */ - char* source_file_name; + char* source_file_name; /* bits supplied by the user for saving in the JIT file */ - void* user_data; + void* user_data; /* the size of the user data buffer */ - unsigned int user_data_size; + unsigned int user_data_size; /* NOTE: no need to fill this field, it's filled by VTune */ - iJDEnvironmentType env; + iJDEnvironmentType env; } *piJIT_Method_Load, iJIT_Method_Load; @@ -241,7 +241,7 @@ typedef void (*iJIT_ModeChangedEx)(void *UserData, iJIT_ModeFlags Flags); int JITAPI iJIT_NotifyEvent(iJIT_JVM_EVENT event_type, void *EventSpecificData); /* The new mode call back routine */ -void JITAPI iJIT_RegisterCallbackEx(void *userdata, +void JITAPI iJIT_RegisterCallbackEx(void *userdata, iJIT_ModeChangedEx NewModeCallBackFuncEx); iJIT_IsProfilingActiveFlags JITAPI iJIT_IsProfilingActive(void); diff --git a/lib/ExecutionEngine/Interpreter/Execution.cpp b/lib/ExecutionEngine/Interpreter/Execution.cpp index 9e77d160c30b..39cf6d4a32a3 100644 --- a/lib/ExecutionEngine/Interpreter/Execution.cpp +++ b/lib/ExecutionEngine/Interpreter/Execution.cpp @@ -85,7 +85,7 @@ static void executeFMulInst(GenericValue &Dest, GenericValue Src1, } } -static void executeFDivInst(GenericValue &Dest, GenericValue Src1, +static void executeFDivInst(GenericValue &Dest, GenericValue Src1, GenericValue Src2, Type *Ty) { switch (Ty->getTypeID()) { IMPLEMENT_BINARY_OPERATOR(/, Float); @@ -96,7 +96,7 @@ static void executeFDivInst(GenericValue &Dest, GenericValue Src1, } } -static void executeFRemInst(GenericValue &Dest, GenericValue Src1, +static void executeFRemInst(GenericValue &Dest, GenericValue Src1, GenericValue Src2, Type *Ty) { switch (Ty->getTypeID()) { case Type::FloatTyID: @@ -281,7 +281,7 @@ void Interpreter::visitICmpInst(ICmpInst &I) { GenericValue Src1 = getOperandValue(I.getOperand(0), SF); GenericValue Src2 = getOperandValue(I.getOperand(1), SF); GenericValue R; // Result - + switch (I.getPredicate()) { case ICmpInst::ICMP_EQ: R = executeICMP_EQ(Src1, Src2, Ty); break; case ICmpInst::ICMP_NE: R = executeICMP_NE(Src1, Src2, Ty); break; @@ -297,7 +297,7 @@ void Interpreter::visitICmpInst(ICmpInst &I) { dbgs() << "Don't know how to handle this ICmp predicate!\n-->" << I; llvm_unreachable(nullptr); } - + SetValue(&I, R, SF); } @@ -552,10 +552,10 @@ static GenericValue executeFCMP_ORD(GenericValue Src1, GenericValue Src2, Src2.AggregateVal[_i].DoubleVal))); } } else if (Ty->isFloatTy()) - Dest.IntVal = APInt(1,(Src1.FloatVal == Src1.FloatVal && + Dest.IntVal = APInt(1,(Src1.FloatVal == Src1.FloatVal && Src2.FloatVal == Src2.FloatVal)); else { - Dest.IntVal = APInt(1,(Src1.DoubleVal == Src1.DoubleVal && + Dest.IntVal = APInt(1,(Src1.DoubleVal == Src1.DoubleVal && Src2.DoubleVal == Src2.DoubleVal)); } return Dest; @@ -583,10 +583,10 @@ static GenericValue executeFCMP_UNO(GenericValue Src1, GenericValue Src2, Src2.AggregateVal[_i].DoubleVal))); } } else if (Ty->isFloatTy()) - Dest.IntVal = APInt(1,(Src1.FloatVal != Src1.FloatVal || + Dest.IntVal = APInt(1,(Src1.FloatVal != Src1.FloatVal || Src2.FloatVal != Src2.FloatVal)); else { - Dest.IntVal = APInt(1,(Src1.DoubleVal != Src1.DoubleVal || + Dest.IntVal = APInt(1,(Src1.DoubleVal != Src1.DoubleVal || Src2.DoubleVal != Src2.DoubleVal)); } return Dest; @@ -613,15 +613,15 @@ void Interpreter::visitFCmpInst(FCmpInst &I) { GenericValue Src1 = getOperandValue(I.getOperand(0), SF); GenericValue Src2 = getOperandValue(I.getOperand(1), SF); GenericValue R; // Result - + switch (I.getPredicate()) { default: dbgs() << "Don't know how to handle this FCmp predicate!\n-->" << I; llvm_unreachable(nullptr); break; - case FCmpInst::FCMP_FALSE: R = executeFCMP_BOOL(Src1, Src2, Ty, false); + case FCmpInst::FCMP_FALSE: R = executeFCMP_BOOL(Src1, Src2, Ty, false); break; - case FCmpInst::FCMP_TRUE: R = executeFCMP_BOOL(Src1, Src2, Ty, true); + case FCmpInst::FCMP_TRUE: R = executeFCMP_BOOL(Src1, Src2, Ty, true); break; case FCmpInst::FCMP_ORD: R = executeFCMP_ORD(Src1, Src2, Ty); break; case FCmpInst::FCMP_UNO: R = executeFCMP_UNO(Src1, Src2, Ty); break; @@ -638,11 +638,11 @@ void Interpreter::visitFCmpInst(FCmpInst &I) { case FCmpInst::FCMP_UGE: R = executeFCMP_UGE(Src1, Src2, Ty); break; case FCmpInst::FCMP_OGE: R = executeFCMP_OGE(Src1, Src2, Ty); break; } - + SetValue(&I, R, SF); } -static GenericValue executeCmpInst(unsigned predicate, GenericValue Src1, +static GenericValue executeCmpInst(unsigned predicate, GenericValue Src1, GenericValue Src2, Type *Ty) { GenericValue Result; switch (predicate) { @@ -747,12 +747,12 @@ void Interpreter::visitBinaryOperator(BinaryOperator &I) { case Instruction::FRem: if (cast<VectorType>(Ty)->getElementType()->isFloatTy()) for (unsigned i = 0; i < R.AggregateVal.size(); ++i) - R.AggregateVal[i].FloatVal = + R.AggregateVal[i].FloatVal = fmod(Src1.AggregateVal[i].FloatVal, Src2.AggregateVal[i].FloatVal); else { if (cast<VectorType>(Ty)->getElementType()->isDoubleTy()) for (unsigned i = 0; i < R.AggregateVal.size(); ++i) - R.AggregateVal[i].DoubleVal = + R.AggregateVal[i].DoubleVal = fmod(Src1.AggregateVal[i].DoubleVal, Src2.AggregateVal[i].DoubleVal); else { dbgs() << "Unhandled type for Rem instruction: " << *Ty << "\n"; @@ -965,7 +965,7 @@ void Interpreter::visitAllocaInst(AllocaInst &I) { Type *Ty = I.getType()->getElementType(); // Type to be allocated // Get the number of elements being allocated by the array... - unsigned NumElements = + unsigned NumElements = getOperandValue(I.getOperand(0), SF).IntVal.getZExtValue(); unsigned TypeSize = (size_t)getDataLayout().getTypeAllocSize(Ty); @@ -1011,7 +1011,7 @@ GenericValue Interpreter::executeGEPOperation(Value *Ptr, gep_type_iterator I, GenericValue IdxGV = getOperandValue(I.getOperand(), SF); int64_t Idx; - unsigned BitWidth = + unsigned BitWidth = cast<IntegerType>(I.getOperand()->getType())->getBitWidth(); if (BitWidth == 32) Idx = (int64_t)(int32_t)IdxGV.IntVal.getZExtValue(); @@ -2037,13 +2037,13 @@ GenericValue Interpreter::getConstantExprValue (ConstantExpr *CE, case Instruction::And: Dest.IntVal = Op0.IntVal & Op1.IntVal; break; case Instruction::Or: Dest.IntVal = Op0.IntVal | Op1.IntVal; break; case Instruction::Xor: Dest.IntVal = Op0.IntVal ^ Op1.IntVal; break; - case Instruction::Shl: + case Instruction::Shl: Dest.IntVal = Op0.IntVal.shl(Op1.IntVal.getZExtValue()); break; - case Instruction::LShr: + case Instruction::LShr: Dest.IntVal = Op0.IntVal.lshr(Op1.IntVal.getZExtValue()); break; - case Instruction::AShr: + case Instruction::AShr: Dest.IntVal = Op0.IntVal.ashr(Op1.IntVal.getZExtValue()); break; default: @@ -2100,7 +2100,7 @@ void Interpreter::callFunction(Function *F, ArrayRef<GenericValue> ArgVals) { // Handle non-varargs arguments... unsigned i = 0; - for (Function::arg_iterator AI = F->arg_begin(), E = F->arg_end(); + for (Function::arg_iterator AI = F->arg_begin(), E = F->arg_end(); AI != E; ++AI, ++i) SetValue(&*AI, ArgVals[i], StackFrame); diff --git a/lib/ExecutionEngine/Interpreter/Interpreter.h b/lib/ExecutionEngine/Interpreter/Interpreter.h index 5c16448404bb..33542e7e43ad 100644 --- a/lib/ExecutionEngine/Interpreter/Interpreter.h +++ b/lib/ExecutionEngine/Interpreter/Interpreter.h @@ -132,8 +132,8 @@ public: void visitLoadInst(LoadInst &I); void visitStoreInst(StoreInst &I); void visitGetElementPtrInst(GetElementPtrInst &I); - void visitPHINode(PHINode &PN) { - llvm_unreachable("PHI nodes already handled!"); + void visitPHINode(PHINode &PN) { + llvm_unreachable("PHI nodes already handled!"); } void visitTruncInst(TruncInst &I); void visitZExtInst(ZExtInst &I); @@ -224,7 +224,7 @@ private: // Helper functions ExecutionContext &SF); GenericValue executeBitCastInst(Value *SrcVal, Type *DstTy, ExecutionContext &SF); - GenericValue executeCastOperation(Instruction::CastOps opcode, Value *SrcVal, + GenericValue executeCastOperation(Instruction::CastOps opcode, Value *SrcVal, Type *Ty, ExecutionContext &SF); void popStackAndReturnValueToCaller(Type *RetTy, GenericValue Result); diff --git a/lib/ExecutionEngine/RuntimeDyld/RTDyldMemoryManager.cpp b/lib/ExecutionEngine/RuntimeDyld/RTDyldMemoryManager.cpp index e774af05ebdd..75d4c2b5134e 100644 --- a/lib/ExecutionEngine/RuntimeDyld/RTDyldMemoryManager.cpp +++ b/lib/ExecutionEngine/RuntimeDyld/RTDyldMemoryManager.cpp @@ -119,10 +119,10 @@ void RTDyldMemoryManager::deregisterEHFramesInProcess(uint8_t *Addr, void RTDyldMemoryManager::registerEHFramesInProcess(uint8_t *Addr, size_t Size) { - // On Linux __register_frame takes a single argument: + // On Linux __register_frame takes a single argument: // a pointer to the start of the .eh_frame section. - // How can it find the end? Because crtendS.o is linked + // How can it find the end? Because crtendS.o is linked // in and it has an .eh_frame section with four zero chars. __register_frame(Addr); } @@ -255,7 +255,7 @@ RTDyldMemoryManager::getSymbolAddressInProcess(const std::string &Name) { return (uint64_t)&__morestack; #endif #endif // __linux__ && __GLIBC__ - + // See ARM_MATH_IMPORTS definition for explanation #if defined(__BIONIC__) && defined(__arm__) if (Name.compare(0, 8, "__aeabi_") == 0) { diff --git a/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp b/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp index cc6729d21320..f9a81c7bd1b0 100644 --- a/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp +++ b/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp @@ -1430,7 +1430,7 @@ RuntimeDyldELF::processRelocationRef( } else { processSimpleRelocation(SectionID, Offset, RelType, Value); } - + } else if (Arch == Triple::ppc64 || Arch == Triple::ppc64le) { if (RelType == ELF::R_PPC64_REL24) { // Determine ABI variant in use for this object. |