[all-commits] [llvm/llvm-project] 9b63a9: Implement areInlineCompatible for SystemZ using fe...
Andres Chavarria via All-commits
all-commits at lists.llvm.org
Mon Apr 7 15:50:51 PDT 2025
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 9b63a92ca723293dfe8570d1b2881ce949f1f6cc
https://github.com/llvm/llvm-project/commit/9b63a92ca723293dfe8570d1b2881ce949f1f6cc
Author: Andres Chavarria <84650073+chavandres at users.noreply.github.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h
A llvm/test/Transforms/Inline/SystemZ/inline-target-attr.ll
A llvm/test/Transforms/Inline/SystemZ/lit.local.cfg
Log Message:
-----------
Implement areInlineCompatible for SystemZ using feature bitset (#132976)
## What?
Implement `areInlineCompatible` for the SystemZ target using
FeatureBitset comparison.
## Why?
The default implementation in `TargetTransformInfoImpl.h` makes a string
comparison and only inlines when the target-cpu and the target-features
for caller and callee are the same. We are missing out on optimizations
when the callee has a subset of features of the caller.
## How?
Get the FeatureBitset of the caller and callee and check when callee is
a subset or equal to the caller's features. It's a similar
implementation to ARM, PowerPC...
## Testing?
Test cases check for when the callee is a subset of the caller, when
it's not a subset and when both are equals.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list