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: [PATCH] Prevent ifcvt from moving computations into loop


On Tue, Jul 15, 2003 at 07:27:56PM +0200, Zdenek Dvorak wrote:
> does someone know about some reason why the condition removed by this
> patch is in find_if_case_2?

If the ELSE block can be removed entirely, then we'll remove one
(static) branch from the program.  It's most useful for if-then-else
diamonds, but the same concept applies to more complex DAGs.

> In cases like
> 
>   ---> something  ---> "else" --> "else_succ"
>    /              \              /
>    \              /            /
>      -<- "then" -            ...

Perhaps we should just reject moving into the TEST block if either
of the two successor edges have EDGE_DFS_BACK?


r~


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