https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98863
--- Comment #7 from Martin Liška <marxin at gcc dot gnu.org> --- I set up ulimit -v 16GB and I attached gdb. Allocation failure happens here: (gdb) p *current_pass $1 = { <pass_data> = { type = RTL_PASS, name = 0x19f43ae "ree", (gdb) bt #0 xmalloc_failed (size=size@entry=65536) at /home/marxin/Programming/gcc/libiberty/xmalloc.c:119 #1 0x00000000019ac968 in xmalloc (size=65536) at /home/marxin/Programming/gcc/libiberty/xmalloc.c:149 #2 0x00000000019a3158 in call_chunkfun (size=<optimized out>, h=0x51b5240) at /home/marxin/Programming/gcc/libiberty/obstack.c:94 #3 _obstack_newchunk (h=h@entry=0x51b5240, length=length@entry=40) at /home/marxin/Programming/gcc/libiberty/obstack.c:206 #4 0x0000000000853cde in bitmap_element_allocate (head=0x5908d020, head=0x5908d020) at /home/marxin/Programming/gcc/gcc/bitmap.c:123 #5 bitmap_list_insert_element_after (head=0x5908d020, elt=0x3d861a4f8, indx=3548, node=<optimized out>) at /home/marxin/Programming/gcc/gcc/bitmap.c:312 #6 0x0000000000855b34 in bitmap_set_range (count=<optimized out>, start=0, head=0x5908d020) at /home/marxin/Programming/gcc/gcc/bitmap.c:1624 #7 bitmap_set_range (head=0x5908d020, start=0, count=<optimized out>) at /home/marxin/Programming/gcc/gcc/bitmap.c:1577 #8 0x000000000090926f in df_mir_alloc (all_blocks=<optimized out>) at /home/marxin/Programming/gcc/gcc/df-problems.c:1921 #9 0x0000000000901ef6 in df_analyze_problem (dflow=0x3ce62b0, blocks_to_consider=0x445a888, postorder=0x4a821208, n_blocks=56609) at /home/marxin/Programming/gcc/gcc/df-core.c:1162 #10 0x0000000000902e42 in df_analyze_1 () at /home/marxin/Programming/gcc/gcc/df-core.c:1228 #11 0x00000000017bb663 in find_and_remove_re () at /home/marxin/Programming/gcc/gcc/ree.c:1290 #12 rest_of_handle_ree () at /home/marxin/Programming/gcc/gcc/ree.c:1384 #13 (anonymous namespace)::pass_ree::execute (this=<optimized out>) at /home/marxin/Programming/gcc/gcc/ree.c:1412 #14 0x0000000000c62a38 in execute_one_pass (pass=0x24e5d90) at /home/marxin/Programming/gcc/gcc/passes.c:2567 #15 0x0000000000c63413 in execute_pass_list_1 (pass=0x24e5d90) at /home/marxin/Programming/gcc/gcc/passes.c:2656 #16 0x0000000000c63425 in execute_pass_list_1 (pass=0x24e5c10) at /home/marxin/Programming/gcc/gcc/passes.c:2657 #17 0x0000000000c63425 in execute_pass_list_1 (pass=0x24e4810) at /home/marxin/Programming/gcc/gcc/passes.c:2657 #18 0x0000000000c63456 in execute_pass_list (fn=0x7ffff6b457e8, pass=<optimized out>) at /home/marxin/Programming/gcc/gcc/passes.c:2667 #19 0x00000000008e2235 in cgraph_node::expand (this=0x7ffff71c8990) at /home/marxin/Programming/gcc/gcc/context.h:48 #20 0x00000000008e389f in expand_all_functions () at /home/marxin/Programming/gcc/gcc/cgraphunit.c:1995 #21 symbol_table::compile (this=<optimized out>) at /home/marxin/Programming/gcc/gcc/cgraphunit.c:2359 #22 symbol_table::compile (this=<optimized out>) at /home/marxin/Programming/gcc/gcc/cgraphunit.c:2270 #23 0x000000000082d575 in lto_main () at /home/marxin/Programming/gcc/gcc/lto/lto.c:653 #24 0x0000000000d3b83e in compile_file () at /home/marxin/Programming/gcc/gcc/toplev.c:457 #25 0x0000000000801a80 in do_compile () at /home/marxin/Programming/gcc/gcc/toplev.c:2193 #26 toplev::main (this=this@entry=0x7fffffffdd4e, argc=<optimized out>, argc@entry=20, argv=<optimized out>, argv@entry=0x7fffffffde58) at /home/marxin/Programming/gcc/gcc/toplev.c:2332 #27 0x0000000000805c35 in main (argc=20, argv=0x7fffffffde58) at /home/marxin/Programming/gcc/gcc/main.c:39 Does it help?