[clang] [clang][PowerPC] Add flag to enable compatibility with GNU for complex arguments (PR #77732)
zhijian lin via cfe-commits
cfe-commits at lists.llvm.org
Mon Feb 26 12:46:01 PST 2024
================
@@ -271,22 +271,33 @@ namespace {
class PPC32_SVR4_ABIInfo : public DefaultABIInfo {
bool IsSoftFloatABI;
bool IsRetSmallStructInRegABI;
+ bool isComplexInRegABI;
+ // Size of GPR in bits
+ unsigned RLen;
+ static const int NumArgGPRs = 8;
CharUnits getParamTypeAlignment(QualType Ty) const;
+ ABIArgInfo handleComplex(QualType Ty, uint64_t &TypeSize) const;
public:
PPC32_SVR4_ABIInfo(CodeGen::CodeGenTypes &CGT, bool SoftFloatABI,
- bool RetSmallStructInRegABI)
+ bool RetSmallStructInRegABI, unsigned RLen,
+ bool ComplexInRegABI)
: DefaultABIInfo(CGT), IsSoftFloatABI(SoftFloatABI),
- IsRetSmallStructInRegABI(RetSmallStructInRegABI) {}
+ IsRetSmallStructInRegABI(RetSmallStructInRegABI),
+ isComplexInRegABI(ComplexInRegABI), RLen(RLen) {}
ABIArgInfo classifyReturnType(QualType RetTy) const;
+ ABIArgInfo classifyArgumentType(QualType Ty, int &ArgGPRsLeft) const;
void computeInfo(CGFunctionInfo &FI) const override {
+
+ int ArgGPRsLeft = NumArgGPRs;
----------------
diggerlin wrote:
nit: move the definition to the closest first be used.
https://github.com/llvm/llvm-project/pull/77732
More information about the cfe-commits
mailing list