Landing: 933221722a25
Project / Subsystem
gcc / sh
Date
2024-09-24
Author
Kaz Kojima
Commit
933221722a25bc46c5215d40e97a4c0a385a96ba
Source
github
Perf win
No
Breaking
No
All attributes
- project
- gcc
- subsystem
- sh
- patch_id
- —
- commit_hash
- 933221722a25bc46c5215d40e97a4c0a385a96ba
- source_type
- github
- headline
- SH: Pin sfunc input args to hard-regs via predicates
- tldr
- SH sfuncs now use predicates to pin input arguments to hard registers, resolving LRA issues with clobber patterns.
- author
- Kaz Kojima
- outcome
- committed
- performance_win
- false
- breaking_change
- false
- series_id
- —
- series_parts
- []
- tags
-
- • SH
- • register allocation
- • target specific
- discussion_id_link
- —
- bugzilla_pr
- —
- date
- 2024-09-24T00:00:00.000Z
This commit modifies SH-specific sfuncs to use new predicates for pinning input arguments to hard registers. Previously, some sfuncs used hard registers as inputs but then clobbered their raw register patterns, which the Local Register Allocator (LRA) did not handle correctly. The rewrite uses match_operand and match_dup to ensure these arguments are properly constrained, resolving issues related to PR target/55212.