This is the mail archive of the gcc@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: Context dependent expression simplification


On Tue, Jan 14, 2014 at 01:40:36PM +0000, Paulo Matos wrote:
> Before I start to write code to reinvent the wheel, I would like to know if there's something already out there to do context dependent expression simplification.
> What I need is to simplify an expression at a given point in a BB.
> 
> For example:
> 
>   bb2:
>    r1 <- 2
>    if r2 != 0 goto bb3 else bb4   
>   bb3:
>    r3 <- r2 << 1
>    goto bb4
>   bb4:
>    ...
>    ...
>    if ... goto bb4 else bb5
> 
> Is there any way already implemented to find the value of (and (plus r1 r3) (const_int 1)) at the end of bb4 and simplify it to (const_int 0)?

VRP should handle this (of course at the GIMPLE level) performs context
dependent optimizations through it's edge assertions.

	Jakub


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