search for: theexecutionengine

Displaying 20 results from an estimated 40 matches for "theexecutionengine".

2010 Jan 23
2
[LLVMdev] Kaleidoscope-tutorial: Fails to create the JIT
I ask for advice, for TheExecutionEngine === NULL, >> Which result's in a null-pointer for "TheExecutionEngine"; which >> explains the bus-errror .. Reid Kleckner wrote: > Try changing the above line to: > std::string str; > TheExecutionEngine = > EngineBuilder(OurModuleProvider).setErrorStr(str...
2010 Jan 22
3
[LLVMdev] Kaleidoscope-tutorial: Fails to create the JIT
...nd added them to Bugzilla. However, Now I found a show-stopper for me, the toy (v4) demo does build, but does crash, on any input. Even a simpe ';'! Looking into the (demo-code) found the that the JIT can't be build/ created,/loaded/... Which result's in a null-pointer for "TheExecutionEngine"; which explains the bus-errror .. The main code is || ... //GAM some setting of vars || fprintf(stderr, "ready> "); || getNextToken(); || || // Make the module, which holds all the code. || TheModule = new Module("my cool jit", getGlobalContext...
2010 Jan 22
0
[LLVMdev] Kaleidoscope-tutorial: Fails to create the JIT
...> > However, Now I found a show-stopper for me, the toy (v4) demo does > build, but does crash, on any input. Even a simpe ';'! > Looking into the (demo-code) found the that the JIT can't be build/ > created,/loaded/... > Which result's in a null-pointer for "TheExecutionEngine"; which > explains the bus-errror .. > > The main code is >  || ...                                                                //GAM some setting of vars >  ||  fprintf(stderr, "ready> "); >  ||  getNextToken(); >  || >  || // Make the module, which hol...
2010 Jan 23
0
[LLVMdev] Kaleidoscope-tutorial: Fails to create the JIT
Look at what is in <llvm source root>/examples/Kaleidoscope/toy.cpp. This is the final version of the tutorial and worked the last time I played with 2.6. Garrison On Jan 23, 2010, at 12:21, ALbert Mietus wrote: > I ask for advice, for TheExecutionEngine === NULL, > >>> Which result's in a null-pointer for "TheExecutionEngine"; which >>> explains the bus-errror .. > > Reid Kleckner wrote: >> Try changing the above line to: >> std::string str; >> TheExecutionEngine = >> EngineBuild...
2010 Jan 23
2
[LLVMdev] Kaleidoscope-tutorial: Fails to create the JIT
...ying to build with other version/Build (PreBuild one, Debug-version, or trunk) give same error and simular values for llvm-config output (same, but for the path) Any Idea? --THANKS > > Garrison > > On Jan 23, 2010, at 12:21, ALbert Mietus wrote: > >> I ask for advice, for TheExecutionEngine === NULL, >> >>>> Which result's in a null-pointer for "TheExecutionEngine"; which >>>> explains the bus-errror .. >> >> Reid Kleckner wrote: >>> Try changing the above line to: >>> std::string str; >>> TheExecutionE...
2012 Feb 20
1
[LLVMdev] ARM opcode format
...ons. // cl::PrintOptionValues(); // PM.run(mod); //} // Declare success. //Out->keep(); // mods for cryo // create an execution engine to export code later EngineBuilder eBuilder(&mod); std::string error; eBuilder.setErrorStr(&error); ExecutionEngine *TheExecutionEngine = eBuilder.create(); if(!TheExecutionEngine) { std::cout<<error.c_str()<<std::endl; return 1; } // compile and return function pointer FunctionPassManager OurFPM(&mod); // Start with registering info about how the // target lays out data stru...
2008 Dec 02
1
[LLVMdev] Kaleidoscope tutorial failed at Chapter 4...
...the command line window, the sample program crashed. And the Visual Studio 2005 debugger told me that "Access violation reading location 0x00000008." And then it jumped to the code: " const TargetData *getTargetData() const { return TD; }" Actually, these codes are suspicous: TheExecutionEngine = ExecutionEngine::create(TheModule); // Set up the optimizer pipeline. Start with registering info about how the // target lays out data structures. OurFPM.add(new TargetData(*TheExecutionEngine->getTargetData())); There is nothing to initialize the TD variable, so the exception is quit...
2016 Jun 23
2
AVX512 instruction generated when JIT compiling for an avx2 architecture
...)); engineBuilder.setEngineKind(llvm::EngineKind::JIT); engineBuilder.setOptLevel(llvm::CodeGenOpt::Aggressive); engineBuilder.setErrorStr(&mcjit_error); llvm::TargetOptions targetOptions; targetOptions.AllowFPOpFusion = llvm::FPOpFusion::Fast; engineBuilder.setTargetOptions( targetOptions ); TheExecutionEngine = engineBuilder.create(); targetMachine = engineBuilder.selectTarget(); Mod->setDataLayout( targetMachine->createDataLayout() ); TheExecutionEngine->finalizeObject(); // MCJIT fptr_mainFunc_extern = TheExecutionEngine->getPointerToFunction( mainFunc_extern ); When calling the func...
2016 Jun 23
2
AVX512 instruction generated when JIT compiling for an avx2 architecture
...engineBuilder.setOptLevel(llvm::CodeGenOpt::Aggressive); > engineBuilder.setErrorStr(&mcjit_error); > > llvm::TargetOptions targetOptions; > targetOptions.AllowFPOpFusion = llvm::FPOpFusion::Fast; > engineBuilder.setTargetOptions( targetOptions ); > > TheExecutionEngine = engineBuilder.create(); > > targetMachine = engineBuilder.selectTarget(); > Mod->setDataLayout( targetMachine->createDataLayout() ); > > TheExecutionEngine->finalizeObject(); // MCJIT > fptr_mainFunc_extern = TheExecutionEngine->getPointerToFunction(...
2012 Feb 20
0
[LLVMdev] ARM opcode format
Guillermo, > I'm sorry I forgot to mention I am compiling the bitcode using the JIT. The > actual error, I get when I'm trying to get the function to the pointer. I'm > using a custom front end that translates Android's Dalvik bytecode into LLVM > bitcode based on Android ICS's modified LLVM version. ARM JIT is broken in many ways. So, what you're seeing is
2010 Jan 24
0
[LLVMdev] Kaleidoscope-tutorial: Fails to create the JIT
...(PreBuild one, Debug-version, or trunk) give same error and simular values for llvm-config output (same, but for the path) > > Any Idea? --THANKS > >> >> Garrison >> >> On Jan 23, 2010, at 12:21, ALbert Mietus wrote: >> >>> I ask for advice, for TheExecutionEngine === NULL, >>> >>>>> Which result's in a null-pointer for "TheExecutionEngine"; which >>>>> explains the bus-errror .. >>> >>> Reid Kleckner wrote: >>>> Try changing the above line to: >>>> std::string s...
2008 Nov 20
2
[LLVMdev] compiling the tutorial
Hi, I'm investigating adding LLVM JIT support to a project of mine, but I'm having issues when trying to compile the Kaleidoscope tutorial* under MSVC 2008. In particular, the problem is that in main() when this line is executed > // Create the JIT. > TheExecutionEngine = ExecutionEngine::create(TheModule); create returns null, because both JITCtor and InterpCtor are null. I found this comment in ExecutionEngine.h > // To avoid having libexecutionengine depend on the JIT and interpreter > // libraries, the JIT and Interpreter set these functions to ctor...
2012 Aug 06
2
[LLVMdev] Question about llvm JIT
I have a function in llvm ir as follows: def [2 x [3 x double]] @fun() { return [ ... ]; // a [2 x [3 x double]] constant } I would like to JIT this function in C. I first get the void pointer using: void *FPtr = TheExecutionEngine->getPointerToFunction( func ); Then I need to conver this void pointer to the corresponding C function pointer type, and then call the function pointer. double a[2][3]; CType *FP = (CType*) FPtr; a = FP(); My question is that: 1. Is this JIT work flow supported by LLVM? 2. If yes, w...
2010 Nov 15
6
[LLVMdev] Optimization of calls to functions without side effects (from Kaleidoscope example)
...ttribute::ReadOnly )" after "Function *F = Function::Create(FT, Function::ExternalLinkage, Name, TheModule)". The passes it sets up are: // Set up the optimizer pipeline. Start with registering info about how the // target lays out data structures. OurFPM.add(new TargetData(*TheExecutionEngine->getTargetData())); // Do simple "peephole" optimizations and bit-twiddling optzns. OurFPM.add(createInstructionCombiningPass()); // Reassociate expressions. OurFPM.add(createReassociatePass()); // Eliminate Common SubExpressions. OurFPM.add(createGVNPass()); // Simplify...
2012 Oct 17
2
[LLVMdev] a bug in Kaleidoscope code
...g the broken line to: #include "llvm/Support/IRBuilder.h" then i compiled again, but got another error: $ clang++ -g toy.cpp `llvm-config --cppflags --ldflags --libs core jit native` -O3 -o toy toy.cpp:1115:18: error: unknown type name 'DataLayout' OurFPM.add(new DataLayout(*TheExecutionEngine->getDataLayout())); this is due to the removal of DataLayout structure from 3.1. how can i fix this bug? thanks, Jun
2010 Feb 17
2
[LLVMdev] Kaleidoscope toy4 failure seg fault on llvm::ExecutionEngine::getTargetData (this=0x0)
...g body, remove function. TheFunction->eraseFromParent(); return 0; } //===----------------------------------------------------------------------===// // Top-Level parsing and JIT Driver //===----------------------------------------------------------------------===// static ExecutionEngine *TheExecutionEngine; static void HandleDefinition() { if (FunctionAST *F = ParseDefinition()) { if (Function *LF = F->Codegen()) { fprintf(stderr, "Read function definition:"); LF->dump(); } } else { // Skip token for error recovery. getNextToken(); } } static void H...
2010 Feb 17
0
[LLVMdev] Kaleidoscope toy4 failure seg fault on llvm::ExecutionEngine::getTargetData (this=0x0)
First, you have to call llvm-g++ to use the llvm-gcc front end, but it doesn't matter here. I'd like to suggest that you use pastebin to put your code and the send us the link, so that we can download it. The problem is that TheExecutionEngine is set to NULL (maybe because of a previous error), but it will be really better if you use pastebin. On Wed, Feb 17, 2010 at 6:01 AM, Todd Rovito <rovitotv at gmail.com> wrote: > I am new to llvm so I might be missing a critical step. My system is > Fedora 12 but this also happens i...
2011 Nov 04
2
[LLVMdev] Question on JIT optimizations
...lementors do this in the LLVM environment? Thank you for any help. And thank you for this great tool. Brent FunctionPassManager OurFPM(TheModule); // Set up the optimizer pipeline. Start with registering info about how the // target lays out data structures. OurFPM.add(new TargetData(*TheExecutionEngine->getTargetData())); // Provide basic AliasAnalysis support for GVN. OurFPM.add(createBasicAliasAnalysisPass()); // Do simple "peephole" optimizations and bit-twiddling optzns. OurFPM.add(createInstructionCombiningPass()); // Reassociate expressions. OurFPM.add(createReassoc...
2018 Jul 20
2
LLVM FunctionType cannot be returned as VectorType?
...//////////////////////////////////////////////////////////////////////////////////// // Define the input/output data type in LLVM function typedef std::vector<int64_t> VecInt; auto function = reinterpret_cast<VecInt (*)(VecInt , VecInt, VecInt, VecInt, VecInt, VecInt, VecInt, VecInt)>(TheExecutionEngine->getFunctionAddress(TheFunction->getName().str())); VecInt result = function(functionCallArgs[0],functionCallArgs[1],functionCallArgs[2],functionCallArgs[3], functionCallArgs[4],functionCallArgs[5],functionCallArgs[6],functionCallArgs[7]); std::cout<<"result size "<< r...
2008 Nov 20
0
[LLVMdev] compiling the tutorial
...Hi, > I'm investigating adding LLVM JIT support to a project of mine, but I'm > having issues when trying to compile the Kaleidoscope tutorial* under > MSVC 2008. > In particular, the problem is that in main() when this line is executed >> // Create the JIT. >> TheExecutionEngine = ExecutionEngine::create(TheModule); > create returns null, because both JITCtor and InterpCtor are null. > I found this comment in ExecutionEngine.h Does it work if you add to the link command /INCLUDE:_X86TargetMachineModule ? [snip] -- Oscar