search for: enginebuilder

Displaying 20 results from an estimated 262 matches for "enginebuilder".

2016 Sep 14
4
setDataLayout segfault
I get a segfault with this code when setting the data layout: int main(int argc, char** argv) { llvm::InitializeNativeTarget(); llvm::LLVMContext TheContext; unique_ptr<Module> Mod(new Module("A",TheContext)); llvm::EngineBuilder engineBuilder(std::move(Mod)); std::string mcjit_error; engineBuilder.setMCPU(llvm::sys::getHostCPUName()); engineBuilder.setEngineKind(llvm::EngineKind::JIT); engineBuilder.setOptLevel(llvm::CodeGenOpt::Aggressive); engineBuilder.setErrorStr(&mcjit_error); llvm::TargetOpti...
2011 Aug 25
2
[LLVMdev] Trouble using the MCJIT: "Target does not support MC emission" error
...<Chareos at gmx.de> wrote: > Hi Matt, > > I am unsure about MCJIT, but I guess the problem is the same. > Just like when invoking llc, you need to pass the information to use AVX > (llc -mattr=+avx). > I guess the corresponding code should look like this: > >     llvm::EngineBuilder engineBuilder(module); >     engineBuilder.setErrorStr(&eeError); >     engineBuilder.setEngineKind(llvm::EngineKind::JIT); >     engineBuilder.setUseMCJIT(true); >     engineBuilder.setMCPU("corei7-avx"); >     std::vector<std::string> attrs; >     attrs.push_...
2016 Sep 14
2
setDataLayout segfault
...to require a unique_ptr. Frank On 09/14/2016 12:11 PM, Frank Winter via llvm-dev wrote: > I am constructing the engine builder in the following way: > > llvm::SMDiagnostic Err; > unique_ptr<Module> Mod = getLazyIRFileModule("f.ll", Err, TheContext); > llvm::EngineBuilder engineBuilder(std::move(Mod)); > > However, after moving the pointer to the constructor it is no longer > retrievable from the unique_ptr object. > > Mod.get()->dump(); // this segfaults after the move, but not before > > So I conclude that any type of operation o...
2011 Aug 25
0
[LLVMdev] Trouble using the MCJIT: "Target does not support MC emission" error
Hi Matt, I am unsure about MCJIT, but I guess the problem is the same. Just like when invoking llc, you need to pass the information to use AVX (llc -mattr=+avx). I guess the corresponding code should look like this: llvm::EngineBuilder engineBuilder(module); engineBuilder.setErrorStr(&eeError); engineBuilder.setEngineKind(llvm::EngineKind::JIT); engineBuilder.setUseMCJIT(true); engineBuilder.setMCPU("corei7-avx"); std::vector<std::string> attrs; attrs.push_back("avx");...
2011 Aug 26
0
[LLVMdev] Trouble using the MCJIT: "Target does not support MC emission" error
...>> Hi Matt, >> >> I am unsure about MCJIT, but I guess the problem is the same. >> Just like when invoking llc, you need to pass the information to use AVX >> (llc -mattr=+avx). >> I guess the corresponding code should look like this: >> >> llvm::EngineBuilder engineBuilder(module); >> engineBuilder.setErrorStr(&eeError); >> engineBuilder.setEngineKind(llvm::EngineKind::JIT); >> engineBuilder.setUseMCJIT(true); >> engineBuilder.setMCPU("corei7-avx"); >> std::vector<std::string> a...
2011 Aug 25
3
[LLVMdev] Trouble using the MCJIT: "Target does not support MC emission" error
I'm trying to wire up some code to use the MC-based JIT; my understanding is that it should be able to JIT AVX code (and that the regular JIT cannot). However, I'm getting the error "Target does not support MC emission!" when I call EngineBuilder::create(). I assume that I'm just not doing something necessary for initialization, but I'm not sure what it would be--I am calling all of: llvm::InitializeNativeTarget(); llvm::InitializeAllTargetMCs(); LLVMLinkInMCJIT(); LLVMLinkInJIT(); and the module I'm trying to...
2012 May 14
2
[LLVMdev] MCJIT
...=host-only --prefix=/local/mnt/workspace/ashoknn/crd/neo/llvm/proto/llvmsvn/build/bin >> >> I added the enable-libffi when trying to figure out resolving external libs. >> > > > No, selecting MCJIT vs. the old JIT is done in the EngineBuilder. If you're using lli, you can pass -use-mcjit on the command line. If you're using your own driver, you can use the lli.cpp for a reference. > > -Jim Thats what I was pointed to earlier, and following that I set the flag in EngineBuilder.setUseMCJIT(true). I looked at the code of E...
2010 Feb 27
4
[LLVMdev] another experimental patch for bug 2606
Hey all, Attached you will find an experimental patch which allows me to play with a derived JIT class. With this patch I've alleviated my concerns with forcing cross module behavior for all users of JIT. However this introduces some new semantics, and kind of circumvents the EngineBuilder API. More important though, I have not addressed any concern about using stub functions in eager compilation mode. I don't yet understand this concern since these stubs are compile time only, and it seems that the pending function system inherently uses stubs. Anyway I'm sure my understandi...
2011 Aug 26
2
[LLVMdev] Trouble using the MCJIT: "Target does not support MC emission" error
...in llvm::RuntimeDyldMachO::loadSegment64 () #3 0x000000010000493d in llvm::RuntimeDyldMachO::loadObject () #4 0x0000000100003cf9 in llvm::RuntimeDyld::loadObject () #5 0x00000001000032e5 in llvm::MCJIT::MCJIT () #6 0x00000001000021c2 in llvm::MCJIT::createJIT () #7 0x0000000100023274 in llvm::EngineBuilder::create () #8 0x0000000100001417 in lRunTest (fn=0x7fff5fbffb3a "a.bc") at bug.cpp:44 #9 0x000000010000175a in main (argc=2, argv=0x7fff5fbff9c8) at bug.cpp:61 (gdb) quit On Aug 26, 2011, at 7:58 AM, Ralf Karrenberg wrote: > Ah, now that makes sense. Guess I was a little over-eage...
2016 Jun 11
3
SegFault creating a ExecutionEngine
My code to create an ExecutionEngine is segfaulting: std::string errStr; llvm::ExecutionEngine * ee = llvm::EngineBuilder( unique_ptr<llvm::Module>(module) ) .setErrorStr( &errStr ) //line 1618 .setEngineKind( llvm::EngineKind::JIT ) Where module is a `llvm::Module*`. This is code I'm migrating from 3.3 to 3.8. Since the deletion error is happening during constructor I'm at a...
2012 May 14
0
[LLVMdev] MCJIT
...al/mnt/workspace/ashoknn/crd/neo/llvm/proto/llvmsvn/build/bin >>> >>> I added the enable-libffi when trying to figure out resolving external libs. >>> >> >> >> No, selecting MCJIT vs. the old JIT is done in the EngineBuilder. If you're using lli, you can pass -use-mcjit on the command line. If you're using your own driver, you can use the lli.cpp for a reference. >> >> -Jim > > Thats what I was pointed to earlier, and following that I set the flag in EngineBuilder.setUseMCJIT(true). I looked...
2016 Jun 23
2
AVX512 instruction generated when JIT compiling for an avx2 architecture
...;* %31, align 16 %32 = add nsw i64 %19, 1 %33 = icmp slt i64 %32, %5 br i1 %33, label %L5, label %L6 L6: ; preds = %L5 ret void } The following code line show how I call the JIT compiler. ('Mod' is pointing to the module). llvm::EngineBuilder engineBuilder(std::move(std::unique_ptr<llvm::Module>(Mod))); engineBuilder.setMCPU(llvm::sys::getHostCPUName()); engineBuilder.setEngineKind(llvm::EngineKind::JIT); engineBuilder.setOptLevel(llvm::CodeGenOpt::Aggressive); engineBuilder.setErrorStr(&mcjit_error); llvm::TargetOptions tar...
2016 Jun 23
2
AVX512 instruction generated when JIT compiling for an avx2 architecture
...gt; br i1 %33, label %L5, label %L6 > > L6: ; preds = %L5 > ret void > } > > > The following code line show how I call the JIT compiler. ('Mod' > is pointing to the module). > > llvm::EngineBuilder > engineBuilder(std::move(std::unique_ptr<llvm::Module>(Mod))); > engineBuilder.setMCPU(llvm::sys::getHostCPUName()); > engineBuilder.setEngineKind(llvm::EngineKind::JIT); > engineBuilder.setOptLevel(llvm::CodeGenOpt::Aggressive); > engineBuilder.setErrorStr...
2019 Sep 18
2
EngineBuilder(std::move(Owner)).create() return null
I just copy the latest code in HowToUseJIT and run, but the EngineBuilder(std::move(Owner)).create() keeps return null, any idea why? Here's my CMakeList: cmake_minimum_required(VERSION 3.12) project(llvm_test) set(CMAKE_CXX_STANDARD 14) find_package(LLVM REQUIRED CONFIG) llvm_map_components_to_libnames(llvm_libs support core irreader orcjit native) add_executab...
2011 Jun 21
1
[LLVMdev] Instantiating a JIT on win64
...been following the tutorial, and have the following code for instantiating an ExecutionEngine: #include <LLVM\ExecutionEngine\JIT.h> #include <LLVM\ExecutionEngine\Interpreter.h> // ... std::string builderErr; llvm::EngineBuilder engineBuilder(&m_state.GetModule()); engineBuilder.setErrorStr(&builderErr); m_engine = engineBuilder.create(); Unfortunately, i can't seem to instantiate a JIT. I can get into the JIT::createJIT function, but i then fail to find an appropriate JIT for my archi...
2019 Sep 18
2
EngineBuilder(std::move(Owner)).create() return null
I found a private ErrorStr member, but didn't find the get function of this member, could you tell me how I can get the error message? On Wed, Sep 18, 2019 at 4:02 PM mayuyu.io <admin at mayuyu.io> wrote: > Isn’t there a method in EngineBuilder to get the error message or > something? > I assume it’s you didn’t link in the JIT module > > Zhang > > 在 2019年9月18日,11:04,Yafei Liu via llvm-dev <llvm-dev at lists.llvm.org> 写道: > > I just copy the latest code in HowToUseJIT and run, but > the EngineBuilder(std::m...
2018 Mar 02
2
EngineBuilder().create() => NULL
Hi, I try to create an execution engine, but I always got a nullptr value :     _executionEngine = EngineBuilder(std::move(_module)).create(); I build my project with cmake and add the following command in my cmake.     llvm_map_components_to_libnames(llvm_libs Analysis Core ExecutionEngine InstCombine Object RuntimeDyld ScalarOpts Support native mcjit) BTW, I have also try to execute the LLVM example p...
2018 Mar 02
0
EngineBuilder().create() => NULL
EngineBuilder should provided an error string option, try printing it out? Zhang > 在 2018年3月2日,上午8:23,Christophe Demez via llvm-dev <llvm-dev at lists.llvm.org> 写道: > > Hi, > > I try to create an execution engine, but I always got a nullptr value : > > _executionEngine = Engin...
2012 May 14
2
[LLVMdev] MCJIT
...pace/ashoknn/crd/neo/llvm/proto/llvmsvn/build/bin >>>> >>>> I added the enable-libffi when trying to figure out resolving external libs. >>>> >>> >>> >>> No, selecting MCJIT vs. the old JIT is done in the EngineBuilder. If you're using lli, you can pass -use-mcjit on the command line. If you're using your own driver, you can use the lli.cpp for a reference. >>> >>> -Jim >> >> Thats what I was pointed to earlier, and following that I set the flag in EngineBuilder.setUseMCJIT(t...
2017 May 08
2
LLVM and Xeon Skylake v5
getProcessTriple just determines operation system, and architecture. It doesn't deal with specific instruction set features. The CPU should be controlled by MCPU on the EngineBuilder i think. The CPU autodetection code lives in getHostCPUName in lib/Support/Host.cpp, but I don't think the JIT calls into. I think its expected the user would call it or pass a specific CPU string to the MCPU for the EngineBuilder. But getHostCPUName in LLVM 3.5 doesn't recognize Ka...