File tree Expand file tree Collapse file tree 2 files changed +7
-1
lines changed Expand file tree Collapse file tree 2 files changed +7
-1
lines changed Original file line number Diff line number Diff line change @@ -1108,6 +1108,11 @@ LowererMD::LowerEntryInstr(IR::EntryInstr * entryInstr)
1108
1108
unwindInfo->SetHasCalls (true );
1109
1109
}
1110
1110
1111
+ if (Lowerer::IsArgSaveRequired (this ->m_func ))
1112
+ {
1113
+ unwindInfo->SetHasCalls (true );
1114
+ }
1115
+
1111
1116
bool hasCalls = unwindInfo->GetHasCalls ();
1112
1117
1113
1118
// Home the params. This is done to enable on-the-fly creation of the arguments object,
Original file line number Diff line number Diff line change @@ -1129,7 +1129,8 @@ ARM64StackLayout::ARM64StackLayout(Func* func)
1129
1129
// the worst case assumption (homing all NUM_INT_ARG_REGS).
1130
1130
this ->m_hasCalls = func->GetHasCalls () ||
1131
1131
func->HasAnyStackNestedFunc () ||
1132
- !LowererMD::IsSmallStack (this ->TotalStackSize () + NUM_INT_ARG_REGS * MachRegInt);
1132
+ !LowererMD::IsSmallStack (this ->TotalStackSize () + NUM_INT_ARG_REGS * MachRegInt) ||
1133
+ Lowerer::IsArgSaveRequired (func);
1133
1134
1134
1135
// Home the params. This is done to enable on-the-fly creation of the arguments object,
1135
1136
// Dyno bailout code, etc. For non-global functions, that means homing all the param registers
You can’t perform that action at this time.
0 commit comments