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.