Displaying 20 results from an estimated 40000 matches similar to: "[LLVMdev] what is the use of call conv of function?"
2007 Aug 09
4
[LLVMdev] Tail call optimization thoughts
Hello, Arnold.
Only quick comments, I'll try to make a full review a little bit later.
> 0.)a fast calling convention (maybe use the current
> CallingConv::Fast, or create a CallingConv::TailCall)
> 1.) lowering of formal arguments
> like for example x86_LowerCCCArguments in stdcall mode
> we need to make sure that later mentioned CALL_CLOBBERED_REG is
>
2007 Aug 11
1
[LLVMdev] Tail call optimization deeds
Okay so i implemented an(other :) initial version for X86-32 backend,
this time based on TOT:
It is not very generic at the moment. Only functions with
callingconv::fastcc and the tail call attribute will be optimized.
Maybe the next step should be to integrate the code into the other
calling convention lowering. Here is what i have at the moment:
If callingconv::fastcc is used the
2007 Aug 13
0
[LLVMdev] Tail call optimization deeds
Hi Arnold and Anton,
Sorry I have been ignoring your emails on this topic. It's an
important task and I really need sometime to think about it (and talk
to Chris about it!) But this has been an especially hectic week. I am
also going to vacation soon so I am not sure when I would get around
to it.
If Chris has time, I am sure he has lots to say on this topic. :-)
Otherwise, please
2010 Apr 08
2
[LLVMdev] Using LLVM with clang for a homebrew kernel
Hi!
In the llvm-doc is the following:
Also, since many platforms define their ABIs in terms of C, and since
LLVM is lower-level than C, front-ends currently must emit
platform-specific IR in order to have the result conform to the platform
ABI.
Can you give an example for this except system calls (which e.g. on
windows use
a different calling convention)?
If you write your own operating
2008 Feb 20
0
[LLVMdev] Adding a custom calling convention
On Wed, 20 Feb 2008, Raja Mukherji wrote:
> Hi all,
> I was wondering what the best way of adding a custom calling convention in llvm?
It is quite easy to add custom calling conventions. Check out how the
various x86 fastcall, stdcall, etc things are handled.
> In particular, for the x86 platform, I want:
>
> on entry
>
> esi = size of argument block
> edi = address of
2008 Feb 20
1
[LLVMdev] Adding a custom calling convention
On 20/02/2008, Chris Lattner <sabre at nondot.org> wrote:
> On Wed, 20 Feb 2008, Raja Mukherji wrote:
> > Hi all,
> > I was wondering what the best way of adding a custom calling convention in llvm?
>
> It is quite easy to add custom calling conventions. Check out how the
> various x86 fastcall, stdcall, etc things are handled.
Am I correct in thinking that it's
2007 Sep 11
0
[LLVMdev] RFC: Tail call optimization X86
Hi Arnold,
Thanks for the patch. Some questions and commons:
1. Have you test it against the llvm test suite? Does it work if fp
elimination optimization is turned off?
2. Please follow llvm coding convention and make sure every line fits
in 80 columns.
3.
enum NameDecorationStyle {
None,
StdCall,
- FastCall
+ FastCall,
+ FastCC // the normal fastcc calling convention
};
Why is
2007 Aug 09
1
[LLVMdev] Tail call optimization thoughts
Implementing tail call opt could look like the following:
0.)a fast calling convention (maybe use the current
CallingConv::Fast, or create a CallingConv::TailCall)
1.) lowering of formal arguments
like for example x86_LowerCCCArguments in stdcall mode
we need to make sure that later mentioned CALL_CLOBBERED_REG is
not used (remove it from available
registers in callingconvention for
2010 Nov 26
3
[LLVMdev] request for windows unicode support
On 25.11.2010 23:56, Michael Spencer wrote:
> On Nov 25, 2010, at 5:01 PM, Jochen Wilhelmy <j.wilhelmy at arcor.de
> <mailto:j.wilhelmy at arcor.de>> wrote:
>
>> Hi!
>>
>> Of course nobody wants to implement unicode support for windows
>> because windows should support an utf8-locale and windows is obsolete
>> anyway ;-)
>>
>> But
2008 Feb 20
2
[LLVMdev] Adding a custom calling convention
Hi all,
I was wondering what the best way of adding a custom calling convention in llvm?
In particular, for the x86 platform, I want:
on entry
esi = size of argument block
edi = address of argument block
ecx = callee object
and on return
eax = status code
ebx = possible one-shot continuation
ecx = returned value
edx = returned reference
I only want it to work in a JIT fashion so no
2010 Nov 25
0
[LLVMdev] request for windows unicode support
On Nov 25, 2010, at 5:01 PM, Jochen Wilhelmy <j.wilhelmy at arcor.de> wrote:
> Hi!
>
> Of course nobody wants to implement unicode support for windows
> because windows should support an utf8-locale and windows is obsolete
> anyway ;-)
>
> But there is a simple solution: use boost::filesystem::path everywhere you
> use file names and paths, for example in
2007 Sep 06
2
[LLVMdev] RFC: Tail call optimization X86
Hi Evan,
first off thanks to you and Chris for taking time.
On 6 Sep 2007, at 00:57, Evan Cheng wrote:
> We'd like to see tail call optimization to be similar to the target
> independent lowering of ISD::CALL nodes. These are auto-generated
> from ???CallingConv.td files. Some target specific details such as
> function address register (ECX in your example) should be coded in
2010 Mar 03
5
[LLVMdev] folding x * 0 = 0
Hi!
> sin/cos etc should already be handled by lib/Analysis/ConstantFolding.cpp.
>
Thanks for the hint and it works!
Now I have a new Problem:
I have this function:
float foo(float a, float b)
{
float x = a * b * 0.0f;
return cos(0.5) * sin(0.5) * x;
};
after compiling it with clang (cpp mode) and renaming _ZSt3sinf to sin
and _ZSt3cosf to cos I get the following:
define
2010 Nov 25
2
[LLVMdev] request for windows unicode support
Hi!
Of course nobody wants to implement unicode support for windows
because windows should support an utf8-locale and windows is obsolete
anyway ;-)
But there is a simple solution: use boost::filesystem::path everywhere you
use file names and paths, for example in clang::FileManager::getFile.
With version 3 opening a file is easy: std::fstream file(path.c_str()).
Internally
2010 Nov 26
2
[LLVMdev] request for windows unicode support
On Fri, 26 Nov 2010 09:28:17 -0500
Michael Spencer <bigcheesegs at gmail.com> wrote:
> On Fri, Nov 26, 2010 at 4:00 AM, Jochen Wilhelmy
> <j.wilhelmy at arcor.de> wrote:
> > No, this post was prompted since I switched to boost::filesystem
> > version 3 in my own code and llvm/clang 2.8
> > was the only lib with no unicode support on windows.
> > Will your
2010 Nov 26
0
[LLVMdev] request for windows unicode support
On Fri, Nov 26, 2010 at 4:00 AM, Jochen Wilhelmy <j.wilhelmy at arcor.de> wrote:
> No, this post was prompted since I switched to boost::filesystem version 3
> in my own code and llvm/clang 2.8
> was the only lib with no unicode support on windows.
> Will your code be api compatible to boost::filesystem?
No. boost::filesystem makes extensive use of exceptions, which LLVM is
2010 Mar 03
0
[LLVMdev] folding x * 0 = 0
On 3 March 2010 11:56, Jochen Wilhelmy <j.wilhelmy at arcor.de> wrote:
>
> the sin and cos calls are folded, but not the mul by zero.
>
Is x*0 => 0 true if isnan(x)?
And cos(x)*sin(x) makes me desperately want to fold it to sin(2*x)/2,
but I suppose that's not allowed either.
2007 Oct 05
0
[LLVMdev] RFC: Tail call optimization X86
On Oct 5, 2007, at 10:41 AM, Evan Cheng wrote:
>
> On Oct 5, 2007, at 2:42 AM, Arnold Schwaighofer wrote:
>
>> Hi Evan,
>> I incoporated the changes you request but to the following i have got
>> a question:
>>
>>> Also, moving the option
>>> there will allow us to change fastcc ABI (callee popping arguments)
>>> only when this option is
2009 Dec 09
2
[LLVMdev] Problem with code generated for call using stdcall convention
Hi, I'm trying to run the following module in lli on LLVM 2.6, Windows/MSVS
2008, 32 bits memory model:
---
declare x86_stdcallcc i8* @GetStdHandle(i32)
define i32 @main() {
%handle = call i8* @GetStdHandle(i32 -11)
ret i32 0
}
---
(This small modules that just retrieve the handle to stdout using WIN32
API).
I'm converting it to bytecode using:
llvm-as.exe -f
2011 May 25
1
[LLVMdev] ms vc 10 warnings
Hi!
when compiling projects using llvm 2.9 and ms vc 10 I get these warnings:
1>e:\Jochen\Lib\lib\include\llvm/Use.h(218): warning C4624:
'llvm::AugmentedUse' : destructor could not be generated because a base
class destructor is inaccessible
1>C:\Program Files (x86)\Microsoft Visual Studio
10.0\VC\include\stdint.h(72): warning C4005: 'INT8_MIN' : macro redefinition