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>>, _______________________________________________ llvm-branch-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/llvm-branch-commits
