On 10/23/26 5:45 PM, Vineet Gupta wrote:
It seems prune_expressions is for pruning blocks with an incoming
abnormal edge. the right place for this handling. asm goto has
ordinary edges: bb 2 -> bb 3 is fallthru and bb 2 -> bb 4 (label) has
no flags.
Correct, but it's going to be hard to split edges out of an asm goto.
So in many respects it's like an abnormal, hence the desire to use those
mechansisms rth put into gcse.c so many years ago.
In fact looking in prune_expressions' comment,
" It would
be best to implement this check along the lines of
should_hoist_expr_to_dom where the target block is already known
and, hence, there's no need to conservatively prune expressions on
"intermediate" set-and-jump instructions."
which is what this patch does.
Oh ;-) You can tell it's been a long time since I looked at this stuff.
Jeff