[PATCH] D42465: [RFC][CallingConv] Add CCAssignToRegWithType Calling Convention Interface

Shiva Chen via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Feb 1 06:21:05 PST 2018


shiva0217 added a comment.

Hi Alex, It seems that getRegisterTypeForCallingCon and relative hooks will split the type before assigning registers. Therefore, f64 will split into two i32. If two i32 types can't allocate to registers, it will generate two i32 load/stores.
Another case is that riscv ilp32d ABI will pass f64 by i32 registers if f64 registers are not available.  In this case, we have to do argument analysis to know there are no f64 registers left, then we assign to i32 registers.
And congratulations!


Repository:
  rL LLVM

https://reviews.llvm.org/D42465





More information about the llvm-commits mailing list