> > Now alias set of the initialization is alias set of "struct a". The alias
> > set
> > of of the pointer store is "float *". We ask alias oracle if "struct a" can
> > conflict with "float *" and answer is no, because "int *" (component of
> > struct
> > b) and "float *" are not conflicting.
> >
> > We do already wrap all bases into MEM_REFs at streaming time, it would
> > be easy to adjust it to make it effectively alias-set zero. But of
> > course the overhead and the downstream effects of having more MEM_REFs
> > (we strip the unneeded ones at stream-in) are unknown (compared to
>
Hi,
ipa-inline-analysis sometimes takes random IP invariant expression and stores
it to the summary. This is similar to situation we treated earlier in ipa-prop.
We need to produce a local copy that does not have locators pointing to
function's body.
LTO-bootstrapped x86_64-linux, commited.
Honz
Hi,
PR 67548 is about LTO not supporting incremental linking. I never really
considered our current incremental linking very useful, because it triggers
code generation at the incremental link time basically nullifying any
benefits of whole program optimization and in fact I think it is harmful,
b
Hi,
this patch adds timevar for loweleve LTO streaming stuff.
Bootstrapped/regtested x86_64-linux, OK?
* timevar.def (TV_IPA_LTO_DECOMPRESS, TV_IPA_LTO_COMPRESS,
TV_IPA_LTO_OUTPUT): New.
* lto-comporess.c: Include timevar.h
(lto_end_compression, lto_end_uncompression
>
> Might be a bit expensive though. It also reminds me of all the
> ICEs we have PRs for WRT the type verifier. Remember we are in stage3
> now so rather than introducing new issues you should spend some time
> fixing the existing ones you caused ;)) (just look for bugs
> CCed to hubi...@gcc.g
> >
> > 1) linker plugin is modified to pass -flinker-output to lto wrapper
> > linker-output is either dyn (.so), pie or exec
> > for incremental linking I added .rel for 3) and noltorel for 1)
> >
> > currently it does rel because 3) (nor 2) can not be done when
> > incremnetal
>
> The problem here is that we're trying to compare the TYPE_FIELDS of
> two variants of an incomplete type, which doesn't make sense; we
> shouldn't expect TYPE_FIELDS of an incomplete type to be meaningful.
>
> Tested x86_64-pc-linux-gnu. OK for trunk?
> commit c6f5cd55d0bbebc2fa46628ebb8fdec2a
> >
> > Your patch means that Andis/HJs work is no longer needed and we can
> > drop the section suffixes again?
> >
> >
>
> There is a difference between "ld -r " and "gcc -r". "ld -r" may not
> perform any LTO.
Theoretically ld -r may look up for the linker plugin on it search path that
will
i
> On 11/25/2015 02:10 PM, Jan Hubicka wrote:
> >>The problem here is that we're trying to compare the TYPE_FIELDS of
> >>two variants of an incomplete type, which doesn't make sense; we
> >>shouldn't expect TYPE_FIELDS of an incomplete type to be me
Hi,
this is the first part of patch that adds -flinker-output flags and gets symbol
visibility right. It makes the testcase in the PR to pass, but I do not know
how to turn it into a testsuite ready version.
I remember there was other PRs related to incremental linking and symbol
visibility,
I wi
Hi,
here is the patch that implement incremental LTO linking. I will wait few days
for feedback. gcc -r now does LTO IL linking only. To force codegen, one can
use -Wl,-rnolto which I found no right place to document. We may want -rnolto
flag uspported by GCC driver, so the testsuite can be upd
> > Moreover we do have all infrastructure ready to implement 3). Our tree
> > merging
> > and symbol table handling is fuly incremental and I think made a patch to
> > implement it today. The scheme is easy:
>
> What happens when .S (assembler) files are part of the incremential object?
> Th
> > > In theory we could change the build system to avoid that case though, but
> > > it would need some changes.
> > >
> > > It would be better if that could be handled somehow.
> >
> > How does this work with your patchset? Ideally we should have way to claim
> > only portions of object files,
> > Actually I think it is harder than that, because we need to strip LTO data
> > from the object files, so we do not end up with duplicated LTO if the object
> > file was already having both LTO and non-LTO stuff in it.
>
> When I started with LTO I was looking into that, and that is why I origi
Hi,
what aout this?
Index: tree.c
===
--- tree.c (revision 230924)
+++ tree.c (working copy)
@@ -13424,6 +13424,12 @@ gimple_canonical_types_compatible_p (con
{
tree f1, f2;
+ /* Don't try to compare v
>
> what about allowing -flinker-output=XXX at link time as a driver option
> and avoiding to override it if already present?
That sounds good. I will implement that.
>
> > > >struct cgraph_node *node = order[i];
> > > >
> > > > - if (node->has_gimple_body_p ())
> > > > + if
> On Tue, 24 Nov 2015, Jan Hubicka wrote:
>
> > > >
> > > > We do already wrap all bases into MEM_REFs at streaming time, it would
> > > > be easy to adjust it to make it effectively alias-set zero. But of
> > > > course the overh
Hi,
this dump ICEs becuase the locations are still cached. There is no point of
dumping
this because we now output warning.
Bootstrapped/regtested x86_64-linux, comitted.
Honza
* ipa-devirt.c (add_type_duplicate): Remove redundant ODR violation
dump
Index: ipa-devirt.c
Hi,
in this testcase we ICE on type variant of TYPE_TRANSPARENT_AGGR type
being !TYPE_TRANSPARENT_AGGR.
Bootstrapped/regtested x86_64-linux, OK?
PR c/67581
* g++.dg/torture/pr67581.C: New testcase.
* c-family/c-common.c (handle_transparent_union_attribute): Update
Hi,
this patch fixes verifier ICE where we have !TYPE_PACKED variant of
TYPE_PACKED type. The fix is symmetric to earlier fix for enums.
Bootstrapped/regtested x86_64-linux, OK?
Honza
PR c/67106
* gcc.c-torture/compile/pr67106.c: New testcase.
* c-decl.c: Set TYPE_PACKED
Hi,
I went through the visibility code and update it for incremental linking.
On few places we now need to take into account the fact that next round
of static linking may remove whole sections, common symbols and comdats.
Also we can't assume that hidden symbols have unique name as we do not know
>
> 2015-11-28 Tom de Vries
>
> * lto-wrapper.c (run_gcc): Handle -flinker-output argument.
Thanks, this looks fine to me. THe way options are handled in lto-wrapper
seems like a gross hack. Hopefully we will manage to clean this up eventually.
What happens when I call one of input ob
Hi,
here is updated patch which bootstraps®testes, lto-bootstraps x86_64-linux
and
also works for Firefox. The basic pain is to identify which calls to
get_alias_set
are used to build alias sets themselves and thus must be made -fstrict-aliasing
independent and which are used to drive queries to
> > * misc.c (gnat_get_alias_set): Pass true to get_alias_set.
> > * utils.c (relate_alias_sets): Likewise.
> > * trans.c (validate_unchecked_conversion): Likewise.
>
> Missing gcc-interface/ prefix here.
Updated.
>
> But can't we use a default value (of true I suppose) for the new pa
>
> I think you are doing too many things in one patch. I'm fine with
> dropping the zero-alias-set streaming (but I'd rather not assert
> as FE get_alias_set langhook may assign zero to random tree nodes).
Ok, the assert was there mostly to double check that all zero alias
sets rematerialize co
Hi,
this is polished version of the patch to implement IL level incremental inking.
-flinker-output is now documented and can be specified to the GCC driver.
In this case plugin gets option -linker-output-known and it stops from
attempts to detect it from info passed down by linker. I also added do
Hi,
this is first patch in the broken up series. It adds the logic into
ipa-inline-transform to drop the flag when inlining. I do it always until
we find a way to make early optimizations safe WRT this transform.
The testcase triggers with GCC 5.0/4.9 too, older compilers passes if
-fstrict-alia
> Hi,
> this is polished version of the patch to implement IL level incremental
> inking.
> -flinker-output is now documented and can be specified to the GCC driver.
> In this case plugin gets option -linker-output-known and it stops from
> attempts to detect it from info passed down by linker. I
Hi,
this patch disables the streaming of alias 0 flag and adds a comment why.
Bootstrapped/regtested x86_64-linux, OK?
Honza
* lto-streamer-out.c (hash_tree): Do not stream TYPE_ALIAS_SET.
* tree-streamer-out.c (pack_ts_type_common_value_fields): Do not
stream TYPE_ALIAS_
Hi,
this is third part which enables us to change -fstrict-aliasing using
optimize attribute. This ought to work safely now because inliner
propagate the flag.
Bootstrapped/regtested x86_64-linux.
Honza
* gcc.c-torture/execute/alias-1.c: New testcase.
* c-common.c: Do not silent
Hi,
memory attributes are currently optimized and attached to RTL even when not
optimizing. This is obviously just a wasted effort.
Bootstrapped/regtested x86_64-linux, OK?
Honza
* emit-rtl.c (set_mem_attrs, set_mem_attributes_minus_bitpos):
Do not compute memory attributes when n
> On Tue, 1 Dec 2015, Jan Hubicka wrote:
>
> > Hi,
> > memory attributes are currently optimized and attached to RTL even when not
> > optimizing. This is obviously just a wasted effort.
>
> Huh, are you sure? What about globals used from different optimize
> c
> > * ipa-inline-transform.c (inline_call): Drop -fstrict-aliasing when
> > inlining -fno-strict-aliasing into -fstrict-aliasing body.
> > * gcc.dg/lto/alias-1_0.c: New testcase.
> > * gcc.dg/lto/alias-1_1.c: New testcase.
> >Index: ipa-inline-transform.c
> >
Hi,
this patch removes flag_strict_aliasing kludge in expanding debug locations and
instead it introduces explicit parameter DEBUG that makes
set_mem_attributes_minus_bitpos to not affect alias sets. This is sanity
checked by comparing number of alias sets before and after at a time we
originally
Hi,
this patch makes the type system to be unchanged by flag_strict_aliasing.
This is needed to prevent optimization loss in flag_strict_aliasing code where
some !flag_strict_aliasing code put alias set 0 into a type (this happens
in all cases I modified in my original patch). It is also necessary
>
> Rather than adjusting this function please adjust
> alias_sets_must_conflict_p.
>
> Otherwise this looks ok and indeed much nicer.
OK, will update it. Will hold this patch until we resolve what we want to do
with the debug dumps. I do not seem to be able to reproduce any -fcompare-debug
is
> On Wed, 2 Dec 2015, Jakub Jelinek wrote:
>
> > On Wed, Dec 02, 2015 at 10:05:13AM +0100, Richard Biener wrote:
> > > On Wed, 2 Dec 2015, Jan Hubicka wrote:
> > >
> > > > Hi,
> > > > this patch removes flag_strict_aliasing kludge in exp
Hi,
I discussed the situation with Jakub on IRC today. It seems we still want
to have alias sets in the dumps, but Jakub agrees with introduction new global
var to control this instead of tampering with flag_strict_aliasing.
This patch does that and also fixes expand_call_stmt which forget to set
Hi,
the testcase expose a bug in nothrow propagation. We forget to set the
flag that call from thunk may throw. I probably should flip the default
of the flag to prevent similar bugs next stage1.
Bootstrapped/regtested x86_64-linux. Comitted.
Honza
PR ipa/68184
* g++.dg/tortur
Hi,
while analyzing the previous bug I noticed that nothrow propagation handles
visibility wrong wrt aliases. This patch fixes it and also makes the code a bit
more effective.
Bootstrapped/regtested x86_64-linux, comitted.
Honza
* ipa-pure-const.c (ignore_edge): Rename to ...
(i
Hi,
this patch implements symmetric fix to ipa-pure-const. In this case it just
slightly
improves code quality for the case of recursive calls involving interposable
functions.
Bootstrapped/regtested x86_64-linux, comitted.
* ipa-pure-const.c (ignore_edge_for_pure_const): New function.
>
> The following patch handles CSEing OBJ_TYPE_REF which was omitted
> because it is a GENERIC expression even on GIMPLE (for whatever
Why it is generic? It is part of gimple grammar :)
> reason...). Rather than changing this now the following patch
> simply treats it properly as such.
Thanks
> >may lead to wrong code.
>
> Can you try generating a testcase?
> Because with equal vptr and voffset I can't see how that can happen unless
> some pass extracts information from the pointer types without sanity checking
> with the pointers and offsets.
I am not sure I can get a wrong code w
Hi,
this is the last patch of the series. It makes operand_equal_p to compare
alias sets even in !flag_strict_aliasing before inlining so inlining
!flag_strict_aliasing to flag_strict_aliasing is possible when callee is
merged comdat. I tried to explain it in greater detail in the comment
in ipa
> Indeed we don't do code hoisting yet. Maybe one could trick PPRE
> into doing it.
>
> Note that for OBJ_TYPE_REFs in calls you probably should better use
> gimple_call_fntype instead of the type of the OBJ_TYPE_REF anyway
> (well, fntype will be the method-type, not pointer-to-method-type).
>
>
> I wonder if you can split out the re-naming at this stage. Further
> comments below.
OK, I will commit the renaming and ipa-icf fix separately.
>
> > Bootstrapped/regtested x86_64-linux, OK?
> >
> > I will work on some testcases for the ICF and fold-const that would lead
> > to wrong code
> On Fri, 4 Dec 2015, Jan Hubicka wrote:
>
> > > Indeed we don't do code hoisting yet. Maybe one could trick PPRE
> > > into doing it.
> > >
> > > Note that for OBJ_TYPE_REFs in calls you probably should better use
> > > gimple_ca
Hi,
this is the patch implementing renaming and fixing logic in ipa-icf/lto-symtab
WRT compuattion of this flag. I don't seem to be able to construct testcase for
this: the merged flag is currently used in inliner only to decide whether to
ingore optimize_size/optimize levels which should not lead
Hi,
this is the patch for fold-const.c. Can you think of some testcase for the
MR_DEPENDENCE_CLIQUE comparsion? I am not that familiar with the code to
be able to construct it :(
Bootstrapped/regtested x86_64-linux, OK?
Honza
* fold-const.c (operand_equal_p): Do not use flag_strict_alias
Hi,
this patch fixes segfault that crept into my prevoius patch.
Bootstrapped/regtested x86_64-linux, comitted.
Honza
* ipa-icf.c (sem_function::merge): Check that local_original exists.
Index: ipa-icf.c
===
--- ipa-icf.c
Hi,
this is first patch to fix PR 61886 which is one of several PRs we have about
need for duplicate declarations. The cgraph code at the moment expects that
there is one declaration for every symbol. This is unfortunately not true
and in several side cases (such as fortify source, bounds checkin
> >
> > Well, not exactly of the case mentioned above, but still think that this is
> > safe (ugly, too). An alternative is to keep around the bodies until after
> > inlining. I have infrastructure for that in my tree, but it is hard to
> > tune to
> > do: first the alternative function body may
> On Fri, 4 Dec 2015, Jan Hubicka wrote:
>
> > Hi,
> > this is the patch for fold-const.c. Can you think of some testcase for the
> > MR_DEPENDENCE_CLIQUE comparsion? I am not that familiar with the code to
> > be able to construct it :(
>
> With ICF it wo
> > Bootstrapped/regtested x86_64-linux and also lto-bootstraped. Looks OK?
> >
> > * alias.c (alias_set_subset_of, alias_sets_conflict_p,
> > objects_must_conflict_p): Short circuit for !flag_strict_aliasing
> > (get_alias_set): Remove flag_strict_aliasing check.
> > (new_alias_se
> > > Bootstrapped/regtested x86_64-linux and also lto-bootstraped. Looks OK?
> > >
> > > * alias.c (alias_set_subset_of, alias_sets_conflict_p,
> > > objects_must_conflict_p): Short circuit for !flag_strict_aliasing
> > > (get_alias_set): Remove flag_strict_aliasing check.
> > > (new_alia
> Hi.
>
> I'm sending patch for the PR, unfortunately I've back-ported Honza's patch
> that introduced the regression to GCC 5.3.
>
> Fix is obvious, I've been running regression tests for both
> trunk and gcc-5-branch. Identical patch can be applied (modulo a line with
> 'cleanup-ipa-dump').
>
> > Usually cycles happen through structure members and it might be that
> > all other frontends have the pointed-to type incomplete. But the
> > above recursion shouldn't apply for the structure case.
>
> All types are equal in Ada and can be forward declared; the language
> specifies
> that t
Hi,
this patch fixes lto-partition WRT transparent aliases. Normal aliases are
always put to the same partition as their target and in other partitions
they become part of the boundary (so we know that the two symbols are in fact
equivalent).
Weakrefs and transparent aliases go only into the part
Hi,
this patch fixes and ICE in symtab_node::verify_base when there is a missing
entry in the symol table - bug I noticed while debugging the patch.
Second fix makes symtab_node::noninterposable_alias to skip all transaprent
aliases because these can not change visibility. (this is needed because t
Hi,
this patch fixes two issues with transparent laiases in ipa-visibility. First
one can't replace weakrefs by local aliases because those would lose the
weakness and second transparent aliases do not really have resolution info set
in all cases, so we want to skip them when considering a comdat f
Hi,
this patch fixes ICE in varpool_node::get_availability which happens when
you dump a node with weakref and makes symbol_table::remove_unreferenced_decls
to keep aliases in the boundary so we do not lose the information that they
actually represent the same location in the binary.
This is neede
Hi,
this patch modifies lto-cgraph to ship the alias target into every partition
that use the alias. This is again needed to keep the information that the
two declarations are in fact in same place so we can fix alias.c
Honza
* lto-cgraph.c (compute_ltrans_boundary): Add transparent alia
Hi,
this patch adds support to lto-symtab.c to prevent merging of certain
declarations. The new predicate lto_symtab_merge_p can be used to decide
about this. The change is pretty straigforward. lto_symtab_merge_decls_2
makes the decisions about what decls to merge and lto_symtab_merge_symbols_
Hi,
this patch makes symtab_node::equal_address_to to understand transparent
aliases and always return true for symbol and its transparent alias. In
addition I introduced new parameter MEMORY_ACCESSED which makes the function
useful for base/ofset alias oracle implementation.
We are bit schisofren
Hi,
this patch makes ipa-reference safe WRT aliases. The basic idea is to
use ultimate alias targets as representative for each group of aliases
via ipa_reference_var_uid.
Bootstrapped/regtested x86_64-linux with slightly earlier version. Re testing
with last minute changes and plan to commit aft
Hi,
this patch fixes base+offset alias oracles to consider variable aliases.
With this patch and one extra hack I can LTO bootstrap with variale symbol
merging disabled in lto-symtab.c
The basic idea is simple - there is new comparer compare_base_decls which knows
how to handle aliases via symbol
Hi,
while debugging an renaming issue I run into ADDR_EXPR of MEM_REF of ADDR_EXPR
which seemed somewhat odd + we don't really get the CONSTANT and other flags
right because recompute_tree_invariant_for_addr_expr punts on ADDR_EXPR inside
ADDR_EXPR.
The expression is created by wrap_refs. While lo
> Hi,
> while debugging an renaming issue I run into ADDR_EXPR of MEM_REF of ADDR_EXPR
> which seemed somewhat odd + we don't really get the CONSTANT and other flags
> right because recompute_tree_invariant_for_addr_expr punts on ADDR_EXPR inside
> ADDR_EXPR.
>
> The expression is created by wrap_
Hi
this patch implements the trik for punting if we get too many nested pointers.
This fixes the ada tstcases. Curiously enough I would like to replace safe_push
by quick_push but doing so I get weird error about freeing non-heap object
in the auto_vec desructor...
Bootstraping/regtesting x86_64-l
> Jan,
>
> > this patch fixes tree-ssa-dce ICE seen during Ada bootstrap. It is updated
> > version of https://gcc.gnu.org/ml/gcc-patches/2015-05/msg02876.html for
> > current mainline
> >
> > Bootstrapped/regtested x86_64-linux, OK?
> >
> > PR middle-end/65337
> > * tree-ssa-dce.c (bb_
> > + bool in_symtab1 = decl_in_symtab_p (base1);
> > + bool in_symtab2 = decl_in_symtab_p (base2);
> > +
> > + /* Declarations of non-automatic variables may have aliases. All other
> > + decls are unique. */
> > + if (in_symtab1 != in_symtab2 || !in_symtab1)
> > +return 0;
> > + re
> On Wed, 9 Dec 2015, Arnaud Charlet wrote:
>
> > > Hi
> > > this patch implements the trik for punting if we get too many nested
> > > pointers.
> > > This fixes the ada tstcases. Curiously enough I would like to replace
> > > safe_push
> > > by quick_push but doing so I get weird error about fre
Hi,
this patch fixes a thinko I introduced into lto_symtab_merge_decls_2
yesterday: a decl can not be prevailed by itself.
Bootstrapped/regtested x86_64-linux, comitted.
PR lto/68811
* g++.dg/lto/pr68811_0.C: New testcase.
* g++.dg/lto/pr68811_1.C: New testcase.
*
)
@@ -1,3 +1,19 @@
+2015-12-08 Jan Hubicka
+
+ PR ipa/61886
+ PR middle-end/25140
+ * ipa-reference.c (ipa_reference_get_not_read_global,
+ ipa_reference_get_not_read_global): Fix WRT aliases.
+ (is_improper): Break out from ...
+ (is_proper_for_analysis): ... here
Hi,
this patch fixes a thinko in vtable rewritting where instead of checking
references we was checking list of nodes referring to vtable. The loop
looks for the entries in vtable that can be replaced by local aliases,
so this bug probably disabled most of the transformations.
It reproduced as an
231473)
+++ ChangeLog (working copy)
@@ -1,6 +1,13 @@
2015-12-08 Jan Hubicka
PR lto/68811
+ * lto.c (lto_fixup_prevailing_decls): Do not check TREE_CHAIN of
+ DECL.
+ (LTO_NO_PREVAIL): Use gcc_checking_assert.
+
+2015-12-08 Jan Hubicka
+
+ PR lto/68811
> > > + bool in_symtab1 = decl_in_symtab_p (base1);
> > > + bool in_symtab2 = decl_in_symtab_p (base2);
> > > +
> > > + /* Declarations of non-automatic variables may have aliases. All other
> > > + decls are unique. */
> > > + if (in_symtab1 != in_symtab2 || !in_symtab1)
> > > +retur
Martin,
while looking into the ipa-cp dumps for bzip and Firefox I noticed few issues.
First of all, ipcp_cloning_candidate_p calls
optimize_function_for_speed_p (DECL_STRUCT_FUNCTION (node->decl))
which can not be used at WPA time, becuase we have no DECL_STRUCT_FUNCTION
around. I replaced it by
> Is this really necessary, is it not enough to remove the assignment to
> ret below? If the parameter is not used, devirtualization time bonus,
> which you then rely on estimate_local_effects, should be zero for it.
>
> It is a very minor point, I suppose, but if the function gets cloned
> for a
Hi,
this patch makes lto-symtab to not merge decls where warning and error
attributes mismatch and finally clears up the invalid wanring compiling
testcase from PR 61886.
So it took only 11 patches and year and half to fix this beast...
I am now finished with merging the original transparent alia
Hi,
this patch makes WPA to copy sections w/o decompressing them. This leads
to a nice /tmp usage for GCC bootstrap (about 70%) and little for Firefox.
In GCC about 5% of the ltrans object file is the global decl section, while
for Firefox it is 85%. I will try to figure out if there is something
Hi,
this patch saves about 30% of global decl stream size in firefox. While
implementing the lto sections for initializers I put very stupid heursitcs
to get_symbol_initial_value deciding whether the initializer is better streamed
inline or offline. This ignores strings and may get bit out of han
> Hey.
>
> I'm debugging PR96482 and it would be handy for me to have a debug counter
> for the problematic transformation.
>
> Ready for master?
Looks good to me. Perhaps it would be more systematic to add them to
the remaining propagators as well - bugs tends to pop up from time to
time relat
, not by an accident.
Bootstrapped/regtested x86_64-linux, comitted.
Honza
gcc/ChangeLog:
2020-08-11 Jan Hubicka
* predict.c (not_loop_guard_equal_edge_p): New function.
(maybe_predict_edge): New function.
(predict_paths_for_bb): Use it
Hello,
with Martin we spent some time looking into exchange2 and my
understanding of the problem is the following:
There is the self recursive function digits_2 with the property that it
has 10 nested loops and calls itself from the innermost.
Now we do not do amazing job on guessing the profile s
> Hi!
>
> On Wed, Aug 12, 2020 at 09:03:35PM +0200, Richard Biener wrote:
> > On August 12, 2020 7:53:07 PM GMT+02:00, Jan Hubicka wrote:
> > >> From: Xiong Hu Luo
> > >> 523.xalancbmk_r +1.32%
> > >> 541.leela_r +1.51%
> > >> 5
>
> Thanks for the information :) Tamar replied that there is another
> regression *on exchange2 is 11%.*, I've also rebased my code and confirmed
> it really getting even slower than before (revert the patch could pull the
> performance back)...
Yep, we need to figure out how to fix this - the
Hi,
>
> Since this was backported as
> r10-8623-g0d96c3424bbb5e5f994b78c8f65d8704d215be54,
Yes, after discussion with Jakub on IRC.
> I've noticed ICEs on arm and aarch64:
> gcc.dg/pr34457-1.c (internal compiler error)
> gcc.dg/torture/pr92088-1.c -O2 -flto -fno-use-linker-plugin
> -fl
> Hi,
> >
> > Since this was backported as
> > r10-8623-g0d96c3424bbb5e5f994b78c8f65d8704d215be54,
>
> Yes, after discussion with Jakub on IRC.
> > I've noticed ICEs on arm and aarch64:
> > gcc.dg/pr34457-1.c (internal compiler error)
> > gcc.dg/torture/pr92088-1.c -O2 -flto -fno-use-l
> >
> > Really appreciate for your detailed explanation. BTW, My previous patch
> > for PGO build on exchange2 takes this similar method by setting each cloned
> > node to 1/10th of the frequency several month agao :)
> >
> > https://gcc.gnu.org/pipermail/gcc-patches/2020-June/546926.html
I was l
> On Tue, Aug 18, 2020 at 4:36 PM Jonathan Wakely via Gcc-patches
> wrote:
> >
> > On 17/08/20 18:15 +, Aditya K via Libstdc++ wrote:
> > >This would help compiler optimize local static objects.
> > >
> > >Added changelog.
> >
> > Please don't :-)
> >
> > GCC patch policies always said NOT to
> On Thu, Aug 20, 2020 at 6:35 AM guojiufu via Gcc-patches
> wrote:
> >
> > Hi,
> >
> > When unroll loops, if there are calls inside the loop, those calls
> > may raise negative impacts for unrolling. This patch adds a param
> > param_max_unrolled_calls, and checks if the number of calls inside
>
>
> gcc/ChangeLog:
>
> * cgraphunit.c (process_symver_attribute): Remove checks that
> are not needed now.
> (cgraph_node::assemble_thunks_and_aliases): Change second
> argument to decl.
> * config/elfos.h (ASM_OUTPUT_SYMVER_DIRECTIVE): Add new
> VISIBILITY par
>
> gcc/ChangeLog:
>
> * cgraphunit.c (process_symver_attribute): Allow multiple
> symver attributes for one symbol.
> * doc/extend.texi: Document the change.
>
> gcc/testsuite/ChangeLog:
>
> * lib/target-supports-dg.exp: Add dg-require-symver.
> * lib/target-suppo
> On 8/25/20 8:46 PM, Jan Hubicka wrote:
> > What will happen here with protected visibility?
>
> I forgot about it. Should it be mapped also to "local"?
>
> + const char *visibility = NULL;
> + if (!TREE_PUBLIC (origin_decl))
> +visibility = &q
> On 8/26/20 11:22 AM, Jan Hubicka wrote:
> > > On 8/25/20 8:46 PM, Jan Hubicka wrote:
> > > > What will happen here with protected visibility?
> > >
> > > I forgot about it. Should it be mapped also to "local"?
> > >
> > > +
> Under what circumstances are we seeing a SEQUENCE in the x86 backend? I'm
> surprised we need to handle that case.
>
> So your pass modifies the insn in place, which is fine. But do we actually
> remove the original constant pool entry if it's no longer used? If not, does
> this patch actuall
> When using the LTO infrastructure to compile files in parallel, we
> can't simply use any of the LTO partitioner, once extra dependency
> analysis is required to ensure that some nodes are correctly
> partitioned together.
>
> Therefore, here we implement a new partitioner called
> "lto_merge_co
> We also implemented a GNU Make Jobserver integration to this mechanism,
> as implemented in jobserver.cc. This works as follows:
> diff --git a/gcc/jobserver.cc b/gcc/jobserver.cc
> new file mode 100644
> index 000..8cb374de86e
> --- /dev/null
> +++ b/gcc/jobserver.cc
I wonder if this ca
1101 - 1200 of 5425 matches
Mail list logo