public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug lto/61802] New: AArch64 execute.exp failures with LTO after r212467
@ 2014-07-14 14:48 ktkachov at gcc dot gnu.org
2014-07-15 9:12 ` [Bug lto/61802] [4.10 Regression] " rguenth at gcc dot gnu.org
` (13 more replies)
0 siblings, 14 replies; 15+ messages in thread
From: ktkachov at gcc dot gnu.org @ 2014-07-14 14:48 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61802
Bug ID: 61802
Summary: AArch64 execute.exp failures with LTO after r212467
Product: gcc
Version: 4.10.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: lto
Assignee: unassigned at gcc dot gnu.org
Reporter: ktkachov at gcc dot gnu.org
After r212467
Author: hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Fri Jul 11 17:43:44 2014 +0000
* vapool.c: Include tree-ssa-alias.h, gimple.h and lto-streamer.h
(varpool_get_constructor): New function.
(varpool_ctor_useable_for_folding_p): Break out from ...
(ctor_for_folding): ... here; use varpool_get_constructor.
(varpool_assemble_decl): Likewise.
* lto-streamer.h (struct output_block): Turn cgraph_node
to symbol filed.
(lto_input_variable_constructor): Declare.
* ipa-visibility.c (function_and_variable_visibility): Use
varpool_get_constructor.
* cgraph.h (varpool_get_constructor): Declare.
(varpool_ctor_useable_for_folding_p): New function.
* lto-streamer-out.c (get_symbol_initial_value): Take encoder
parameter; return error_mark_node for non-trivial constructors.
(lto_write_tree_1, DFS_write_tree): UPdate use of
get_symbol_initial_value.
(output_function): Update initialization of symbol.
(output_constructor): New function.
(copy_function): Rename to ..
(copy_function_or_variable): ... this one; handle vars too.
(lto_output): Output variable sections.
* lto-streamer-in.c (input_constructor): New function.
(lto_read_body): Rename from ...
(lto_read_body_or_constructor): ... this one; handle vars
too.
(lto_input_variable_constructor): New function.
* ipa-prop.c (ipa_prop_write_jump_functions,
ipa_prop_write_all_agg_replacement): Update.
* lto-cgraph.c (compute_ltrans_boundary): Use it.
(output_cgraph_opt_summary): Set symbol to NULL.
* lto-partition.c (add_references_to_partition): Use
varpool_ctor_useable_for_folding_p.
* lto.c (lto_read_in_decl_state): Update sanity check.
I'm seeing a number of failures in gcc.c-torture/execute/ on the -flto
variants, including:
FAIL: gcc.c-torture/execute/20000422-1.c execution, -O2 -flto
-flto-partition=none
FAIL: gcc.c-torture/execute/20000422-1.c execution, -O2 -flto
FAIL: gcc.c-torture/execute/20001013-1.c execution, -O2 -flto
-flto-partition=none
FAIL: gcc.c-torture/execute/20001013-1.c execution, -O2 -flto
FAIL: gcc.c-torture/execute/20011113-1.c execution, -O2 -flto
-flto-partition=none
FAIL: gcc.c-torture/execute/20011113-1.c execution, -O2 -flto
FAIL: gcc.c-torture/execute/20020615-1.c execution, -O2 -flto
-flto-partition=none
FAIL: gcc.c-torture/execute/20020615-1.c execution, -O2 -flto
FAIL: gcc.c-torture/execute/20040805-1.c execution, -O2 -flto
-flto-partition=none
FAIL: gcc.c-torture/execute/20040805-1.c execution, -O2 -flto
FAIL: gcc.c-torture/execute/20050929-1.c execution, -O2 -flto
-flto-partition=none
FAIL: gcc.c-torture/execute/20050929-1.c execution, -O2 -flto
FAIL: gcc.c-torture/execute/20071210-1.c execution, -O2 -flto
-flto-partition=none
FAIL: gcc.c-torture/execute/20071210-1.c execution, -O2 -flto
FAIL: gcc.c-torture/execute/20081117-1.c execution, -O2 -flto
-flto-partition=none
FAIL: gcc.c-torture/execute/20081117-1.c execution, -O2 -flto
FAIL: gcc.c-torture/execute/20120427-1.c execution, -O2 -flto
-flto-partition=none
FAIL: gcc.c-torture/execute/20120427-1.c execution, -O2 -flto
FAIL: gcc.c-torture/execute/20120919-1.c execution, -O2 -flto
-flto-partition=none
FAIL: gcc.c-torture/execute/20120919-1.c execution, -O2 -flto
FAIL: gcc.c-torture/execute/921113-1.c execution, -O2 -flto
-flto-partition=none
FAIL: gcc.c-torture/execute/921113-1.c execution, -O2 -flto
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug lto/61802] [4.10 Regression] AArch64 execute.exp failures with LTO after r212467
2014-07-14 14:48 [Bug lto/61802] New: AArch64 execute.exp failures with LTO after r212467 ktkachov at gcc dot gnu.org
@ 2014-07-15 9:12 ` rguenth at gcc dot gnu.org
2014-07-15 9:14 ` ktkachov at gcc dot gnu.org
` (12 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: rguenth at gcc dot gnu.org @ 2014-07-15 9:12 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61802
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |lto, wrong-code
Priority|P3 |P1
Target Milestone|--- |4.10.0
Summary|AArch64 execute.exp |[4.10 Regression] AArch64
|failures with LTO after |execute.exp failures with
|r212467 |LTO after r212467
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug lto/61802] [4.10 Regression] AArch64 execute.exp failures with LTO after r212467
2014-07-14 14:48 [Bug lto/61802] New: AArch64 execute.exp failures with LTO after r212467 ktkachov at gcc dot gnu.org
2014-07-15 9:12 ` [Bug lto/61802] [4.10 Regression] " rguenth at gcc dot gnu.org
@ 2014-07-15 9:14 ` ktkachov at gcc dot gnu.org
2014-07-15 12:58 ` ktkachov at gcc dot gnu.org
` (11 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: ktkachov at gcc dot gnu.org @ 2014-07-15 9:14 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61802
--- Comment #1 from ktkachov at gcc dot gnu.org ---
There's actually quite a lot of -flto failures (all of them?) besides the ones
posted here all over the gcc testsuite
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug lto/61802] [4.10 Regression] AArch64 execute.exp failures with LTO after r212467
2014-07-14 14:48 [Bug lto/61802] New: AArch64 execute.exp failures with LTO after r212467 ktkachov at gcc dot gnu.org
2014-07-15 9:12 ` [Bug lto/61802] [4.10 Regression] " rguenth at gcc dot gnu.org
2014-07-15 9:14 ` ktkachov at gcc dot gnu.org
@ 2014-07-15 12:58 ` ktkachov at gcc dot gnu.org
2014-07-15 14:35 ` hubicka at ucw dot cz
` (10 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: ktkachov at gcc dot gnu.org @ 2014-07-15 12:58 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61802
ktkachov at gcc dot gnu.org changed:
What |Removed |Added
----------------------------------------------------------------------------
Target|aarch64-none-elf |aarch64-none-elf, arm*
--- Comment #2 from ktkachov at gcc dot gnu.org ---
Appears on arm as well.
It seems like every execution test with -flto fails
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug lto/61802] [4.10 Regression] AArch64 execute.exp failures with LTO after r212467
2014-07-14 14:48 [Bug lto/61802] New: AArch64 execute.exp failures with LTO after r212467 ktkachov at gcc dot gnu.org
` (2 preceding siblings ...)
2014-07-15 12:58 ` ktkachov at gcc dot gnu.org
@ 2014-07-15 14:35 ` hubicka at ucw dot cz
2014-07-15 14:42 ` ktkachov at gcc dot gnu.org
` (9 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: hubicka at ucw dot cz @ 2014-07-15 14:35 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61802
--- Comment #3 from Jan Hubicka <hubicka at ucw dot cz> ---
how those tests fail?
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug lto/61802] [4.10 Regression] AArch64 execute.exp failures with LTO after r212467
2014-07-14 14:48 [Bug lto/61802] New: AArch64 execute.exp failures with LTO after r212467 ktkachov at gcc dot gnu.org
` (3 preceding siblings ...)
2014-07-15 14:35 ` hubicka at ucw dot cz
@ 2014-07-15 14:42 ` ktkachov at gcc dot gnu.org
2014-07-20 3:08 ` pinskia at gcc dot gnu.org
` (8 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: ktkachov at gcc dot gnu.org @ 2014-07-15 14:42 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61802
--- Comment #4 from ktkachov at gcc dot gnu.org ---
(In reply to Jan Hubicka from comment #3)
> how those tests fail?
They seem to hit abort ();
signal 6 in the emulator
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug lto/61802] [4.10 Regression] AArch64 execute.exp failures with LTO after r212467
2014-07-14 14:48 [Bug lto/61802] New: AArch64 execute.exp failures with LTO after r212467 ktkachov at gcc dot gnu.org
` (4 preceding siblings ...)
2014-07-15 14:42 ` ktkachov at gcc dot gnu.org
@ 2014-07-20 3:08 ` pinskia at gcc dot gnu.org
2014-07-22 16:26 ` hubicka at ucw dot cz
` (7 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: pinskia at gcc dot gnu.org @ 2014-07-20 3:08 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61802
--- Comment #6 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
This is definitely a section issue:
.bss
.align 3
.LANCHOR0 = . + 0
.type buf, %object
.size buf, 10
buf:
.hword 1
.hword 4
.hword 16
.hword 64
.hword 256
notice we are in bss rather than .data section here.
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug lto/61802] [4.10 Regression] AArch64 execute.exp failures with LTO after r212467
2014-07-14 14:48 [Bug lto/61802] New: AArch64 execute.exp failures with LTO after r212467 ktkachov at gcc dot gnu.org
` (5 preceding siblings ...)
2014-07-20 3:08 ` pinskia at gcc dot gnu.org
@ 2014-07-22 16:26 ` hubicka at ucw dot cz
2014-07-22 16:34 ` pinskia at gcc dot gnu.org
` (6 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: hubicka at ucw dot cz @ 2014-07-22 16:26 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61802
--- Comment #7 from Jan Hubicka <hubicka at ucw dot cz> ---
Actually at the cauldron discussion I got an idea that it may be issue with
anchor generation
not bringing in all the constructors. Is the problem there that constructors of
static vairables
are empty in the final binary?
Honza
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug lto/61802] [4.10 Regression] AArch64 execute.exp failures with LTO after r212467
2014-07-14 14:48 [Bug lto/61802] New: AArch64 execute.exp failures with LTO after r212467 ktkachov at gcc dot gnu.org
` (6 preceding siblings ...)
2014-07-22 16:26 ` hubicka at ucw dot cz
@ 2014-07-22 16:34 ` pinskia at gcc dot gnu.org
2014-07-23 17:47 ` hubicka at gcc dot gnu.org
` (5 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: pinskia at gcc dot gnu.org @ 2014-07-22 16:34 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61802
--- Comment #8 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Jan Hubicka from comment #7)
> Actually at the cauldron discussion I got an idea that it may be issue with
> anchor generation
> not bringing in all the constructors. Is the problem there that constructors
> of static vairables
> are empty in the final binary?
yes.
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug lto/61802] [4.10 Regression] AArch64 execute.exp failures with LTO after r212467
2014-07-14 14:48 [Bug lto/61802] New: AArch64 execute.exp failures with LTO after r212467 ktkachov at gcc dot gnu.org
` (7 preceding siblings ...)
2014-07-22 16:34 ` pinskia at gcc dot gnu.org
@ 2014-07-23 17:47 ` hubicka at gcc dot gnu.org
2014-07-24 9:01 ` ktkachov at gcc dot gnu.org
` (4 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: hubicka at gcc dot gnu.org @ 2014-07-23 17:47 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61802
--- Comment #9 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
Created attachment 33177
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=33177&action=edit
Proposed patch
I guess the problem is that error_mark_node is special cased in varasm to send
symbols to BSS for invalid programs. Does the following help?
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug lto/61802] [4.10 Regression] AArch64 execute.exp failures with LTO after r212467
2014-07-14 14:48 [Bug lto/61802] New: AArch64 execute.exp failures with LTO after r212467 ktkachov at gcc dot gnu.org
` (8 preceding siblings ...)
2014-07-23 17:47 ` hubicka at gcc dot gnu.org
@ 2014-07-24 9:01 ` ktkachov at gcc dot gnu.org
2014-07-24 10:20 ` ktkachov at gcc dot gnu.org
` (3 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: ktkachov at gcc dot gnu.org @ 2014-07-24 9:01 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61802
--- Comment #10 from ktkachov at gcc dot gnu.org ---
(In reply to Jan Hubicka from comment #9)
> Created attachment 33177 [details]
> Proposed patch
>
> I guess the problem is that error_mark_node is special cased in varasm to
> send symbols to BSS for invalid programs. Does the following help?
Yes, this fixes the failures on arm, will try aarch64 soon
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug lto/61802] [4.10 Regression] AArch64 execute.exp failures with LTO after r212467
2014-07-14 14:48 [Bug lto/61802] New: AArch64 execute.exp failures with LTO after r212467 ktkachov at gcc dot gnu.org
` (9 preceding siblings ...)
2014-07-24 9:01 ` ktkachov at gcc dot gnu.org
@ 2014-07-24 10:20 ` ktkachov at gcc dot gnu.org
2014-07-24 10:56 ` hubicka at ucw dot cz
` (2 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: ktkachov at gcc dot gnu.org @ 2014-07-24 10:20 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61802
--- Comment #11 from ktkachov at gcc dot gnu.org ---
(In reply to ktkachov from comment #10)
> (In reply to Jan Hubicka from comment #9)
> > Created attachment 33177 [details]
> > Proposed patch
> >
> > I guess the problem is that error_mark_node is special cased in varasm to
> > send symbols to BSS for invalid programs. Does the following help?
>
> Yes, this fixes the failures on arm, will try aarch64 soon
AArch64 seems to work fine too with this patch.
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug lto/61802] [4.10 Regression] AArch64 execute.exp failures with LTO after r212467
2014-07-14 14:48 [Bug lto/61802] New: AArch64 execute.exp failures with LTO after r212467 ktkachov at gcc dot gnu.org
` (10 preceding siblings ...)
2014-07-24 10:20 ` ktkachov at gcc dot gnu.org
@ 2014-07-24 10:56 ` hubicka at ucw dot cz
2014-07-24 13:51 ` hubicka at gcc dot gnu.org
2014-08-05 13:59 ` ktkachov at gcc dot gnu.org
13 siblings, 0 replies; 15+ messages in thread
From: hubicka at ucw dot cz @ 2014-07-24 10:56 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61802
--- Comment #12 from Jan Hubicka <hubicka at ucw dot cz> ---
> > Yes, this fixes the failures on arm, will try aarch64 soon
>
> AArch64 seems to work fine too with this patch.
Thanks! I will double check it and commit then.
Honza
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug lto/61802] [4.10 Regression] AArch64 execute.exp failures with LTO after r212467
2014-07-14 14:48 [Bug lto/61802] New: AArch64 execute.exp failures with LTO after r212467 ktkachov at gcc dot gnu.org
` (11 preceding siblings ...)
2014-07-24 10:56 ` hubicka at ucw dot cz
@ 2014-07-24 13:51 ` hubicka at gcc dot gnu.org
2014-08-05 13:59 ` ktkachov at gcc dot gnu.org
13 siblings, 0 replies; 15+ messages in thread
From: hubicka at gcc dot gnu.org @ 2014-07-24 13:51 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61802
--- Comment #13 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
Author: hubicka
Date: Thu Jul 24 13:50:31 2014
New Revision: 212991
URL: https://gcc.gnu.org/viewcvs?rev=212991&root=gcc&view=rev
Log:
PR lto/61802
* varasm.c (bss_initializer_p): Handle offlined ctors.
(align_variable, get_variable_align): Likewise.
(make_decl_one_only): Likewise.
(default_binds_local_p_1): Likewise.
(decl_binds_to_current_def_p): Likewise.
(get_variable_section): Get constructor if it is offlined.
(assemble_variable_contents): Sanity check that the caller
streamed in the ctor in LTO.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/varasm.c
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug lto/61802] [4.10 Regression] AArch64 execute.exp failures with LTO after r212467
2014-07-14 14:48 [Bug lto/61802] New: AArch64 execute.exp failures with LTO after r212467 ktkachov at gcc dot gnu.org
` (12 preceding siblings ...)
2014-07-24 13:51 ` hubicka at gcc dot gnu.org
@ 2014-08-05 13:59 ` ktkachov at gcc dot gnu.org
13 siblings, 0 replies; 15+ messages in thread
From: ktkachov at gcc dot gnu.org @ 2014-08-05 13:59 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61802
ktkachov at gcc dot gnu.org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution|--- |FIXED
--- Comment #14 from ktkachov at gcc dot gnu.org ---
These are fixed now on arm and aarch64, thanks.
^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2014-08-05 13:59 UTC | newest]
Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-07-14 14:48 [Bug lto/61802] New: AArch64 execute.exp failures with LTO after r212467 ktkachov at gcc dot gnu.org
2014-07-15 9:12 ` [Bug lto/61802] [4.10 Regression] " rguenth at gcc dot gnu.org
2014-07-15 9:14 ` ktkachov at gcc dot gnu.org
2014-07-15 12:58 ` ktkachov at gcc dot gnu.org
2014-07-15 14:35 ` hubicka at ucw dot cz
2014-07-15 14:42 ` ktkachov at gcc dot gnu.org
2014-07-20 3:08 ` pinskia at gcc dot gnu.org
2014-07-22 16:26 ` hubicka at ucw dot cz
2014-07-22 16:34 ` pinskia at gcc dot gnu.org
2014-07-23 17:47 ` hubicka at gcc dot gnu.org
2014-07-24 9:01 ` ktkachov at gcc dot gnu.org
2014-07-24 10:20 ` ktkachov at gcc dot gnu.org
2014-07-24 10:56 ` hubicka at ucw dot cz
2014-07-24 13:51 ` hubicka at gcc dot gnu.org
2014-08-05 13:59 ` ktkachov at gcc dot gnu.org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).