Displaying 20 results from an estimated 236 matches for "callingconv".
2010 Mar 03
0
[LLVMdev] [PATCH] New calling convention for use by GHC
...e 2.7 branches in a couple days. A couple questions:
1) is the GHC calling conv intended to be target specific? If it is x86 specific, it should get an X86 prefix. If not, it should move up to be #10 after Cold.
2) In either case, please document the new calling convention in docs/LangRef.html#callingconv
3) IN X86RegisterInfo.cpp, this patch:
if (Is64Bit) {
if (IsWin64)
- return CalleeSavedRegsWin64;
+ return (ghcCall ? GhcCalleeSavedRegsWin64 : CalleeSavedRegsWin64);
else
- return (callsEHReturn ? CalleeSavedRegs64EHRet : CalleeSavedRegs64Bit);
+ if (ghcCall)
+...
2010 Mar 07
1
[LLVMdev] [PATCH] New calling convention for use by GHC
...its intended to be supported on any platforms that GHC is supported
on, which is just x86 and SPARC at the moment. At the moment I've just
done X86, will try to work on getting it implemented on SPARC next.
> 2) In either case, please document the new calling convention in docs/LangRef.html#callingconv
Done.
> 3) IN X86RegisterInfo.cpp, this patch:
>
> if (Is64Bit) {
> if (IsWin64)
> - return CalleeSavedRegsWin64;
> + return (ghcCall ? GhcCalleeSavedRegsWin64 : CalleeSavedRegsWin64);
> else
> - return (callsEHReturn ? CalleeSavedRegs64EHRet...
2010 Mar 03
2
[LLVMdev] [PATCH] New calling convention for use by GHC
...ously mentioned on this list the Haskell compiler GHC has a new
LLVM based back-end. The back-end needs a new calling convention to
efficiently use LLVM and that is what this patch does, just for X86 at
the moment.
Breakdown:
1) Need actual calling convention
Touches:
- include/llvm/CallingConv.h
- lib/Target/X86/X86CallingConv.td
2) Handling new calling convention (including allowing it to be used in
tail call optimisation).
Touches:
- lib/Target/X86/X86ISelLowering.cpp
- lib/Target/X86/X86FastISel.cpp
3) New calling convention needs different callee save register...
2009 Feb 05
1
[LLVMdev] CallingConv
Currently with my understanding of using callingconv.td I still need to
lower three functions, FORMAL_ARGUMENTS, CALL, and RET. Is there any
known way to have LLVM automagically generate code from tablegen without
having to custom lower these functions? The reasoning for this is that
all registers are virtual in my backend and I have specified for ll...
2007 Sep 24
2
[LLVMdev] RFC: Tail call optimization X86
...tLowering.h (revision 42247)
> +++ include/llvm/Target/TargetLowering.h (working copy)
> @@ -851,8 +851,18 @@
> virtual std::pair<SDOperand, SDOperand>
> LowerCallTo(SDOperand Chain, const Type *RetTy, bool
> RetTyIsSigned,
> bool isVarArg, unsigned CallingConv, bool isTailCall,
> - SDOperand Callee, ArgListTy &Args, SelectionDAG &DAG);
> + bool isNextInstRet, SDOperand Callee, ArgListTy &Args,
> + SelectionDAG &DAG);
> + // IsEligibleForTailCallElimination - Check whether the call is
>...
2016 Jun 28
2
Tail call optimization is getting affected due to local function related optimization with IPRA
...t;> To solve this bug locally I have given preference to tail call optimization over local function related optimization in IPRA. I have added following method to achieve this:
>>>>>
>>>>> bool isEligibleForTailCallOptimization(Function *F) {
>>>>> CallingConv::ID CC = F->getCallingConv();
>>>>> if (CC == CallingConv::Fast || CC == CallingConv::GHC || CC == CallingConv::HiPE)
>>>>> return true;
>>>>> return false;
>>>>> }
>>>>>
>>>>> Any other suggestion...
2014 Oct 18
3
[LLVMdev] Performance regression on ARM
Hi Chandler,
That's embarrassing how weird this part of clang is. I have a provisional
patch which fixes the problem but underlines clang's problems. I will
submit it tonight for comments.
суббота, 18 октября 2014 г. пользователь Chandler Carruth написал:
>
> On Fri, Oct 17, 2014 at 7:51 AM, Anton Korobeynikov <
> anton at korobeynikov.info
>
2014 Mar 13
3
[LLVMdev] Possible bug in getCallPreservedMask for CallingConv::Intel_OCL_BI
Not sure who owns this bit of code, so sending this to the general list.
It looks like there may be an unintentional fall through happening in
the X86RegisterInfo::getCallPreservedMask function.
http://llvm.org/docs/doxygen/html/X86RegisterInfo_8cpp_source.html
case CallingConv::Intel_OCL_BI <http://llvm.org/docs/doxygen/html/namespacellvm_1_1CallingConv.html#a4f861731fc6dbfdccc05af5968d98974ad47327c131a0990283111588b89587cb>: {
if (IsWin64 && HasAVX512)
return CSR_Win64_Intel_OCL_BI_AVX512_RegMask;
if (Is64Bit && HasAVX512)...
2016 Jun 28
2
Tail call optimization is getting affected due to local function related optimization with IPRA
...lve this bug locally I have given preference to tail call optimization over local function related optimization in IPRA. I have added following method to achieve this:
>>>>>>
>>>>>> bool isEligibleForTailCallOptimization(Function *F) {
>>>>>> CallingConv::ID CC = F->getCallingConv();
>>>>>> if (CC == CallingConv::Fast || CC == CallingConv::GHC || CC == CallingConv::HiPE)
>>>>>> return true;
>>>>>> return false;
>>>>>> }
>>>>>>
>>>>>&...
2016 Jun 28
0
Tail call optimization is getting affected due to local function related optimization with IPRA
...o ,
>>>
>>> To solve this bug locally I have given preference to tail call optimization over local function related optimization in IPRA. I have added following method to achieve this:
>>>
>>> bool isEligibleForTailCallOptimization(Function *F) {
>>> CallingConv::ID CC = F->getCallingConv();
>>> if (CC == CallingConv::Fast || CC == CallingConv::GHC || CC == CallingConv::HiPE)
>>> return true;
>>> return false;
>>> }
>>>
>>> Any other suggestions are always welcomed.
>>
>> Why ar...
2016 Jun 28
2
Tail call optimization is getting affected due to local function related optimization with IPRA
...o ,
>>>
>>> To solve this bug locally I have given preference to tail call optimization over local function related optimization in IPRA. I have added following method to achieve this:
>>>
>>> bool isEligibleForTailCallOptimization(Function *F) {
>>> CallingConv::ID CC = F->getCallingConv();
>>> if (CC == CallingConv::Fast || CC == CallingConv::GHC || CC == CallingConv::HiPE)
>>> return true;
>>> return false;
>>> }
>>>
>>> Any other suggestions are always welcomed.
>>
>> Why ar...
2016 Jun 28
0
Tail call optimization is getting affected due to local function related optimization with IPRA
...t;> To solve this bug locally I have given preference to tail call optimization over local function related optimization in IPRA. I have added following method to achieve this:
>>>>>
>>>>> bool isEligibleForTailCallOptimization(Function *F) {
>>>>> CallingConv::ID CC = F->getCallingConv();
>>>>> if (CC == CallingConv::Fast || CC == CallingConv::GHC || CC == CallingConv::HiPE)
>>>>> return true;
>>>>> return false;
>>>>> }
>>>>>
>>>>> Any other suggestion...
2016 Jun 29
0
Tail call optimization is getting affected due to local function related optimization with IPRA
...Hello ,
>>
>> To solve this bug locally I have given preference to tail call
>> optimization over local function related optimization in IPRA. I have added
>> following method to achieve this:
>>
>> bool isEligibleForTailCallOptimization(Function *F) {
>> CallingConv::ID CC = F->getCallingConv();
>> if (CC == CallingConv::Fast || CC == CallingConv::GHC || CC ==
>> CallingConv::HiPE)
>> return true;
>> return false;
>> }
>>
>> Any other suggestions are always welcomed.
>>
>>
>> Why aren’t che...
2007 Sep 24
0
[LLVMdev] RFC: Tail call optimization X86
...on 42247)
>> +++ include/llvm/Target/TargetLowering.h (working copy)
>> @@ -851,8 +851,18 @@
>> virtual std::pair<SDOperand, SDOperand>
>> LowerCallTo(SDOperand Chain, const Type *RetTy, bool
>> RetTyIsSigned,
>> bool isVarArg, unsigned CallingConv, bool isTailCall,
>> - SDOperand Callee, ArgListTy &Args, SelectionDAG &DAG);
>> + bool isNextInstRet, SDOperand Callee, ArgListTy &Args,
>> + SelectionDAG &DAG);
>> + // IsEligibleForTailCallElimination - Check whether...
2007 Sep 24
0
[LLVMdev] RFC: Tail call optimization X86
...==
--- include/llvm/Target/TargetLowering.h (revision 42247)
+++ include/llvm/Target/TargetLowering.h (working copy)
@@ -851,8 +851,18 @@
virtual std::pair<SDOperand, SDOperand>
LowerCallTo(SDOperand Chain, const Type *RetTy, bool RetTyIsSigned,
bool isVarArg, unsigned CallingConv, bool isTailCall,
- SDOperand Callee, ArgListTy &Args, SelectionDAG &DAG);
+ bool isNextInstRet, SDOperand Callee, ArgListTy &Args,
+ SelectionDAG &DAG);
+ // IsEligibleForTailCallElimination - Check whether the call is
eligible for
+ // ta...
2007 Sep 23
2
[LLVMdev] RFC: Tail call optimization X86
The patch is against revision 42247.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: tailcall-src.patch
Type: application/octet-stream
Size: 62639 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20070923/4770302f/attachment.obj>
2006 Sep 02
2
[LLVMdev] gfortran calling convention
...ort,
with preprocessed source if appropriate.
See <URL:http://llvm.org/bugs> for instructions.
make: *** [funccall-1arg.exe] Error 1
While I didn't entirely understand the cause from the backtraces and
inspection in the debugger, I did notice that there is not yet a
calling convention in CallingConv.h for Fortran, and llvm-convert only
tests for CallingConv:C and CSRet, so I suspect that the different CCs
is a problem here.
It looks like I will have to implement a complement to the
FunctionCallArgumentConversion class in llvm-convert.c for the Fortran
CC, but I'm not clear on the role of...
2009 Feb 12
6
[LLVMdev] fastcc, tail calls, and gcc
...(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
("CallingConv::Fast") cannot be called directly from GCC-generated
code (n.b. -- standalone gcc, not llvm-gcc) because the fastcc calling
convention is, in general, incompatible with GCC (which I assume uses
the "CallingConv::C" calling convention).
Correct? If not, how do I call a LLVM JIT-gene...
2013 Aug 03
0
[LLVMdev] Errors building dragonegg 3.3 in Fedora rawhide
...http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=715424
However, there are further build errors for which I haven't found
appropriate fixes. It looks like there might be a namespace problem
or something, but I'm not a C++ expert. There are problems in
Debug.cpp with references to Type, CallingConv, Value,
DEFAULT_TARGET_AAPCS_BASED, and others. Below is an excerpt from the
build log showing the first reported error. The full build log is
available (for a short time) at:
http://kojipkgs.fedoraproject.org//work/tasks/3214/5733214/build.log
Any help will be greatly appreciated.
Thanks!...
2007 Oct 05
0
[LLVMdev] RFC: Tail call optimization X86
...() {
int x= call fastcc callee();
//!! caller pops the arguments => stack mismatch
callee pops the arguments but caller also wants to pop the arguments
of the stack
Apparently i forgot to send the answer email to chris reponse. sorry
for that.
>
>> Hmmm. Ok. So this is due to X86CallingConv.td changes? Unfortunately
>> that's not controlled by options. Ok then.
>>
>
> Sure it can be, you can set up custom predicates, for example the
> X86CallingConv.td file has:
>
> class CCIfSubtarget<string F, CCAction A>
> : CCIf<!strconcat("State.g...