SIGN IN SIGN UP

Remove unused results in DAE2 (#8903)

Extend DeadArgumentElimination2.cpp to track and eliminate unused
function return values in addition to dead parameters.

Generalize the analysis graph by introducing a unified `Location`
variant that handles both parameter and result locations across
functions and function type trees (`FuncResultLoc` and `TypeResultLoc`).
Extend value-flow tracking to follow return values flowing into function
returns, including tracking tail calls (`tailCallees` and
`tailCalleeTypes`) so that result usage constraints propagate correctly
from callees to tail-callers.

Update the fixed-point solver to propagate result usage bidirectionally
across function implementations and type trees. When a function or type
result is determined to be unused, update its signature result to
`Type::none` during type rewriting and strip the return expressions and
call site result types during optimization.
T
Thomas Lively committed
64e066e9ed2b32cd5852e544d90606ed47474867
Parent: 1377e42
Committed by GitHub <noreply@github.com> on 7/17/2026, 2:23:21 PM