Pranav Bhandarkar wrote:
They are 'experimental', but the reason is to catch cases like this to examine. MEM-SSA was suppose to eliminate excessively large numbers of virtual operands. I haven't had a chance to look at this yet, perhaps Diego will get a chance before I do since I'm traveling and tied up the rest of this week.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.
If it turns out there isn't something mem-ssa should be doing differently for this case to reduce the number of operands, we can either increase the thresholds, or add a 4th one for these excessive cases. Im hoping there is a different solution since large numbers of virtuals cause lots of compile time issues. I believe the previous times we've triggered this (Its been a while), we made changes to the virtual operand processing to resolve it and save memory/compile time.
Andrew
