public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c/67396] New: [4.9/5.0 regression] Performance regression compiling variadic function with many arguments
@ 2015-08-29 22:09 ppluzhnikov at google dot com
2015-08-30 16:36 ` [Bug c/67396] " ppluzhnikov at google dot com
` (7 more replies)
0 siblings, 8 replies; 9+ messages in thread
From: ppluzhnikov at google dot com @ 2015-08-29 22:09 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67396
Bug ID: 67396
Summary: [4.9/5.0 regression] Performance regression compiling
variadic function with many arguments
Product: gcc
Version: unknown
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c
Assignee: unassigned at gcc dot gnu.org
Reporter: ppluzhnikov at google dot com
Target Milestone: ---
Created attachment 36270
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=36270&action=edit
test generator script
For https://sourceware.org/bugzilla/show_bug.cgi?id=18872, I need a test case
that calls printf() with >= 2700 arguments.
GCC-4.9 and 5.0 (and current trunk) take excessively long to compile such test
cases with optimization:
$ perl gen_bz18872.pl 500 > t.c && time gcc-svn-r227321/bin/gcc -c -O2 t.c
user 0m1.506s
$ perl gen_bz18872.pl 1000 > t.c && time gcc-svn-r227321/bin/gcc -c -O2 t.c
user 0m11.976s
$ perl gen_bz18872.pl 2000 > t.c && gcc-svn-r227321/bin/gcc -c -O2 t.c
user 1m40.911s
$ perl gen_bz18872.pl 4000 > t.c && gcc-svn-r227321/bin/gcc -c -O2 t.c
user 14m0.767s ### Yikes!
For comparison, gcc-4.8 (Ubuntu 4.8.4-2ubuntu1~14.04) 4.8.4 compiles the 4000
argument case in 1.3s.
The problem is already present in r220312 (the oldest build I have).
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug c/67396] [4.9/5.0 regression] Performance regression compiling variadic function with many arguments
2015-08-29 22:09 [Bug c/67396] New: [4.9/5.0 regression] Performance regression compiling variadic function with many arguments ppluzhnikov at google dot com
@ 2015-08-30 16:36 ` ppluzhnikov at google dot com
2015-08-30 16:53 ` [Bug target/67396] " pinskia at gcc dot gnu.org
` (6 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: ppluzhnikov at google dot com @ 2015-08-30 16:36 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67396
Paul Pluzhnikov <ppluzhnikov at google dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |jh at suse dot cz
--- Comment #1 from Paul Pluzhnikov <ppluzhnikov at google dot com> ---
This is "caused" by r206947:
2014-01-22 Jan Hubicka <jh@suse.cz>
+ * config/i386/x86-tune.def (X86_TUNE_ACCUMULATE_OUTGOING_ARGS):
+ Enable for generic and recent AMD targets.
+
+2014-01-22 Jan Hubicka <jh@suse.cz>
+
* combine-stack-adj.c (combine_stack_adjustments_for_block): Remove
ARG_SIZE note when adjustment was eliminated.
Index: gcc/config/i386/x86-tune.def
===================================================================
--- gcc/config/i386/x86-tune.def (revision 206946)
+++ gcc/config/i386/x86-tune.def (revision 206947)
@@ -146,7 +146,7 @@
use of the frame pointer in 32bit mode. */
DEF_TUNE (X86_TUNE_ACCUMULATE_OUTGOING_ARGS, "accumulate_outgoing_args",
m_PPRO | m_P4_NOCONA | m_BONNELL | m_SILVERMONT | m_INTEL
- | m_AMD_MULTIPLE | m_GENERIC)
+ | m_ATHLON_K8)
/* X86_TUNE_PROLOGUE_USING_MOVE: Do not use push/pop in prologues that are
considered on critical path. */
The patch appears to be backwards from what the commit message says though?
$ time gcc-svn-r206948/bin/gcc -c -O2 t.c -mtune=k8
real 0m1.411s
user 0m1.391s
sys 0m0.019s
$ time gcc-svn-r206948/bin/gcc -c -O2 t.c
^C
real 1m31.462s
user 0m0.000s
sys 0m0.006s
$ time gcc-svn-r206948/bin/gcc -c -O2 t.c -mtune=generic
^C
real 1m14.054s
user 0m0.000s
sys 0m0.004s
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug target/67396] [4.9/5.0 regression] Performance regression compiling variadic function with many arguments
2015-08-29 22:09 [Bug c/67396] New: [4.9/5.0 regression] Performance regression compiling variadic function with many arguments ppluzhnikov at google dot com
2015-08-30 16:36 ` [Bug c/67396] " ppluzhnikov at google dot com
@ 2015-08-30 16:53 ` pinskia at gcc dot gnu.org
2015-08-30 17:14 ` ppluzhnikov at google dot com
` (5 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: pinskia at gcc dot gnu.org @ 2015-08-30 16:53 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67396
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |compile-time-hog
Component|c |target
--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
https://gcc.gnu.org/ml/gcc-patches/2014-01/msg00008.html
Can you provide -ftime-report ?
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug target/67396] [4.9/5.0 regression] Performance regression compiling variadic function with many arguments
2015-08-29 22:09 [Bug c/67396] New: [4.9/5.0 regression] Performance regression compiling variadic function with many arguments ppluzhnikov at google dot com
2015-08-30 16:36 ` [Bug c/67396] " ppluzhnikov at google dot com
2015-08-30 16:53 ` [Bug target/67396] " pinskia at gcc dot gnu.org
@ 2015-08-30 17:14 ` ppluzhnikov at google dot com
2015-08-30 17:23 ` pinskia at gcc dot gnu.org
` (4 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: ppluzhnikov at google dot com @ 2015-08-30 17:14 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67396
--- Comment #3 from Paul Pluzhnikov <ppluzhnikov at google dot com> ---
(In reply to Andrew Pinski from comment #2)
> Can you provide -ftime-report ?
Sure:
perl gen_bz18872.pl 2000 > t.c && gcc-svn-r227321/bin/gcc -c -O2 t.c
-ftime-report
Execution times (seconds)
phase setup : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall
1066 kB (19%) ggc
phase parsing : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall
1486 kB (27%) ggc
phase opt and generate : 102.09 (100%) usr 0.01 (100%) sys 102.29 (100%)
wall 2997 kB (54%) ggc
garbage collection : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall
0 kB ( 0%) ggc
CFG verifier : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall
0 kB ( 0%) ggc
df use-def / def-use chains: 0.01 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%)
wall 0 kB ( 0%) ggc
preprocessing : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall
948 kB (17%) ggc
lexical analysis : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall
0 kB ( 0%) ggc
parser (global) : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall
297 kB ( 5%) ggc
tree STMT verifier : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall
0 kB ( 0%) ggc
dominance computation : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall
0 kB ( 0%) ggc
expand : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall
484 kB ( 9%) ggc
dead store elim1 : 101.85 (100%) usr 0.01 (100%) sys 101.96 (100%)
wall 171 kB ( 3%) ggc
dead store elim2 : 0.11 ( 0%) usr 0.00 ( 0%) sys 0.11 ( 0%) wall
171 kB ( 3%) ggc
CSE 2 : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall
0 kB ( 0%) ggc
integrated RA : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall
24 kB ( 0%) ggc
reload CSE regs : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall
280 kB ( 5%) ggc
thread pro- & epilogue : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall
1 kB ( 0%) ggc
peephole 2 : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall
0 kB ( 0%) ggc
scheduling 2 : 0.06 ( 0%) usr 0.00 ( 0%) sys 0.08 ( 0%) wall
1558 kB (28%) ggc
initialize rtl : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall
12 kB ( 0%) ggc
rest of compilation : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall
2 kB ( 0%) ggc
unaccounted todo : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall
0 kB ( 0%) ggc
verify RTL sharing : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall
0 kB ( 0%) ggc
TOTAL : 102.10 0.01 102.31
5558 kB
Extra diagnostic checks enabled; compiler may run slowly.
Configure with --enable-checking=release to disable checks.
perf report says:
Samples: 409K of event 'cycles', Event count (approx.): 374080784459
32.25% cc1 cc1 [.] find_base_term(rtx_def*)
27.15% cc1 cc1 [.] get_addr(rtx_def*) [clone .part.39]
16.57% cc1 cc1 [.] rtx_equal_for_memref_p(rtx_def const*,
rtx_def const*)
11.37% cc1 cc1 [.] memrefs_conflict_p(int, rtx_def*, int,
rtx_def*, long) [clone .constprop.113]
5.76% cc1 cc1 [.] addr_side_effect_eval(rtx_def*, int, int)
[clone .constprop.114]
2.81% cc1 cc1 [.] ix86_find_base_term(rtx_def*)
2.52% cc1 cc1 [.] cselib_sp_based_value_p(cselib_val*)
1.11% cc1 cc1 [.] cselib_have_permanent_equivalences()
0.13% cc1 cc1 [.] record_store(rtx_def*, dse_bb_info_type*)
...
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug target/67396] [4.9/5.0 regression] Performance regression compiling variadic function with many arguments
2015-08-29 22:09 [Bug c/67396] New: [4.9/5.0 regression] Performance regression compiling variadic function with many arguments ppluzhnikov at google dot com
` (2 preceding siblings ...)
2015-08-30 17:14 ` ppluzhnikov at google dot com
@ 2015-08-30 17:23 ` pinskia at gcc dot gnu.org
2015-08-30 18:03 ` ppluzhnikov at google dot com
` (3 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: pinskia at gcc dot gnu.org @ 2015-08-30 17:23 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67396
--- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
So it looks like you did not configure with --enable-checking=release please do
before you report compile time regressions.
Configure with --enable-checking=release to disable checks.
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug target/67396] [4.9/5.0 regression] Performance regression compiling variadic function with many arguments
2015-08-29 22:09 [Bug c/67396] New: [4.9/5.0 regression] Performance regression compiling variadic function with many arguments ppluzhnikov at google dot com
` (3 preceding siblings ...)
2015-08-30 17:23 ` pinskia at gcc dot gnu.org
@ 2015-08-30 18:03 ` ppluzhnikov at google dot com
2015-08-31 8:10 ` [Bug rtl-optimization/67396] [4.9/5/6 regression] Performance regression compiling variadic function with many arguments in RTL DSE rguenth at gcc dot gnu.org
` (2 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: ppluzhnikov at google dot com @ 2015-08-30 18:03 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67396
--- Comment #5 from Paul Pluzhnikov <ppluzhnikov at google dot com> ---
> please do before you report compile time regressions.
Ok. Here are the new numbers from current trunk built with
--enable-checking=release
(nothing's changed that I can see; still very slow):
for j in 500 1000 2000 3000; do perl ./gen_bz18872.pl $j > t.c ; (time
gcc-svn-r227326-rel/bin/gcc -c -O2 t.c) |& grep user; done
user 0m1.488s
user 0m12.010s
user 1m40.353s
user 5m47.668s
Here is the -ftime-report:
perl ./gen_bz18872.pl 2000 > t.c && gcc-svn-r227326-rel/bin/gcc -c -O2 t.c
-ftime-report
Execution times (seconds)
phase setup : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall
1066 kB (19%) ggc
phase parsing : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall
1486 kB (27%) ggc
phase opt and generate : 100.30 (100%) usr 0.00 ( 0%) sys 100.43 (100%)
wall 2997 kB (54%) ggc
trivially dead code : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall
0 kB ( 0%) ggc
df scan insns : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall
0 kB ( 0%) ggc
preprocessing : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall
948 kB (17%) ggc
lexical analysis : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall
0 kB ( 0%) ggc
dead store elim1 : 100.17 (100%) usr 0.00 ( 0%) sys 100.29 (100%)
wall 171 kB ( 3%) ggc
dead store elim2 : 0.10 ( 0%) usr 0.00 ( 0%) sys 0.10 ( 0%) wall
171 kB ( 3%) ggc
scheduling 2 : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.03 ( 0%) wall
1558 kB (28%) ggc
TOTAL : 100.32 0.00 100.45
5558 kB
perf report:
Samples: 406K of event 'cycles', Event count (approx.): 372444339282
32.97% cc1 cc1 [.] find_base_term(rtx_def*)
25.58% cc1 cc1 [.] get_addr(rtx_def*) [clone .part.33]
17.70% cc1 cc1 [.] rtx_equal_for_memref_p(rtx_def const*,
rtx_def const*)
11.33% cc1 cc1 [.] memrefs_conflict_p(int, rtx_def*, int,
rtx_def*, long) [clone .constprop.107]
5.79% cc1 cc1 [.] addr_side_effect_eval(rtx_def*, int, int)
[clone .constprop.108]
2.43% cc1 cc1 [.] cselib_sp_based_value_p(cselib_val*)
2.34% cc1 cc1 [.] ix86_find_base_term(rtx_def*)
1.41% cc1 cc1 [.] cselib_have_permanent_equivalences()
0.14% cc1 cc1 [.] record_store(rtx_def*, dse_bb_info_type*)
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug rtl-optimization/67396] [4.9/5/6 regression] Performance regression compiling variadic function with many arguments in RTL DSE
2015-08-29 22:09 [Bug c/67396] New: [4.9/5.0 regression] Performance regression compiling variadic function with many arguments ppluzhnikov at google dot com
` (4 preceding siblings ...)
2015-08-30 18:03 ` ppluzhnikov at google dot com
@ 2015-08-31 8:10 ` rguenth at gcc dot gnu.org
2015-08-31 9:20 ` [Bug rtl-optimization/67396] [4.9/5.0 regression] Performance regression compiling variadic function with many arguments miyuki at gcc dot gnu.org
2015-08-31 9:26 ` [Bug rtl-optimization/67396] [4.9/5/6 regression] Performance regression compiling variadic function with many arguments in RTL DSE miyuki at gcc dot gnu.org
7 siblings, 0 replies; 9+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-08-31 8:10 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67396
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target| |x86_64-*-*
Component|target |rtl-optimization
Version|unknown |5.2.0
Target Milestone|--- |4.9.4
Summary|[4.9/5.0 regression] |[4.9/5/6 regression]
|Performance regression |Performance regression
|compiling variadic function |compiling variadic function
|with many arguments |with many arguments in RTL
| |DSE
--- Comment #6 from Richard Biener <rguenth at gcc dot gnu.org> ---
I suppose this is a quite old quadraticness in RTL DSE (or rather
find_base_term).
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug rtl-optimization/67396] [4.9/5.0 regression] Performance regression compiling variadic function with many arguments
2015-08-29 22:09 [Bug c/67396] New: [4.9/5.0 regression] Performance regression compiling variadic function with many arguments ppluzhnikov at google dot com
` (5 preceding siblings ...)
2015-08-31 8:10 ` [Bug rtl-optimization/67396] [4.9/5/6 regression] Performance regression compiling variadic function with many arguments in RTL DSE rguenth at gcc dot gnu.org
@ 2015-08-31 9:20 ` miyuki at gcc dot gnu.org
2015-08-31 9:26 ` [Bug rtl-optimization/67396] [4.9/5/6 regression] Performance regression compiling variadic function with many arguments in RTL DSE miyuki at gcc dot gnu.org
7 siblings, 0 replies; 9+ messages in thread
From: miyuki at gcc dot gnu.org @ 2015-08-31 9:20 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67396
Mikhail Maltsev <miyuki at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target|x86_64-*-* |
CC| |miyuki at gcc dot gnu.org
Version|5.2.0 |unknown
Target Milestone|4.9.4 |---
Summary|[4.9/5/6 regression] |[4.9/5.0 regression]
|Performance regression |Performance regression
|compiling variadic function |compiling variadic function
|with many arguments in RTL |with many arguments
|DSE |
--- Comment #7 from Mikhail Maltsev <miyuki at gcc dot gnu.org> ---
(In reply to Paul Pluzhnikov from comment #5)
> for j in 500 1000 2000 3000; do perl ./gen_bz18872.pl $j > t.c ; (time
> gcc-svn-r227326-rel/bin/gcc -c -O2 t.c) |& grep user; done
>
> user 0m1.488s
> user 0m12.010s
> user 1m40.353s
> user 5m47.668s
Rough fitting suggests that it is O(n^3).
I did some profiling and it looks like we get rather deep recursion in alias
analysis. Most time is spent in the following call chain: dse_step1 ->
scan_insn -> record_store -> canon_true_dependence -> true_dependence1. It has
2 callees, which start deep recursion: memrefs_conflict_p and find_base_term
(the latter is invoked twice, the profiler suggests that only the second call,
i.e.
rtx mem_base = find_base_term (true_mem_addr);
is a hot spot). Then we start to recur via these 2 (interleaving) calls:
f = val->locs;
/* Temporarily reset val->locs to avoid infinite recursion. */
val->locs = NULL;
for (l = f; l; l = l->next)
if (GET_CODE (l->loc) == VALUE
&& CSELIB_VAL_PTR (l->loc)->locs
&& !CSELIB_VAL_PTR (l->loc)->locs->next
&& CSELIB_VAL_PTR (l->loc)->locs->loc == x)
continue;
else if ((ret = find_base_term (l->loc)) != 0)
1865 else if ((ret = find_base_term (l->loc)) != 0)
(gdb) p l->loc
$6 = (rtx_def *) (plus:DI (value:DI 2:4321 @0x1abc518/0x1ab8a20)
(const_int -8 [0xfffffffffffffff8]))
and:
/* Go ahead and find the base term for both operands. If either base
term is from a pointer or is a named object or a special address
(like an argument or stack reference), then use it for the
base term. */
rtx base = find_base_term (tmp1);
if (base != NULL_RTX
&& ((REG_P (tmp1) && REG_POINTER (tmp1))
|| known_base_value_p (base)))
return base;
#1 0x000000000062b92a in find_base_term (x=<optimized out>) at
/home/miyuki/gcc/src/gcc/alias.c:1917
1917 rtx base = find_base_term (tmp1);
(gdb) p tmp1
$7 = (rtx_def *) (value:DI 2:4321 @0x1abc518/0x1ab8a20)
It's harder to say what happens in memrefs_conflict_p because it is
tail-recursive. This function has ~20 calls of itself. Perhaps basic block
profiling will tell more.
P.S. The profiler shows an estimate: alias.c:get_addr is invoked ~300000000
times (that is for 1000 printf arguments).
>From gcc-bugs-return-495959-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Mon Aug 31 09:24:43 2015
Return-Path: <gcc-bugs-return-495959-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 9005 invoked by alias); 31 Aug 2015 09:24:42 -0000
Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm
Precedence: bulk
List-Id: <gcc-bugs.gcc.gnu.org>
List-Archive: <http://gcc.gnu.org/ml/gcc-bugs/>
List-Post: <mailto:gcc-bugs@gcc.gnu.org>
List-Help: <mailto:gcc-bugs-help@gcc.gnu.org>
Sender: gcc-bugs-owner@gcc.gnu.org
Delivered-To: mailing list gcc-bugs@gcc.gnu.org
Received: (qmail 8947 invoked by uid 48); 31 Aug 2015 09:24:39 -0000
From: "ro at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug bootstrap/67363] [6 Regression] r227188 breaks build for mingw-w64
Date: Mon, 31 Aug 2015 09:24:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: bootstrap
X-Bugzilla-Version: 6.0
X-Bugzilla-Keywords:
X-Bugzilla-Severity: normal
X-Bugzilla-Who: ro at gcc dot gnu.org
X-Bugzilla-Status: NEW
X-Bugzilla-Resolution:
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: dmalcolm at redhat dot com
X-Bugzilla-Target-Milestone: 6.0
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields: bug_status cf_reconfirmed_on cc everconfirmed
Message-ID: <bug-67363-4-1Y2863e9aS@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-67363-4@http.gcc.gnu.org/bugzilla/>
References: <bug-67363-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2015-08/txt/msg02101.txt.bz2
Content-length: 726
https://gcc.gnu.org/bugzilla/show_bug.cgi?idg363
Rainer Orth <ro at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2015-08-31
CC| |ro at gcc dot gnu.org
Ever confirmed|0 |1
--- Comment #4 from Rainer Orth <ro at gcc dot gnu.org> ---
Right: using xstrndup instead of strndup is the right fix and matches other
parts
of the gcc directory. This patch also broke Solaris 10 bootstrap.
I'll later commit that fix as obvious.
Rainer
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug rtl-optimization/67396] [4.9/5/6 regression] Performance regression compiling variadic function with many arguments in RTL DSE
2015-08-29 22:09 [Bug c/67396] New: [4.9/5.0 regression] Performance regression compiling variadic function with many arguments ppluzhnikov at google dot com
` (6 preceding siblings ...)
2015-08-31 9:20 ` [Bug rtl-optimization/67396] [4.9/5.0 regression] Performance regression compiling variadic function with many arguments miyuki at gcc dot gnu.org
@ 2015-08-31 9:26 ` miyuki at gcc dot gnu.org
7 siblings, 0 replies; 9+ messages in thread
From: miyuki at gcc dot gnu.org @ 2015-08-31 9:26 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67396
Mikhail Maltsev <miyuki at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target| |x86_64-*-*
Target Milestone|--- |4.9.4
Summary|[4.9/5.0 regression] |[4.9/5/6 regression]
|Performance regression |Performance regression
|compiling variadic function |compiling variadic function
|with many arguments |with many arguments in RTL
| |DSE
Known to fail| |5.2.0
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2015-08-31 9:26 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-08-29 22:09 [Bug c/67396] New: [4.9/5.0 regression] Performance regression compiling variadic function with many arguments ppluzhnikov at google dot com
2015-08-30 16:36 ` [Bug c/67396] " ppluzhnikov at google dot com
2015-08-30 16:53 ` [Bug target/67396] " pinskia at gcc dot gnu.org
2015-08-30 17:14 ` ppluzhnikov at google dot com
2015-08-30 17:23 ` pinskia at gcc dot gnu.org
2015-08-30 18:03 ` ppluzhnikov at google dot com
2015-08-31 8:10 ` [Bug rtl-optimization/67396] [4.9/5/6 regression] Performance regression compiling variadic function with many arguments in RTL DSE rguenth at gcc dot gnu.org
2015-08-31 9:20 ` [Bug rtl-optimization/67396] [4.9/5.0 regression] Performance regression compiling variadic function with many arguments miyuki at gcc dot gnu.org
2015-08-31 9:26 ` [Bug rtl-optimization/67396] [4.9/5/6 regression] Performance regression compiling variadic function with many arguments in RTL DSE miyuki 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).