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)

Reply via email to