mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-09-24 23:28:41 +00:00
Fix eabi calling convention when a 64 bit value shadows r3.
Without this what was happening was: * R3 is not marked as "used" * ARM backend thinks it has to save it to the stack because of vaarg * Offset computation correctly ignores it * Offsets are wrong git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110446 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -169,6 +169,8 @@ void CallingConvEmitter::EmitAction(Record *Action,
|
||||
else
|
||||
O << "\n" << IndentStr << " State.getTarget().getTargetData()"
|
||||
"->getABITypeAlignment(LocVT.getTypeForEVT(State.getContext()))";
|
||||
if (Action->isSubClassOf("CCAssignToStackWithShadow"))
|
||||
O << ", " << getQualifiedName(Action->getValueAsDef("ShadowReg"));
|
||||
O << ");\n" << IndentStr
|
||||
<< "State.addLoc(CCValAssign::getMem(ValNo, ValVT, Offset"
|
||||
<< Counter << ", LocVT, LocInfo));\n";
|
||||
|
Reference in New Issue
Block a user