Displaying 20 results from an estimated 3000 matches similar to: "[LLVMdev] exception handling and fastcc"
2011 Apr 07
2
[LLVMdev] opt + fastcc bug?
Hi,
Is this correct behaviour?
test.ll:
declare {} @__ex__print_int(i64)
define i32 @main() {
entry:
%0 = call i64 @f.1()
%1 = call {} @__ex__print_int(i64 %0)
ret i32 0
}
define internal fastcc i64 @f.1() {
entry:
ret i64 7
}
> opt -std-compile-opts test.ll -S
; ModuleID = 'test.ll'
define i32 @main() noreturn nounwind {
entry:
tail call void @llvm.trap()
2011 Apr 07
0
[LLVMdev] opt + fastcc bug?
On Wed, Apr 6, 2011 at 10:48 PM, Nicolas Ojeda Bar
<nojb at math.harvard.edu> wrote:
> Hi,
>
> Is this correct behaviour?
>
> test.ll:
>
> declare {} @__ex__print_int(i64)
>
> define i32 @main() {
> entry:
> %0 = call i64 @f.1()
> %1 = call {} @__ex__print_int(i64 %0)
> ret i32 0
> }
>
> define internal fastcc i64 @f.1() {
> entry:
>
2009 Nov 19
2
[LLVMdev] fastcc and ExecutionEngine::getPointerToFunction()
Er... Sending this to the list instead of the parent...
On Thu, Nov 19, 2009 at 4:49 AM, Hans Wennborg <hans at hanshq.net> wrote:
> Yesterday I realised that if a Function has the calling convention set
> to "fast", then it is a bad idea to call it through the function pointer
> one gets from ExecutionEngine::getPointerToFunction().
>
> The problem is that when
2009 Feb 12
6
[LLVMdev] fastcc, tail calls, and gcc
Two related questions.
This is with LLVM 2.4 doing a JIT compile to x86-64. (I generate LLVM
IR using an IRBuilder instance, compile/optimize, and then call
getPointerToFunction() to get a "native" function pointer.)
(1) My reading of various mailing list messages seems to indicate
that a function marked as using the "fastcc" calling convention
2009 Nov 19
1
[LLVMdev] fastcc and ExecutionEngine::getPointerToFunction()
On Thu, Nov 19, 2009 at 12:45 PM, Samuel Crow <samuraileumas at yahoo.com> wrote:
>
>
>
>
> ----- Original Message ----
>> From: Kenneth Uildriks <kennethuil at gmail.com>
>> To: Samuel Crow <samuraileumas at yahoo.com>
>> Cc: OvermindDL1 <overminddl1 at gmail.com>; LLVM Developers Mailing List <llvmdev at cs.uiuc.edu>
>> Sent:
2009 Feb 12
0
[LLVMdev] fastcc, tail calls, and gcc
On Thu, Feb 12, 2009 at 5:34 PM, Jeff Kuskin <jk500500 at yahoo.com> wrote:
> Two related questions.
> (2) Why does the x86-64 JIT backend generate a "ret $0x8" instruction
> to return from a fastcc function that is (a) marked as fastcc
> (CallingConv::Fast); but (b) takes no arguments and returns 'void'?
fastcc generated code ends with this:
> c20800
2013 Mar 05
2
[LLVMdev] Bad Instruction 4 with fastcc
On OSX I thought I'd try to optimize my compiler a bit by switching some of
the calling conventions from CCallingConv to FastCC. The compiler ran fine,
but when I executed the code, I got "Bad Instruction 4". I'm seeing some
other mentions on this mailing list of issues like this on OSX (I'm using
10.8). Is there anything I need to change to enable fastcc with my
compiler? I
2009 Nov 19
0
[LLVMdev] fastcc and ExecutionEngine::getPointerToFunction()
----- Original Message ----
> From: OvermindDL1 <overminddl1 at gmail.com>
> To: LLVM Developers Mailing List <llvmdev at cs.uiuc.edu>
> Sent: Thu, November 19, 2009 6:12:47 AM
> Subject: Re: [LLVMdev] fastcc and ExecutionEngine::getPointerToFunction()
>
> Er... Sending this to the list instead of the parent...
>
> On Thu, Nov 19, 2009 at 4:49 AM, Hans
2009 Nov 19
0
[LLVMdev] fastcc and ExecutionEngine::getPointerToFunction()
----- Original Message ----
> From: Kenneth Uildriks <kennethuil at gmail.com>
> To: Samuel Crow <samuraileumas at yahoo.com>
> Cc: OvermindDL1 <overminddl1 at gmail.com>; LLVM Developers Mailing List <llvmdev at cs.uiuc.edu>
> Sent: Thu, November 19, 2009 12:22:55 PM
> Subject: Re: [LLVMdev] fastcc and ExecutionEngine::getPointerToFunction()
>
> >
2013 Feb 14
2
[LLVMdev] Question about fastcc assumptions and seemingly superfluous %esp updates
Hello,
While investigating one of the existing tests
(test/CodeGen/X86/tailcallpic2.ll), I ran into IR that produces some
interesting code. The IR is very straightforward:
define protected fastcc i32 @tailcallee(i32 %a1, i32 %a2, i32 %a3, i32 %a4) {
entry:
ret i32 %a3
}
define fastcc i32 @tailcaller(i32 %in1, i32 %in2) {
entry:
%tmp11 = tail call fastcc i32 @tailcallee( i32 %in1, i32 %in2, i32
2013 Feb 15
0
[LLVMdev] Question about fastcc assumptions and seemingly superfluous %esp updates
Hey Eli,
On Thu, Feb 14, 2013 at 5:45 PM, Eli Bendersky <eliben at google.com> wrote:
> Hello,
>
> While investigating one of the existing tests
> (test/CodeGen/X86/tailcallpic2.ll), I ran into IR that produces some
> interesting code. The IR is very straightforward:
>
> define protected fastcc i32 @tailcallee(i32 %a1, i32 %a2, i32 %a3, i32
> %a4) {
> entry:
>
2013 Feb 15
1
[LLVMdev] Question about fastcc assumptions and seemingly superfluous %esp updates
Hi Arnold,
Thanks for the insights. My comments below:
On Thu, Feb 14, 2013 at 5:30 PM, Arnold Schwaighofer
<aschwaighofer at apple.com> wrote:
> When you enable -tailcallopt you get support for tail calls between functions with arbitrary stack space requirements. That means the calling convention has to change slightly. E.g the callee is responsible for removing it's arguments of
2013 Feb 15
0
[LLVMdev] Question about fastcc assumptions and seemingly superfluous %esp updates
When you enable -tailcallopt you get support for tail calls between functions with arbitrary stack space requirements. That means the calling convention has to change slightly. E.g the callee is responsible for removing it's arguments of the stack. The caller cannot transitively know the tail callee's tailcallee's requirement. Also care must be taken to make sure the stack stays
2009 Feb 12
0
[LLVMdev] fastcc, tail calls, and gcc
Jeff Kuskin wrote:
> Correct? If not, how do I call a LLVM JIT-generated fastcc function
> from a function statically compiled by GCC?
Well, you can always generate a little wrapper function with C calling
convention which just calls the fastcc function.
--
Dr. Albert Gr"af
Dept. of Music-Informatics, University of Mainz, Germany
Email: Dr.Graef at t-online.de, ag at
2009 Nov 19
2
[LLVMdev] fastcc and ExecutionEngine::getPointerToFunction()
Yesterday I realised that if a Function has the calling convention set
to "fast", then it is a bad idea to call it through the function pointer
one gets from ExecutionEngine::getPointerToFunction().
The problem is that when calling it from my C++ program, the call will
be made C-style, while the function expects to be called the fastcc way.
Could LLVM either warn the user of this,
2009 Nov 19
2
[LLVMdev] fastcc and ExecutionEngine::getPointerToFunction()
> I agree with you OvermindDL1,
>
> SInce the language I'm going to be working on doesn't support varargs, it would be nice to be able to ditch the C calling convention for fastcc in all occurrances for an added speed boost. I also will need to add my own library calling convention on one platform I plan on supporting which will be register-loaded as well.
Are you going to be
2009 Nov 20
0
[LLVMdev] fastcc and ExecutionEngine::getPointerToFunction()
Hans Wennborg wrote:
> Yesterday I realised that if a Function has the calling convention set
> to "fast", then it is a bad idea to call it through the function pointer
> one gets from ExecutionEngine::getPointerToFunction().
>
> The problem is that when calling it from my C++ program, the call will
> be made C-style, while the function expects to be called the fastcc
2009 Feb 12
1
[LLVMdev] fastcc, tail calls, and gcc
On Feb 12, 2009, at 3:23 PM, Albert Graef wrote:
> Jeff Kuskin wrote:
>> Correct? If not, how do I call a LLVM JIT-generated fastcc function
>> from a function statically compiled by GCC?
>
> Well, you can always generate a little wrapper function with C calling
> convention which just calls the fastcc function.
You can do a quick bit of assembly code to make sure that
2013 Feb 15
2
[LLVMdev] Question about fastcc assumptions and seemingly superfluous %esp updates
>> While investigating one of the existing tests
>> (test/CodeGen/X86/tailcallpic2.ll), I ran into IR that produces some
>> interesting code. The IR is very straightforward:
>>
>> define protected fastcc i32 @tailcallee(i32 %a1, i32 %a2, i32 %a3, i32
>> %a4) {
>> entry:
>> ret i32 %a3
>> }
>>
>> define fastcc i32 @tailcaller(i32
2009 Feb 13
1
[LLVMdev] fastcc, tail calls, and gcc
Albert Graef wrote:
> Jeff Kuskin wrote:
>> Correct? If not, how do I call a LLVM JIT-generated fastcc function
>> from a function statically compiled by GCC?
>
> Well, you can always generate a little wrapper function with C calling
> convention which just calls the fastcc function.
>
I use the fastcall convention all the time.
LLVM-jitted code calling GCC-compile