Problem with too many virtual operands ( tree-ssa-operands.c:484)
Pranav Bhandarkar
pranav.bhandarkar@gmail.com
Tue Oct 16 14:13:00 GMT 2007
Hi,
In the attached testcase due to an ivopts modification, while
rewriting the uses the compiler crashes in tree-ssa-operands.c because
the number of virtual operands of the modified stmt is much greater
than the thresholds controlled by OP_SIZE_{1,2,3} in
tree-ssa-operands.c.
I went through
http://gcc.gnu.org/ml/gcc-patches/2006-12/msg01269.html
and it seemed to me that these values (OP_SIZE etc) have been quite
experimentally set. I am wondering If these values should be
increased.
I did increase these values and the attached testcase compiled fine. I
examined the resulting ivopts dump and the modifications seems valid
to me. I have attached two dumps ( before ivopts - i.e 105t.cunroll
and after ivopts - i.e 107t.ivopts ) . Note that post ivopts dump was
generated only after changing OP_SIZE_3 to 700 ( a randomly high value
).
For a quick check of the dumps, note that
D.1281_6 = Hoopster_ptr_17->Magic;
gets changed to
D.1281_6 = MEM[index: ivtmp.840_5];
I am wondering If increasing OP_SIZE_{1,2,3} is the way to go. Partly
not convinced because it means that the problem could hit again with
nastier code.
TIA,
Pranav
-------------- next part --------------
A non-text attachment was scrubbed...
Name: testcase-min.i
Type: application/octet-stream
Size: 2892 bytes
Desc: not available
URL: <https://gcc.gnu.org/pipermail/gcc/attachments/20071016/b1f0ec6f/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: testcase-min.i.105t.cunroll
Type: application/octet-stream
Size: 781 bytes
Desc: not available
URL: <https://gcc.gnu.org/pipermail/gcc/attachments/20071016/b1f0ec6f/attachment-0001.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: testcase-min.i.107t.ivopts
Type: application/octet-stream
Size: 7439 bytes
Desc: not available
URL: <https://gcc.gnu.org/pipermail/gcc/attachments/20071016/b1f0ec6f/attachment-0002.obj>
More information about the Gcc
mailing list