Displaying 9 results from an estimated 9 matches for "numgpr".
Did you mean:
numgprs
2013 Jun 19
2
[LLVMdev] ARM struct byval size > 64 triggers failure
...str r1, [r11, #12]
>>> ldr r1, [r11, #76]
>> VARegSaveSize is 16 because we store the first 16 bytes of struct byval in r0 to r3.
>>
>> For the test code/assembly I mentioned, only r1-r3 are used for struct byval. r0 used for return val.
>> So, NumGPRs = 3, VARegSize = 12, VARegSaveSize =16(4 byte offset), access of arg1 is going wrong.
>> For updated test code:
>> struct S114 check114 (int a, struct S114 arg0, struct S114* arg1) {
>> .....
>> }
>> Only r1, r2 used for struct byval, NumGPRs = 2, VARegSize = 8, VAReg...
2013 Jun 20
1
[LLVMdev] ARM struct byval size > 64 triggers failure
...> >>> VARegSaveSize is 16 because we store the first 16 bytes of struct
> >>> byval in r0 to r3.
> >>> For the test code/assembly I mentioned, only r1-r3 are used for
> >>> struct byval. r0 used for return val.
> >>>
> >>> So, NumGPRs = 3, VARegSize = 12, VARegSaveSize =16(4 byte offset),
> >>> access of arg1 is going wrong.
> >>>
> >>> For updated test code:
> >>>
> >>> struct S114 check114 (*int a*, struct S114 arg0, struct S114* arg1) {
> >>>
> >&g...
2013 Jun 18
0
[LLVMdev] ARM struct byval size > 64 triggers failure
...> Emitted by,
> if (VARegSaveSize)
> emitSPUpdate(isARM, MBB, MBBI, dl, TII, -VARegSaveSize, // --> VARegSaveSize is calculated in computeRegArea
> MachineInstr::FrameSetup)
>
> ARMTargetLowering::computeRegArea(..) {
> ...
> VARegSize = NumGPRs * 4;
> VARegSaveSize = (VARegSize + Align - 1) & ~(Align - 1); // --> 8 byte alignment done here
> }
> Stack pointer decremented to NumGPRs*4 + alignment
> NumGPRs = 3 registers
> VARegSaveSize = 16 (after considering 8 byte alignment )
>
> When the...
2013 Jun 18
3
[LLVMdev] ARM struct byval size > 64 triggers failure
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130618/5b2a15e3/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 201306181656803_BEI0XT4N.gif
Type: image/gif
Size: 14036 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130618/5b2a15e3/attachment.gif>
2008 Apr 21
0
[LLVMdev] RFC: PowerPC tail call optimization patch
...ring the sdisel phase of call lowering?
if (isPPC64 && Arg.getValueType() == MVT::i32) {
// FIXME: Should this use ANY_EXTEND if neither sext nor zext?
@@ -1946,7 +2285,13 @@ SDOperand
PPCTargetLowering::LowerCALL(SDOperand Op, SelectionDAG &DAG,
if (GPR_idx != NumGPRs) {
RegsToPass.push_back(std::make_pair(GPR[GPR_idx++], Arg));
} else {
- MemOpChains.push_back(DAG.getStore(Chain, Arg, PtrOff, NULL,
0));
+ if (!isTailCall)
+ MemOpChains.push_back(DAG.getStore(Chain, Arg, PtrOff,
NULL, 0));
+ // Calculate and r...
2008 Apr 22
2
[LLVMdev] RFC: PowerPC tail call optimization patch
...onDAGISel.
>
> if (isPPC64 && Arg.getValueType() == MVT::i32) {
> // FIXME: Should this use ANY_EXTEND if neither sext nor zext?
> @@ -1946,7 +2285,13 @@ SDOperand
> PPCTargetLowering::LowerCALL(SDOperand Op, SelectionDAG &DAG,
> if (GPR_idx != NumGPRs) {
> RegsToPass.push_back(std::make_pair(GPR[GPR_idx++], Arg));
> } else {
> - MemOpChains.push_back(DAG.getStore(Chain, Arg, PtrOff, NULL,
> 0));
> + if (!isTailCall)
> + MemOpChains.push_back(DAG.getStore(Chain, Arg, PtrOff,
> NU...
2008 Apr 16
2
[LLVMdev] RFC: PowerPC tail call optimization patch
Hello Dale,
this is an updated version of the tail call optimization patch for
powerpc. could you have a look at it?
i added code to support ppc64 (untested, will try to get access to
ppc64 on a friend's machine).
incorporated evan's formatting suggestions. ;)
will run another round of testing (llvm-test) on my powerpc g4/800
when i get the okay to commit. testing on this machine takes
2008 Apr 22
0
[LLVMdev] RFC: PowerPC tail call optimization patch
...;
>> if (isPPC64 && Arg.getValueType() == MVT::i32) {
>> // FIXME: Should this use ANY_EXTEND if neither sext nor zext?
>> @@ -1946,7 +2285,13 @@ SDOperand
>> PPCTargetLowering::LowerCALL(SDOperand Op, SelectionDAG &DAG,
>> if (GPR_idx != NumGPRs) {
>> RegsToPass.push_back(std::make_pair(GPR[GPR_idx++], Arg));
>> } else {
>> - MemOpChains.push_back(DAG.getStore(Chain, Arg, PtrOff, NULL,
>> 0));
>> + if (!isTailCall)
>> + MemOpChains.push_back(DAG.getStore(Chain, Arg...
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
>