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