This is the mail archive of the 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]

Gcse replacement (Was: Re: Don't mark operands of jump instructions available in gcse)

> This patch is being contributed mostly so it doesn't get lost.
> The original port was doing computation as part of a jump instruction,
> but it didn't work out because reload can't handle it.
> Anyway, gcse was also doing the wrong thing.  gcse should really
> use insert_insn_on_edge, but I'm told all of gcse will go away
> sometime to be replaced with SSA-based code, so this just works
> around the problem by not trying to use expressions that
> are part of a branch.
Unrelated question,
Assuming, that gcse will go away and will be replaced by gcse on SSA (or
value numbering), I think we will run into problems with lowering.
SSA is going to use higher lever RTL to avoid RTL constructions SSA form
can't handle.

The lowering pass is likely going to show more architecture dependent thinks
and thus introduce more temporary results and more opurtunities for CSE.
How we are going to cleanup these?

Are we going to simply use our existing local CSE pass? It can be shame too,
as it is slow.


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