================
@@ -9115,9 +9115,13 @@ AArch64TargetLowering::LowerCall(CallLoweringInfo &CLI,
bool UseNewSMEABILowering = getTM().useNewSMEABILowering();
bool IsAgnosticZAFunction = CallAttrs.caller().hasAgnosticZAInterface();
auto ZAMarkerNode = [&]() -> std::optional<unsigned> {
- // TODO: Handle agnostic ZA functions.
- if (!UseNewSMEABILowering || IsAgnosticZAFunction)
+ if (!UseNewSMEABILowering)
----------------
sdesmalen-arm wrote:
I know this is a style-thing, but I find this lambda more confusing than just
writing:
```
std::optional<unsigned> ZAMarkerNode = std::nullopt;
if (UseNewSMEABILowering) {
if (CallAttrs.requiresLazySave() || CallAttrs.requiresPreservingAllZAState())
ZAMarkerNode = AArch64ISD::REQUIRES_ZA_SAVE;
else if (CallAttrs.caller().hasZAState() || CallAttrs.caller().hasZT0State())
ZAMarkerNode = AArch64ISD::INOUT_ZA_USE;
}
```
https://github.com/llvm/llvm-project/pull/149064
_______________________________________________
llvm-branch-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits