search for: ccpromotetotype

Displaying 20 results from an estimated 21 matches for "ccpromotetotype".

2013 Apr 24
1
[LLVMdev] Backend : What am I missing here
...rrayidx, align 1 ret void } declare signext i8 @cnv(i8*) Now originally (at the time I hadn't added 8/16 bit register support) I had made the calling convention return values promote i8 & i16 to i32 : def RetCC_test : CallingConv<[ // Promote i8 returns to i32. CCIfType<[i8], CCPromoteToType<i32>>, // Promote i16 returns to i32. CCIfType<[i16], CCPromoteToType<i32>>, // i32 are returned in register R0 CCIfType<[i32], CCAssignToReg<[R0L]>> ]>; I've now changed this to : def RetCC_test : CallingConv<[ // i8 are returned in register...
2015 Feb 05
8
[LLVMdev] type legalization/operation action
Dear there, I have a target which is supporting the 32 bit operations natively. Right now,I want to make it support the 16 bits operations as well. My initial thought is: (1) I can adding something like “ CCIfType< [i16], CCPromoteToType<i32>>”, to the CallingConv.td, then “all” the 16 bits operands will be automatically promoted to 32 bits, it will be all set. but looks it is not the case. (2) Then I tried adding something like “ setOperationAction(ISD::ADD, MVT::i16, Promote)” to the IselLowering, it still failed to...
2009 Feb 13
2
[LLVMdev] Using CallingConvLower in ARM target
...t but it would > not process any more arguments? What scenario do you envision that > this will be useful? I'd rather keep it simple. As you note there are three actual legitimate cases (of the four combos): 1. The CCCustomFn wants the arg handling to proceed. This might be used akin to CCPromoteToType. 2. The CCCustomFn entirely handled the arg. This might be used akin to CCAssignToReg. 3. The CCCustomFn tried to handle the arg, but failed. these results are conveyed the following ways: 1. The CCCustomFn returns false, &result is not used. 2. The CCCustomFn returns true, &result is fal...
2009 Feb 14
2
[LLVMdev] Using CallingConvLower in ARM target
...nario do you envision that >>> this will be useful? I'd rather keep it simple. >> >> As you note there are three actual legitimate cases (of the four >> combos): >> >> 1. The CCCustomFn wants the arg handling to proceed. This might be >> used akin to CCPromoteToType. >> 2. The CCCustomFn entirely handled the arg. This might be used akin to >> CCAssignToReg. >> 3. The CCCustomFn tried to handle the arg, but failed. >> >> these results are conveyed the following ways: >> >> 1. The CCCustomFn returns false, &result is...
2009 Feb 13
0
[LLVMdev] Using CallingConvLower in ARM target
...y more arguments? What scenario do you envision that >> this will be useful? I'd rather keep it simple. > > As you note there are three actual legitimate cases (of the four > combos): > > 1. The CCCustomFn wants the arg handling to proceed. This might be > used akin to CCPromoteToType. > 2. The CCCustomFn entirely handled the arg. This might be used akin to > CCAssignToReg. > 3. The CCCustomFn tried to handle the arg, but failed. > > these results are conveyed the following ways: > > 1. The CCCustomFn returns false, &result is not used. > 2. The CCCus...
2009 Feb 14
2
[LLVMdev] Using CallingConvLower in ARM target
...l be useful? I'd rather keep it simple. >>>> >>>> As you note there are three actual legitimate cases (of the four >>>> combos): >>>> >>>> 1. The CCCustomFn wants the arg handling to proceed. This might be >>>> used akin to CCPromoteToType. >>>> 2. The CCCustomFn entirely handled the arg. This might be used >>>> akin to >>>> CCAssignToReg. >>>> 3. The CCCustomFn tried to handle the arg, but failed. >>>> >>>> these results are conveyed the following ways: >>...
2009 Feb 14
0
[LLVMdev] Using CallingConvLower in ARM target
...gt;>>> this will be useful? I'd rather keep it simple. >>> >>> As you note there are three actual legitimate cases (of the four >>> combos): >>> >>> 1. The CCCustomFn wants the arg handling to proceed. This might be >>> used akin to CCPromoteToType. >>> 2. The CCCustomFn entirely handled the arg. This might be used >>> akin to >>> CCAssignToReg. >>> 3. The CCCustomFn tried to handle the arg, but failed. >>> >>> these results are conveyed the following ways: >>> >>> 1. T...
2012 Oct 02
4
[LLVMdev] Handling SRet on Windows x86
...---------------------------- Index: lib/Target/X86/X86CallingConv.td =================================================================== --- lib/Target/X86/X86CallingConv.td (revision 164763) +++ lib/Target/X86/X86CallingConv.td (working copy) @@ -335,7 +335,8 @@ CCIfType<[i8, i16], CCPromoteToType<i32>>, // Pass sret arguments indirectly through EAX - CCIfSRet<CCAssignToReg<[EAX]>>, + CCIfSRet<CCAssignToStack<4, 4>>, // The first integer argument is passed in ECX CCIfType<[i32], CCAssignToReg<[ECX]>>, --------------------------------...
2009 Feb 16
3
[LLVMdev] Using CallingConvLower in ARM target
...t;>>>> As you note there are three actual legitimate cases (of the four >>>>>> combos): >>>>>> >>>>>> 1. The CCCustomFn wants the arg handling to proceed. This might >>>>>> be >>>>>> used akin to CCPromoteToType. >>>>>> 2. The CCCustomFn entirely handled the arg. This might be used >>>>>> akin to >>>>>> CCAssignToReg. >>>>>> 3. The CCCustomFn tried to handle the arg, but failed. >>>>>> >>>>>> these r...
2009 Feb 14
0
[LLVMdev] Using CallingConvLower in ARM target
...her keep it simple. >>>>> >>>>> As you note there are three actual legitimate cases (of the four >>>>> combos): >>>>> >>>>> 1. The CCCustomFn wants the arg handling to proceed. This might be >>>>> used akin to CCPromoteToType. >>>>> 2. The CCCustomFn entirely handled the arg. This might be used >>>>> akin to >>>>> CCAssignToReg. >>>>> 3. The CCCustomFn tried to handle the arg, but failed. >>>>> >>>>> these results are conveyed the...
2009 Feb 18
0
[LLVMdev] Using CallingConvLower in ARM target
...As you note there are three actual legitimate cases (of the four >>>>>>> combos): >>>>>>> >>>>>>> 1. The CCCustomFn wants the arg handling to proceed. This might >>>>>>> be >>>>>>> used akin to CCPromoteToType. >>>>>>> 2. The CCCustomFn entirely handled the arg. This might be used >>>>>>> akin to >>>>>>> CCAssignToReg. >>>>>>> 3. The CCCustomFn tried to handle the arg, but failed. >>>>>>> >>>...
2009 Feb 18
2
[LLVMdev] Using CallingConvLower in ARM target
...re three actual legitimate cases (of the four >>>>>>>> combos): >>>>>>>> >>>>>>>> 1. The CCCustomFn wants the arg handling to proceed. This might >>>>>>>> be >>>>>>>> used akin to CCPromoteToType. >>>>>>>> 2. The CCCustomFn entirely handled the arg. This might be used >>>>>>>> akin to >>>>>>>> CCAssignToReg. >>>>>>>> 3. The CCCustomFn tried to handle the arg, but failed. >>>>>>&...
2009 Feb 26
0
[LLVMdev] Using CallingConvLower in ARM target
...gt;>>>>> combos): >>>>>>>>> >>>>>>>>> 1. The CCCustomFn wants the arg handling to proceed. This >>>>>>>>> might >>>>>>>>> be >>>>>>>>> used akin to CCPromoteToType. >>>>>>>>> 2. The CCCustomFn entirely handled the arg. This might be used >>>>>>>>> akin to >>>>>>>>> CCAssignToReg. >>>>>>>>> 3. The CCCustomFn tried to handle the arg, but failed. >>&...
2009 Feb 28
3
[LLVMdev] Using CallingConvLower in ARM target
...;> combos): >>>>>>>>>> >>>>>>>>>> 1. The CCCustomFn wants the arg handling to proceed. This >>>>>>>>>> might >>>>>>>>>> be >>>>>>>>>> used akin to CCPromoteToType. >>>>>>>>>> 2. The CCCustomFn entirely handled the arg. This might be used >>>>>>>>>> akin to >>>>>>>>>> CCAssignToReg. >>>>>>>>>> 3. The CCCustomFn tried to handle the arg, but f...
2009 Apr 17
0
[LLVMdev] Using CallingConvLower in ARM target
...gt;>>>>> >>>>>>>>>>>> 1. The CCCustomFn wants the arg handling to proceed. This >>>>>>>>>>>> might >>>>>>>>>>>> be >>>>>>>>>>>> used akin to CCPromoteToType. >>>>>>>>>>>> 2. The CCCustomFn entirely handled the arg. This might be >>>>>>>>>>>> used >>>>>>>>>>>> akin to >>>>>>>>>>>> CCAssignToReg. >>>&g...
2009 Apr 16
2
[LLVMdev] Using CallingConvLower in ARM target
...gt;>>>>>>>>> >>>>>>>>>>> 1. The CCCustomFn wants the arg handling to proceed. This >>>>>>>>>>> might >>>>>>>>>>> be >>>>>>>>>>> used akin to CCPromoteToType. >>>>>>>>>>> 2. The CCCustomFn entirely handled the arg. This might be used >>>>>>>>>>> akin to >>>>>>>>>>> CCAssignToReg. >>>>>>>>>>> 3. The CCCustomFn tried to handl...
2009 Apr 17
1
[LLVMdev] Using CallingConvLower in ARM target
...gt;> >>>>>>>>>>>>> 1. The CCCustomFn wants the arg handling to proceed. This >>>>>>>>>>>>> might >>>>>>>>>>>>> be >>>>>>>>>>>>> used akin to CCPromoteToType. >>>>>>>>>>>>> 2. The CCCustomFn entirely handled the arg. This might >>>>>>>>>>>>> be used >>>>>>>>>>>>> akin to >>>>>>>>>>>>> CCAssignToReg...
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,
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
2017 May 21
4
Handling native i16 types in clang and opt
Hello. My target architecture supports natively 16 bit integers (i16). Whenever I write in C programs using only short types, clang compiles the program to LLVM and converts the i16 data to i32 to perform arithmetic operations and then truncates the results to i16. Then, the InstructionCombining (INSTCOMBINE or IC) pass removes these conversions back and forth from i16, except for