[patch] Fix oversight in tuplification of DOM

Eric Botcazou ebotcazou@adacore.com
Tue Jun 28 21:50:00 GMT 2011


Hi,

the attached testcase triggers an ICE when compiled at -O or above, on all the 
open branches.  This is a regression introduced with the tuplification.  The 
problem is that 2 ARRAY_RANGE_REFs are recognized as equivalent, although they 
don't have the same number of elements.  This is so because their type isn't 
taken into account by the hash equality function as it simply isn't recorded 
in initialize_hash_element (GIMPLE_SINGLE_RHS case).  Now in all the other 
cases it is recorded so this very likely is an oversight.

Tested on x86_64-suse-linux, OK for all branches?


2011-06-28  Eric Botcazou  <ebotcazou@adacore.com>

	* tree-ssa-dom.c (initialize_hash_element): Fix oversight.


2011-06-28  Eric Botcazou  <ebotcazou@adacore.com>

	* gnat.dg/opt17.ad[sb]: New test.


-- 
Eric Botcazou
-------------- next part --------------
A non-text attachment was scrubbed...
Name: p.diff
Type: text/x-diff
Size: 448 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20110628/e3cb879f/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: opt17.adb
Type: text/x-adasrc
Size: 196 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20110628/e3cb879f/attachment-0001.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: opt17.ads
Type: text/x-adasrc
Size: 89 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20110628/e3cb879f/attachment-0002.bin>


More information about the Gcc-patches mailing list