Displaying 20 results from an estimated 22 matches for "cccustomfn".
2009 Feb 13
2
[LLVMdev] Using CallingConvLower in ARM target
...ng at apple.com> wrote:
>
> On Feb 12, 2009, at 6:21 PM, Sandeep Patel wrote:
>
>> Although it's not generally needed for ARM's use of CCCustom, I return
>> two bools to handle the four possible outcomes to keep the mechanism
>> flexible:
>>
>> * if CCCustomFn handled the arg or not
>> * if CCCustomFn wants to end processing of the arg or not
>
> +/// CCCustomFn - This function assigns a location for Val, possibly
> updating
> +/// all args to reflect changes and indicates if it handled it. It
> must set
> +/// isCustom if it hand...
2009 Feb 14
2
[LLVMdev] Using CallingConvLower in ARM target
...Sandeep Patel wrote:
>>>
>>>> Although it's not generally needed for ARM's use of CCCustom, I
>>>> return
>>>> two bools to handle the four possible outcomes to keep the mechanism
>>>> flexible:
>>>>
>>>> * if CCCustomFn handled the arg or not
>>>> * if CCCustomFn wants to end processing of the arg or not
>>>
>>> +/// CCCustomFn - This function assigns a location for Val, possibly
>>> updating
>>> +/// all args to reflect changes and indicates if it handled it. It
>...
2009 Feb 13
0
[LLVMdev] Using CallingConvLower in ARM target
...Feb 12, 2009, at 6:21 PM, Sandeep Patel wrote:
>>
>>> Although it's not generally needed for ARM's use of CCCustom, I
>>> return
>>> two bools to handle the four possible outcomes to keep the mechanism
>>> flexible:
>>>
>>> * if CCCustomFn handled the arg or not
>>> * if CCCustomFn wants to end processing of the arg or not
>>
>> +/// CCCustomFn - This function assigns a location for Val, possibly
>> updating
>> +/// all args to reflect changes and indicates if it handled it. It
>> must set
>&...
2009 Feb 14
2
[LLVMdev] Using CallingConvLower in ARM target
...ering doesn't need case #1, but it seemed like you and Dan
>> wanted a more generic way to inject C++ code into the process so I
>> tried to make the mechanism a bit more general.
>
> Ok. Since ARM doesn't need it and it's the only client, I'd much
> rather have CCCustomFn just return a single bool indicating whether it
> can handle the arg. Would that be ok?
>
> Thanks,
>
> Evan
>
>>
>>
>> deep
>>
>> On Fri, Feb 13, 2009 at 2:34 PM, Evan Cheng <evan.cheng at apple.com>
>> wrote:
>>>
>>> On...
2009 Feb 14
0
[LLVMdev] Using CallingConvLower in ARM target
...:
> ARMTargetLowering doesn't need case #1, but it seemed like you and Dan
> wanted a more generic way to inject C++ code into the process so I
> tried to make the mechanism a bit more general.
Ok. Since ARM doesn't need it and it's the only client, I'd much
rather have CCCustomFn just return a single bool indicating whether it
can handle the arg. Would that be ok?
Thanks,
Evan
>
>
> deep
>
> On Fri, Feb 13, 2009 at 2:34 PM, Evan Cheng <evan.cheng at apple.com>
> wrote:
>>
>> On Feb 13, 2009, at 2:20 PM, Sandeep Patel wrote:
>>...
2009 Feb 16
3
[LLVMdev] Using CallingConvLower in ARM target
...t;>>> and Dan
>>>> wanted a more generic way to inject C++ code into the process so I
>>>> tried to make the mechanism a bit more general.
>>>
>>> Ok. Since ARM doesn't need it and it's the only client, I'd much
>>> rather have CCCustomFn just return a single bool indicating
>>> whether it
>>> can handle the arg. Would that be ok?
>>>
>>> Thanks,
>>>
>>> Evan
>>>
>>>>
>>>>
>>>> deep
>>>>
>>>> On Fri, Feb 13, 2...
2009 Feb 18
0
[LLVMdev] Using CallingConvLower in ARM target
...MVT::i32, LocInfo));
> + return true; // we handled it
>
> Your change isn't handling the "NeededStackSize = 8" case.
I believe it is. I've attached two additional test cases. The
difference is that this case isn't handled by the CCCustomFns. They
fail to allocate any regs and then handling falls through to an
CCAssignToStack in ARMCallingConv.td. This is how other targets handle
similar allocations.
> ++ static const unsigned HiRegList[] = { ARM::R0, ARM::R2 };
> + static const unsigned LoRegList[] = { ARM::R1, ARM::R3 };
&g...
2009 Feb 14
0
[LLVMdev] Using CallingConvLower in ARM target
...ed case #1, but it seemed like you and Dan
>>> wanted a more generic way to inject C++ code into the process so I
>>> tried to make the mechanism a bit more general.
>>
>> Ok. Since ARM doesn't need it and it's the only client, I'd much
>> rather have CCCustomFn just return a single bool indicating whether it
>> can handle the arg. Would that be ok?
>>
>> Thanks,
>>
>> Evan
>>
>>>
>>>
>>> deep
>>>
>>> On Fri, Feb 13, 2009 at 2:34 PM, Evan Cheng <evan.cheng at apple.com>...
2009 Feb 18
2
[LLVMdev] Using CallingConvLower in ARM target
...MVT::i32, LocInfo));
>> + return true; // we handled it
>>
>> Your change isn't handling the "NeededStackSize = 8" case.
>
> I believe it is. I've attached two additional test cases. The
> difference is that this case isn't handled by the CCCustomFns. They
> fail to allocate any regs and then handling falls through to an
> CCAssignToStack in ARMCallingConv.td. This is how other targets handle
> similar allocations.
>
>> ++ static const unsigned HiRegList[] = { ARM::R0, ARM::R2 };
>> + static const unsigned LoRegList[]...
2009 Feb 13
0
[LLVMdev] Using CallingConvLower in ARM target
On Feb 12, 2009, at 6:21 PM, Sandeep Patel wrote:
> Although it's not generally needed for ARM's use of CCCustom, I return
> two bools to handle the four possible outcomes to keep the mechanism
> flexible:
>
> * if CCCustomFn handled the arg or not
> * if CCCustomFn wants to end processing of the arg or not
+/// CCCustomFn - This function assigns a location for Val, possibly
updating
+/// all args to reflect changes and indicates if it handled it. It
must set
+/// isCustom if it handles the arg and returns true....
2009 Feb 13
2
[LLVMdev] Using CallingConvLower in ARM target
Although it's not generally needed for ARM's use of CCCustom, I return
two bools to handle the four possible outcomes to keep the mechanism
flexible:
* if CCCustomFn handled the arg or not
* if CCCustomFn wants to end processing of the arg or not
I placed the "unsigned i" outside those loops because i is used after
the loop. If there's a better index search pattern, I'd be happy to
change it.
Attached is an updated patch against HEAD that ha...
2009 Feb 26
0
[LLVMdev] Using CallingConvLower in ARM target
...o));
>>> + return true; // we handled it
>>>
>>> Your change isn't handling the "NeededStackSize = 8" case.
>>
>> I believe it is. I've attached two additional test cases. The
>> difference is that this case isn't handled by the CCCustomFns. They
>> fail to allocate any regs and then handling falls through to an
>> CCAssignToStack in ARMCallingConv.td. This is how other targets
>> handle
>> similar allocations.
>>
>>> ++ static const unsigned HiRegList[] = { ARM::R0, ARM::R2 };
>>> +...
2009 Feb 28
3
[LLVMdev] Using CallingConvLower in ARM target
... return true; // we handled it
>>>>
>>>> Your change isn't handling the "NeededStackSize = 8" case.
>>>
>>> I believe it is. I've attached two additional test cases. The
>>> difference is that this case isn't handled by the CCCustomFns. They
>>> fail to allocate any regs and then handling falls through to an
>>> CCAssignToStack in ARMCallingConv.td. This is how other targets
>>> handle
>>> similar allocations.
>>>
>>>> ++ static const unsigned HiRegList[] = { ARM::R0, ARM...
2009 Apr 17
0
[LLVMdev] Using CallingConvLower in ARM target
...t;>>>>
>>>>>> Your change isn't handling the "NeededStackSize = 8" case.
>>>>>
>>>>> I believe it is. I've attached two additional test cases. The
>>>>> difference is that this case isn't handled by the CCCustomFns.
>>>>> They
>>>>> fail to allocate any regs and then handling falls through to an
>>>>> CCAssignToStack in ARMCallingConv.td. This is how other targets
>>>>> handle
>>>>> similar allocations.
>>>>>
>>...
2009 Apr 16
2
[LLVMdev] Using CallingConvLower in ARM target
...we handled it
>>>>>
>>>>> Your change isn't handling the "NeededStackSize = 8" case.
>>>>
>>>> I believe it is. I've attached two additional test cases. The
>>>> difference is that this case isn't handled by the CCCustomFns. They
>>>> fail to allocate any regs and then handling falls through to an
>>>> CCAssignToStack in ARMCallingConv.td. This is how other targets
>>>> handle
>>>> similar allocations.
>>>>
>>>>> ++ static const unsigned HiRe...
2009 Apr 17
1
[LLVMdev] Using CallingConvLower in ARM target
...t;
>>>>>>> Your change isn't handling the "NeededStackSize = 8" case.
>>>>>>
>>>>>> I believe it is. I've attached two additional test cases. The
>>>>>> difference is that this case isn't handled by the CCCustomFns.
>>>>>> They
>>>>>> fail to allocate any regs and then handling falls through to an
>>>>>> CCAssignToStack in ARMCallingConv.td. This is how other targets
>>>>>> handle
>>>>>> similar allocations.
>>&...
2009 Feb 09
0
[LLVMdev] Using CallingConvLower in ARM target
Thanks Sandeep. I did a quick scan, this looks really good. But I do
have a question:
+/// CCCustomFn - This function assigns a location for Val, possibly
updating
+/// all args to reflect changes and indicates if it handled it. It
must set
+/// isCustom if it handles the arg and returns true.
+typedef bool CCCustomFn(unsigned &ValNo, MVT &ValVT,
+ MVT &LocVT,...
2009 Feb 07
2
[LLVMdev] Using CallingConvLower in ARM target
...s will have to return two
>> results: if the CC processing is finished and if it the func succeeded
>> or failed:
>
> I like the second solution better. It seems rather cumbersome to embed
> multi-line c++ code in td files.
>
> Evan
>>
>>
>> typedef bool CCCustomFn(unsigned ValNo, MVT ValVT,
>> MVT LocVT, CCValAssign::LocInfo LocInfo,
>> ISD::ArgFlagsTy ArgFlags, CCState &State,
>> bool &result);
>> _______________________________________________
>> LLVM Developers mailing lis...
2009 Jan 17
2
[LLVMdev] Using CallingConvLower in ARM target
...r CCCustom to take a
string that names a function to be called:
CCIfType<[f64], CCCustom<"MyCustomLoweringFunc">>
the function signature for such functions will have to return two
results: if the CC processing is finished and if it the func succeeded
or failed:
typedef bool CCCustomFn(unsigned ValNo, MVT ValVT,
MVT LocVT, CCValAssign::LocInfo LocInfo,
ISD::ArgFlagsTy ArgFlags, CCState &State, bool &result);
2009 Jan 19
0
[LLVMdev] Using CallingConvLower in ARM target
...the function signature for such functions will have to return two
> results: if the CC processing is finished and if it the func succeeded
> or failed:
I like the second solution better. It seems rather cumbersome to embed
multi-line c++ code in td files.
Evan
>
>
> typedef bool CCCustomFn(unsigned ValNo, MVT ValVT,
> MVT LocVT, CCValAssign::LocInfo LocInfo,
> ISD::ArgFlagsTy ArgFlags, CCState &State,
> bool &result);
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at...