Why can't CSE recognize const_int's in HIGH LO_SUM pair?
Richard Henderson
rth@redhat.com
Mon Sep 10 10:44:00 GMT 2001
On Mon, Sep 10, 2001 at 11:29:56AM -0600, law@redhat.com wrote:
> True. But with the way things are currently implemented I don't think
> we actually lose anything on the PA by not exposing the subexpressions
> to gcse. Instead of commonizing the HIGH and LO_SUM parts with other
> idential ones elsewhere, we end up commonizing (set (reg) (const_int))
Consider
(set (reg A) (const_int 0x10001))
(set (reg B) (const_int 0x10002))
as
(set (reg T) (const_int 0x10000))
(set (reg A) (plus (reg T) (const_int 1)))
(set (reg B) (plus (reg T) (const_int 2)))
Now consider A and B loaded on two different paths. Code motion can
then pull T up into the dominator.
r~
More information about the Gcc
mailing list