Landing: c1b5260244cf
Project / Subsystem
gcc / ranger
Date
2026-09-03
Author
Aldy Hernandez
Commit
c1b5260244cf532c3702f5054ea0d1a5c6d01f7b
Source
github
Perf win
Yes
Breaking
No
All attributes
- project
- gcc
- subsystem
- ranger
- patch_id
- —
- commit_hash
- c1b5260244cf532c3702f5054ea0d1a5c6d01f7b
- source_type
- github
- headline
- ranger: give loads from constant tables of floats a range
- tldr
- Compiler now determines value ranges for loads from constant float arrays, improving optimization potential.
- author
- Aldy Hernandez
- outcome
- committed
- performance_win
- true
- breaking_change
- false
- series_id
- —
- series_parts
- []
- tags
-
- • optimization
- • floating-point
- • analysis
- discussion_id_link
- —
- bugzilla_pr
- —
- date
- 2026-09-03T00:00:00.000Z
GCC’s ranger pass, responsible for determining value ranges, previously could not handle loads from constant arrays of floating-point numbers. While constant propagation (cprop) could optimize loads from double arrays, ranger lacked this capability. This commit extends ranger to correctly determine the range of values loaded from constant tables containing floats, enabling further optimizations that rely on value range information, especially in conditional code.