This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Why can't CSE recognize const_int's in HIGH LO_SUM pair?




On Mon, 10 Sep 2001, Richard Henderson wrote:

> On Mon, Sep 10, 2001 at 10:23:01AM -0600, law@redhat.com wrote:
> > Or, we could just emit
> >
> > (set (reg) (const_int XXXXXXXX))
> >
> > And keep it in that form until a later point in the compilation process.
>
> The thing I like about exposing the split early is that
> gcse gets to move these expressions around.  If you expose
> the split later, nothing is going to move the parts around
> as aggressively.

It's only going to move them around if they were redundant anyway, and in
all likelyhood, they'll still be redundant in the form (set (reg)
(const_int)).  However, splitting them can also introduce more regions
that prevent code motion, since there can be more instructions we can't
move above.
We'd be better off integrating the ability to move these parts/eliminate
pieces,  around into  the scheduler (since it has all the dependencies
needed), than we would trying to figure out where it's profitable to do
the various techniques to allow us to do code motion where we couldn't
before (since it requires control flow restructuring, etc).

 >
>
> r~
>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]