[Bug rtl-optimization/19097] [3.4/4.0/4.1/4.2 regression] Quadratic behavior with many sets for the same register in gcse CPROP

steven at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Sun Jan 8 18:40:00 GMT 2006



------- Comment #34 from steven at gcc dot gnu dot org  2006-01-08 18:40 -------
Another factor contributing to the huge compile time requirements of VRP for
this test case is the number of equivalences recorded:

Value ranges after VRP ("..." meaning I cut away a *cough* few b_i SSA names
;-):

b_1: VARYING
b_2: ~[19998, 19998]  EQUIVALENCES: { b_1 b_3 ... b_10001 } (10000 elements)
b_3: ~[19997, 19997]  EQUIVALENCES: { b_1 b_4 ... b_10001 } (9999 elements)
b_4: ~[19996, 19996]  EQUIVALENCES: { b_1 b_5 ... b_10001 } (9998 elements)
...
b_9999: ~[10001, 10001]  EQUIVALENCES: { b_1 b_10000 b_10001 } (3 elements)
b_10000: ~[10000, 10000]  EQUIVALENCES: { b_1 b_10001 } (2 elements)
b_10001: ~[1, 1]  EQUIVALENCES: { b_1 } (1 elements)

I think that, if this is something we should worry about at all, this belongs
in a separate bug report about VRP.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19097




More information about the Gcc-bugs mailing list