[all-commits] [llvm/llvm-project] 6d30bc: [AArch64][SME] Allow inlining when streaming-mode ...
Sander de Smalen via All-commits
all-commits at lists.llvm.org
Mon Oct 30 03:47:21 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 6d30bc00858941043ea7d45938192adfd1020922
https://github.com/llvm/llvm-project/commit/6d30bc00858941043ea7d45938192adfd1020922
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2023-10-30 (Mon, 30 Oct 2023)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Transforms/Inline/AArch64/sme-pstatesm-attrs.ll
M llvm/test/Transforms/Inline/AArch64/sme-pstateza-attrs.ll
Log Message:
-----------
[AArch64][SME] Allow inlining when streaming-mode attributes dont match up. (#68415)
The use-case here is to support things like:
int foo(int x, int y) __arm_streaming { return std::max<int>(x, y); }
where the call to non-streaming `std::max<int>(x, y)` can be safely
inlined into the streaming function.
This is a first step and will need further work to allow more cases
(e.g. more finegrained analysis of the function calls to ensure they
don't result in any incompatible instructions for the requested mode).
More information about the All-commits
mailing list