This is the mail archive of the gcc-patches@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]

Re: [lto][patch] Remove after_inlining flag


>> No, replacing it by 1 will lead to divergence on -g and ICEs on weird
>> C++ testcases.  Replacing it with 0 will lead to missed optimizations.
>> Just keep it 1 until after last inlining happens.
>
> For lto  I think the best option now is to take the missed optimizations.

Replacing with 0 produced a regression. Compiling

struct S { ~S(); };
void bar();
void foo()
{
  S s;
  bar();
}

produces a segmentation fault:


#0  make_label_edge (edge_cache=0x0, src=0x7ffff757ce40, label=0x0,
flags=14) at ../../repo/gcc/cfgbuild.c:188
#1  0x0000000000b84c13 in rtl_make_eh_edge (edge_cache=0x0,
src=0x7ffff757ce40, insn=<value optimized out>) at
../../repo/gcc/cfgbuild.c:212
#2  0x000000000065f12f in finish_eh_generation () at
../../repo/gcc/except.c:2095
#3  0x000000000065f4c3 in rest_of_handle_eh () at ../../repo/gcc/except.c:3953
#4  0x000000000075e3e8 in execute_one_pass (pass=0x10bf060) at
../../repo/gcc/passes.c:1279
#5  0x000000000075e625 in execute_pass_list (pass=0x10bf060) at
../../repo/gcc/passes.c:1327
#6  0x000000000075e63d in execute_pass_list (pass=0x11405e0) at
../../repo/gcc/passes.c:1328
#7  0x0000000000852bbc in tree_rest_of_compilation
(fndecl=0x7ffff7574700) at ../../repo/gcc/tree-optimize.c:416
#8  0x00000000009c89c4 in cgraph_expand_function (node=0x7ffff7574800)
at ../../repo/gcc/cgraphunit.c:1038
#9  0x00000000009c8bd4 in cgraph_output_in_order () at
../../repo/gcc/cgraphunit.c:1186
#10 0x00000000009ca93d in cgraph_optimize () at ../../repo/gcc/cgraphunit.c:1297
#11 0x00000000004a09a5 in cp_write_global_declarations () at
../../repo/gcc/cp/decl2.c:3615
#12 0x0000000000804161 in toplev_main (argc=<value optimized out>,
argv=<value optimized out>) at ../../repo/gcc/toplev.c:979
#13 0x00007ffff761c1c4 in __libc_start_main () from /lib/libc.so.6
#14 0x0000000000404369 in _start ()

Cheers,
-- 
Rafael Avila de Espindola

Google | Gordon House | Barrow Street | Dublin 4 | Ireland
Registered in Dublin, Ireland | Registration Number: 368047


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