https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103061
--- Comment #13 from Aldy Hernandez <aldyh at gcc dot gnu.org> ---
(In reply to Andrew Macleod from comment #12)
> I dont understand why? isnt m.10_120 killed in bb20? whats the basis
> for threading that? I dont see it
Huh. The last thing we do in the solver is kill the M.10_120, so it looks like
we're registering things correctly:
*********** path_range_query ******************
path_range_query: compute_ranges for path: BB 41, BB 20
from bb20: Registering killing_def (path_oracle) lb_75
Registering value_relation (path_oracle) (_134 == lb_75) (bb41)
Registering value_relation (_134 > M.10_120) (bb35) at _134 = M.10_120 + 1;
Intersecting with existing (_134 > M.10_120) to produce (_134 > M.10_120)
range_defined_in_block (BB20) for lb_75 is integer(kind=4) [3, 2147483646]
Registering killing_def (path_oracle) _119
Registering killing_def (path_oracle) _118
Registering killing_def (path_oracle) _117
Registering value_relation (path_oracle) (_117 > mstep_49) (bb41)
Registering value_relation (path_oracle) (_117 > lb_75) (bb41)
range_defined_in_block (BB20) for _117 is integer(kind=4) [4, +INF]
Registering value_relation (path_oracle) (_118 < _117) (bb41)
range_defined_in_block (BB20) for _118 is integer(kind=4) [3, 2147483646]
Registering value_relation (path_oracle) (_119 > mstep_49) (bb41)
Registering value_relation (path_oracle) (_119 > _118) (bb41)
range_defined_in_block (BB20) for _119 is integer(kind=4) [4, +INF]
Registering killing_def (path_oracle) M.10_120
<<<KILL KILL
range_defined_in_block (BB20) for M.10_120 is integer(kind=4) [4, +INF]
<<<KILL KILL
path_oracle:
Equivalence set : [M.10_120]
Equivalence set : [_117]
Equivalence set : [_118]
Equivalence set : [_119]
Equivalence set : [lb_75, _134]
Equivalence set : [lb_75]
Relational : (_119 > _118)
Relational : (_119 > mstep_49)
Relational : (_118 < _117)
Relational : (_117 > lb_75)
Relational : (_117 > mstep_49)