similar to: [LLVMdev] alloca on Win32

Displaying 20 results from an estimated 10000 matches similar to: "[LLVMdev] alloca on Win32"

2007 Jun 24
1
[LLVMdev] alloca on Win32
The alloca hook is in lib\System\Win32\DynamicLibrary.inc all the way at the bottom. You'll see a __MING32__ #ifdef around the definition. You just have to implement those methods and it'll work just fine. Jake On 6/24/07, Scott Graham <scott.llvm at h4ck3r.net> wrote: > > Hi > > Thanks for the info, it led to the source of the error I was having. > > I was using
2007 Jun 24
0
[LLVMdev] alloca on Win32
Hi Thanks for the info, it led to the source of the error I was having. I was using llvm-gcc binaries (built with mingw I guess) to compile a .c file that is my language runtime, llvm-link'ing that with my frontend's .ll, and using an vcpp-built lli to run the resulting bytecode. This caused the special case in X86RegisterInfo::emitPrologue for "main" to try to align the stack
2007 Jun 24
5
[LLVMdev] alloca on Win32
Hello, Scott. > Checking the assembly from llc, the first alloca call is to allocate > local vars in _main. Is this just the state of the code at 2.0 when > built with vs.net, or is there something that I've managed to > mis-build locally? _alloca is used to probe the stack, if you asks for locals of size more that 4k. This is pretty ugly, but the names of this functions differs
2007 Jun 25
2
[LLVMdev] alloca on Win32
Hello, Chuck. > "Error, Program used external function _alloca which could not be resolved!" I think the problem is the same. But... Cygwin is handled separately, because it's really more unix-like, that e.g. mingw32. Even more, it uses "unix" variant of libSystem. Probably you have to introduce the same hook (as for mingw32 / vcpp) there. -- With best regards, Anton
2008 Jul 23
2
[LLVMdev] customized output of double load/store on ppc32
Hi For .LL like: define void @Func() { %var1 = alloca double store double 0x40bb580000000000, double* %var1 ret void } ppc32 output is: ... lis 3, 16571 ori 3, 3, 22528 li 4, 0 stw 3, 8(1) stw 4, 12(1) ... I'm using the PPC backend's output as the "bytecode" for an interpreter that I would like to be able to run
2007 Jun 24
0
[LLVMdev] alloca on Win32
Hello, Scott. > Is that generally dangerous, or should it be OK? Well, in general, it's dangerous, because you should probe the stack on windows, if you'll allocate more than 4k. This is needed to let guard pages be allocated in proper order. So, you can see random crashes here and there now :) For example: try to allocate big array (>4k of size) and touch its last element (this
2008 Jul 24
2
[LLVMdev] customized output of double load/store on ppc32
On Wed, Jul 23, 2008 at 4:46 PM, Eli Friedman <eli.friedman at gmail.com> wrote: > On Wed, Jul 23, 2008 at 4:23 PM, Scott Graham <scott.llvm at h4ck3r.net> wrote: >> I'm using the PPC backend's output as the "bytecode" for an interpreter >> that I would like to be able to run on both little- and big-endian >> platforms. The split stw's mean
2008 Aug 12
4
[LLVMdev] CLR or C++/CLI interface to IR building API
Hi Our front end is written in a CLR language, and we're currently interacting with the middle/back-end by writing out .ll files. This was convenient to get started with, but they're getting to a "huge and unwieldy" stage now. I was wondering if anyone's attempted writing proxy/wrapper C++/CLI classes so that the IR API can be used directly from managed languages. Any
2008 Oct 27
2
[LLVMdev] maintaining names for types
Hi I'm working on switching from generating textual .ll files in my front end to using the llvm-c IR builder API instead. One thing that I really miss is that when I dump() to a .ll file for debugging, the type names are worse than useless, because many types have been merged with unrelated types that happen to have the same shape. This becomes very confusing when trying to map back to the
2008 Sep 08
3
[LLVMdev] Problems when refining type
Hi I'm using the llvm-c wrapper, and trying to build some recursive types (using released 2.3). I get an assert on trying to create a second opaque pointer type after refining a first. The first time through creating an opaque pointer type, a new type is created and returned from PointerType::get, but the second time, ValueType (the opaque type) is found in the PointerTypes map, which seems
2013 Nov 27
2
non-standard alloca.h
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 AFAIK, alloca.h is not POSIX. Here's a patch that includes alloca.h only when it's really there. It also includes malloc.h, which is where mingw-w64 defines the alloca() macro, mapping it to gcc __builtin_alloca() or to msvcrt _alloca(). - -- O< ascii ribbon - stop html email! - www.asciiribbon.org -----BEGIN PGP SIGNATURE----- Version:
2008 Jul 23
0
[LLVMdev] customized output of double load/store on ppc32
On Wed, Jul 23, 2008 at 4:23 PM, Scott Graham <scott.llvm at h4ck3r.net> wrote: > I'm using the PPC backend's output as the "bytecode" for an interpreter > that I would like to be able to run on both little- and big-endian > platforms. The split stw's mean that i32s of the f64 are swapped in > memory on little-endian (thus foiling native-code interop).
2008 Aug 13
0
[LLVMdev] CLR or C++/CLI interface to IR building API
Take a look at this page. It might give you more information: http://vmkit.llvm.org/ -bw On Tue, Aug 12, 2008 at 4:38 PM, Scott Graham <scott.llvm at h4ck3r.net> wrote: > Hi > > Our front end is written in a CLR language, and we're currently > interacting with the middle/back-end by writing out .ll files. This > was convenient to get started with, but they're
2008 Sep 19
2
[LLVMdev] non-signed integer Type
Hi Is there any rationale written down for why integer types don't carry (perhaps optional) signs somewhere? I feel like I might have read it somewhere before (and I see that it used to exist pre 2.0), but I can't find anything now. Relatedly, is there a reasonable way to attach user-data to a type or something? It feels very cumbersome to have to wrap all values and types in my front
2008 Oct 29
0
[LLVMdev] maintaining names for types
I run into this problem as well. However, given the way LLVM represents types and their names, there is not an easy solution to this problem. I don't know of any real workaround that will not change the semantics of the code. - Daniel On Mon, Oct 27, 2008 at 4:42 PM, Scott Graham <scott.llvm at h4ck3r.net> wrote: > Hi > > I'm working on switching from generating textual
2008 Jun 05
1
[LLVMdev] lli/JIT missing libgcc symbols on Mingw32/x86
Hello, I have a bytecode doing 64 bits division and on Mingw32/x86, lli complains it cannot resolve __udivdi3 when running it. Those symbols are all part of libgcc and all present in lli, but they cannot be found by SearchForAddressOfSymbol (not in any DLL). To workaround that, I explicitely define them in Win32/DynamicLibrary.inc if the current target is Mingw32 (patch attached). Anybody had
2014 Sep 29
2
[LLVMdev] Windows Installer
Your install dir has a whitespace. Have you tried quoting? e.g. <LLVMInstallDir>"C:\Program Files (x86)\LLVM"</LLVMInstallDir> Best regards, Rafael Auler On Mon, Sep 29, 2014 at 7:38 PM, Eric Mader <emader at gmx.us> wrote: > I changed tooset-vs2013.props to this: > > <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" >
2014 Sep 30
2
[LLVMdev] Windows Installer
I replaced all instances of "$(Platform)" with "x64" for the x64 .props file and it still fails, so it looks like that guess was wrong as well. Regards, Eric On 9/29/14, 2:11 PM, Eric Mader wrote: > Quoting doesn't seem to make a difference. Strangely, the Win32 > toolset seems to work. (Where "work" means that clang runs and > produces a bunch of
2014 Sep 29
2
[LLVMdev] Windows Installer
Open the file toolset-vs2013.props and you'll understand what's happening and where the path is set. It tries to fetch the LLVM installation path from the Windows registry. Just fix this (maybe editing your registry or editing the .props file, whatever suits you best). On Mon, Sep 29, 2014 at 5:33 PM, Eric Mader <emader at gmx.us> wrote: > I copied the x64 toolsets by hand and
2014 Oct 01
2
[LLVMdev] size_t?
We inject a typedef for size_t here: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/Sema.cpp?revision=218230&view=markup#l206 The typedef type is determined by calling getSizeType(). SizeType is (relevantly) calculated in two places: X86_64 http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Basic/Targets.cpp?revision=218666&view=markup#l3512 X86_32