[tcb] Fix PR 18178

Diego Novillo dnovillo@redhat.com
Sat Feb 19 02:28:00 GMT 2005


This patch addresses some of the FIXME notes in the VRP pass.  The main 
change is the inclusion of scalar evolution information in range 
propagation to derive narrower ranges.  This allows us to remove the 
bound checking code in PR 18178.

I needed to jump through a few hoops to get scalar evolution 
information.  It is currently a bit too intertwined with loop 
optimization passes, which is understandable.  But I would like to have 
a point of entry to the analyzer that didn't force us to do all the 
initialization in each pass (see the code that was added to 
execute_vrp).  Sebastian, is that feasible?

The patch also teaches VRP to do some limited symbolic comparisons to 
take advantage of the loop information given by scev.  More testing is 
still needed to see the effects on mudflap and other Java code.  But I 
am avoiding doing too many changes at once.

Bootstrapped and tested x86, x86-64, ia64 and ppc.


Diego.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 20050218-fix-18178.diff
Type: text/x-patch
Size: 33849 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20050219/dc6da35f/attachment.bin>


More information about the Gcc-patches mailing list