[PATCH] D71013: [AIX] Allow vararg calls when all arguments reside in registers.

Zarko Todorovski via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Dec 4 09:14:09 PST 2019


ZarkoCA added inline comments.
Herald added a subscriber: wuzish.


================
Comment at: llvm/lib/Target/PowerPC/PPCISelLowering.cpp:6798
     if (unsigned Reg = State.AllocateReg(FPR))
       State.addLoc(CCValAssign::getReg(ValNo, ValVT, Reg, MVT::f64, LocInfo));
     else
----------------
May be better to use the LocVT variable instead of hardcoding MVT::f64 so we know we the actual type.  Meant to change this in my previous patch but it doesn't look like I kept it in the diff. 


================
Comment at: llvm/test/CodeGen/PowerPC/aix-cc-abi.ll:697
+  %1 = load double, double* @d1, align 8
+  call void (i32, ...) @test_vararg(i32 42, double %conv, i64 42, double %1)
+  ret void
----------------
Can one of these be set as a float? This way it's explicitly shown that floats and doubles are handled differently. 


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D71013/new/

https://reviews.llvm.org/D71013





More information about the llvm-commits mailing list