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 middle-end/56113] out of memory when compiling a function with many goto labels (50k > )


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

Steven Bosscher <steven at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |alias

--- Comment #6 from Steven Bosscher <steven at gcc dot gnu.org> 2013-01-27 13:27:04 UTC ---
I've collected the ratios of the --enable-gather-detailed-memory-stats
output for bitmaps, for test cases with n=1000 and n=8000.

Worst memory non-linear behavior is in the following functions:

Bitmap                                          Alloc   Peak    Leak
------------------------------------------------------------------------
tree-ssa-loop-manip.c:248 (compute_live_l       75.49   7.87    0.00
cfganal.c:1167 (compute_idf)                    72.62   7.69    0.00
tree-ssa-structalias.c:2104 (label_visit)       60.73   60.73   60.73
df-problems.c:554 (df_rd_transfer_functio       46.35   6.90    0.00
df-problems.c:233 (df_rd_alloc)                 18.57   18.57   18.57
df-problems.c:525 (df_rd_transfer_functio       12.97   9.55    9.60
df-problems.c:2113 (df_chain_create_bb)         11.62   8.43    0.00
df-problems.c:413 (df_rd_local_compute)         9.91    1.00    0.00
df-problems.c:230 (df_rd_alloc)                 9.61    9.61    9.61
df-problems.c:232 (df_rd_alloc)                 9.61    9.61    9.61


The only one of the above there the amount of memory allocated is really
significant, is tree-ssa-structalias.c:2104 (label_visit):

n= 1000 ->   27055768 bytes allocated (of total  111411120, 24%)
n= 2000 ->  104669648 bytes allocated (of total  293048432. 36%)
n= 4000 ->  415898848 bytes allocated (of total  768746792, 54%)
n= 8000 -> 1642995248 bytes allocated (of total 2556626064, 64%)
n=16000 -> 6549989248 bytes allocated (of total 8780662936, 75%)


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