This is the mail archive of the gcc-patches@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]
Other format: [Raw text]

Re: dead_or_predictable


On Wed, Jan 09, 2002 at 12:13:46PM +0100, Jan Hubicka wrote:
> if_case 2 converison may result in conditional jumping to next instruction.
> In such case we die due to duplicate edge.  Sorry for lact of testcase
> but I was unable to simplify it to something trivial :(

I'd be interested in seeing something even non-trivial here.

> !   /* We may result in conditional jumping to the next instruction.
> !      Delete the duplicate edge.  */
> ! 
> !   if (FALLTHRU_EDGE (test_bb)->dest == new_dest)
>       {
> !       FALLTHRU_EDGE (test_bb)->count += BRANCH_EDGE (test_bb)->count;
> !       FALLTHRU_EDGE (test_bb)->probability = REG_BR_PROB_BASE;
> !     }

Where does the duplicate actually get removed?

Doesn't the jump-to-next imply that we had an empty block, and
if so, why did we create such a thing?


r~


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