[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