[Bug lto/48200] Implement function attribute for symbol versioning (.symver)

2019-11-12 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=48200 --- Comment #35 from Jan Hubicka --- > Any progress on that issue? > Just hit that issue trying to build NetworkManager > > https://gitlab.freedesktop.org/NetworkManager/NetworkManager/issues/278 I am working on a patch for symver attribute,

[Bug ipa/92454] [10 Regression] ICE: Segmentation fault (in identify_dead_nodes)

2019-11-11 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92454 --- Comment #2 from Jan Hubicka --- This is the usual problem of trying to process node with no summary attached to it. The following fixes the ICE, but I am not sure if there is a cleaner approach. Martin, i suppose the issue here is with

[Bug lto/92279] [10 Regression] ICE in error: non-trivial conversion in 'constructor' since r276416

2019-11-11 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92279 --- Comment #4 from Jan Hubicka --- > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92279 > > --- Comment #3 from Martin Liška --- > Created attachment 47208 > --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=47208=edit > Reproducer > > So

[Bug lto/92406] [10 Regression] ICE in ipa_call_summary at ipa-fnsummary.h:253 with lto and pgo

2019-11-07 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92406 --- Comment #6 from Jan Hubicka --- > > Hi, > > does this patch fix the problem? > > Honza > > Yes, it fixed the issue. Great, thanks. I was overzealous here with getting rid of get_create :) Honza

[Bug ipa/92394] operand_equal_p should compare as base+offset when comparing addresses

2019-11-06 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92394 --- Comment #5 from Jan Hubicka --- > I don't like making operand_equal_p deviate more and more from "GENERIC" > syntactic compare to semantic one as "lossy" as GIMPLE. What would be a preferred solution here then?

[Bug lto/91576] [10 Regression] error: invalid conversion in gimple call since r272749

2019-10-30 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91576 --- Comment #10 from Jan Hubicka --- > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91576 probably just need -fno-inline-functions and --param inline-insns-auto-O2= to reproduce again? Honza

[Bug middle-end/92037] [10 Regression] LTO bootstrap broken in selftests

2019-10-10 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92037 --- Comment #5 from Jan Hubicka --- It is lifetime dse issue in symbol table construction. I am testing * cgraph.c (symbol_table_test::symbol_table_test): Use ggc_alloc rather than ggc_alloc_cleared to alloc symbol table.

[Bug middle-end/92037] [10 Regression] LTO bootstrap broken in selftests

2019-10-10 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92037 --- Comment #4 from Jan Hubicka --- > Started with Honza's r276469 (git mirror 047f91509cb) but that likely only > exposed some latent issue. Given where the segfault takes place, perhaps the > symbol_table needs re-initialization in between

[Bug bootstrap/92002] [10 regression] -Wuninitialized warning in gcc/wide-int.cc

2019-10-06 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92002 --- Comment #2 from Jan Hubicka --- It is patch enabling auto-inlining at -O2, so we have another false positive I guess. I fixed couple of them which reproduced during x86-64 bootstrap for me.

[Bug c++/91222] [10 Regression] 507.cactuBSSN_r build fails in warn_types_mismatch at ipa-devirt.c:1006 since r273571

2019-10-02 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91222 --- Comment #28 from Jan Hubicka --- > Thanks! That fixes the benchmark build (and the rest of SPEC builds fine with > -flto). It also bootstraps and tests on aarch64-none-linux-gnu fine. Thanks! My testing concluded independently so I went

[Bug c++/91222] [10 Regression] 507.cactuBSSN_r build fails in warn_types_mismatch at ipa-devirt.c:1006 since r273571

2019-10-02 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91222 --- Comment #25 from Jan Hubicka --- > --- Comment #24 from ktkachov at gcc dot gnu.org --- > Thanks. Unfortunately I still see the ICE building 507.cactuBSSN_r on aarch64 > with -flto in the same place: > 995 gcc_assert (TYPE_NAME (t1) >

[Bug c++/91222] [10 Regression] 507.cactuBSSN_r build fails in warn_types_mismatch at ipa-devirt.c:1006 since r273571

2019-10-01 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91222 --- Comment #20 from Jan Hubicka --- > Still seeing this today building cactuBSSN_r with -flto Sorry for that - I had some unexpected developments after cauldron. I am back from vacation now and will fix it ASAP. Honza

[Bug c++/91222] [10 Regression] 507.cactuBSSN_r build fails in warn_types_mismatch at ipa-devirt.c:1006 since r273571

2019-08-27 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91222 --- Comment #12 from Jan Hubicka --- > Created attachment 46765 > --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=46765=edit > clear TYPE_NAME in free_lang_data for anonymous types > > Perhaps like this? It seems that this will disable

[Bug lto/88140] [9/10 Regression] ICE: verify_gimple failed since r266325

2019-08-27 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88140 --- Comment #14 from Jan Hubicka --- > @Honza: Can we close this? Array simplification is still disabled - we need to figure how how to represent them...

[Bug c++/91222] [10 Regression] 507.cactuBSSN_r build fails in warn_types_mismatch at ipa-devirt.c:1006 since r273571

2019-08-27 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91222 --- Comment #10 from Jan Hubicka --- > > > > They aren't in the anonymous namespace, but they are themselves anonymous, > > so they have no linkage. The standard says, > > > > A type without linkage shall not be used as the type of a variable

[Bug c++/91222] [10 Regression] 507.cactuBSSN_r build fails in warn_types_mismatch at ipa-devirt.c:1006 since r273571

2019-07-31 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91222 --- Comment #7 from Jan Hubicka --- > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91222 > > --- Comment #5 from Martin Liška --- > (In reply to Jan Hubicka from comment #3) > > Author: hubicka > > Date: Mon Jul 29 08:18:38 2019 > > New

[Bug bootstrap/91176] [10 regression] AArch64 bootstrap fails since r273479

2019-07-15 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91176 --- Comment #7 from Jan Hubicka --- > FWIW I don't think it was a latent bug though. Previously all we did > with debug insns was estimate their size and speed, which are guaranteed > to come back as zero and thus have no effect. The reason

[Bug bootstrap/91176] [10 regression] AArch64 bootstrap fails since r273479

2019-07-15 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91176 --- Comment #5 from Jan Hubicka --- I suppose it is previously latent problem that we do not skip debug statements. Does something like this help? Index: ipa-fnsummary.c === ---

[Bug lto/91027] [10 regression] SEGV in hash_table::find_slot_with_hash

2019-07-04 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91027 --- Comment #3 from Jan Hubicka --- Hi, this patch triggers another confusion in ipa-devirt. It tries to build type inheritnace graph but since D frotnend produces only functions with DECL_VIRTUAL but no BINFOs and other things it segfaults

[Bug lto/91027] [10 regression] SEGV in hash_table::find_slot_with_hash

2019-07-04 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91027 --- Comment #2 from Jan Hubicka --- Hi, the reason is that type "struct C264" has DECL_ASSEMBLER_NAME (TYPE_NAME (type)) set to which makes LTO to consider this type to be C++ type conforming ODR rule. I am not really fluent with d. Does d

[Bug c++/91006] [10 Regression] Several test suite fails on *darwin* after r272618

2019-06-27 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91006 --- Comment #2 from Jan Hubicka --- Martin, I also guess an interesting question is why extra MEM_REF prevents ipa-sra from considering the function argument dead? Honza

[Bug lto/90990] [10 Regression] ICE: error: ‘component_ref’ LHS in clobber statement

2019-06-26 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90990 --- Comment #8 from Jan Hubicka --- > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90990 > > --- Comment #7 from Martin Liška --- > So before we stream LTO byte code, we have: > > BEFORE: > > Released 0 names, 0.00%, removed 0 holes > A::A

[Bug lto/90990] [10 Regression] ICE: error: ‘component_ref’ LHS in clobber statement

2019-06-25 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90990 --- Comment #6 from Jan Hubicka --- > Tell me how and I can ;) I think we want to know how the statement gets created So i would just watchpoint its LHS and see when the component refs sneeks in. Honza

[Bug lto/90990] [10 Regression] ICE: error: ‘component_ref’ LHS in clobber statement

2019-06-25 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90990 --- Comment #1 from Jan Hubicka --- Thanks. I however do not know why we do not like component refs in clobbers. It simply says that we are killing part of a structure? Honza

[Bug tree-optimization/90978] A suspicious code in df-scan.c since r160348

2019-06-24 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90978 --- Comment #3 from Jan Hubicka --- > Guess this is https://gcc.gnu.org/ml/gcc-patches/2010-06/msg00410.html but the > gcc_unreachable () calls weren't in the patch posted to gcc-patches. It indeed seems like debugging session leftover. Given

[Bug libfortran/77278] Use LTO for libgfortran

2019-06-20 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77278 --- Comment #30 from Jan Hubicka --- Hi, this patch makes Fortran logicals to become C unsigned types of corresponding size. I think it is better than making them signed because the globbing will affect aliasing within Fortran programs as well.

[Bug bootstrap/90873] [10 regression] -Wmaybe-uninitialized warning in gcc/tree-ssa-forwprop.c breaks 32-bit bootstrap

2019-06-17 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90873 --- Comment #9 from Jan Hubicka --- Hi, I am testing rather obvious fix * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Fix TMR check. Index: tree-ssa-alias.c === ---

[Bug lto/90889] snapshot 20190614 fails to build Ada with LTO

2019-06-17 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90889 --- Comment #9 from Jan Hubicka --- > The gcc_unreachable in ipcp_verify_propagated_values gets tripped over > if there is a TOP lattice in any of the IPA-CP scalar constant > propagation lattices after the propagation. > > All non-local nodes

[Bug lto/90889] snapshot 20190614 fails to build Ada with LTO

2019-06-16 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90889 --- Comment #5 from Jan Hubicka --- > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90889 > > Eric Botcazou changed: > >What|Removed |Added >

[Bug ipa/90720] g++.dg/lto/alias-1 FAILs

2019-06-07 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90720 --- Comment #2 from Jan Hubicka --- > I get the same failure on Linux/x86_64 when compiling/linking with > -fno-use-linker-plugin. > > This is the same behaviour as in PR lto/89884. > > It seems quite bad that gcc silently creates wrong code

[Bug libfortran/77278] Use LTO for libgfortran

2019-06-06 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77278 --- Comment #27 from Jan Hubicka --- > > I think that's reasonably easy to do for LTO. We'd want to keep > the default boolean_type_node size BOOLEAN_TYPEs separate but > can glob larger ones with integer types in the canonical type > merging.

[Bug libfortran/77278] Use LTO for libgfortran

2019-06-05 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77278 --- Comment #23 from Jan Hubicka --- > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77278 > > --- Comment #21 from Thomas Koenig --- > (In reply to Jan Hubicka from comment #20) > > OK, the mismatched declaration types are: > > void (struct

[Bug libfortran/77278] Use LTO for libgfortran

2019-06-04 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77278 --- Comment #14 from Jan Hubicka --- > > Yeah, I do remember this. I think we settled on the above > (previously you had dim[7] in the library I think) to be > compatible. Still a C simple testcase complains: > > typedef struct { int ndim;

[Bug tree-optimization/90303] [9/10 Regression] ICE in hash_odr_name with fastcall attribute starting with r267359

2019-05-02 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90303 --- Comment #5 from Jan Hubicka --- I see, i suppose we may lose some optimizations in early opts because of this but your patch is safe and I don't think the missed optimizations are very important (if they are we should avoid having structural

[Bug tree-optimization/90303] [9/10 Regression] ICE in hash_odr_name with fastcall attribute starting with r267359

2019-05-02 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90303 --- Comment #3 from Jan Hubicka --- > This comes from build_type_attribute_qual_variant: > 1159 if (ntype != dtype) > 1160/* This variant was already in the hash table, don't mess with > 1161 TYPE_CANONICAL.

[Bug debug/90273] [9/10 Regression] GCC runs out of memory building Firefox

2019-04-30 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90273 --- Comment #28 from Jan Hubicka --- > The recent regression is we no longer throw them away plentiful during CFG > cleanup and now they pile up during inlining. > > I agree full DCE with liveness will be expensive for usually little gain. Not

[Bug debug/90273] [9/10 Regression] GCC runs out of memory building Firefox

2019-04-29 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90273 --- Comment #10 from Jan Hubicka --- Hi, the file was too large for bugzilla so I uploaded it to http://www.ucw.cz/~hubicka/Unified_cpp_dom_events0-8.ii.xz and posted link in comment #2 :) The agressive variant helps (I did not try to other

[Bug c++/87554] [8 Regression] internal compiler error: in record_reference, at cgraphbuild.c:64

2019-04-18 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87554 --- Comment #11 from Jan Hubicka --- > > The constructor indeed looks broken to me: it should not have naked > > var_decl. So I am changing component to C++ > > I agree that the C++ front end is wrong here, but I also wonder why cgraph is >

[Bug ipa/89924] [missed-optimization] Function not de-virtualized within the same TU

2019-04-04 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89924 --- Comment #4 from Jan Hubicka --- And to answer the question about why GCC produces more code, it is actually speculative devirtualization of the call. GCC determines the most likely target and inlines it. foo_virtual(Aint*): # this

[Bug lto/89692] [9 Regression] ICE in streamer_write_chain, at tree-streamer-out.c:506

2019-03-20 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89692 --- Comment #6 from Jan Hubicka --- > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89692 > > --- Comment #5 from Jakub Jelinek --- > There is: > fld_worklist_push (TYPE_MAIN_VARIANT (t), fld); > /* Do not walk TYPE_NEXT_VARIANT.

[Bug ipa/89330] IPA inliner touches released cgraph_edges

2019-02-14 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89330 --- Comment #5 from Jan Hubicka --- > Let me see if I can add the respective usefulness test to the code > deciding to speculate. I see, it is mine, sorry for blaming you :) One alternative would be also to put the indirect part of pseculative

[Bug gcov-profile/89307] -fprofile-generate binary may be too slow in multithreaded environment due to cache-line conflicts on counters

2019-02-14 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89307 --- Comment #6 from Jan Hubicka --- > Ah now, it's really doing sampling. I guess it can lead to quite some profile > inconsistencies.. Yep, it is not coolest solution. I would not worry too much about precision loss unless you get some weird

[Bug lto/87525] [7/8/9 Regression] infinite loop generated for fread() if enabling -flto and -D_FORTIFY_SOURCE=2

2019-02-11 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87525 --- Comment #17 from Jan Hubicka --- > GNU extern inline is an extension, so is covered by whatever we define (or > should have defined). We've never required that the out of line and inline > definitions are the same or in any way similar

[Bug other/49194] Trivially stupid inlining decisions

2019-02-10 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=49194 --- Comment #11 from Jan Hubicka --- Well, I am working on gradual improvements in the inlining decisions, but since the PR is not very specific, we never will be perfect :)

[Bug ipa/88711] [9 Regression] scan-ipa-dump inline "Inlined tp_sum/

2019-02-09 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88711 --- Comment #8 from Jan Hubicka --- > "I committed a patch that causes a regression in the Fortran > testsuite. Clearly, the problem is with Fortran not my patch. > I don't care about Fortran or respect those that work on the > Fortran FE.

[Bug ipa/87957] [9 Regression] ICE tree check: expected tree that contains ‘decl minimal’ structure, have ‘identifier_node’ in warn_odr, at ipa-devirt.c:1051 since r265519

2019-02-08 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87957 --- Comment #33 from Jan Hubicka --- Hi, I am testing the following fix: since we already decided about mangling we are in fact safe to remove everything that does not have assembler name on it. Honza Index: tree.c

[Bug ipa/87957] [9 Regression] ICE tree check: expected tree that contains ‘decl minimal’ structure, have ‘identifier_node’ in warn_odr, at ipa-devirt.c:1051 since r265519

2019-02-04 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87957 --- Comment #32 from Jan Hubicka --- > I guess we might end up streaming stuff we don't need. Can't we simply > remove the assert? We do build the copy using the main variant type > so this seems to be just a consistency check. The consistency

[Bug debug/87295] [8 Regression][early debug] ICE with -ffat-lto-objects -fdebug-types-section -g

2019-02-01 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87295 --- Comment #9 from Jan Hubicka --- Note that Mark also got an crash in the wrapper #0 0x0046527f in simple_object_elf_copy_lto_debug_sections (sobj=, dobj=, pfn=, err=) at

[Bug c++/88049] [7/8/9 Regression] ICE in lto_symtab_prevailing_virtual_decl at gcc/lto/lto-symtab.c:1075 since r231671

2019-01-29 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88049 --- Comment #3 from Jan Hubicka --- > > We ICE on the fact that _ZTV1aIN12_GLOBAL__N_11fEE which is vtable for > > anonymous namespace type but it has EXTERNAL flag set. > > > > Jason, why this happens? I am changing type to C++: if there is

[Bug ipa/88933] ICE: verify_cgraph_node failed (Error: caller edge count does not match BB count)

2019-01-23 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88933 --- Comment #16 from Jan Hubicka --- Looks OK. I would move delete_unreachable_blocks_update_callgraph to tree-cfgcleanup since it is no longer inliner specific. We probably also can sanity check that TODO_cfgcleanup is not done by

[Bug ipa/88933] ICE: verify_cgraph_node failed (Error: caller edge count does not match BB count)

2019-01-23 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88933 --- Comment #14 from Jan Hubicka --- > I'm currently testing this fix. Cleanup_cfg does other transformations that makes profile to change and statements move within bbs. Just use the unreachable block removal infrastructure we already have and

[Bug ipa/88933] ICE: verify_cgraph_node failed (Error: caller edge count does not match BB count)

2019-01-23 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88933 --- Comment #11 from Jan Hubicka --- Actually, looking at Martin's patch, I guess ipcp transfrom should do the same as inliner - do not cleanup cfg but call delete_unreachable_blocks_update_callgraph and then go with SSA update via TODO. Honza

[Bug ipa/88933] ICE: verify_cgraph_node failed (Error: caller edge count does not match BB count)

2019-01-23 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88933 --- Comment #10 from Jan Hubicka --- > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88933 > > Martin Jambor changed: > >What|Removed |Added >

[Bug ipa/88936] [7/8/9 Regression] -fipa-pta breaks bash (incorrect optimisation of recursive static function)

2019-01-21 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88936 --- Comment #7 from Jan Hubicka --- Hi, there is ipa_reduced_postorder that will compute SCCs and store scc index.

[Bug ipa/88900] [9 Regression] 502.gcc_r SPEC benchmark miscompiles with LTO and PGO

2019-01-18 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88900 --- Comment #2 from Jan Hubicka --- > What a surprise, started with r267883. I'll carry on bisection with --param > inline-unit-growth=40. Well, I guess I can't claim that this is not gcc bug but it is the benchmark that is broken :) Honza

[Bug lto/84995] Documentation gcc-ar and gcc-ranlib vs {libdir}/bfd-plugins

2019-01-15 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84995 --- Comment #16 from Jan Hubicka --- > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84995 > > Richard Biener changed: > >What|Removed |Added >

[Bug lto/85574] [8/9 Regression] LTO bootstapped binaries differ

2019-01-15 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85574 --- Comment #30 from Jan Hubicka --- We may still want to backport to gcc 7 branch. The ICF bug at least exists there as well.

[Bug ipa/85103] [8/9 Regression] Performance regressions on SPEC with r257582

2019-01-08 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85103 --- Comment #20 from Jan Hubicka --- > Looking at our nightly spec runs, the bzip2 degradation has indeed been > cleaned > up. But it looks like 175.vpr degraded another 2% or so over the last couple > days. Knowing what inline decision matters

[Bug lto/88677] [9 Regression] Divergence in -O2 and -O2 -flto early opts

2019-01-08 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88677 --- Comment #11 from Jan Hubicka --- > > I guess the FE needs the info. But yes, dropping TREE_READONLY > for TYPE_NEEDS_CONSTRUCTION decls at some point may make sense. > > Generally it would be nice to know (for alias analysis) that > an

[Bug ipa/87957] [9 Regression] ICE tree check: expected tree that contains ‘decl minimal’ structure, have ‘identifier_node’ in warn_odr, at ipa-devirt.c:1051 since r265519

2019-01-07 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87957 --- Comment #28 from Jan Hubicka --- > > I already did printf debugging and indeed we only need to decide how to > > adjust type_with_linkage_p so it returns false for all Ada types. Maybe > > cleanest would be to add flag to TYPE_DECL which

[Bug c++/81668] LTO ODR warnings are not helpful

2019-01-07 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81668 --- Comment #15 from Jan Hubicka --- > I tested with a GCC snapshot (at r267505). I can now build all mysqld with LTO > and get exactly one LTO warning, and it's a true positive (two Bison parsers > that we haven't managed to untangle yet). > >

[Bug lto/88677] [9 Regression] Divergence in -O2 and -O2 -flto early opts

2019-01-07 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88677 --- Comment #9 from Jan Hubicka --- > https://gcc.gnu > -> You can't simply remove this flag. You could set it to true > conservatively. > Or we could stop marking globals that need constructing TREE_READONLY. I see, I was under impression

[Bug ipa/87957] [9 Regression] ICE tree check: expected tree that contains ‘decl minimal’ structure, have ‘identifier_node’ in warn_odr, at ipa-devirt.c:1051 since r265519

2019-01-07 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87957 --- Comment #26 from Jan Hubicka --- > Run the gnat.dg testsuite and copy-and-paste the command line from the log > file > without the -q option in the middle. You'll get: > > /home/eric/build/gcc/native/gcc/xgcc -c >

[Bug ipa/88702] [7/8/9 regression] We do terrible job optimizing IsHTMLWhitespace from Firefox

2019-01-07 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88702 --- Comment #6 from Jan Hubicka --- > You could also add match.pd rules merging stuff pair-wise... > > How's this a regression btw? I was comparing with GCC 6 build where inlining apparently happened. I believe inlining happens again - I am

[Bug ipa/88702] [6/7/8 regression] We do terrible job optimizing IsHTMLWhitespace from Firefox

2019-01-05 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88702 --- Comment #4 from Jan Hubicka --- > The only pass that can do about this (at least right now) is reassoc (both 1 > and 2), which is too late for inlining. So, either teach fnsplit not to > separate multiple if comparisons of the same variable

[Bug ipa/88702] [6/7/8 regression] We do terrible job optimizing IsHTMLWhitespace from Firefox

2019-01-04 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88702 --- Comment #2 from Jan Hubicka --- > With what options? I'm getting 3 bit tests both with -O2 and -O3, both when > using C and C++. And get that also if I rewrite the function to use a switch > instead. -O2 -flto and then look into

[Bug lto/88677] [9 Regression] Divergence in -O2 and -O2 -flto early opts

2019-01-03 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88677 --- Comment #4 from Jan Hubicka --- This drops TYPE_NEEDS_CONSTRUCTING. I checked the uses jan@skylake:~/trunk/gcc> grep TYPE_NEEDS_CONSTRU *.c gimplify.c: || TYPE_NEEDS_CONSTRUCTING (TREE_TYPE (decl print-tree.c: if

[Bug lto/85574] [8/9 Regression] LTO bootstapped binaries differ

2019-01-02 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85574 --- Comment #24 from Jan Hubicka --- > Patch needs ">>>" to be repaced by "> > >" to bootstrap, but then I get 756 > mismatches building firefox, while previously it was 1300 and before the > rebuild_type_inheritance_graph 6273, so we are

[Bug ipa/88626] __builtin_constant_p should be as cheap as dead code for inlining purposes

2019-01-02 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88626 --- Comment #6 from Jan Hubicka --- > Maybe a heuristic that gives a "bonus" for inlining a function that contains > __builtin_constant_p (only if the argument looks like it depends on the > function parameters?) would be easier? I don't know if

[Bug c++/88600] GCC rejects attributes on type aliases, while clang accepts them

2018-12-26 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88600 --- Comment #2 from Jan Hubicka --- > Applying the attribute to V rather than T works: > > template > using V __attribute__ ((__vector_size (8))) = T; Very cool, I did managed to work that out. Should it work the clang way too?

[Bug lto/85574] [8/9 Regression] LTO bootstapped binaries differ

2018-12-21 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85574 --- Comment #14 from Jan Hubicka --- > Yeah. Note that the debug stmt differences _might_ be explained by > ICF in case ICF ignores debug stmts when merging. But since the > ICF dumps are ordered differently it's hard to see actual decision >

[Bug lto/85574] [9 Regression] LTO bootstapped binaries differ

2018-12-21 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85574 --- Comment #11 from Jan Hubicka --- > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85574 > > --- Comment #10 from Richard Biener --- > Hmm, IPA ICF dumps show differences like > > - false returned: 'references to virtual tables can not be

[Bug lto/88550] A compiler error when use lto: internal compiler error: in add_symbol_to_partition_1, at lto/lto-partition.c:155

2018-12-19 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88550 --- Comment #2 from Jan Hubicka --- Dump file produced by the linker with -fdump-ipa-cgraph --save-temps (it may end up in /tmp) would help to at least have clue what kind of symbol caused the crash.

[Bug ipa/87957] [9 Regression] ICE tree check: expected tree that contains ‘decl minimal’ structure, have ‘identifier_node’ in warn_odr, at ipa-devirt.c:1051 since r265519

2018-12-11 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87957 --- Comment #19 from Jan Hubicka --- Yeap, the warnings was written at the time all C++ types had TYPE_NAMEs and other types used IDENTIFIER_NODE. I have chnaged it for memory use reaosns so only main variants have IDENTIFIER_NODE. Usually we

[Bug lto/86004] [9 regression] Several lto test cases begin failing with r260963

2018-12-10 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86004 --- Comment #12 from Jan Hubicka --- Thanks a lot for looking into this. Indeed disabling the tests is probably good idea, so the patch looks good to me. Somewhere we should document minimal binutils release supporting incremental link...

[Bug lto/88297] [9 Regression] Assembler Error: symbol `_Z41__static_initialization_and_destruction_0ii.constprop.0' is already defined

2018-12-03 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88297 --- Comment #6 from Jan Hubicka --- > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88297 > > --- Comment #5 from michael.ploujnikov at oracle dot com --- > (In reply to Richard Biener from comment #3) > > So before the patch we were just lucky,

[Bug middle-end/88302] __gcov_indirect_call_profiler_v2 and first_run profiling can be cheaper with LTO

2018-12-03 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88302 --- Comment #3 from Jan Hubicka --- > The way GCC exports internal API for plugins, all functions are externally > visible. Unless plugins are disabled, the linker receives -rdynamic and so all > non-static functions appear in the ELF dynamic

[Bug tree-optimization/88272] warning: iteration 9223372036854775807 invokes undefined behavior

2018-11-30 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88272 --- Comment #2 from Jan Hubicka --- > Where do we set the cut-off? ;) -fuser-patience= I would cut it off for things that are obviously derived from sign of 64bit value :)) Those are most common. Honza

[Bug middle-end/87157] [9 regression] gcc.dg/vect/costmodel/ppc/costmodel-vect-33.c fails starting with r263981

2018-11-27 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87157 --- Comment #9 from Jan Hubicka --- > @@ -11,7 +11,7 @@ struct test { > > extern struct test s; > > -int main1 () > +__attribute__((noipa)) int main1 () > { >int i; > > We want to test the vectorizer behavior, not depend on how many

[Bug lto/88140] [9 Regression] ICE: verify_gimple failed since r266325

2018-11-27 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88140 --- Comment #5 from Jan Hubicka --- > diff --git a/gcc/tree.c b/gcc/tree.c > index 39a92464414..a39e611292a 100644 > --- a/gcc/tree.c > +++ b/gcc/tree.c > @@ -5201,6 +5201,15 @@ fld_process_array_type (tree t, tree t2, hash_map tree> *map, >

[Bug lto/87988] [9 regression] Streaming of ABSTRACT_ORIGIN is expensive

2018-11-26 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87988 --- Comment #6 from Jan Hubicka --- > > Honza - can you test the effect of this patch please? Thanks! I am just redoing the tests (rebuilding firefoxes with updated tree), so i will do that today or tomorrow. Honza

[Bug lto/88112] [9 regression] ICE in lto1: TYPE_FIELDS defined in incomplete type

2018-11-20 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88112 --- Comment #3 from Jan Hubicka --- > > Honza? Eric? I am not sure I fully understand the problem here, but why we end up streaming ungimplified type at first place?

[Bug ipa/87957] [9 Regression] ICE tree check: expected tree that contains ‘decl minimal’ structure, have ‘identifier_node’ in warn_odr, at ipa-devirt.c:1051 since r265519

2018-11-19 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87957 --- Comment #6 from Jan Hubicka --- I think we have separate PR for this ICE. It is the ODR violation confusing the walk of duplicates. It needs to stop assuming that all duplicates are same TREE_CODE of type. I will cook up patch. Honza

[Bug ipa/65502] pure-const should play well with clobbers.

2018-11-19 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65502 --- Comment #7 from Jan Hubicka --- > Can the bug be marked as resolved? I think to fully resolve we still want to teach DCE to replace pure/const destructor by clobber when removing it. This should not be too hard to do because destructors are

[Bug lto/65536] LTO line number information garbled

2018-11-19 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65536 --- Comment #55 from Jan Hubicka --- > Can the bug be marked as resolved? I think with the location cache we only made this problem less visible and for really large programs linemap still can overflow and behave funy, right?

[Bug ipa/87957] [9 Regression] ICE tree check: expected tree that contains ‘decl minimal’ structure, have ‘identifier_node’ in warn_odr, at ipa-devirt.c:1051 since r265519

2018-11-17 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87957 --- Comment #4 from Jan Hubicka --- ICE fixed, but lets keep the PR open to track the fact that warning is quite confused.

[Bug ipa/87843] [9 Regression] SPEC miscompilation of 403.gcc and 502.gcc_r benchmarks

2018-11-15 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87843 --- Comment #17 from Jan Hubicka --- > I don't see the miscompilation any longer, may I close it? Yes, it was fixed by * tree.c (fld_type_variant): Copy canonical type. (fld_incomplete_type_of): Check

[Bug middle-end/88010] noinline function alias unexpectedly inlined

2018-11-14 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88010 --- Comment #4 from Jan Hubicka --- > Yep, GCC considers attributes to be part of the definition of a function for > IPA passes. We are not consitent here (i.e. warning attributes on aliases > counts), so it makes sense to support this (and is

[Bug middle-end/38474] compile time explosion in dataflow_set_preserve_mem_locs at -O3

2018-11-06 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=38474 --- Comment #82 from Jan Hubicka --- > > Yep, this is because they used to be arrays indexed by symbol UIDs which > > Martin converted to hash tables. Inliner happily calls summary_get each > > time it needs the summary. I have some patches to

[Bug middle-end/38474] compile time explosion in dataflow_set_preserve_mem_locs at -O3

2018-11-06 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=38474 --- Comment #80 from Jan Hubicka --- > > flat perf profile: > > Samples: 510K of event 'instructions:p', Event count (approx.): 715615147320 > > Overhead Samples Command Shared Object Symbol > >

[Bug tree-optimization/87885] ICE in release_ssa_name_fn with -fprofile-report

2018-11-06 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87885 --- Comment #3 from Jan Hubicka --- OK, I now recall. The intend was really to have three values - profile before pass was run (which you can see from stats of previous pass) - profile after pass was run - profile after cleanups This is

[Bug c/87868] testsuite/c-c++-common/pr60101.c with -O3 and ubsan

2018-11-05 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87868 --- Comment #2 from Jan Hubicka --- I am attaching testcase and patch I am lto-botstrapping now. It copies canonical from original type which is important for us to not lose TBAA during ealry opts as well. typedef struct rtx_def *rtx; typedef

[Bug ipa/87843] [9 Regression] SPEC miscompilation of 403.gcc and 502.gcc_r benchmarks

2018-11-02 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87843 --- Comment #7 from Jan Hubicka --- > If we have less MEM_REFs then we probably strip them because we think they > reference equal types. > > I think I already told you that given that MEM_REFs use pointer types > to carry alignment info

[Bug lto/87754] [9 regression] ICE in odr_types_equivalent_p, at ipa-devirt.c:1250

2018-10-26 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87754 --- Comment #6 from Jan Hubicka --- Hi, this patch fixes the ICE as well as the template. I will commit it after LTO bootstrap converges. Honza * ipa-devirt.c (odr_subtypes_equivalent_p): Fix recursion. (warn_types_mismatch):

[Bug testsuite/86158] [9 regression] gcc.c-torture/unsorted/dump-noaddr.c.*i.lto-stream-out fails starting with 261546

2018-10-25 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86158 --- Comment #5 from Jan Hubicka --- > > Which is caused by --param ggc-min-heapsize=1 which is used by first > invocation > of the compilation. Honza, do you call ggc_collect before streaming out? So we have IL representation diverging

[Bug c/87615] Possible excessive compile time with -O2

2018-10-16 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87615 --- Comment #7 from Jan Hubicka --- > Looks like the IPA-CP stmt walking is still unbound? There is also walking in ipa-fnsummary that is unbound, perhaps that is the problem... Honza

[Bug lto/83375] partitioner partitions static arrays with label references

2018-10-11 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83375 --- Comment #8 from Jan Hubicka --- > > This breaks Linux kernel LTO builds. I currently have a workaround > > (disabling LTO for that file), but I don't think your "is not common" > > argument is valid. > > Well, I guess pushing LTO into Linux

[Bug middle-end/87157] [9 regression] gcc.dg/vect/costmodel/ppc/costmodel-vect-33.c fails starting with r263981

2018-09-02 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87157 --- Comment #6 from Jan Hubicka --- > But this change to sreal seems very unlikely to cause that. > Are we sure about the bisection to r263981? Sreals are used to estimate profile which in turn may affect decision of function splitting &

[Bug lto/86517] relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object with LTO

2018-07-17 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86517 --- Comment #7 from Jan Hubicka --- Hi, I am attaching patch I am testing and also table generated by a script that walks through individual combinations of options. The combination rules are as follows. I tried to take into account that

[Bug lto/86517] relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object with LTO

2018-07-16 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86517 --- Comment #6 from Jan Hubicka --- The problem is logic in lto-wrapper (which is mine) /* Merge PIC options: -fPIC + -fpic = -fpic

<    1   2   3   4   5   6   7   8   9   10   >