public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
From: "jakub at gcc dot gnu dot org" <gcc-bugzilla@gcc.gnu.org> To: gcc-bugs@gcc.gnu.org Subject: [Bug rtl-optimization/40667] [4.4/4.5 Regression] stack frames are generated even with -fomit-frame-pointer Date: Thu, 09 Jul 2009 12:56:00 -0000 [thread overview] Message-ID: <20090709125643.19293.qmail@sourceware.org> (raw) In-Reply-To: <bug-40667-1600@http.gcc.gnu.org/bugzilla/> ------- Comment #7 from jakub at gcc dot gnu dot org 2009-07-09 12:56 ------- There are multiple places which bump crtl->stack_alignment_estimated to 64 during expansion in this case (thus forcing stack_realign_needed): if (SUPPORTS_STACK_ALIGNMENT) { unsigned int align = FUNCTION_ARG_BOUNDARY (data.promoted_mode, data.passed_type); if (TYPE_ALIGN (data.nominal_type) > align) align = TYPE_ALIGN (data.passed_type); if (crtl->stack_alignment_estimated < align && 0) { gcc_assert (!crtl->stack_realign_processed); crtl->stack_alignment_estimated = align; } } in assign_parms and: /* If a virtual register with bigger mode alignment is generated, increase stack alignment estimation because it might be spilled to stack later. */ if (SUPPORTS_STACK_ALIGNMENT && crtl->stack_alignment_estimated < align && !crtl->stack_realign_processed) crtl->stack_alignment_estimated = align; in gen_reg_rtx (DImode) called from parmreg = gen_reg_rtx (promoted_nominal_mode); in assign_parm_setup_reg. We'd need to arrange for these bumps not to happen for long long incoming parameters somehow. Another testcase: int f (long long x); long long x; int g (void) { f (x); return 0; } which would need something in expand_one_var: 1166 if (TREE_STATIC (var) || DECL_EXTERNAL (var)) 1167 align = TYPE_ALIGN (TREE_TYPE (var)); 1168 else 1169 align = DECL_ALIGN (var); 1170 1171 if (crtl->stack_alignment_estimated < align) 1172 { 1173 /* stack_alignment_estimated shouldn't change after stack 1174 realign decision made */ 1175 gcc_assert(!crtl->stack_realign_processed); 1176 crtl->stack_alignment_estimated = align; 1177 } -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40667
next prev parent reply other threads:[~2009-07-09 12:56 UTC|newest] Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top 2009-07-07 2:25 [Bug regression/40667] New: Performance regression: " mikulas at artax dot karlin dot mff dot cuni dot cz 2009-07-07 9:07 ` [Bug regression/40667] " rguenth at gcc dot gnu dot org 2009-07-07 14:41 ` hjl dot tools at gmail dot com 2009-07-07 16:48 ` mikulas at artax dot karlin dot mff dot cuni dot cz 2009-07-09 9:05 ` [Bug rtl-optimization/40667] [4.4/4.5 Regression] " ubizjak at gmail dot com 2009-07-09 9:20 ` ubizjak at gmail dot com 2009-07-09 11:45 ` jakub at gcc dot gnu dot org 2009-07-09 12:05 ` jakub at gcc dot gnu dot org 2009-07-09 12:56 ` jakub at gcc dot gnu dot org [this message] 2009-07-09 13:25 ` jakub at gcc dot gnu dot org 2009-07-09 13:58 ` hjl dot tools at gmail dot com 2009-07-09 15:49 ` rguenth at gcc dot gnu dot org 2009-07-09 16:24 ` jakub at gcc dot gnu dot org 2009-07-09 16:35 ` hjl dot tools at gmail dot com 2009-07-11 17:40 ` jakub at gcc dot gnu dot org 2009-07-11 19:06 ` jakub at gcc dot gnu dot org 2009-07-11 19:07 ` jakub at gcc dot gnu dot org 2009-07-23 11:13 ` mikulas at artax dot karlin dot mff dot cuni dot cz 2009-07-23 11:18 ` mikulas at artax dot karlin dot mff dot cuni dot cz 2009-07-23 11:36 ` jakub at gcc dot gnu dot org 2009-07-23 12:17 ` mikulas at artax dot karlin dot mff dot cuni dot cz 2009-07-23 12:34 ` jakub at gcc dot gnu dot org 2009-07-23 13:28 ` mikulas at artax dot karlin dot mff dot cuni dot cz 2009-08-08 10:41 ` mikulas at artax dot karlin dot mff dot cuni dot cz 2009-08-08 11:45 ` hjl dot tools at gmail dot com 2009-08-08 14:15 ` mikulas at artax dot karlin dot mff dot cuni dot cz 2009-08-11 21:01 ` mikulas at artax dot karlin dot mff dot cuni dot cz 2010-02-15 4:23 ` [Bug target/40667] " pinskia at gcc dot gnu dot org 2010-02-15 10:34 ` mikulas at artax dot karlin dot mff dot cuni dot cz 2010-06-29 21:17 ` [Bug target/40667] [4.4/4.5/4.6 " pinskia at gcc dot gnu dot org
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20090709125643.19293.qmail@sourceware.org \ --to=gcc-bugzilla@gcc.gnu.org \ --cc=gcc-bugs@gcc.gnu.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
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).