This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug rtl-optimization/19097] Lots of else ifs take forever to compile


------- Additional Comments From steven at gcc dot gnu dot org  2004-12-23 01:43 -------
This looks like a problem with the hash function for a REG when we 
have many implicit sets: 
 
Found 6001 implicit sets 
SET hash table (6001 buckets, 6001 entries) 
Index 0 (hash value 58) 
  (set (reg/v:SI 58 [ b ]) 
    (const_int 1 [0x1])) 
Index 1 (hash value 58) 
  (set (reg/v:SI 58 [ b ]) 
    (const_int 10000 [0x2710])) 
Index 2 (hash value 58) 
  (set (reg/v:SI 58 [ b ]) 
    (const_int 10001 [0x2711])) 
Index 3 (hash value 58) 
  (set (reg/v:SI 58 [ b ]) 
    (const_int 10002 [0x2712])) 
Index 4 (hash value 58) 
  (set (reg/v:SI 58 [ b ]) 
    (const_int 10003 [0x2713])) 
Index 5 (hash value 58) 
  (set (reg/v:SI 58 [ b ]) 
    (const_int 10004 [0x2714])) 
Index 6 (hash value 58) 
  (set (reg/v:SI 58 [ b ]) 
    (const_int 10005 [0x2715])) 
Index 7 (hash value 58) 
  (set (reg/v:SI 58 [ b ]) 
    (const_int 10006 [0x2716])) 
Index 8 (hash value 58) 
  (set (reg/v:SI 58 [ b ]) 
    (const_int 10007 [0x2717])) 
Index 9 (hash value 58) 
  (set (reg/v:SI 58 [ b ]) 
    (const_int 10008 [0x2718])) 
Index 10 (hash value 58) 
  (set (reg/v:SI 58 [ b ]) 
    (const_int 10009 [0x2719])) 
(etc.) 
 
Needless to say, this results in truely dramatically bad compile 
time behavior of the hash table. 
 

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |roger at eyesopen dot com


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]