> It avoids a branch instruction. For the first case, the path via "x =
> a" is "test -> jump -> set -> jump" (where "set" is th "x =
> a"-instruction). This becomes "set -> test -> jump". So one jump
> less.
Thank you very much for the detailed explanation. However, I have a
doubt here. IMO, t
On Mon, Dec 8, 2008 at 8:54 AM, Eric Fisher <[EMAIL PROTECTED]> wrote:
> Hi,
>
> For if-conversion pass (pass_if_after_combine), we can see there're
> some IF-THEN-ELSE cases which we try to transform. Let's say
> find_if_case_1, for an example.
>
> (1)
>if (test) goto over; // x not l
Hi,
For if-conversion pass (pass_if_after_combine), we can see there're
some IF-THEN-ELSE cases which we try to transform. Let's say
find_if_case_1, for an example.
(1)
if (test) goto over; // x not live
x = a;
goto label;
over:
becomes
x = a;