This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Gcse replacement (Was: Re: Don't mark operands of jump instructions available in gcse)
- To: geoffk at redhat dot com, law at cygnus dot com, gcc at gcc dot gnu dot org
- Subject: Gcse replacement (Was: Re: Don't mark operands of jump instructions available in gcse)
- From: Jan Hubicka <jh at suse dot cz>
- Date: Tue, 14 Aug 2001 15:07:41 +0200
- Cc: gcc-patches at gcc dot gnu dot org
- References: <200108132053.f7DKrrH05510@thief.cygnus.com>
>
> 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.
Honza