This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: cse won't pull an expr out of a function call
- To: Joern Rennecke <amylaar at cygnus dot co dot uk>
- Subject: Re: cse won't pull an expr out of a function call
- From: Zack Weinberg <zack at bitmover dot com>
- Date: Wed, 28 Jul 1999 19:46:17 -0700
- cc: gcc at gcc dot gnu dot org
> cse mainly does its work inside a single basic block. The
> expression you want be be cse'd itself creates multiple basic
> blocks. gcse can handle expressions that are scattered about
> multiple basic blocks, but it has to be able to recognize them as
> expressions with a particular value first, and to be able to move
> the instructions that calculate the expression.
> You'll have to do a lot of work to get to this point for a
> conditional expression like the one you quoted.
That's strange; it did manage to collapse two of the three copies of
the expression into one. Only the copy nested inside the function
call wasn't collapsed. The debugging dumps say it happened inside
plain old cse.
zw