From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 28947 invoked by alias); 22 Nov 2012 13:06:11 -0000 Received: (qmail 28839 invoked by uid 48); 22 Nov 2012 13:05:43 -0000 From: "hubicka at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug tree-optimization/38785] [4.5/4.6/4.7/4.8 Regression] huge performance regression on EEMBC bitmnp01 Date: Thu, 22 Nov 2012 13:06:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: tree-optimization X-Bugzilla-Keywords: missed-optimization, patch X-Bugzilla-Severity: normal X-Bugzilla-Who: hubicka at gcc dot gnu.org X-Bugzilla-Status: REOPENED X-Bugzilla-Priority: P2 X-Bugzilla-Assigned-To: amylaar at gcc dot gnu.org X-Bugzilla-Target-Milestone: 4.8.0 X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated Content-Type: text/plain; charset="UTF-8" MIME-Version: 1.0 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 X-SW-Source: 2012-11/txt/msg02136.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38785 --- Comment #38 from Jan Hubicka 2012-11-22 13:05:38 UTC --- yet another variant... void f (int i, long *a, long *b) { int sum = 0; for (; --i >= 0; a++, b++) { b[i] = 0; #define PART(I) if (t()) sum+=100+I; PART (1); PART (2); PART (3); PART (4); PART (5); PART (6); tt (sum); } } leads to... Starting insert iteration 1 Could not find SSA_NAME representative for expression:{plus_expr,sum_8,101} Created SSA_NAME representative pretmp_98 for expression:{plus_expr,sum_8,101} Could not find SSA_NAME representative for expression:{plus_expr,pretmp_98,102} Created SSA_NAME representative pretmp_99 for expression:{plus_expr,pretmp_98,102} Could not find SSA_NAME representative for expression:{plus_expr,pretmp_99,103} Created SSA_NAME representative pretmp_100 for expression:{plus_expr,pretmp_99,103} Could not find SSA_NAME representative for expression:{plus_expr,pretmp_100,104} Created SSA_NAME representative pretmp_101 for expression:{plus_expr,pretmp_100,104} Could not find SSA_NAME representative for expression:{plus_expr,pretmp_101,105} Created SSA_NAME representative pretmp_102 for expression:{plus_expr,pretmp_101,105} Could not find SSA_NAME representative for expression:{plus_expr,pretmp_100,105} Created SSA_NAME representative pretmp_103 for expression:{plus_expr,pretmp_100,105} Could not find SSA_NAME representative for expression:{plus_expr,pretmp_99,104} Created SSA_NAME representative pretmp_104 for expression:{plus_expr,pretmp_99,104} Could not find SSA_NAME representative for expression:{plus_expr,pretmp_104,105} Created SSA_NAME representative pretmp_105 for expression:{plus_expr,pretmp_104,105} Could not find SSA_NAME representative for expression:{plus_expr,pretmp_99,105} Created SSA_NAME representative pretmp_106 for expression:{plus_expr,pretmp_99,105} Could not find SSA_NAME representative for expression:{plus_expr,pretmp_98,103} Created SSA_NAME representative pretmp_107 for expression:{plus_expr,pretmp_98,103} Could not find SSA_NAME representative for expression:{plus_expr,pretmp_107,104} Created SSA_NAME representative pretmp_108 for expression:{plus_expr,pretmp_107,104} Could not find SSA_NAME representative for expression:{plus_expr,pretmp_108,105} Created SSA_NAME representative pretmp_109 for expression:{plus_expr,pretmp_108,105} Could not find SSA_NAME representative for expression:{plus_expr,pretmp_107,105} Created SSA_NAME representative pretmp_110 for expression:{plus_expr,pretmp_107,105} Could not find SSA_NAME representative for expression:{plus_expr,pretmp_98,104} Created SSA_NAME representative pretmp_111 for expression:{plus_expr,pretmp_98,104} Could not find SSA_NAME representative for expression:{plus_expr,pretmp_111,105} that eventually leads to a lot of unused pretmp vars.