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
testcase-min.i
Description: Binary data
testcase-min.i.105t.cunroll
Description: Binary data
testcase-min.i.107t.ivopts
Description: Binary data