On Thu, 3 Jan 2019, Richard Biener wrote:
> On Thu, 3 Jan 2019, Richard Sandiford wrote:
>
> > Richard Biener writes:
> > > The following rectifies a change during hash-map intruction which
> > > changed the uncprop operand_equal_p based hash to a pointer-based
> > > hash_map. That assumes poin
On Thu, 3 Jan 2019, Richard Sandiford wrote:
> Richard Biener writes:
> > The following rectifies a change during hash-map intruction which
> > changed the uncprop operand_equal_p based hash to a pointer-based
> > hash_map. That assumes pointer equality between constants which
> > does not hold
Richard Biener writes:
> The following rectifies a change during hash-map intruction which
> changed the uncprop operand_equal_p based hash to a pointer-based
> hash_map. That assumes pointer equality between constants which
> does not hold since different (but compatible) typed constants
> can a
The following rectifies a change during hash-map intruction which
changed the uncprop operand_equal_p based hash to a pointer-based
hash_map. That assumes pointer equality between constants which
does not hold since different (but compatible) typed constants
can appear in the IL. For SSA names
The PR correctly notices that we cannot transform -((a-b)/c) to
(b-a)/c if a-b == b-a == INT_MIN because we are then changing
the results sign if c != 1. Thus the following patch restricts
this transform/predicate further.
Bootstrapped and tested on x86_64-unknown-linux-gnu, applied to trunk.
R