[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