From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 37498 invoked by alias); 25 May 2018 11:04:31 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 37475 invoked by uid 89); 25 May 2018 11:04:30 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-11.4 required=5.0 tests=BAYES_00,GIT_PATCH_2,GIT_PATCH_3,KAM_NUMSUBJECT,KAM_SHORT,SPF_PASS autolearn=ham version=3.3.2 spammy=welcomed, msg00792html, optsh, HX-Amavis-Alert:HEADER X-HELO: mx2.suse.de Received: from mx2.suse.de (HELO mx2.suse.de) (195.135.220.15) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 25 May 2018 11:04:28 +0000 X-Amavis-Alert: BAD HEADER SECTION, MIME error: error: part did not end with expected boundary Received: from relay1.suse.de (charybdis-ext-too.suse.de [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id 7C35FAC3B for ; Fri, 25 May 2018 11:04:26 +0000 (UTC) Resent-From: =?UTF-8?Q?Martin_Li=c5=a1ka?= Resent-To: GCC Patches Resent-Date: Fri, 25 May 2018 13:04:26 +0200 Resent-Message-ID: <2f0726c8-797d-5dcc-4ba6-412d1b234199@suse.cz> Resent-User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0 Message-Id: From: marxin Date: Fri, 25 May 2018 11:04:00 -0000 Subject: [PATCH 0/3] Extend -falign-FOO=N to N[,M[,N2[,M2]]] version 9 To: gcc-patches@gcc.gnu.org Cc: dvlasenk@redhat.com MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------------2.16.3" X-IsSubscribed: yes X-SW-Source: 2018-05/txt/msg01489.txt.bz2 This is a multi-part message in MIME format. --------------2.16.3 Content-Type: text/plain; charset=UTF-8; format=fixed Content-Transfer-Encoding: 8bit Content-length: 4309 Hello. This is new version of Denis's patch series: https://gcc.gnu.org/ml/gcc-patches/2017-04/msg00792.html There are quite some changes from last iteration that I would like to mention: - -malign-* flags are not removed, it was not welcomed and can be eventually done independently - in the meantime -falign-* became Optimization flags: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84100#c4 Due to that we need to stream the flags for LTO, we need to preperly compare it (strcmp) in cl_optimization_eq function. - I changed separator from ',' to ':'. It's needed because #pragma GCC optimize uses comma as option separator - I simplified default values for processor_target_table from "16:16:8" -> "16". Because secondary alignment will never happen. - Per function support is working, one can see an example in added test-case: gcc/testsuite/gcc.target/i386/falign-functions-2.c The patchset is so far tested just on x86_64-linux-gnu with default values. I'll do more testing, but I want to show the to get a feedback. Thanks, Martin marxin (3): Add vec::reverse. Temporary remove "at least 8 byte alignment" code from x86 Extend -falign-FOO=N to N[:M[:N2[:M2]]] gcc/common.opt | 16 +-- gcc/common/config/i386/i386-common.c | 16 ++- gcc/config/aarch64/aarch64-protos.h | 6 +- gcc/config/aarch64/aarch64.c | 60 ++++----- gcc/config/alpha/alpha.c | 12 +- gcc/config/arm/arm.c | 7 +- gcc/config/i386/dragonfly.h | 10 +- gcc/config/i386/freebsd.h | 16 +-- gcc/config/i386/gas.h | 10 +- gcc/config/i386/gnu-user.h | 16 +-- gcc/config/i386/i386.c | 110 ++++++++--------- gcc/config/i386/i386.h | 2 +- gcc/config/i386/iamcu.h | 16 +-- gcc/config/i386/lynx.h | 6 +- gcc/config/i386/netbsd-elf.h | 6 +- gcc/config/i386/openbsdelf.h | 16 +-- gcc/config/i386/x86-64.h | 16 +-- gcc/config/mips/mips.c | 18 +-- gcc/config/rs6000/rs6000.c | 28 ++--- gcc/config/rx/rx.c | 18 ++- gcc/config/rx/rx.h | 6 +- gcc/config/sh/sh.c | 26 ++-- gcc/config/spu/spu.c | 3 +- gcc/config/visium/visium.c | 19 ++- gcc/doc/invoke.texi | 66 +++++++--- gcc/final.c | 6 + gcc/flags.h | 66 ++++++---- gcc/function.c | 3 + gcc/ipa-icf.c | 2 +- gcc/lto-streamer.h | 6 +- gcc/lto/lto.c | 4 +- gcc/optc-save-gen.awk | 95 ++++++++++++++- gcc/opth-gen.awk | 3 + gcc/opts.c | 108 ++++++++++++++--- gcc/opts.h | 7 ++ gcc/testsuite/gcc.dg/pr84100.c | 2 +- gcc/testsuite/gcc.target/i386/falign-functions-2.c | 30 +++++ gcc/testsuite/gcc.target/i386/falign-functions.c | 8 ++ gcc/toplev.c | 135 +++++++++++++++++---- gcc/toplev.h | 7 ++ gcc/tree-streamer-in.c | 2 +- gcc/tree-streamer-out.c | 2 +- gcc/tree.c | 20 +-- gcc/varasm.c | 9 +- gcc/vec.c | 38 ++++++ gcc/vec.h | 14 +++ 46 files changed, 736 insertions(+), 356 deletions(-) create mode 100644 gcc/testsuite/gcc.target/i386/falign-functions-2.c create mode 100644 gcc/testsuite/gcc.target/i386/falign-functions.c -- 2.16.3 --------------2.16.3--