[llvm-branch-commits] [llvm-branch] r235872 - Merging r230657:
Daniel Sanders
daniel.sanders at imgtec.com
Mon Apr 27 05:22:48 PDT 2015
Author: dsanders
Date: Mon Apr 27 07:22:47 2015
New Revision: 235872
URL: http://llvm.org/viewvc/llvm-project?rev=235872&view=rev
Log:
Merging r230657:
------------------------------------------------------------------------
r230657 | petarj | 2015-02-26 18:35:15 +0000 (Thu, 26 Feb 2015) | 13 lines
Fix justify error for small structures in varargs for MIPS64BE
There was a problem when passing structures as variable arguments.
The structures smaller than 64 bit were not left justified on MIPS64
big endian. This is now fixed by shifting the value to make it left-
justified when appropriate.
This fixes the bug http://llvm.org/bugs/show_bug.cgi?id=21608
Patch by Aleksandar Beserminji.
Differential Revision: http://reviews.llvm.org/D7881
------------------------------------------------------------------------
Added:
llvm/branches/release_36/test/CodeGen/Mips/cconv/arguments-varargs-small-structs-byte.ll
- copied unchanged from r230657, llvm/trunk/test/CodeGen/Mips/cconv/arguments-varargs-small-structs-byte.ll
llvm/branches/release_36/test/CodeGen/Mips/cconv/arguments-varargs-small-structs-combinations.ll
- copied unchanged from r230657, llvm/trunk/test/CodeGen/Mips/cconv/arguments-varargs-small-structs-combinations.ll
llvm/branches/release_36/test/CodeGen/Mips/cconv/arguments-varargs-small-structs-multiple-args.ll
- copied unchanged from r230657, llvm/trunk/test/CodeGen/Mips/cconv/arguments-varargs-small-structs-multiple-args.ll
Modified:
llvm/branches/release_36/ (props changed)
llvm/branches/release_36/lib/Target/Mips/MipsCallingConv.td
Propchange: llvm/branches/release_36/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Apr 27 07:22:47 2015
@@ -1,3 +1,3 @@
/llvm/branches/Apple/Pertwee:110850,110961
/llvm/branches/type-system-rewrite:133420-134817
-/llvm/trunk:155241,226023,226029,226044,226046,226048,226058,226075,226151,226164-226166,226170-226171,226182,226407-226409,226473,226588,226616,226652,226664,226708,226711,226755,226791,226808-226809,226905,227005,227084-227085,227087,227089,227250,227260-227261,227269,227290,227294,227299,227319,227339,227430,227491,227584,227603,227628,227670,227809,227815,227903,227934,227972,227983,228049,228129,228168,228331,228411,228444,228490,228500,228507,228518,228525,228565,228656,228760-228761,228793,228842,228899,228957,228969,228979,229029,229343,229351-229352,229421,229495,229529,229675,229731,229911,230058,230235,231219,231227,231563,231601,232046,232085,232189
+/llvm/trunk:155241,226023,226029,226044,226046,226048,226058,226075,226151,226164-226166,226170-226171,226182,226407-226409,226473,226588,226616,226652,226664,226708,226711,226755,226791,226808-226809,226905,227005,227084-227085,227087,227089,227250,227260-227261,227269,227290,227294,227299,227319,227339,227430,227491,227584,227603,227628,227670,227809,227815,227903,227934,227972,227983,228049,228129,228168,228331,228411,228444,228490,228500,228507,228518,228525,228565,228656,228760-228761,228793,228842,228899,228957,228969,228979,229029,229343,229351-229352,229421,229495,229529,229675,229731,229911,230058,230235,230657,231219,231227,231563,231601,232046,232085,232189
Modified: llvm/branches/release_36/lib/Target/Mips/MipsCallingConv.td
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_36/lib/Target/Mips/MipsCallingConv.td?rev=235872&r1=235871&r2=235872&view=diff
==============================================================================
--- llvm/branches/release_36/lib/Target/Mips/MipsCallingConv.td (original)
+++ llvm/branches/release_36/lib/Target/Mips/MipsCallingConv.td Mon Apr 27 07:22:47 2015
@@ -159,6 +159,10 @@ def CC_MipsN : CallingConv<[
// N32/64 variable arguments.
// All arguments are passed in integer registers.
def CC_MipsN_VarArg : CallingConv<[
+ CCIfType<[i8, i16, i32, i64],
+ CCIfSubtargetNot<"isLittle()",
+ CCIfInReg<CCPromoteToUpperBitsInType<i64>>>>,
+
// All integers are promoted to 64-bit.
CCIfType<[i8, i16, i32], CCPromoteToType<i64>>,
More information about the llvm-branch-commits
mailing list