This allows us to easily find them in the backend after the aggregates have
been lowered to other types. This is important on big-endian targets using
the N32/N64 ABI's since these ABI's must shift small structures into the
upper bits of the register.
Details
Details
- Reviewers
atanasyan - Commits
- rG4ce9a1a5f551: Merging r217160:
rGe5018b6c0013: [mips] Mark aggregates returned in registers with the 'inreg' attribute.
rC217160: [mips] Mark aggregates returned in registers with the 'inreg' attribute.
rL222998: Merging r217160:
rL217160: [mips] Mark aggregates returned in registers with the 'inreg' attribute.
Diff Detail
Diff Detail
Event Timeline
Comment Actions
LGTM
lib/CodeGen/TargetInfo.cpp | ||
---|---|---|
5535 | Does it have a sense to join two if conditions below into the single one? if (!IsO32 || (RetTy->isVectorType() && !RetTy->hasFloatingRepresentation())) { ABIArgInfo ArgInfo = ABIArgInfo::getDirect(returnAggregateInRegs(RetTy, Size)); ArgInfo.setInReg(true); return ArgInfo; } |
Comment Actions
Thanks
lib/CodeGen/TargetInfo.cpp | ||
---|---|---|
5535 | Yes, with an extra comment mentioning the N32/N64. It looked a bit misleading merging the if-statements while only mentioning the O32 case in the comment. I'll make this change before committing. |
Does it have a sense to join two if conditions below into the single one?