From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 2073 invoked by alias); 3 Feb 2014 16:15:40 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 2007 invoked by uid 48); 3 Feb 2014 16:15:31 -0000 From: "ro at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug rtl-optimization/60045] New: gcc.dg/atomic/c11-atomic-exec-[23].c compilation times out Date: Mon, 03 Feb 2014 16:15:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: rtl-optimization X-Bugzilla-Version: 4.9.0 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: ro at gcc dot gnu.org X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_id short_desc product version bug_status bug_severity priority component assigned_to reporter cf_gcchost cf_gcctarget cf_gccbuild Message-ID: 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: 2014-02/txt/msg00168.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60045 Bug ID: 60045 Summary: gcc.dg/atomic/c11-atomic-exec-[23].c compilation times out Product: gcc Version: 4.9.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: rtl-optimization Assignee: unassigned at gcc dot gnu.org Reporter: ro at gcc dot gnu.org Host: sparc*-sun-solaris2.* Target: sparc*-sun-solaris2.* Build: sparc*-sun-solaris2.* The compilation of the gcc.dg/atomic/c11-atomic-exec-2.c and gcc.dg/atomic/c11-atomic-exec-3.c testcases regularly times out on Solaris/SPARC at -O2 and beyond, worst at -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions. Here are compilation times for * 1.2 GHz UltraSPARC T2 (yoda) * 1.35 GHz UltraSPARC IV (apoc) * 2.93 GHz Xeon X7350 (zingana) on unloaded systems. Under load, those times can easily exceed the default 5 min testcase timeout: yoda apoc zingana real 2:44.10 1:33.78 16.30 user 2:43.65 1:23.35 16.03 sys 0.30 0.61 0.14 Repeating the first compilation with -ftime-report, I find real 3:50.61 user 3:46.02 sys 1.71 Execution times (seconds) phase setup : 0.03 ( 0%) usr 0.01 ( 1%) sys 0.03 ( 0%) wall 496 kB ( 1%) ggc phase parsing : 1.53 ( 1%) usr 0.32 (24%) sys 1.85 ( 1%) wall 3724 kB ( 7%) ggc phase lang. deferred : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 0 kB ( 0%) ggc phase opt and generate : 223.84 (99%) usr 1.00 (75%) sys 227.41 (99%) wall 50053 kB (92%) ggc phase finalize : 0.01 ( 0%) usr 0.01 ( 1%) sys 0.00 ( 0%) wall 0 kB ( 0%) ggc garbage collection : 1.66 ( 1%) usr 0.32 (24%) sys 2.55 ( 1%) wall 0 kB ( 0%) ggc dump files : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.03 ( 0%) wall 0 kB ( 0%) ggc callgraph construction : 0.12 ( 0%) usr 0.00 ( 0%) sys 0.16 ( 0%) wall 1084 kB ( 2%) ggc callgraph optimization : 0.04 ( 0%) usr 0.00 ( 0%) sys 0.04 ( 0%) wall 5 kB ( 0%) ggc ipa dead code removal : 0.10 ( 0%) usr 0.02 ( 1%) sys 0.08 ( 0%) wall 0 kB ( 0%) ggc ipa cp : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 32 kB ( 0%) ggc ipa inlining heuristics : 0.18 ( 0%) usr 0.00 ( 0%) sys 0.20 ( 0%) wall 69 kB ( 0%) ggc ipa reference : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall 0 kB ( 0%) ggc ipa profile : 0.03 ( 0%) usr 0.00 ( 0%) sys 0.03 ( 0%) wall 0 kB ( 0%) ggc ipa pure const : 0.07 ( 0%) usr 0.00 ( 0%) sys 0.09 ( 0%) wall 6 kB ( 0%) ggc ipa free inline summary : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 0 kB ( 0%) ggc cfg construction : 0.07 ( 0%) usr 0.00 ( 0%) sys 0.08 ( 0%) wall 94 kB ( 0%) ggc cfg cleanup : 0.88 ( 0%) usr 0.00 ( 0%) sys 0.91 ( 0%) wall 291 kB ( 1%) ggc CFG verifier : 3.18 ( 1%) usr 0.00 ( 0%) sys 3.22 ( 1%) wall 0 kB ( 0%) ggc trivially dead code : 0.66 ( 0%) usr 0.00 ( 0%) sys 0.56 ( 0%) wall 0 kB ( 0%) ggc df scan insns : 0.33 ( 0%) usr 0.00 ( 0%) sys 0.32 ( 0%) wall 0 kB ( 0%) ggc df multiple defs : 0.21 ( 0%) usr 0.00 ( 0%) sys 0.20 ( 0%) wall 0 kB ( 0%) ggc df reaching defs : 3.43 ( 2%) usr 0.00 ( 0%) sys 3.36 ( 1%) wall 0 kB ( 0%) ggc df live regs : 5.00 ( 2%) usr 0.04 ( 3%) sys 4.85 ( 2%) wall 0 kB ( 0%) ggc df live&initialized regs: 2.03 ( 1%) usr 0.00 ( 0%) sys 2.14 ( 1%) wall 0 kB ( 0%) ggc df use-def / def-use chains: 0.37 ( 0%) usr 0.00 ( 0%) sys 0.34 ( 0%) wall 0 kB ( 0%) ggc df live reg subwords : 0.12 ( 0%) usr 0.00 ( 0%) sys 0.11 ( 0%) wall 0 kB ( 0%) ggc df reg dead/unused notes: 2.13 ( 1%) usr 0.00 ( 0%) sys 2.21 ( 1%) wall 837 kB ( 2%) ggc register information : 0.48 ( 0%) usr 0.00 ( 0%) sys 0.47 ( 0%) wall 0 kB ( 0%) ggc alias analysis : 1.24 ( 1%) usr 0.00 ( 0%) sys 1.57 ( 1%) wall 2884 kB ( 5%) ggc alias stmt walking : 0.19 ( 0%) usr 0.09 ( 7%) sys 0.29 ( 0%) wall 0 kB ( 0%) ggc register scan : 0.14 ( 0%) usr 0.00 ( 0%) sys 0.16 ( 0%) wall 25 kB ( 0%) ggc rebuild jump labels : 0.33 ( 0%) usr 0.00 ( 0%) sys 0.37 ( 0%) wall 0 kB ( 0%) ggc preprocessing : 0.48 ( 0%) usr 0.08 ( 6%) sys 0.51 ( 0%) wall 1484 kB ( 3%) ggc lexical analysis : 0.32 ( 0%) usr 0.16 (12%) sys 0.53 ( 0%) wall 0 kB ( 0%) ggc parser (global) : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 59 kB ( 0%) ggc parser function body : 0.72 ( 0%) usr 0.08 ( 6%) sys 0.80 ( 0%) wall 2180 kB ( 4%) ggc early inlining heuristics: 0.00 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 0 kB ( 0%) ggc inline parameters : 0.10 ( 0%) usr 0.00 ( 0%) sys 0.12 ( 0%) wall 8 kB ( 0%) ggc integration : 0.04 ( 0%) usr 0.00 ( 0%) sys 0.06 ( 0%) wall 310 kB ( 1%) ggc tree gimplify : 0.49 ( 0%) usr 0.01 ( 1%) sys 0.49 ( 0%) wall 2965 kB ( 5%) ggc tree eh : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall 0 kB ( 0%) ggc tree CFG construction : 0.08 ( 0%) usr 0.00 ( 0%) sys 0.08 ( 0%) wall 703 kB ( 1%) ggc tree CFG cleanup : 0.48 ( 0%) usr 0.00 ( 0%) sys 0.48 ( 0%) wall 96 kB ( 0%) ggc tree tail merge : 0.16 ( 0%) usr 0.00 ( 0%) sys 0.11 ( 0%) wall 9 kB ( 0%) ggc tree VRP : 0.47 ( 0%) usr 0.00 ( 0%) sys 0.50 ( 0%) wall 322 kB ( 1%) ggc tree copy propagation : 0.30 ( 0%) usr 0.00 ( 0%) sys 0.30 ( 0%) wall 61 kB ( 0%) ggc tree PTA : 0.63 ( 0%) usr 0.00 ( 0%) sys 0.69 ( 0%) wall 5 kB ( 0%) ggc tree PHI insertion : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall 91 kB ( 0%) ggc tree SSA rewrite : 0.13 ( 0%) usr 0.00 ( 0%) sys 0.12 ( 0%) wall 750 kB ( 1%) ggc tree SSA other : 0.12 ( 0%) usr 0.02 ( 1%) sys 0.14 ( 0%) wall 1 kB ( 0%) ggc tree SSA incremental : 0.17 ( 0%) usr 0.00 ( 0%) sys 0.16 ( 0%) wall 100 kB ( 0%) ggc tree operand scan : 0.19 ( 0%) usr 0.07 ( 5%) sys 0.22 ( 0%) wall 628 kB ( 1%) ggc dominator optimization : 0.44 ( 0%) usr 0.00 ( 0%) sys 0.37 ( 0%) wall 316 kB ( 1%) ggc tree SRA : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall 0 kB ( 0%) ggc isolate eroneous paths : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.04 ( 0%) wall 0 kB ( 0%) ggc tree CCP : 0.44 ( 0%) usr 0.00 ( 0%) sys 0.42 ( 0%) wall 312 kB ( 1%) ggc tree split crit edges : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.07 ( 0%) wall 320 kB ( 1%) ggc tree reassociation : 0.05 ( 0%) usr 0.00 ( 0%) sys 0.09 ( 0%) wall 0 kB ( 0%) ggc tree PRE : 1.18 ( 1%) usr 0.01 ( 1%) sys 1.18 ( 1%) wall 821 kB ( 2%) ggc tree FRE : 0.92 ( 0%) usr 0.02 ( 1%) sys 0.92 ( 0%) wall 813 kB ( 1%) ggc tree code sinking : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.05 ( 0%) wall 212 kB ( 0%) ggc tree linearize phis : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.04 ( 0%) wall 4 kB ( 0%) ggc tree forward propagate : 0.07 ( 0%) usr 0.00 ( 0%) sys 0.07 ( 0%) wall 59 kB ( 0%) ggc tree conservative DCE : 0.17 ( 0%) usr 0.01 ( 1%) sys 0.23 ( 0%) wall 10 kB ( 0%) ggc tree aggressive DCE : 0.18 ( 0%) usr 0.01 ( 1%) sys 0.17 ( 0%) wall 50 kB ( 0%) ggc tree buildin call DCE : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall 0 kB ( 0%) ggc tree DSE : 0.04 ( 0%) usr 0.00 ( 0%) sys 0.04 ( 0%) wall 0 kB ( 0%) ggc PHI merge : 0.00 ( 0%) usr 0.01 ( 1%) sys 0.00 ( 0%) wall 0 kB ( 0%) ggc tree loop invariant motion: 0.09 ( 0%) usr 0.00 ( 0%) sys 0.08 ( 0%) wall 0 kB ( 0%) ggc tree canonical iv : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.03 ( 0%) wall 12 kB ( 0%) ggc scev constant prop : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 46 kB ( 0%) ggc tree loop unswitching : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.03 ( 0%) wall 14 kB ( 0%) ggc complete unrolling : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.03 ( 0%) wall 38 kB ( 0%) ggc tree slp vectorization : 0.07 ( 0%) usr 0.00 ( 0%) sys 0.07 ( 0%) wall 86 kB ( 0%) ggc tree loop distribution : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 0 kB ( 0%) ggc tree iv optimization : 0.03 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 5 kB ( 0%) ggc predictive commoning : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.03 ( 0%) wall 50 kB ( 0%) ggc tree copy headers : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall 0 kB ( 0%) ggc tree SSA uncprop : 0.03 ( 0%) usr 0.00 ( 0%) sys 0.03 ( 0%) wall 0 kB ( 0%) ggc tree rename SSA copies : 0.03 ( 0%) usr 0.00 ( 0%) sys 0.04 ( 0%) wall 0 kB ( 0%) ggc tree SSA verifier : 3.99 ( 2%) usr 0.00 ( 0%) sys 3.80 ( 2%) wall 0 kB ( 0%) ggc tree STMT verifier : 7.99 ( 4%) usr 0.00 ( 0%) sys 7.97 ( 3%) wall 0 kB ( 0%) ggc tree switch conversion : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 0 kB ( 0%) ggc tree strlen optimization: 0.03 ( 0%) usr 0.00 ( 0%) sys 0.03 ( 0%) wall 0 kB ( 0%) ggc callgraph verifier : 0.71 ( 0%) usr 0.01 ( 1%) sys 0.73 ( 0%) wall 0 kB ( 0%) ggc dominance frontiers : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.04 ( 0%) wall 0 kB ( 0%) ggc dominance computation : 0.44 ( 0%) usr 0.00 ( 0%) sys 0.66 ( 0%) wall 0 kB ( 0%) ggc out of ssa : 0.06 ( 0%) usr 0.00 ( 0%) sys 0.10 ( 0%) wall 11 kB ( 0%) ggc expand vars : 0.36 ( 0%) usr 0.00 ( 0%) sys 0.38 ( 0%) wall 354 kB ( 1%) ggc expand : 0.51 ( 0%) usr 0.01 ( 1%) sys 0.54 ( 0%) wall 4932 kB ( 9%) ggc post expand cleanups : 0.09 ( 0%) usr 0.00 ( 0%) sys 0.08 ( 0%) wall 332 kB ( 1%) ggc lower subreg : 0.31 ( 0%) usr 0.00 ( 0%) sys 0.28 ( 0%) wall 9 kB ( 0%) ggc forward prop : 0.65 ( 0%) usr 0.01 ( 1%) sys 0.71 ( 0%) wall 740 kB ( 1%) ggc CSE : 1.61 ( 1%) usr 0.02 ( 1%) sys 1.62 ( 1%) wall 250 kB ( 0%) ggc dead code elimination : 0.66 ( 0%) usr 0.00 ( 0%) sys 0.72 ( 0%) wall 0 kB ( 0%) ggc dead store elim1 : 0.71 ( 0%) usr 0.01 ( 1%) sys 0.68 ( 0%) wall 704 kB ( 1%) ggc dead store elim2 : 1.55 ( 1%) usr 0.00 ( 0%) sys 1.56 ( 1%) wall 587 kB ( 1%) ggc loop analysis : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall 0 kB ( 0%) ggc loop init : 1.15 ( 1%) usr 0.00 ( 0%) sys 1.07 ( 0%) wall 1309 kB ( 2%) ggc loop invariant motion : 0.37 ( 0%) usr 0.00 ( 0%) sys 0.42 ( 0%) wall 183 kB ( 0%) ggc loop unswitching : 30.79 (14%) usr 0.00 ( 0%) sys 30.75 (13%) wall 41 kB ( 0%) ggc loop unrolling : 66.73 (30%) usr 0.05 ( 4%) sys 66.98 (29%) wall 2864 kB ( 5%) ggc loop fini : 0.00 ( 0%) usr 0.01 ( 1%) sys 0.04 ( 0%) wall 0 kB ( 0%) ggc CPROP : 1.83 ( 1%) usr 0.00 ( 0%) sys 1.81 ( 1%) wall 1848 kB ( 3%) ggc PRE : 1.98 ( 1%) usr 0.00 ( 0%) sys 1.93 ( 1%) wall 571 kB ( 1%) ggc web : 0.75 ( 0%) usr 0.00 ( 0%) sys 0.76 ( 0%) wall 557 kB ( 1%) ggc CSE 2 : 1.05 ( 0%) usr 0.00 ( 0%) sys 1.09 ( 0%) wall 246 kB ( 0%) ggc branch prediction : 0.16 ( 0%) usr 0.00 ( 0%) sys 0.16 ( 0%) wall 148 kB ( 0%) ggc combiner : 3.49 ( 2%) usr 0.00 ( 0%) sys 3.45 ( 2%) wall 3245 kB ( 6%) ggc if-conversion : 0.05 ( 0%) usr 0.01 ( 1%) sys 0.03 ( 0%) wall 0 kB ( 0%) ggc scheduling : 37.28 (17%) usr 0.03 ( 2%) sys 37.47 (16%) wall 1465 kB ( 3%) ggc integrated RA : 7.61 ( 3%) usr 0.08 ( 6%) sys 8.42 ( 4%) wall 6612 kB (12%) ggc reload : 3.02 ( 1%) usr 0.07 ( 5%) sys 3.59 ( 2%) wall 3903 kB ( 7%) ggc reload CSE regs : 1.87 ( 1%) usr 0.02 ( 1%) sys 2.00 ( 1%) wall 1515 kB ( 3%) ggc load CSE after reload : 0.17 ( 0%) usr 0.00 ( 0%) sys 0.15 ( 0%) wall 5 kB ( 0%) ggc thread pro- & epilogue : 0.14 ( 0%) usr 0.00 ( 0%) sys 0.14 ( 0%) wall 6 kB ( 0%) ggc if-conversion 2 : 0.04 ( 0%) usr 0.00 ( 0%) sys 0.03 ( 0%) wall 0 kB ( 0%) ggc peephole 2 : 0.14 ( 0%) usr 0.00 ( 0%) sys 0.14 ( 0%) wall 8 kB ( 0%) ggc rename registers : 1.09 ( 0%) usr 0.00 ( 0%) sys 1.09 ( 0%) wall 836 kB ( 2%) ggc hard reg cprop : 1.28 ( 1%) usr 0.00 ( 0%) sys 1.28 ( 1%) wall 57 kB ( 0%) ggc scheduling 2 : 2.72 ( 1%) usr 0.00 ( 0%) sys 2.74 ( 1%) wall 93 kB ( 0%) ggc delay branch sched : 0.80 ( 0%) usr 0.00 ( 0%) sys 0.79 ( 0%) wall 573 kB ( 1%) ggc reorder blocks : 0.29 ( 0%) usr 0.00 ( 0%) sys 0.32 ( 0%) wall 304 kB ( 1%) ggc shorten branches : 0.15 ( 0%) usr 0.00 ( 0%) sys 0.16 ( 0%) wall 0 kB ( 0%) ggc final : 0.62 ( 0%) usr 0.01 ( 1%) sys 0.66 ( 0%) wall 22 kB ( 0%) ggc variable output : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 0 kB ( 0%) ggc tree if-combine : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall 0 kB ( 0%) ggc straight-line strength reduction: 0.03 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 0 kB ( 0%) ggc rest of compilation : 1.03 ( 0%) usr 0.01 ( 1%) sys 0.95 ( 0%) wall 1125 kB ( 2%) ggc remove unused locals : 0.07 ( 0%) usr 0.00 ( 0%) sys 0.08 ( 0%) wall 0 kB ( 0%) ggc address taken : 0.06 ( 0%) usr 0.02 ( 1%) sys 0.15 ( 0%) wall 0 kB ( 0%) ggc unaccounted todo : 0.85 ( 0%) usr 0.00 ( 0%) sys 0.81 ( 0%) wall 0 kB ( 0%) ggc verify loop closed : 0.22 ( 0%) usr 0.00 ( 0%) sys 0.20 ( 0%) wall 0 kB ( 0%) ggc verify RTL sharing : 5.96 ( 3%) usr 0.00 ( 0%) sys 5.87 ( 3%) wall 0 kB ( 0%) ggc rebuild frequencies : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 13 kB ( 0%) ggc repair loop structures : 0.03 ( 0%) usr 0.00 ( 0%) sys 0.04 ( 0%) wall 0 kB ( 0%) ggc TOTAL : 225.41 1.34 229.31 54282 kB Extra diagnostic checks enabled; compiler may run slowly. Configure with --enable-checking=release to disable checks. I.e. most of the time is spent in loop unswitching/loop unrolling/scheduling. I haven't yet tried how much difference release checking makes. Rainer