From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 21094 invoked by alias); 19 Mar 2015 10:04:46 -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 120862 invoked by uid 48); 19 Mar 2015 09:56:17 -0000 From: "vries at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug tree-optimization/65468] Optimize static schedule with chunk_size one Date: Thu, 19 Mar 2015 10:19: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-Version: 5.0 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: vries 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: Message-ID: In-Reply-To: References: 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-03/txt/msg01929.txt.bz2 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65468 --- Comment #1 from vries at gcc dot gnu.org --- Using the patch submitted for gomp-4_0-branch at https://gcc.gnu.org/ml/gcc-patches/2014-07/msg01881.html, we get a simple loop: ... bar._omp_fn.0 (struct .omp_data_s.0 & restrict .omp_data_i) { int i; int a; int _3; int * _10; unsigned int pretmp_14; unsigned int _16; unsigned int _17; unsigned int _19; unsigned int prephitmp_22; : _3 = __builtin_omp_get_num_threads (); i_4 = __builtin_omp_get_thread_num (); if (i_4 <= 9) goto ; else goto ; : # a_5 = PHI <0(2)> # i_2 = PHI : # a_18 = PHI # i_21 = PHI a_7 = a_18 + i_21; _19 = (unsigned int) _3; _17 = (unsigned int) i_21; _16 = _17 + _19; i_15 = (int) _16; if (i_15 <= 9) goto ; else goto ; : pretmp_14 = (unsigned int) a_7; : # prephitmp_22 = PHI _10 = &.omp_data_i_9(D)->a; __atomic_fetch_add_4 (_10, prephitmp_22, 0); [tail call] return; } ...