Re: [RFC PATCH, i386]: Remove special PIC related __cpuid definitions from config/i386/cpuid.h

2014-10-17 Thread Uros Bizjak
On Thu, Oct 16, 2014 at 12:25 PM, Uros Bizjak ubiz...@gmail.com wrote: Now that %ebx is also allocatable in PIC modes, we can cleanup config/i386/cpuid considerably. I propose to remove all PIC related specializations of __cpuid and __cpuid_count and protect the compilation with #if

Re: [PATCH Fortran] rename gfc_warning_cmdline to gfc_warning_now_2

2014-10-17 Thread Tobias Burnus
Manuel López-Ibáñez wrote: This patch is mostly cleanups, sorry for the churn. The next one will be far more interesting. Bootregtested on x86_64-linux-gnu. OK? Looks good to me. Thanks! Tobias gcc/fortran/ChangeLog: 2014-10-16 Manuel López-Ibáñez m...@gcc.gnu.org PR fortran/44054

Re: [PATCH diagnostics/fortran] dynamically generate locations from offset + handle %C

2014-10-17 Thread Tobias Burnus
Manuel López-Ibáñez wrote: This patch adds handling of Fortran %C using the common diagnostics machinery. This is achieved by dynamically generating a location given a location and an offset. This only works for non-macro line-maps (for now), but this is OK since Fortran does not have virtual

[libatomic PATCH] Fix libatomic behavior for big endian toolchain

2014-10-17 Thread Shiva Chen
Hi, I noticed that libatomic implementation for builtin function parameter smaller than word. It would shift the parameter value to word and then store word. However, the shift amount for big endian would be wrong. This patch fix libatomic builtin function behavior for big endian toolchain. Is

Re: [PATCH][0/n] Merge from match-and-simplify

2014-10-17 Thread Ramana Radhakrishnan
On 16/10/14 21:43, Andrew Pinski wrote: On Thu, Oct 16, 2014 at 1:38 PM, Sebastian Pop seb...@gmail.com wrote: Richard Biener wrote: I have posted 5 patches as part of a larger series to merge (parts) from the match-and-simplify branch. While I think there was overall consensus that the

Re: [PATCH 9/17] Initial KAsan support

2014-10-17 Thread Eric Botcazou
The patch was slightly updated to take care of missing UBSan work (SANITIZE_FLOAT_DIVIDE, SANITIZE_FLOAT_CAST, SANITIZE_BOUNDS). --- a/gcc/opts.c +++ b/gcc/opts.c @@ -868,6 +868,20 @@ finish_options (struct gcc_options *opts, struct gcc_options *opts_set, /* The -gsplit-dwarf option

Re: [PATCH][0/n] Merge from match-and-simplify

2014-10-17 Thread Ramana Radhakrishnan
On Wed, Oct 15, 2014 at 5:29 PM, Kyrill Tkachov kyrylo.tkac...@arm.com wrote: On 15/10/14 14:00, Richard Biener wrote: Any comments and reviews welcome (I don't think that my maintainership covers enough to simply check this in without approval). Hi Richard, The match-and-simplify

Re: [PATCH 9/17] Initial KAsan support

2014-10-17 Thread Yury Gribov
On 10/17/2014 11:27 AM, Eric Botcazou wrote: The patch was slightly updated to take care of missing UBSan work (SANITIZE_FLOAT_DIVIDE, SANITIZE_FLOAT_CAST, SANITIZE_BOUNDS). --- a/gcc/opts.c +++ b/gcc/opts.c @@ -868,6 +868,20 @@ finish_options (struct gcc_options *opts, struct gcc_options

Re: [PATCH 9/17] Initial KAsan support

2014-10-17 Thread Eric Botcazou
Well, that's a backport of ancient patch from trunk so all credits go there. And flag_sanitize is indeed handled differently from other compiler flags. Really curious to know why... -- Eric Botcazou

Re: [PATCH][4/n] Merge from match-and-simplify, hook into fold-const.c

2014-10-17 Thread Richard Biener
On Thu, 16 Oct 2014, Sebastian Pop wrote: Richard Biener wrote: To give you an example how it looks like, the following code is generated for /* fold_negate_exprs convert - (~A) to A + 1. */ (simplify (negate (bit_not @0)) (if (INTEGRAL_TYPE_P (type)) (plus @0 {

[PATCHv4][Kasan] Allow to override Asan shadow offset from command line

2014-10-17 Thread Yury Gribov
Hi all, On 09/29/2014 09:21 PM, Yury Gribov wrote: Kasan developers has asked for an option to override offset of Asan shadow memory region. This should simplify experimenting with memory layouts on 64-bit architectures. New patch which checks that -fasan-shadow-offset is only enabled for

Re: [PATCH][0/n] Merge from match-and-simplify

2014-10-17 Thread Richard Biener
On Thu, 16 Oct 2014, Sebastian Pop wrote: Richard Biener wrote: I have posted 5 patches as part of a larger series to merge (parts) from the match-and-simplify branch. While I think there was overall consensus that the idea behind the project is sound there are technical questions

Re: [PATCH][match-and-simplify] More ternary commutative ops, canonicalize operand order before generic_simplify

2014-10-17 Thread Richard Biener
On Thu, 16 Oct 2014, Jeff Law wrote: On 10/16/14 05:06, Richard Biener wrote: This patch (also applicable to trunk) makes us canoncialize operand order for comparisons at the same time we canonicalize other operand order, in particular before dispatching to generic_simplify. It also

Re: [PATCH] Fix range test optimization (PR tree-optimization/63302)

2014-10-17 Thread Richard Biener
On Fri, 17 Oct 2014, Jakub Jelinek wrote: Hi! This patch fixes PR63302 by using proper predicate to test if an INTEGER_CST is a not power of 2. While the issue has been originally reported for PA, the testcase shows the same issue on x86_64 (just with __int128 instead of long long).

Re: [PATCH] Optimize range tests into bittests (PR tree-optimization/63464)

2014-10-17 Thread Richard Biener
On Fri, 17 Oct 2014, Jakub Jelinek wrote: Hi! This patch optimizes some range tests into bit tests, like we already do for switches in emit_case_bit_tests, but this time for a series of ored equality or anded non-equality comparisons. If at least 3 comparisons (after the contiguous range,

Re: [PATCH][0/n] Merge from match-and-simplify

2014-10-17 Thread Richard Biener
On Fri, 17 Oct 2014, Ramana Radhakrishnan wrote: On Wed, Oct 15, 2014 at 5:29 PM, Kyrill Tkachov kyrylo.tkac...@arm.com wrote: On 15/10/14 14:00, Richard Biener wrote: Any comments and reviews welcome (I don't think that my maintainership covers enough to simply check this in

[ARM] Fix DWARF unwinding breakage

2014-10-17 Thread Eric Botcazou
Hi, some OSes, for example VxWorks 6, still use DWARF unwinding on the ARM, which means that they use __builtin_eh_return (EABI unwinding doesn't). The builtin is implemented by means of {arm|thumb}_set_return_address, which can generate a store if LR has been stored on function entry. The

Pasto in is_old_name: s/new_ssa_names/old_ssa_names/g

2014-10-17 Thread Marc Glisse
Hello, this trivial fix was pre-approved by Richard, I regtested and committed it. 2014-10-17 Marc Glisse marc.gli...@inria.fr * tree-into-ssa.c (is_old_name): Replace new with old. --- tree-into-ssa.c (revision 216366) +++ tree-into-ssa.c (working copy) @@ -572,23 +572,23

[Ada] Missing inheritance of pragma Default_Initial_Condition

2014-10-17 Thread Arnaud Charlet
This patch modifies the inheritance of all attributes related to pragma Default_Initial_Condition to account for a case where the full view of a private type derives from another private type. -- Source -- -- parent.ads package Parent is type Parent_Typ is private

Re: [fortran,patch] Handle infinities and NaNs in intrinsics code generation

2014-10-17 Thread Tobias Burnus
Hi FX, FX wrote: After the compile-time simplification, this patch fixes the handling of special values (infinities and NaNs) by intrinsics EXPONENT, FRACTION, SPACING, RRSPACING SET_EXPONENT Bootstrapped and regtested on x86_64-linux. OK to commit? Looks good to me. Thanks for taking

[Ada] Ensure record type equality treated correctly for codepeer

2014-10-17 Thread Arnaud Charlet
This is an internal change that does not affect the compiler, but fixes a problem in which a record comparison was not properly expanded. The compiler back end handled this, but it blew up codepeer. No further test required. Tested on x86_64-pc-linux-gnu, committed on trunk 2014-10-17 Robert

[Ada] Make System.Atomic_Counters available to user applications

2014-10-17 Thread Arnaud Charlet
The system unit System.Atomic_Counters which provides an atomic counter type, along with increment, decrement and test operations, available to user programs. Tested on x86_64-pc-linux-gnu, committed on trunk 2014-10-17 Robert Dewar de...@adacore.com * gnat_rm.texi: Document

Re: [PATCH 9/17] Initial KAsan support

2014-10-17 Thread Yury Gribov
On 10/17/2014 11:43 AM, Eric Botcazou wrote: Well, that's a backport of ancient patch from trunk so all credits go there. And flag_sanitize is indeed handled differently from other compiler flags. Really curious to know why... I bet this was a typo but let's wait for Jakub's comments. -Y

Re: [PATCH][4/n] Merge from match-and-simplify, hook into fold-const.c

2014-10-17 Thread Richard Biener
On Fri, 17 Oct 2014, Richard Biener wrote: On Thu, 16 Oct 2014, Sebastian Pop wrote: Richard Biener wrote: To give you an example how it looks like, the following code is generated for /* fold_negate_exprs convert - (~A) to A + 1. */ (simplify (negate (bit_not @0))

Re: [PATCH][match-and-simplify] More ternary commutative ops, canonicalize operand order before generic_simplify

2014-10-17 Thread Richard Biener
On Fri, 17 Oct 2014, Richard Biener wrote: On Thu, 16 Oct 2014, Jeff Law wrote: On 10/16/14 05:06, Richard Biener wrote: This patch (also applicable to trunk) makes us canoncialize operand order for comparisons at the same time we canonicalize other operand order, in particular

[Ada] String literal is allowed for pragma Warnings in Ada 83

2014-10-17 Thread Arnaud Charlet
Documentation change only, no further test required Tested on x86_64-pc-linux-gnu, committed on trunk 2014-10-17 Robert Dewar de...@adacore.com * gnat_rm.texi: Document that string literal can be used for pragma Warnings when operating in Ada 83 mode. Index: gnat_rm.texi

[Ada] Class-wide type invariants for type extensions in other units.

2014-10-17 Thread Arnaud Charlet
A class-wide type invariant is inherited by a type extension, and incorporated into the invariant procedure for that type. When the expression for such an invariant (typically a function call) is first analyzed, we must preserve some semantic information in it, because the type extension may be

[PATCH,i686]: Temporary fir for PR63566

2014-10-17 Thread Martin Liška
Hello. After IRC discussion, IPA ICF will set local flag to false for both original and node that becomes an alias. That will enforce equal calling convention to be use. i686-pc-linux bootstrap has been still running, I will commit the fix as soon as it finishes. I consider it as

[Ada] Fix obscure case of compiler crash on bad attribute

2014-10-17 Thread Arnaud Charlet
This fixes an error in the handling of attributes where the prefix raises an exception. This resulted from other errors in the program. No simple test case has been found, but the correction is clearly safe. Tested on x86_64-pc-linux-gnu, committed on trunk 2014-10-17 Robert Dewar

[Ada] Better messages for missing entities in configurable runtime

2014-10-17 Thread Arnaud Charlet
A new mechanism has been implemented that allows specialization of error messages for missing entities in a configurable run-time. Instead of just outputting the (sometimes obscure) name of the entity involved, a more meaningful message can be issued. This new mechanism is used for a case of

[Ada] Short_Integer should be considered implementation defined

2014-10-17 Thread Arnaud Charlet
For the purposes of restriction No_Implementation_Identifiers, Standard.Short_Integer should be considered as being implementation defined and this was not the case. In addition, this patch fixes a compiler blow up with a compiler built with assertions in the test for implementation-defined

Re: [PATCH,1/2] Extended if-conversion for loops marked with pragma omp simd.

2014-10-17 Thread Richard Biener
On Thu, Oct 16, 2014 at 5:42 PM, Yuri Rumyantsev ysrum...@gmail.com wrote: Richard, Here is reduced patch as you requested. All your remarks have been fixed. Could you please look at it ( I have already sent the patch with changes in add_to_predicate_list for review). + if

[Ada] Better error message for illegal iterator expression

2014-10-17 Thread Arnaud Charlet
This patch improves the error message on an iterator specification whose name is a function call that does not yield a type that implements an iterator interface. Compiling try_containers.adb must yield: try_containers.adb:17:18: expect object that implements iterator interface -- with

[Ada] Directories are no longer created for abstract projects

2014-10-17 Thread Arnaud Charlet
Directories such as object directories are no longer created for abstract projects when the builder (gnatmake or gprbuild) is called with -P or with --subdirs=..., even when there is no explicit indication in the abstract project that there are no sources in the project. Tested on

[linaro/gcc-4_9-branch] Merge from gcc-4_9-branch and backports

2014-10-17 Thread Yvan Roux
Hi all we have merged the gcc-4_9-branch into linaro/gcc-4_9-branch up to revision 216130 as r216256. We have also backported this set of revisions: r209643 as 215975 : [AArch64] Define TARGET_FLAGS_REGNUM r211881 as 215975 : PR target/61565 r213035 as 215846 : [AArch64] libitm: Improve

[Ada] Internal clean up (use Is_Directory_Separator)

2014-10-17 Thread Arnaud Charlet
This is an internal clean up to use an existing abstraction more extensively. No external effect, no test required. Tested on x86_64-pc-linux-gnu, committed on trunk 2014-10-17 Robert Dewar de...@adacore.com * gnatcmd.adb, make.adb, prj-part.adb, gnatlink.adb, prj-nmsc.adb,

[patch] LWG 2019 - std::isblankC(C, const std::locale)

2014-10-17 Thread Jonathan Wakely
http://cplusplus.github.io/LWG/lwg-defects.html#2019 I've checked the relevant _ISblank/_ISBLANK/_CTYPE_B constant on all targets except VxWorks where I chose something that looks reasonable. Not all targets reserve a bit for isblank, but this way ctype_base::blank is always defined, but on

[RS6000] Fix -mlongcall with nested functions on AIX

2014-10-17 Thread Eric Botcazou
Hi, -mlongcall miscompiles nested functions with the AIX ABI. The problem is that, when -mlongcall is in effect, rs6000_call_aix redirects all calls to: /* Handle indirect calls. */ if (GET_CODE (func_desc) != SYMBOL_REF || (DEFAULT_ABI == ABI_AIX !SYMBOL_REF_FUNCTION_P

[patch, rfc] fix warning building libssp in C11 mode

2014-10-17 Thread Matthias Klose
Building libssp in C11 mode shows a warning for 64bit configurations, ../../../src/libssp/gets-chk.c:62:12: warning: return makes pointer from integer without a cast [-Wint-conversion] Currently working around by adding a prototype in gets-chk.c, conditionally defined by the inverted condition

Re: -fuse-caller-save - Collect register usage information

2014-10-17 Thread Tom de Vries
On 16-10-14 23:46, Eric Botcazou wrote: Having said that, in my mind, what is confusing about the name -fuse-caller-save, is that in fact the caller-save registers are already used in register allocation. It's just that they're used across calls without the need to save them, but

Re: -fuse-caller-save - Collect register usage information

2014-10-17 Thread Richard Biener
On Fri, Oct 17, 2014 at 12:47 PM, Tom de Vries tom_devr...@mentor.com wrote: On 16-10-14 23:46, Eric Botcazou wrote: Having said that, in my mind, what is confusing about the name -fuse-caller-save, is that in fact the caller-save registers are already used in register allocation. It's just

Re: [PATCHv4][Kasan] Allow to override Asan shadow offset from command line

2014-10-17 Thread Jakub Jelinek
On Fri, Oct 17, 2014 at 11:53:01AM +0400, Yury Gribov wrote: From 0225b7878bbb5b803814646d089824d016316fef Mon Sep 17 00:00:00 2001 From: Yury Gribov y.gri...@samsung.com Date: Thu, 16 Oct 2014 18:31:10 +0400 Subject: [PATCH 1/2] Add strtoull to libiberty. 2014-10-17 Yury Gribov

[C PATCH] Enable initializing statics with COMPOUND_LITERAL_EXPR in C99 (PR c/63567)

2014-10-17 Thread Marek Polacek
Building Linux kernel failed with 'error: initializer element is not constant', because they're initializing objects with static storage duration with (T){ ...} - and that isn't permitted in gnu99/gnu11. I think the Right Thing is to allow some latitude here and enable it even in gnu99/gnu11

[PATCH] Don't expand string/memory builtins if ASan is enabled.

2014-10-17 Thread Maxim Ostapenko
Hi, this patch disables string/memory builtin functions inlining if ASan is enabled. As described in my previous post (https://gcc.gnu.org/ml/gcc/2014-09/msg00020.html), this allow us to be sure that some dangerous builtins (strcpy, stpcpy, etc) will be handled correctly. Also, some

[C PATCH] Make -Wno-implicit-int work in C99 mode

2014-10-17 Thread Marek Polacek
C99 mode warns about defaulting to int by default, but without the possibility to suppress the warning with -Wno-implicit-int. This is likely to arouse the ire of the users, especially with the new default. Therefore the following patch tweaks warn_implicit_int in such a way that -Wimplicit and

[PATCH][match-and-simplify] Merge from trunk

2014-10-17 Thread Richard Biener
Lightly tested, committed. Richard. 2014-10-17 Richard Biener rguent...@suse.de Merge from trunk r216316 through r216394.

Re: [PATCH][0/n] Merge from match-and-simplify

2014-10-17 Thread Richard Biener
On Fri, 17 Oct 2014, Richard Biener wrote: On Fri, 17 Oct 2014, Ramana Radhakrishnan wrote: On Wed, Oct 15, 2014 at 5:29 PM, Kyrill Tkachov kyrylo.tkac...@arm.com wrote: On 15/10/14 14:00, Richard Biener wrote: Any comments and reviews welcome (I don't think that my

Re: [PATCH 9/17] Initial KAsan support

2014-10-17 Thread Jakub Jelinek
On Fri, Oct 17, 2014 at 12:44:26PM +0400, Yury Gribov wrote: On 10/17/2014 11:43 AM, Eric Botcazou wrote: Well, that's a backport of ancient patch from trunk so all credits go there. And flag_sanitize is indeed handled differently from other compiler flags. Really curious to know why...

[PATCH] PR63442 ICE with ubsan/overflow-int128.c test on AArch64

2014-10-17 Thread Jiong Wang
the cause should be one minor bug in prepare_cmp_insn. the last mode parameter pmode of prepare_cmp_insn should match the mode of the first parameter x, while during the recursive call of prepare_cmp_insn, x is with mode of targetm.libgcc_cmp_return_mode () while pmode is assign to word_mode.

Re: [PATCH 0/17] KASan 4.9 backport

2014-10-17 Thread Jakub Jelinek
On Thu, Oct 16, 2014 at 12:34:35PM +0400, Yury Gribov wrote: Hi all, As discussed in https://gcc.gnu.org/ml/gcc/2014-09/msg00234.html , this patchset backports mainline patches necessary for Kernel ASan in GCC 4.9 (gcc-4_9-branch). The patcheset consists of * Asan headers installation (1

[v3 patch] partially fix testsuite/27_io/headers/cstdio/types_std.cc

2014-10-17 Thread Jonathan Wakely
testsuite/27_io/headers/cstdio/types_std.cc FAILs on dragonflybsd: /mnt/gcc-src/libstdc++-v3/testsuite/27_io/headers/cstdio/types_std.cc:25:13: error: aggregate 'FILE gnu::f' has incomplete type and cannot be defined /mnt/gcc-src/libstdc++-v3/testsuite/27_io/headers/cstdio/types_std.cc:26:13:

Re: [libstdc++ PATCH] Implement the Library Fundamentals v1 variable templates for type traits

2014-10-17 Thread Jonathan Wakely
On 16/10/14 23:04 +0300, Ville Voutilainen wrote: Argh, needed to do uglification, and formatting fixes. Also renamed the Dummy types in tests to something a bit more descriptive. I'm not using the tr2 test types because the test types in these tests are amalgamations of multiple properties to

Re: [PATCH] Don't expand string/memory builtins if ASan is enabled.

2014-10-17 Thread Jakub Jelinek
On Fri, Oct 17, 2014 at 03:45:52PM +0400, Maxim Ostapenko wrote: Patch also changes logic in asan_mem_ref_hash updating. I eliminated memory ref access size from hash computing, so all accesses for same memory reference have the same hash. Updating of asan_mem_ref_hash occurs only if new

Re: [PATCH i386 AVX512] [75/n] Update vec_init.

2014-10-17 Thread Kirill Yukhin
Hello Jakub, On 15 Oct 18:23, Jakub Jelinek wrote: On Thu, Oct 09, 2014 at 04:13:25PM +0400, Kirill Yukhin wrote: --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -39821,6 +39823,9 @@ ix86_expand_vector_init_duplicate (bool mmx_ok, enum machine_mode mode, goto widen;

Re: [PATCH][1/n] Merge from match-and-simplify, public API

2014-10-17 Thread Jakub Jelinek
On Wed, Oct 15, 2014 at 01:40:07PM +0200, Richard Biener wrote: 2014-10-15 Richard Biener rguent...@suse.de * gimple-fold.h (gimple_build): Declare various overloads. (gimple_simplify): Likewise. (gimple_convert): Re-implement in terms of gimple_build. *

[committed] Fix ChangeLog entry

2014-10-17 Thread Kyrill Tkachov
Hi all, I've committed the attached as obvious to fix up a whitespace issue in a patch I committed recently. This is r216399. Cheers, Kyrilldiff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9e35d69b..5a09e3e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -136,8 +136,8 @@ *

Re: [PATCH i386 AVX512] [80/n] Extend expand_sse2_mulvxdi3.

2014-10-17 Thread Kirill Yukhin
Hello Uroš, On 16 Oct 14:29, Uros Bizjak wrote: + if (mode == V4DImode) + emit_insn (gen_avx512dq_mulv4di3 (op0, op1, op2)); + else if (mode == V2DImode) + emit_insn (gen_avx512dq_mulv4di3 (op0, op1, op2)); Should this be v2di ? Right, copy-and-paste

Re: [PATCHv4][Kasan] Allow to override Asan shadow offset from command line

2014-10-17 Thread Ian Lance Taylor
Jakub Jelinek ja...@redhat.com writes: Not sure if there aren't extra steps to make strtoull prototype available in system.h, libiberty.h etc. for systems that don't have strtoull in their headers. See the #if defined(HAVE_DECL_XXX) !HAVE_DECL_XXX lines in include/libiberty.h. Although

[wwwdocs] Add recent C++ changes to gcc-5/changes.html

2014-10-17 Thread Jonathan Wakely
Committed to CVS. ? htdocs/gcc-5/.changes.html.swp Index: htdocs/gcc-5/changes.html === RCS file: /cvs/gcc/wwwdocs/htdocs/gcc-5/changes.html,v retrieving revision 1.18 diff -u -r1.18 changes.html --- htdocs/gcc-5/changes.html 15 Oct

Re: [PATCH i386 AVX512] [80/n] Extend expand_sse2_mulvxdi3.

2014-10-17 Thread Uros Bizjak
On Fri, Oct 17, 2014 at 2:32 PM, Kirill Yukhin kirill.yuk...@gmail.com wrote: Hello Uroš, On 16 Oct 14:29, Uros Bizjak wrote: + if (mode == V4DImode) + emit_insn (gen_avx512dq_mulv4di3 (op0, op1, op2)); + else if (mode == V2DImode) + emit_insn

Re: [PATCH][1/n] Merge from match-and-simplify, infrastructure

2014-10-17 Thread Jakub Jelinek
On Wed, Oct 15, 2014 at 01:39:33PM +0200, Richard Biener wrote: 2014-10-15 Richard Biener rguent...@suse.de Shouldn't Prathamesh be listed as co-author of the patch? + fprintf (f, case SSA_NAME:\n); + fprintf (f, {\n); + fprintf (f, gimple def_stmt = SSA_NAME_DEF_STMT

Re: [PATCH][3/n] Merge from match-and-simplify, first patterns and questions

2014-10-17 Thread Jakub Jelinek
On Wed, Oct 15, 2014 at 01:40:49PM +0200, Richard Biener wrote: This adds a bunch of simplifications with constant operands or ones that simplify to constants, such as a + 0, x * 1. It's a patch mainly to get a few questions answered for further pattern merges: - The branch uses

Re: [PATCH i386 AVX512] [75/n] Update vec_init.

2014-10-17 Thread Jakub Jelinek
On Fri, Oct 17, 2014 at 04:28:12PM +0400, Kirill Yukhin wrote: I wonder whether for these modes it can ever be beneficial to build them through interleaves/concatenations etc., if it wouldn't be better to build them by storing all values into memory and just reading it back. I've tried this

Re: [PATCH i386 AVX512] [75/n] Update vec_init.

2014-10-17 Thread Uros Bizjak
On Fri, Oct 17, 2014 at 2:57 PM, Jakub Jelinek ja...@redhat.com wrote: On Fri, Oct 17, 2014 at 04:28:12PM +0400, Kirill Yukhin wrote: I wonder whether for these modes it can ever be beneficial to build them through interleaves/concatenations etc., if it wouldn't be better to build them by

Re: [PATCH] Don't expand string/memory builtins if ASan is enabled.

2014-10-17 Thread Yury Gribov
On 10/17/2014 04:24 PM, Jakub Jelinek wrote: +/* Returns TRUE if given FCODE corresponds to string or memory builtin function. + */ + +static inline bool +is_memory_builtin (enum built_in_function fcode) +{ + return fcode = BUILT_IN_STRSTR fcode = BUILT_IN_BCMP; This is too fragile and

Re: [PATCH] Don't expand string/memory builtins if ASan is enabled.

2014-10-17 Thread Jakub Jelinek
On Fri, Oct 17, 2014 at 05:01:33PM +0400, Yury Gribov wrote: On 10/17/2014 04:24 PM, Jakub Jelinek wrote: +/* Returns TRUE if given FCODE corresponds to string or memory builtin function. + */ + +static inline bool +is_memory_builtin (enum built_in_function fcode) +{ + return fcode =

Re: [PATCH] Simple improvement for predicate computation in if-convert phase.

2014-10-17 Thread Yuri Rumyantsev
Jeff, I prepared another patch that includes test-case as you requested. Below are answers on your questions. First, for the benefit of anyone trying to understand what you're doing, defining what cd equivalent means would be helpful. I added the following comment to function: fwe call

Re: [PATCH] support ggc hash_map and hash_set

2014-10-17 Thread Alan Lawrence
Sorry, somehow I missed this email. Yes, that appears to have fixed it! Thank you very much, Alan Trevor Saunders wrote: On Tue, Sep 09, 2014 at 03:37:26PM +0100, Alan Lawrence wrote: Following this, we're seeing ICEs in tests in gcc.dg/pch.exp and g++.dg/pch.exp, with cross-builds (hosted on

[PATCH] Fix for PR63569

2014-10-17 Thread Martin Liška
Hello. Following patch fixes PR63569. Bootstrap executed on ppc64-linux and no regression seen on x86_64-pc-linux. Ready for trunk? Thank you, Martin gcc/testsuite/ChangeLog: 2014-10-17 Martin Liska mli...@suse.cz * gcc.dg/ipa/ipa-icf-31.c: New test. gcc/ChangeLog: 2014-10-17

Re: [PATCH 0/17] KASan 4.9 backport

2014-10-17 Thread Yury Gribov
On 10/17/2014 04:12 PM, Jakub Jelinek wrote: I had a brief look at what ended up on the branch in the end, and from what I understand, the 4.9 libasan.so has __asan_report_store_n and __asan_report_load_n entry points, but does not have any __asan_loadN/__asan_reportN entrypoints (neither

Re: [PATCH 0/17] KASan 4.9 backport

2014-10-17 Thread Jakub Jelinek
On Fri, Oct 17, 2014 at 05:45:17PM +0400, Yury Gribov wrote: On 10/17/2014 04:12 PM, Jakub Jelinek wrote: I had a brief look at what ended up on the branch in the end, and from what I understand, the 4.9 libasan.so has __asan_report_store_n and __asan_report_load_n entry points, but does not

Re: [PATCH 7/n] OpenMP 4.0 offloading infrastructure: testsuite

2014-10-17 Thread Ilya Verbin
On 15 Oct 17:35, Jakub Jelinek wrote: But we do want to test them with host fallback, which those lines preclude. Just a single dg-require-effective-target offload_device guarded test (which there necessarily is, e.g. the 57.* ones) should be sufficient for your purposes (if you want to diff

[PARCH 1/2, x86, PR63534] Fix darwin bootstrap

2014-10-17 Thread Evgeny Stupachenko
Hi, The patch fixes 1st fail in darwin bootstarp. When PIC register is pseudo we don't need to init it after setjmp or non local goto. Is it ok? ChangeLog: 2014-10-17 Evgeny Stupachenko evstu...@gmail.com PR target/63534 * config/i386/i386.c (builtin_setjmp_receiver):

Re: [PATCH,1/2] Extended if-conversion for loops marked with pragma omp simd.

2014-10-17 Thread Yuri Rumyantsev
Richard, I reworked the patch as you proposed, but I didn't understand what did you mean by: So please rework the patch so critical edges are always handled correctly. In current patch flag_force_vectorize is used (1) to reject phi nodes with more than 2 arguments; (2) to reject basic blocks

Re: [PATCH 0/17] KASan 4.9 backport

2014-10-17 Thread Yury Gribov
On 10/17/2014 05:49 PM, Jakub Jelinek wrote: Plus if you add misalign tests... Sure, can do this on Monday. - bool use_calls = ASAN_INSTRUMENTATION_WITH_CALL_THRESHOLD INT_MAX - asan_num_accesses = ASAN_INSTRUMENTATION_WITH_CALL_THRESHOLD; + bool use_calls +=

[PARCH 2/2, x86, PR63534] Fix darwin bootstrap

2014-10-17 Thread Evgeny Stupachenko
Hi, Some instructions (like one in PR63534) could have hidden use of PIC register. Therefore we need to leave SET_GOT not deleted till reload completed. The patch prevents SET_GOT from deleting while PIC register is pseudo. Is it ok? ChangeLog: 2014-10-17 Evgeny Stupachenko

Re: [PATCH 0/17] KASan 4.9 backport

2014-10-17 Thread Jakub Jelinek
On Fri, Oct 17, 2014 at 06:15:11PM +0400, Yury Gribov wrote: On 10/17/2014 05:49 PM, Jakub Jelinek wrote: Plus if you add misalign tests... Sure, can do this on Monday. Ok, thanks. - bool use_calls = ASAN_INSTRUMENTATION_WITH_CALL_THRESHOLD INT_MAX - asan_num_accesses =

Re: [PATCH 7/n] OpenMP 4.0 offloading infrastructure: testsuite

2014-10-17 Thread Jakub Jelinek
On Fri, Oct 17, 2014 at 06:02:11PM +0400, Ilya Verbin wrote: --- /dev/null +++ b/libgomp/testsuite/libgomp.c++/examples-4/e.53.2.C @@ -0,0 +1,43 @@ +// { dg-do run } +// { dg-require-effective-target offload_device } Well, this test actually relies not only offload_device, but also on

Re: [PATCH i386 AVX512 Boostrap] [80/n] Extend expand_sse2_mulvxdi3.

2014-10-17 Thread Kirill Yukhin
Hello, This is fix for bootstrap failure. Is it OK? gcc/ * config/i386/i386.c (ix86_expand_sse2_mulvxdi3): Refactor conditions to fix bootstrap. -- Thanks, K diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 7040200..3ddaf3d 100644 --- a/gcc/config/i386/i386.c

Re: [PATCH i386 AVX512 Boostrap] [80/n] Extend expand_sse2_mulvxdi3.

2014-10-17 Thread Uros Bizjak
On Fri, Oct 17, 2014 at 4:25 PM, Kirill Yukhin kirill.yuk...@gmail.com wrote: Hello, This is fix for bootstrap failure. Is it OK? gcc/ * config/i386/i386.c (ix86_expand_sse2_mulvxdi3): Refactor conditions to fix bootstrap. Well, OK. Uros.

Re: [PARCH 2/2, x86, PR63534] Fix darwin bootstrap

2014-10-17 Thread Jakub Jelinek
On Fri, Oct 17, 2014 at 06:16:41PM +0400, Evgeny Stupachenko wrote: Hi, Some instructions (like one in PR63534) could have hidden use of PIC register. Therefore we need to leave SET_GOT not deleted till reload completed. The patch prevents SET_GOT from deleting while PIC register is pseudo.

[PATCH, x86, 63534] Fix '-p' profile for 32 bit PIC mode

2014-10-17 Thread Evgeny Stupachenko
Hi, The patch fixes profile in 32bits PIC mode (only -p option affected). x86 bootstrap, make check passed spec2000 o2 -p train data on Corei7: CINT -5% CFP +1,5 compared to a compiler before enabling ebx. There is a potential performance improve after the patch applied suggested by Jakub:

Re: [PATCH 0/17] KASan 4.9 backport

2014-10-17 Thread Yury Gribov
On 10/17/2014 06:18 PM, Jakub Jelinek wrote: On Fri, Oct 17, 2014 at 06:15:11PM +0400, Yury Gribov wrote: On 10/17/2014 05:49 PM, Jakub Jelinek wrote: Plus if you add misalign tests... Sure, can do this on Monday. Ok, thanks. - bool use_calls = ASAN_INSTRUMENTATION_WITH_CALL_THRESHOLD

Re: [PATCH, x86, 63534] Fix '-p' profile for 32 bit PIC mode

2014-10-17 Thread Jakub Jelinek
On Fri, Oct 17, 2014 at 06:30:42PM +0400, Evgeny Stupachenko wrote: Hi, The patch fixes profile in 32bits PIC mode (only -p option affected). x86 bootstrap, make check passed spec2000 o2 -p train data on Corei7: CINT -5% CFP +1,5 compared to a compiler before enabling ebx. There

Re: [PARCH 2/2, x86, PR63534] Fix darwin bootstrap

2014-10-17 Thread Evgeny Stupachenko
Yes, unconditionally. If pic_reg is unused, RA will allocate a hard register for it and treat it as free, DCE after reload will delete SET_GOT. On Fri, Oct 17, 2014 at 6:20 PM, Jakub Jelinek ja...@redhat.com wrote: On Fri, Oct 17, 2014 at 06:16:41PM +0400, Evgeny Stupachenko wrote: Hi, Some

[PATCH 0/5] Add preferred_for_{size,speed} attributes

2014-10-17 Thread Richard Sandiford
This patch implements the approach I suggested in: https://gcc.gnu.org/ml/gcc-patches/2014-10/msg00371.html for fixing PR61360. To recap, the problem is with the use of enabled in the i386.md pattern: (define_insn *floatSWI48:modeMODEF:mode2_sse [(set (match_operand:MODEF 0

[PATCH 1/5] Add recog_constrain_insn

2014-10-17 Thread Richard Sandiford
This patch just adds a new utility function called recog_constrain_insn, to go alongside the existing recog_constrain_insn_cached. Note that the extract_insn in lra.c wasn't used when checking is disabled. The function just moved on to the next instruction straight away. Richard gcc/ *

[PATCH 2/5] Add preferred_for_{size,speed} attributes

2014-10-17 Thread Richard Sandiford
This is the main patch, to add new preferred_for_size and preferred_for_speed attributes that can be used to selectively disable alternatives when optimising for size or speed. As explained in the docs, the new attributes are just optimisation hints and it is possible that size-only alternatives

[PATCH 3/5] Pass an alternative_mask to constrain_operands

2014-10-17 Thread Richard Sandiford
After the previous patch there are cases where we want to constrain operands to any enabled alternative and cases where we want to also take size/speed preferences into account. The former applies when constraining an existing instruction (which might originally have been in a block with a

[PATCH 4/5] Remove recog_data.enabled_alternatives

2014-10-17 Thread Richard Sandiford
After the previous patches, this one gets rid of recog_data.enabled_alternatives and its one remaining use. Richard gcc/ * recog.h (recog_data_d): Remove enabled_alternatives. * recog.c (extract_insn): Don't set it. * reload.c (find_reloads): Call

[PATCH 5/5] Use preferred_for_speed in i386.md

2014-10-17 Thread Richard Sandiford
Undo the original fix for 61630 and use preferred_for_speed in the problematic pattern. I've not written many gcc.target/i386 tests so the markup might need some work. Richard gcc/ * lra.c (lra): Remove call to recog_init. * config/i386/i386.md (preferred_for_speed): New

Re: [PATCH 7/n] OpenMP 4.0 offloading infrastructure: testsuite

2014-10-17 Thread Ilya Verbin
On 17 Oct 16:14, Jakub Jelinek wrote: -volatile int v; +volatile int v = 0; Why? Ok, I'll revert it back. --- a/libgomp/testsuite/libgomp.c/target-7.c +++ b/libgomp/testsuite/libgomp.c/target-7.c @@ -1,7 +1,9 @@ +// { dg-require-effective-target offload_device } + Why? The

Re: [PATCH 7/n] OpenMP 4.0 offloading infrastructure: testsuite

2014-10-17 Thread Jakub Jelinek
On Fri, Oct 17, 2014 at 06:58:17PM +0400, Ilya Verbin wrote: Here in the original test you have: #pragma omp target if (v = 1) if (omp_get_level () != 0 || (f !omp_is_initial_device ())) abort (); #pragma omp target device (d) if (v = 1) if (omp_get_level () != 0 || (f

Re: [PATCH 7/n] OpenMP 4.0 offloading infrastructure: testsuite

2014-10-17 Thread Ilya Verbin
On 17 Oct 17:10, Jakub Jelinek wrote: On Fri, Oct 17, 2014 at 06:58:17PM +0400, Ilya Verbin wrote: Here in the original test you have: #pragma omp target if (v = 1) if (omp_get_level () != 0 || (f !omp_is_initial_device ())) abort (); #pragma omp target device (d) if (v =

Re: [PATCH 7/n] OpenMP 4.0 offloading infrastructure: testsuite

2014-10-17 Thread Jakub Jelinek
On Fri, Oct 17, 2014 at 07:17:31PM +0400, Ilya Verbin wrote: On 17 Oct 17:10, Jakub Jelinek wrote: On Fri, Oct 17, 2014 at 06:58:17PM +0400, Ilya Verbin wrote: Here in the original test you have: #pragma omp target if (v = 1) if (omp_get_level () != 0 || (f

Re: [PATCH 7/n] OpenMP 4.0 offloading infrastructure: testsuite

2014-10-17 Thread Ilya Verbin
On 17 Oct 17:18, Jakub Jelinek wrote: On Fri, Oct 17, 2014 at 07:17:31PM +0400, Ilya Verbin wrote: On 17 Oct 17:10, Jakub Jelinek wrote: Well, there is no need to remove them, just the || (f !omp_is_initial_device ()) should be dropped from target regions without device (d) on them.

Re: [PATCH 7/n] OpenMP 4.0 offloading infrastructure: testsuite

2014-10-17 Thread Jakub Jelinek
On Fri, Oct 17, 2014 at 07:29:26PM +0400, Ilya Verbin wrote: On 17 Oct 17:18, Jakub Jelinek wrote: On Fri, Oct 17, 2014 at 07:17:31PM +0400, Ilya Verbin wrote: On 17 Oct 17:10, Jakub Jelinek wrote: Well, there is no need to remove them, just the || (f !omp_is_initial_device ())

Re: [libatomic PATCH] Fix libatomic behavior for big endian toolchain

2014-10-17 Thread Joseph S. Myers
Changes to architecture-independent files must use architecture-independent conditionals, so __BYTE_ORDER__ not __ARMEB__. -- Joseph S. Myers jos...@codesourcery.com

[gomp4] Use GOMP_PLUGIN_ not gomp_plugin_ for libgomp plugin API

2014-10-17 Thread Julian Brown
Hi, As the title says, this patch makes the libgomp plugin API use the GOMP_PLUGIN_ prefix rather than gomp_plugin_. This is purely a mechanical change. OK for the gomp4 branch? Thanks, Julian ChangeLog libgomp/ * libgomp-plugin.c (gomp_plugin_*): Rename to... (GOMP_PLUGIN_*):

Re: -fuse-caller-save - Collect register usage information

2014-10-17 Thread Jeff Law
On 10/17/14 05:00, Richard Biener wrote: I'm starting to lean towards -foptimize-call-clobbers or similar. Well, it is really some form of IPA driven register allocation. Whether you want to call it -fipa-ra or not is another question - but if we had such option then enabling it with that

  1   2   >