similar to: [LLVMdev] Crash using the JIT on x86 but work on x64

Displaying 20 results from an estimated 200 matches similar to: "[LLVMdev] Crash using the JIT on x86 but work on x64"

2012 Jul 07
2
[LLVMdev] Crash using the JIT on x86 but work on x64
Hi, so yes assertions are enabled by default in Debug from what i could see in the CMakeLists.txt if( uppercase_CMAKE_BUILD_TYPE STREQUAL "RELEASE" ) option(LLVM_ENABLE_ASSERTIONS "Enable assertions" OFF) else() option(LLVM_ENABLE_ASSERTIONS "Enable assertions" ON) endif() Without assertions enabled, when i'm running the program without the debugger, it
2012 Jul 07
0
[LLVMdev] Crash using the JIT on x86 but work on x64
Hi Skykill, > Hello everyone, i’m using LLVM (updated to 3.1 after seeing that bug, but it’s > the same with 3.0) for running a bitcode on a C++ program, and Clang for > compiling it. My code work perfectly, as expected on x64, but crash on x86. I’m > on Windows 7 x64 and LLVM + Clang was compiled using Visual Studio 2010 (tested > in both Release and Debug build). Project was make
2015 May 15
2
[LLVMdev] Clang question on x86-64 class type definitions
Hi All, I have a question on the type definitions that Clang generates when compiling for x86-64. Here is the C++ code that I compile: class TestClass1 { int X; public: virtual int Foo() { return 1; } }; class TestClass2 : public TestClass1 {
2013 Apr 24
1
[LLVMdev] JIT pass runtime struct on to subroutines
Hi For a research project at my university, I'm working on incorporating JIT in Prolog, which is basically an interpreted virtual machine. The VM uses logical units of functionality called 'predicates' which are composed of bytecode that represents the machine instructions the VM supports. At execution time, the VM infinitately loops over these bytecodes and, using a giant switch
2020 Apr 04
2
Running opt O1 outside of llvm
Hi, I would like to run the -O1 pass sequence followed by -reg2mem from an out of tree project which uses llvm. I am using the following code snippet to do so but in some cases, my method is also vectorising the code, which doesn't happen when running the same sequence(-S -O1 -reg2mem) through opt. Can someone please help me find what I am missing? Thanks, Akash. *
2009 May 15
1
[LLVMdev] Intrinsic
Hi, I'm trying to use exception control by LLVM. In the demo page, I got : declare i8* @llvm.eh.exception() nounwind But, when a try to emit the code by llvm engine, the name is generate with the sufix .132 ( llvm.eh.exception.132 ) and the Function::getIntrinsicID abort the program. It was so : Intrinsic::getDeclaration(llvm_module,Intrinsic::memset,&Tys,1); Now, it's
2012 Aug 18
1
[LLVMdev] GlobalVariable initializer using from beyond the grave
For LLDB I'm writing a dumb module pass that removes all global variables, by running the following code: bool erased = true; while (erased) { erased = false; for (Module::global_iterator gi = llvm_module.global_begin(), ge = llvm_module.global_end(); gi != ge; ++gi) { GlobalVariable *global_var =
2018 Jan 20
1
No Targets in TargetRegistry
This is from https://stackoverflow.com/questions/48360685/no-targets-in-targetregistry I have the following code, which should get the default llvm::Target. auto const targetTriple = llvm::sys::getDefaultTargetTriple(); llvm_module.setTargetTriple(targetTriple); std::string error; auto const * target = llvm::TargetRegistry::lookupTarget(targetTriple, error); if (target ==
2013 Sep 03
1
[LLVMdev] X86_thiscall
Hi everyone, I have some problems with gettings the X86_thiscall calling convention to work. I am new to LLVM, so if this is the wrong place for this question then I appologise, please tell me where to go instead. I am generating code to call a member function of a class compiled with Microsoft Visual C++ using the JIT compiler. The following code is used to register the pointer to the
2009 Mar 24
0
[LLVMdev] va_start
Hi, When I try to use va_start(ptr), I got the following problem : Type *Tys = PointerType::get(IntegerType::get(8), 0); return Intrinsic::getDeclaration(llvm_module,Intrinsic::vastart,&Tys,1); ............... The Name generated is "llvm.va_start.p0i8", so, it's not found, abending the process. and Len = 18 In intrinsics.gen : if (Len == 13 && !memcmp(Name,
2009 Mar 24
0
[LLVMdev] va_start
Hi, When I try to use va_start(ptr), I got the following problem : Type *Tys = Type::VoidTy; Or Type *Tys = PointerType::get(IntegerType::get(8), 0); return Intrinsic::getDeclaration(llvm_module,Intrinsic::vastart,&Tys,1); ............... The Name generated is "llvm.va_start.p0i8", so, it's not found, abending the process. and Len = 18 In intrinsics.gen : if (Len == 13
2012 Jul 08
1
[LLVMdev] Crash using the JIT on x86 but work on x64
Thank, i have posted a mail about that. What i don't understand, is why it only work on x64, it should be more logical that it work only on x86, since most library focus first on working x86 before x64. The function getMethodPointer come from here http://stackoverflow.com/questions/3104389/can-i-bind-an-existing-method-to-a-llvm-function-and-use-it-from-jitted-code they said "that
2012 Oct 22
2
[LLVMdev] Section specialization & COFF.
On 20/10/12 03:15, Michael Spencer wrote: > On Fri, Oct 19, 2012 at 2:55 AM, r4start <r4start at gmail.com> wrote: >> Hi all. >> >> While compiling next code >> @A = weak unnamed_addr constant { i32, i32, i32 } { i32 0, i32 0, i32 0 }, >> section ".data" >> was discovered that llc ignores weak linkage if we emit it in COFF object. >>
2018 Apr 19
0
How to set Target/Triple of ExecutionEngine
Taking one step back, I'm not clear I'm even setting the triple/DataLayout on the module correctly:     module = new llvm::Module( "test", *llvm_context );     module->setTargetTriple( platform::target->triple ); Is that enough to create an appropriate DataLayout for the module?  I don't see anyway to convert a triple to a DataLayout, so I can't call
2018 Apr 19
1
How to set Target/Triple of ExecutionEngine
Hi edaqa, You might need to set your TargetOptions before calling selectTarget. E.g. builder.setTargetOptions(Opts).selectTarget(...); Or you could just let EngineBuilder call selectTarget for you (which is what the no-argument version of EngineBuilder::create does): llvm::ExecutionEngine * ee = builder. setErrorStr( &errStr ). setEngineKind( llvm::EngineKind::JIT ).
2005 May 18
1
[LLVMdev] Scheme + LLVM JIT
On May 16, Chris Lattner wrote: > > Sure, that sounds good. I'd definitely prefer that it be tested before it > goes into CVS. Perhaps adding something to llvm/examples would be a good > way to go. > > One suggestion, you might change the API to be something like this: > > ParseAsmString(const char *, Module *) > > Where the function parses the string and
2018 Jan 23
0
MachineVerifier and undef
Thanks Krzysztof. That's very helpful - I was missing the distinction between a register containing an undefined value and a register marked as containing an undefined value. Cheers! On 1/23/18, via llvm-dev <llvm-dev at lists.llvm.org> wrote: > Send llvm-dev mailing list submissions to > llvm-dev at lists.llvm.org > > To subscribe or unsubscribe via the World Wide Web,
2005 Oct 20
3
problème d'import de fichier
hello! je veux importer un fichier de donnees excel que j'ai au prealable converti en fichier txt avec separateurs tab, fichier de la forme entree simple (suite de colonnes contenant des variables). Voila ma ligne de commande : > poussins <- read.table("poussins.txt", header=T, sep="\t") et sa reponse Erreur dans scan(file = file, what = what, sep = sep, quote =
2013 Jul 11
0
Plus de 5 000 appartements en ligne sur Ouest-immobilier-neuf.com !
Si vous ne visualisez pas correctement l???e-mail, cliquez ici <http://img.mp31.ch/visu-8875A4E7-EB06-4E73-89BA-41877FB24EBC-203221958-269473-11072013.html> <http://img.mp31.ch/url-203221958-1252175-11072013.html> <http://img.mp31.ch/url-203221958-1252176-11072013.html> <http://img.mp31.ch/url-203221958-1252177-11072013.html>
2013 Nov 20
0
Plus de 5 000 appartements en ligne !
Si vous ne visualisez pas correctement l???e-mail, cliquez ici <http://url.mp32.ch/visu-CD7728BA-81F8-43CD-9CE9-442E4D421F8C-203221958-306278-19112013.html> <http://url.mp32.ch/url-203221958-1408703-19112013.html> <http://url.mp32.ch/url-203221958-1408704-19112013.html> <http://url.mp32.ch/url-203221958-1408705-19112013.html>