[PATCH 7/8] S/390: Add proper comments to vpopct builtins for automated testsuite generation.

2015-06-23 Thread Andreas Krebbel
This is a comment only change which is supposed to be used by the autogenerated tests I run for the builtins. gcc/ChangeLog: * config/s390/s390-builtins.def: Fix vpopct instruction comments. --- gcc/config/s390/s390-builtins.def | 26 +- 1 file changed, 13 inser

[PATCH 4/8] S/390: Fix s390_secondary_reload register class check.

2015-06-23 Thread Andreas Krebbel
The current check does not work as expected with mixed register classes and also does not handle NO_REGS correctly. gcc/ChangeLog: * config/s390/s390.c (s390_secondary_reload): Fix check for GENERAL_REGS register class. --- gcc/config/s390/s390.c |2 +- 1 file changed, 1 inse

[PATCH 1/8] S/390 Vector ABI GNU Attribute.

2015-06-23 Thread Andreas Krebbel
With this patch .gnu_attribute is used to mark binaries with a vector ABI tag. This is required since the z13 vector support breaks the ABI of existing vector_size attribute generated vector types: 1. vector_size(16) and bigger vectors are aligned to 8 byte boundaries (formerly vectors were alway

[PATCH 0/8] S/390: z13 support fixes and improvements

2015-06-23 Thread Andreas Krebbel
Hi, the following patchset consists of minor improvements and fixes. The most notable change is the conditional builtin creation patch which tries to limit a lot of the builtin initialization work to -march=z13. It also includes the GNU vector ABI attribute patch from the original series which I

[PATCH 8/8] S/390: Switch mode attribute to bhfgq for vec scatter patterns.

2015-06-23 Thread Andreas Krebbel
This fixes the mode attribute used in the vec scatter insn definitions. vec_scatter_element_ and vec_scatter_element_SI were using gf mode attribute which does not support vector modes. gcc/ChangeLog: * config/s390/vx-builtins.md ("vec_scatter_element_") ("vec_scatter_ele

[PATCH 5/8] S/390: Remove internal builtins from vecintrin.h.

2015-06-23 Thread Andreas Krebbel
This patch removes a couple for builtin definitions from the vecintrin.h file which are supposed to be used only internally. gcc/ChangeLog: * config/s390/vecintrin.h: Remove internal builtins. --- gcc/config/s390/vecintrin.h | 35 --- 1 file changed, 35

[PATCH 3/8] S/390: Disable effect of support_vector_misalignment hook for non-z13 targets.

2015-06-23 Thread Andreas Krebbel
gcc/ChangeLog: * config/s390/s390.c (s390_support_vector_misalignment): Call default implementation for !TARGET_VX. --- gcc/config/s390/s390.c |6 +- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gcc/config/s390/s390.c b/gcc/config/s390/s390.c index 859ed68.

[PATCH 2/8] S/390: Limit legitimate_constant_p changes to TARGET_VX.

2015-06-23 Thread Andreas Krebbel
gcc/ChangeLog: * config/s390/s390.c (s390_legitimate_constant_p): Add TARGET_VX check. --- gcc/config/s390/s390.c |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/config/s390/s390.c b/gcc/config/s390/s390.c index 934f7c0..859ed68 100644 --- a/gcc/config

Re: [VRP] Improve value ranges for unsigned division

2015-06-23 Thread Kugan
On 23/06/15 01:09, Richard Biener wrote: > On Sat, Jun 20, 2015 at 9:12 AM, Kugan > wrote: >> As discussed in PR64130, this patch improves the VRP value ranges for >> unsigned division. >> >> Bootstrapped and regression tested on x86_64-linux-gnu and regression >> tested on arm-none-linux-gnu wi

Re: Add .def file for public target instructions

2015-06-23 Thread Jeff Law
On 06/23/2015 12:41 PM, Richard Sandiford wrote: [A fair bit later than promised, sorry...] Mikhail posted a patch to make genflags generate the default HAVE_foo and gen_foo definitions that have recently been added to defaults.h: https://gcc.gnu.org/ml/gcc-patches/2015-06/msg00723.html I a

Re: Move target-def.h includes after main include block

2015-06-23 Thread Jeff Law
On 06/23/2015 12:29 PM, Richard Sandiford wrote: This moves target-def.h includes to the end of the include list, so that the file sees the same header files as the targetm initialisation itself. I've left a gap to emphasise that the placement is deliberate. This is a prerequisite for the patch

Re: [PATCH]Use "unsigned int" instead of "int" to hold alignment in emit_local function.

2015-06-23 Thread Jeff Law
On 06/04/2015 05:05 AM, Renlin Li wrote: Hi all, This is a simple patch to change the align variable (used in emit_local()) from type "int" to type "unsigned int". It should be defined as "unsigned int" which is the same data type returned by symtab_node::get (decl)->definition_alignment () For

Re: [PING][PATCH][PR65511] Fix edge probabilities in move_sese_region_to_fn

2015-06-23 Thread Jeff Law
On 06/14/2015 08:15 AM, Tom de Vries wrote: On 30/03/15 11:54, Tom de Vries wrote: On 30-03-15 10:15, Jan Hubicka wrote: Also move_sese_region_to_fn seem to mis updating of counts. Can you, please, add that and send updated patch? Like this? OK for stage1 if bootstrap and reg-test on x86_6

Re: [PATCH] config/bfin/bfin.c (hwloop_optimize): Set JUMP_LABEL() after emit jump_insn

2015-06-23 Thread Jeff Law
On 06/20/2015 04:48 AM, Chen Gang wrote: JUMP_LABLE() must be defined after optimization completed. In this case, it is doing optimization, and is almost finished, so it is no chances to set JUMP_LABLE() next. The related issue is Bug 65803. 2015-06-20 Chen Gang * config/bfin/bfin.c

Re: [C++ Patch] PR 65811

2015-06-23 Thread Jason Merrill
OK. Jason

Re: [patch] fix regrename pass to ensure renamings produce valid insns

2015-06-23 Thread Sandra Loosemore
On 06/18/2015 11:32 AM, Eric Botcazou wrote: The attached patch teaches regrename to validate insns affected by each register renaming before making the change. I can see at least two other ways to handle this -- earlier, by rejecting renamings that result in invalid instructions when it's searc

[RS6000 7/7] Address cost

2015-06-23 Thread Alan Modra
The rs6000 backend currently uses an address cost of zero. This made sense prior to -mcmodel=medium/large, but medium/large model addresses before splitting are really two insns. So we should cost them one more than other addresses. This patch also adjusts rs6000_rtx_cost to use the new address

[RS6000 6/7] Cost multi-insn constants

2015-06-23 Thread Alan Modra
This small patch considerably improves code generated for large constants in 64-bit code, teaching gcc that it is better to load a constant from memory than to generate a sequence of five dependent instructions. Note that we already do this at expand time for plain moves. This change affects cons

[RS6000 5/7] Split mask64_2_operand rotates early

2015-06-23 Thread Alan Modra
This gets rid of some patterns I added a long time ago for ANDs that can be performed by two rotate and mask insns. * config/rs6000/preficates.md (and64_2_operand): Delete. (and_2rld_operand): Delete. * config/rs6000/rs6000.md (and3): Expand two insn mask_operand_wr

[RS6000 4/7] rldic in rotate and mask patterns

2015-06-23 Thread Alan Modra
rldic can support ROTATE as well as ASHIFT inside an AND, provided the AND mask has exactly the shift count low zeros. The added rotate patterns are needed to support the next patch that removes the mask64_2_operand patterns, and may be generally useful too. Note that the costing for the ROTATEs

[RS6000 3/7] rtx_costs for ROTATE/ASHIFT inside AND

2015-06-23 Thread Alan Modra
The odd patterns for rldic and rldicr that require an insn predicate that examines both the shift count and the mask, must be costed at a point where both count and mask are available. Also tidies the mode passed to a couple of predicates. * config/rs6000/rs6000.c (rs6000_rtx_costs): Pass

[RS6000 2/7] Tidy rotates

2015-06-23 Thread Alan Modra
Besides various tidies this fixes the wrong mode used for a number of rotate pattern shift counts. Since every other shift and rotate pattern uses SImode for the shift count, these combine patterns won't match anything. The testcase exercises one of these rotate patterns. It requires rtx_cost con

[RS6000 1/7] Hide insns not needing to be public

2015-06-23 Thread Alan Modra
* config/rs6000/rs6000.md (addsi3_high, bswaphi2_internal, ashldi3_internal5, ashldi3_internal8): Prefix with '*'. diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md index 6a14ee8..243a151 100644 --- a/gcc/config/rs6000/rs6000.md +++ b/gcc/config/rs6000/rs6000.m

[RS6000 0/7] rtx_cost patches

2015-06-23 Thread Alan Modra
This series fixes a number of problems in the rs6000 backend, building on top of https://gcc.gnu.org/ml/gcc-patches/2015-06/msg01396.html. Patch 5,6,7 really need the fixed rtx_cost function to be applied first, the others are independent of that change (if you're willing to allow a failing testcas

Re: [PATCH] Fix PR c++/30044

2015-06-23 Thread Patrick Palka
On Tue, Jun 23, 2015 at 12:38 AM, Jason Merrill wrote: > On 06/15/2015 02:32 PM, Patrick Palka wrote: >> >> On Mon, Jun 15, 2015 at 2:05 PM, Jason Merrill wrote: >>> >>> Any reason not to use grow_tree_vec? >> >> >> Doing so causes a lot of ICEs in the testsuite. I think it's because >> grow_tre

Re: DIsable reorder_blocks_and_partition for DWARF2 unwinding

2015-06-23 Thread Jeff Law
On 06/23/2015 04:18 PM, Dehao Chen wrote: This patch disables reorder_blocks_and_partition for DWARF2 unwinding. This is causing an internal application to segfault when built with AutoFDO+EH. Unfortunately, I don't have a small reproducible. But from the comment above the code, I do not see why

Re: [13/13] Update comments in hash-table.h

2015-06-23 Thread Jeff Law
On 06/16/2015 03:17 AM, Richard Sandiford wrote: This updates the commentary in hash-table.h for the changes in this series and fixes some cases that were already out of date. It also has a couple of trivial formatting fixes. gcc/ * hash-table.h: Update comments. OK. jeff

Re: [12/13] Reuse hash_table traits for hash_set

2015-06-23 Thread Jeff Law
On 06/16/2015 03:14 AM, Richard Sandiford wrote: This is the main patch, to reuse the hash_table traits for hash_set. The idea is to replace the untemplated default_hashset_traits with a templated default_hash_traits, which gives the default traits for a given type. This allows things like hash_

Re: [11/13] Generalise typed_noop_remove

2015-06-23 Thread Jeff Law
On 06/16/2015 03:12 AM, Richard Sandiford wrote: The traits interface is supposed to support non-pointer element types, so there's no real reason for typed_noop_remove to be specifically for pointers. It should be usable by anything that wants a no-op remove(). gcc/ * hash-traits.h (typ

Re: [10/13] Require {mark,id}_{deleted,empty} functions

2015-06-23 Thread Jeff Law
On 06/16/2015 03:11 AM, Richard Sandiford wrote: After the previous changes, all traits classes provide an implementation of the empty & deleted entry functions, so we can remove the code that provided defaults. gcc/ * hash-table.h (has_is_deleted, is_deleted_helper): Delete. (ha

Re: [09/13] Make remaining pointer hashes inherit from a generic class

2015-06-23 Thread Jeff Law
On 06/16/2015 03:05 AM, Richard Sandiford wrote: This patch mops up the remaining pointer traits classes that didn't inherit from any of the standard ones and just did their own thing. gcc/ * cgraph.h (asmname_hasher): Inherit from ggc_ptr_hash. Remove redundant typedefs and mem

Re: [08/13] Add a ggc_cache_ptr_hash

2015-06-23 Thread Jeff Law
On 06/16/2015 03:03 AM, Richard Sandiford wrote: Like the previous patch, but for ggc_cache_hasher. gcc/ * hash-traits.h (ggc_cache_hasher): Rename to... (ggc_cache_remove): ...this and remove typedefs. (ggc_cache_ptr_hash): New class. * hash-table.h: Update comme

Re: [07/13] Add ggc_ptr_hash

2015-06-23 Thread Jeff Law
On 06/16/2015 03:01 AM, Richard Sandiford wrote: This patch renames ggc_hasher to ggc_remove and removes the typedefs, to make it provide the same kind of interface as typed_noop_remove and typed_free_remove. It then defines a new class ggc_ptr_hash that inherits from both pointer_hash and ggc_r

Re: [06/13] Add free_ptr_hash

2015-06-23 Thread Jeff Law
On 06/16/2015 02:56 AM, Richard Sandiford wrote: Similarly to the last patch, this one adds a free_ptr_hash that inherits from both pointer_hash and typed_free_remove. gcc/ * hash-traits.h (free_ptr_hash): New class. * dwarf2out.c (decl_table_entry_hasher): Inherit from free_ptr_

[C++ Patch] PR 65811

2015-06-23 Thread Paolo Carlini
Hi, the testcase shows that after Jason's r222134 in some cases it can still happen that TREE_PUBLIC is false and DECL_COMDAT is true, thus the assertion in vague_linkage_p triggers. For the testcase, in duplicate_decls, newdecl starts with both flags true and only the former becomes false wh

DIsable reorder_blocks_and_partition for DWARF2 unwinding

2015-06-23 Thread Dehao Chen
This patch disables reorder_blocks_and_partition for DWARF2 unwinding. This is causing an internal application to segfault when built with AutoFDO+EH. Unfortunately, I don't have a small reproducible. But from the comment above the code, I do not see why UI_DWARF2 will survive the issue. Any commen

Re: [05/13] Add nofree_ptr_hash

2015-06-23 Thread Jeff Law
On 06/16/2015 02:55 AM, Richard Sandiford wrote: This patch stops pointer_hash from inheriting typed_noop_remove and instead creates a new class nofree_ptr_hash that inherits from both. It then updates all uses of typed_noop_remove (which are all pointers) and pointer_hash so that they use this n

Re: Remove redundant AND from count reduction loop

2015-06-23 Thread Marc Glisse
On Tue, 23 Jun 2015, Richard Sandiford wrote: +/* Vector comparisons are defined to produce all-one or all-zero results. */ +(simplify + (vec_cond @0 integer_all_onesp@1 integer_zerop@2) + (if (tree_nop_conversion_p (type, TREE_TYPE (@0))) + (convert @0))) I am trying to understand why the

[PATCH/AARCH64] Update ThunderX schedule model

2015-06-23 Thread Andrew Pinski
Hi, This patch updates the schedule model to be more accurate and model SIMD and fp instructions that I had missed out when I had the last patch. OK? Bootstrapped and tested on aarch64-linux-gnu with no regeessions. Thanks, Andrew Pinski ChangeLog: * config/aarch64/thunderx.md (thunderx_shi

Re: [04/13] Add {mark,is}_{empty,deleted} to pointer_hash

2015-06-23 Thread Jeff Law
On 06/16/2015 02:53 AM, Richard Sandiford wrote: This patch just adds the standard pointer handling of empty and deleted entries. As the series goes on, more and more traits classes will inherit these definitions, to the point where we can require the functions to exist. gcc/ * hash-tra

Re: [03/13] Make ggc_cached_hasher inherit from ggc_hasher

2015-06-23 Thread Jeff Law
On 06/16/2015 02:52 AM, Richard Sandiford wrote: Most of ggc_cache_hasher is duplicated from ggc_hasher. This patch gets the same functionality via inheritance. It also brings the ggc_hasher functions in line with ggc_cache_hasher by making remove() and ggc_mx() take references rather than poin

Re: [02/13] Replace handle_cache_entry with new interface

2015-06-23 Thread Jeff Law
On 06/16/2015 02:45 AM, Richard Sandiford wrote: As described in the covering note, this patch replaces handle_cache_entry with a new function keep_cache_entry. It also ensures that elements are deleted using the proper function, so that m_n_deleted is updated. I couldn't tell whether the unusu

Re: [01/13] Move hash traits to their own header file

2015-06-23 Thread Jeff Law
On 06/16/2015 02:43 AM, Richard Sandiford wrote: This patch just moves the traits classes to their own header file, hash-traits.h. gcc/ * hash-table.h: Include hash-traits.h. (typed_free_remove, typed_noop_remove, pointer_hash, ggc_hasher) (ggc_cache_hasher): Move to...

Re: [00/13] Share hash traits between hash_table and hash_set

2015-06-23 Thread Jeff Law
On 06/16/2015 02:42 AM, Richard Sandiford wrote: At the moment we need separate traits classes for hash_table, hash_set and hash_map. I think that's a sign that we don't have the right abstraction. You're probably right. The aim of this series is to unify the traits for hash_table and hash_s

Re: [PATCH/RFC] Make loop-header-copying more aggressive, rerun before tree-if-conversion

2015-06-23 Thread Jeff Law
On 06/19/2015 11:38 AM, Alan Lawrence wrote: Jeff Law wrote: On 05/22/2015 09:42 AM, Alan Lawrence wrote: This patch does so (and makes slightly less conservative, to tackle the example above). I found I had to make this a separate pass, so that the phi nodes were cleaned up at the end of the p

Re: [PATCH][RFC] Add FRE in pass_vectorize

2015-06-23 Thread Jeff Law
On 06/10/2015 08:02 AM, Richard Biener wrote: The following patch adds FRE after vectorization which is needed for IVOPTs to remove redundant PHI nodes (well, I'm testing a patch for FRE that will do it already there). Redundant or degenerates which should be propagated? I believe Alan Lawrenc

Re: Do not take address of empty string front

2015-06-23 Thread François Dumont
On 22/06/2015 17:10, Jonathan Wakely wrote: > On 20/06/15 12:59 +0100, Jonathan Wakely wrote: >> On 20/06/15 12:03 +0200, François Dumont wrote: >>> Hi >>> >>> 2 experimental tests are failing in debug mode because >>> __do_str_codecvt is sometimes taking address of string front() and >>> back()

Re: [PATCH 00/17] RFC: Addding a unit testing framework to gcc

2015-06-23 Thread Mike Stump
On Jun 10, 2015, at 10:16 AM, David Malcolm wrote: > It doesn't have an output formatter for the DejaGnu format, but I guess > I could write one. The gtest standard output format is IMHO superior to > DejaGnu's since it tells you start-of-test/end-of-test on separate > lines, so you can see which

Re: [C/C++ PATCH] PR c++/66572. Fix Wlogical-op false positive

2015-06-23 Thread Marek Polacek
On Sat, Jun 20, 2015 at 03:02:06AM +0300, Mikhail Maltsev wrote: > - /* We do not warn for constants because they are typical of macro > - expansions that test for features. */ > - if (CONSTANT_CLASS_P (op_left) || CONSTANT_CLASS_P (op_right)) > + /* We do not warn for literal constants bec

Re: New type-based pool allocator code miscompiled due to aliasing issue?

2015-06-23 Thread Pat Haugen
On 06/18/2015 06:10 AM, Richard Biener wrote: You are right that we should call ::new just for classes that have m_ignore_type_size == false. >I've come up with following patch, that I tested slightly: > >diff --git a/gcc/alloc-pool.h b/gcc/alloc-pool.h >index 1785df5..7da5f7a 100644 >--- a/gcc/

Re: pr66345.c size_t assumption bug

2015-06-23 Thread Jeff Law
On 06/08/2015 06:58 PM, DJ Delorie wrote: The testcase for pr 66345 assumes size_t is "unsigned long" instead of using the real type, which causes failures on some 16-bit targets. Ok? Also, I note that some tests check for __SIZE_TYPE__ as I do below, and others use it unconditionally as a re

Re: [PATCH/RFC]: unittesting v2: as a plugin (was Re: [PATCH 00/17] RFC: Addding a unit testing framework to gcc)

2015-06-23 Thread Jeff Law
On 06/17/2015 01:48 PM, David Malcolm wrote: On Thu, 2015-06-11 at 00:18 +0200, Jakub Jelinek wrote: I wrote a custom formatter for the output (class deja_gnu_printer within unittests-plugin.c) which generates lines like this on stderr: PASS: ggc_test.tree_marking PASS: ggc_test.custom_struct P

Re: [PATCH 03/17] Add test-cfg.c to gcc/unittests

2015-06-23 Thread Jeff Law
On 06/10/2015 09:24 AM, David Malcolm wrote: gcc/unittests/ChangeLog: * test-cfg.c: New file. --- gcc/unittests/test-cfg.c | 319 +++ 1 file changed, 319 insertions(+) create mode 100644 gcc/unittests/test-cfg.c So this one would be a great

Re: [PATCH 02/17] Add test-bitmap.c to gcc/unittests

2015-06-23 Thread Jeff Law
On 06/10/2015 09:24 AM, David Malcolm wrote: gcc/unittests/ChangeLog: * test-bitmap.c: New file. --- gcc/unittests/test-bitmap.c | 117 1 file changed, 117 insertions(+) create mode 100644 gcc/unittests/test-bitmap.c diff --git a/gcc/unit

Re: [PATCH 1/3] Refactor entry point to -Wmisleading-indentation

2015-06-23 Thread Patrick Palka
On Mon, Jun 22, 2015 at 2:56 PM, Patrick Palka wrote: > On Mon, Jun 22, 2015 at 1:29 PM, Jeff Law wrote: >> On 06/09/2015 11:31 AM, Patrick Palka wrote: >>> >>> This patch refactors the entry point of -Wmisleading-indentation from: >>> >>>void >>>warn_for_misleading_indentation (location_

Re: [PATCH 00/17] RFC: Addding a unit testing framework to gcc

2015-06-23 Thread Jeff Law
On 06/10/2015 11:16 AM, David Malcolm wrote: On Wed, 2015-06-10 at 17:34 +0200, Jakub Jelinek wrote: On Wed, Jun 10, 2015 at 11:24:41AM -0400, David Malcolm wrote: I picked the Google Test framework: http://code.google.com/p/googletest/ I must say I'm not very excited about using this, it

Re: [PATCH] backport FreeBSD add functionality to build PIE executables

2015-06-23 Thread Jakub Jelinek
On Tue, Jun 23, 2015 at 07:58:48PM +0200, Andreas Tobler wrote: > On 23.06.15 19:50, Jakub Jelinek wrote: > >On Tue, Jun 23, 2015 at 07:26:09PM +0200, Andreas Tobler wrote: > >>Hi all, > >> > >>I'm going to commit this patch to 5.1 in the next days unless someone > >>objects. > >> > >>The patch is

Add .def file for public target instructions

2015-06-23 Thread Richard Sandiford
[A fair bit later than promised, sorry...] Mikhail posted a patch to make genflags generate the default HAVE_foo and gen_foo definitions that have recently been added to defaults.h: https://gcc.gnu.org/ml/gcc-patches/2015-06/msg00723.html I agree it'd be a good idea to generate this kind of th

Move target-def.h includes after main include block

2015-06-23 Thread Richard Sandiford
This moves target-def.h includes to the end of the include list, so that the file sees the same header files as the targetm initialisation itself. I've left a gap to emphasise that the placement is deliberate. This is a prerequisite for the patch I'm about to post. It probably doesn't make much s

[committed] Remove bogus target-def.h includes

2015-06-23 Thread Richard Sandiford
target-def.h should only be included by files that want to initialise targetm. This patch removes unnecessary includes for other files. Bootstrapped & regression-tested on x86_64-linux-gnu. Also tested with config-list.mk. Applied as obvious. Thanks, Richard gcc/c-family/ * c-common.c

Re: [PATCH] libgomp sysctl check

2015-06-23 Thread Andreas Tobler
On 23.06.15 19:47, Jakub Jelinek wrote: On Tue, Jun 23, 2015 at 07:36:22PM +0200, Andreas Tobler wrote: Hi all, this patch fixes a long standing bug in the libgomp configury. The initial patch was correct, but the commit I did was wrong. Ok for trunk? Thanks, Andreas 2015-06-23 Andreas Tob

Re: [PATCH] backport FreeBSD add functionality to build PIE executables

2015-06-23 Thread Andreas Tobler
On 23.06.15 19:50, Jakub Jelinek wrote: On Tue, Jun 23, 2015 at 07:26:09PM +0200, Andreas Tobler wrote: Hi all, I'm going to commit this patch to 5.1 in the next days unless someone objects. The patch is in my 5.1 tree since a longer time and I regularly post results. Note, Richard announced

Re: [PATCH] backport FreeBSD add functionality to build PIE executables

2015-06-23 Thread Jakub Jelinek
On Tue, Jun 23, 2015 at 07:26:09PM +0200, Andreas Tobler wrote: > Hi all, > > I'm going to commit this patch to 5.1 in the next days unless someone > objects. > > The patch is in my 5.1 tree since a longer time and I regularly post > results. Note, Richard announced plan to do 5.2-rc2 on July, 3

Re: [PATCH] libgomp sysctl check

2015-06-23 Thread Jakub Jelinek
On Tue, Jun 23, 2015 at 07:36:22PM +0200, Andreas Tobler wrote: > Hi all, > > this patch fixes a long standing bug in the libgomp configury. > The initial patch was correct, but the commit I did was wrong. > > Ok for trunk? > > Thanks, > > Andreas > > 2015-06-23 Andreas Tobler > > *

[PATCH] libgomp sysctl check

2015-06-23 Thread Andreas Tobler
Hi all, this patch fixes a long standing bug in the libgomp configury. The initial patch was correct, but the commit I did was wrong. Ok for trunk? Thanks, Andreas 2015-06-23 Andreas Tobler * configure.ac: Fix check for header * configure: Regenerate. * config.h.i

[PATCH] backport libjava signal handling for FreeBSD (amd64/i386)

2015-06-23 Thread Andreas Tobler
Hi again, number three. This one is also on my list to be committed to 5.1. Results on the usual place. Thanks, Andreas 2015-06-22 Andreas Tobler Backport from mainline 2015-05-28 Andreas Tobler * configure.host: Add bits for FreeBSD amd64 and i386. * c

[PATCH] backport Contribute FreeBSD unwind support (x86_64 and x86)

2015-06-23 Thread Andreas Tobler
Hi all, the next one. I'm going to commit this patch to 5.1 in the next days. Also in my tree, test results posted for amd64/i386-*-freebsd11.0 Thanks, Andreas 2015-06-22 Andreas Tobler Backport from mainline 2015-05-27 John Marino * config.host (i[34567]86-*-f

[PATCH] backport FreeBSD add functionality to build PIE executables

2015-06-23 Thread Andreas Tobler
Hi all, I'm going to commit this patch to 5.1 in the next days unless someone objects. The patch is in my 5.1 tree since a longer time and I regularly post results. Thanks, Andreas 2015-06-22 Andreas Tobler Backport from mainline 2015-05-18 Andreas Tobler *

Re: [PATCH][testsuite] Fix TORTURE_OPTIONS overriding

2015-06-23 Thread James Greenhalgh
On Thu, Jun 18, 2015 at 11:10:01AM +0100, Richard Biener wrote: > > Currently when doing > > make check-gcc RUNTESTFLAGS="TORTURE_OPTIONS=\\\"{ -O3 } { -O2 }\\\" > dg-torture.exp" > > you get -O3 and -O2 but also the two LTO torture option combinations. > That's undesired (those are the most expen

Re: [PATCH] [ARM] Post-indexed addressing for NEON memory access

2015-06-23 Thread Ramana Radhakrishnan
On Fri, Jun 19, 2015 at 7:04 PM, Charles Baylis wrote: > On 18 June 2014 at 11:06, Ramana Radhakrishnan > wrote: >> On Tue, Jun 17, 2014 at 4:03 PM, Charles Baylis >> wrote: >>> Your mention of larger vector modes prompted me to check that the >>> patch has the desired result with them. In fact,

Re: [PATCH] Add CFI entries for ARM Linux idiv0 / ldiv0

2015-06-23 Thread James Lemke
On 06/23/2015 12:22 PM, Ramana Radhakrishnan wrote: I have no access to a non-EABI arm target to test this, not sure if there are any intree anymore (probably vxworks ?) . It looks sane on a read - just apply it and look after regressions if anything gets reported in bugzilla. Thanks Ramana.

Re: [PATCH] Add CFI entries for ARM Linux idiv0 / ldiv0

2015-06-23 Thread Ramana Radhakrishnan
On Tue, Jun 23, 2015 at 5:18 PM, James Lemke wrote: > >>> Tested on gcc-trunk for arm-none-linux-gnueabi. >>> >>> OK to commit? >>> 2015-06-16 James Lemke >>> >>> libgcc/config/arm/ >>> * lib1funcs.S (aeabi_idiv0, aeabi_ldiv0): Add CFI entries for >>> Linux ARM

Re: *Ping* patch, fortran] Warn about constant integer divisions

2015-06-23 Thread Jerry DeLisle
On 06/23/2015 01:36 AM, Janne Blomqvist wrote: > On Sun, Jun 21, 2015 at 4:57 PM, Thomas Koenig wrote: >> *ping* >> >> https://gcc.gnu.org/ml/gcc-patches/2015-06/msg00966.html >> >> >>> Hello world, >>> >>> the attached patch emits a warning for constant integer division. >>> While correct accordi

Re: [PATCH] Add CFI entries for ARM Linux idiv0 / ldiv0

2015-06-23 Thread James Lemke
Tested on gcc-trunk for arm-none-linux-gnueabi. OK to commit? 2015-06-16 James Lemke libgcc/config/arm/ * lib1funcs.S (aeabi_idiv0, aeabi_ldiv0): Add CFI entries for Linux ARM_EABI. s/for Linux ARM EABI// given you handle both __ARM_EABI__ and the not __ARM_EAB

PING: Re: [patch] PR debug/66482: Do not ICE in gen_formal_parameter_die

2015-06-23 Thread Aldy Hernandez
On 06/12/2015 10:07 AM, Aldy Hernandez wrote: Hi. This is now a P2, as it is causing a secondary target bootstrap to fail (s390). Aldy Sigh. I must say my head is spinning with this testcase and what we do with it (-O3), even prior to the debug-early work: void f(int p) {} int g() { vo

[PATCH 3/3][AArch64 nofp] Fix another ICE with +nofp/-mgeneral-regs-only

2015-06-23 Thread Alan Lawrence
This fixes another ICE, obtained with the attached testcase - yes, there was a way to get hold of a float, without passing an argument or going through movsf/movdf! Bootstrapped + check-gcc on aarch64-none-linux-gnu. gcc/ChangeLog: * config/aarch64/aarch64.md (2): Condition on

[PATCH 1/3][AArch64 nofp] Fix ICEs with +nofp/-mgeneral-regs-only and improve error messages

2015-06-23 Thread Alan Lawrence
James Greenhalgh wrote: Submissions on this list should be one patch per mail, it makes tracking review easier. OK here's a respin of the first, I've added a third patch after I found another route to get to an ICE. +void +aarch64_err_no_fpadvsimd (machine_mode mode, const char *msg) +{ +

[PATCH 2/3][AArch64 nofp] Clarify docs for +nofp/-mgeneral-regs-only

2015-06-23 Thread Alan Lawrence
James Greenhalgh wrote: -Generate code which uses only the general registers. +Generate code which uses only the general registers. Equivalent to feature The ARMARM uses "general-purpose registers" to refer to these registers, we should match that style. s/Equivalent to feature/This is equi

Remove redundant AND from count reduction loop

2015-06-23 Thread Richard Sandiford
We vectorise: int f (int *a, int n) { int count = 0; for (int i = 0; i < n; ++i) if (a[i] < 255) count += 1; return count; } using an add reduction of a VEC_COND_EXPR . This leads to the main loop having an AND with a loop invariant {1, 1, ...}. E.g. on aarch64: moviv

Re: [Patch SRA] Fix PR66119 by calling get_move_ratio in SRA

2015-06-23 Thread James Greenhalgh
On Tue, Jun 23, 2015 at 09:52:01AM +0100, Jakub Jelinek wrote: > On Tue, Jun 23, 2015 at 09:18:52AM +0100, James Greenhalgh wrote: > > This patch fixes the issue by always calling get_move_ratio in the SRA > > code, ensuring that an up-to-date value is used. > > > > Unfortunately, this means we ha

Re: [PATCH] c/66516 - missing diagnostic on taking the address of a builtin function

2015-06-23 Thread Martin Sebor
On 06/23/2015 04:29 AM, Jakub Jelinek wrote: On Tue, Jun 23, 2015 at 12:18:30PM +0200, Marek Polacek wrote: Is it intended that programs be able to take the address of the builtins that correspond to libc functions and make calls to the underlying libc functions via such pointers? (If so, the pa

Re: [patch] Delete temporary response file

2015-06-23 Thread Jeff Law
On 06/22/2015 11:37 AM, Eric Botcazou wrote: Hi, when you pass a response file at link time and you use the GNU linker, then collect2 creates another, temporary response file and passes it to the linker. But it fails to delete the file after it is done. This can easily be seen with the followin

[committed] Use abort in parloops-exit-first-loop-alt-{3,4}.c

2015-06-23 Thread Tom de Vries
Hi, committed attached patch as trivial. Thanks, - Tom Use abort in parloops-exit-first-loop-alt-{3,4}.c 2015-06-23 Tom de Vries * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use abort. * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same. --- libgomp/tes

Re: [gomp4.1] Add new versions of GOMP_target{,_data,_update} and GOMP_target_enter_exit_data

2015-06-23 Thread Jakub Jelinek
On Tue, Jun 23, 2015 at 05:54:48PM +0300, Ilya Verbin wrote: > On Tue, Jun 23, 2015 at 13:51:39 +0200, Jakub Jelinek wrote: > > > + /* Set dd on target to 0 for the further check. */ > > > + #pragma omp target map(always to: dd) > > > + { dd; } > > > > This reminds me that: > >

Re: [PATCH] Add CFI entries for ARM Linux idiv0 / ldiv0

2015-06-23 Thread Ramana Radhakrishnan
On 16/06/15 22:25, James Lemke wrote: A divide by zero exception was not giving a proper traceback for LINUX ARM_EABI. The attached patch fixes the problem on trunk (and several local branches). Tested on gcc-trunk for arm-none-linux-gnueabi. OK to commit? > 2015-06-16 James Lemke

[12/12] Simplify uses of hash_map

2015-06-23 Thread Richard Sandiford
At this point all hash_map traits know what kind of key they're dealing with, so we can make that a traits typedef, like it is for hash_table traits. Then, if we make the default hash traits for T be T, we can use hash_table-style traits as the first template parameter to hash_map, without the nee

[11/12] Remove default_hashmap_traits

2015-06-23 Thread Richard Sandiford
The previous patches removed all uses of default_hashmap_traits, so this patch deletes the definition. gcc/ * hash-map-traits.h (default_hashmap_traits): Delete. Index: gcc/hash-map-traits.h === --- gcc/hash-map-traits.h

Re: [gomp4.1] Add new versions of GOMP_target{,_data,_update} and GOMP_target_enter_exit_data

2015-06-23 Thread Ilya Verbin
On Tue, Jun 23, 2015 at 13:51:39 +0200, Jakub Jelinek wrote: > > + /* Set dd on target to 0 for the further check. */ > > + #pragma omp target map(always to: dd) > > + { dd; } > > This reminds me that: > if (ctx->region_type == ORT_TARGET && !(n->value & GOVD_SEEN)) >

[10/12] Add helper class for valued-based empty and deleted slots

2015-06-23 Thread Richard Sandiford
part_traits in cfgexpand.c needs to use the value rather than the key to represent empty and deleted slots. What it's doing is pretty generic, so this patch adds a helper class to hash-map-traits.h. gcc/ * hash-map-traits.h (unbounded_hashmap_traits): New class. (unbounded_int_ha

[09/12] Remove all but one use of default_hashmap_traits

2015-06-23 Thread Richard Sandiford
After the previous patches in the series, there are three remaining hash traits that use the key to represent empty and deleted entries. This patch makes them use simple_hashmap_traits. gcc/ * ipa-icf.h (symbol_compare_hash): New class. (symbol_compare_hashmap_traits): Use it.

[08/12] Add common traits for integer hash keys

2015-06-23 Thread Richard Sandiford
Several places define hash traits for integers, using particular integer values as "empty" and "deleted" markers. This patch defines them in terms of a single int_hash class. I also needed to extend gengtype to accept "+" in template arguments. gcc/ * gengtype-parse.c (require_template_

[07/12] Use new string hasher for MIPS

2015-06-23 Thread Richard Sandiford
Use the string hasher from patch 6 for MIPS. I split this out because local_alias_traits doesn't actually need to use SYMBOL_REF rtxes as the map keys, since the only data used is the symbol name. gcc/ * config/mips/mips.c (mips16_flip_traits): Use it. (local_alias_traits, mips16

[06/12] Consolidate string hashers

2015-06-23 Thread Richard Sandiford
This patch replaces various string hashers with a single copy in hash-traits.h. gcc/ * hash-traits.h (string_hash, nofree_string_hash): New classes. * genmatch.c (capture_id_map_hasher): Use nofree_string_hash. * passes.c (pass_registry_hasher): Likewise. * config/

[05/12] Move TREE_HASH hasher to header file

2015-06-23 Thread Richard Sandiford
One more tree hasher, this time based on TREE_HASH. gcc/ * tree-hash-traits.h (tree_hash): New class. * except.c: Include tree-hash-traits.h. (tree_hash_traits): Use tree_hash. Index: gcc/tree-hash-traits.h =

[04/12] Move ssa_name hasher to header file

2015-06-23 Thread Richard Sandiford
Another tree hasher, this time for SSA names. Again there's only one copy at the moment, but the idea seems general. gcc/ * tree-hash-traits.h (tree_ssa_name_hasher): New class. * sese.c: Include tree-hash-traits.h. (rename_map_hasher): Use tree_ssa_name_hasher. Index: g

[03/12] Move decl hasher to header file

2015-06-23 Thread Richard Sandiford
Like the previous patch, but for decl hashers. There's only one copy of this so far, but the idea seems general. gcc/ * tree-hash-traits.h (tree_decl_hash): New class. * tree-ssa-strlen.c: Include tree-hash-traits.h. (stridxlist_hash_traits): Use tree_decl_hash. Index: g

[02/12] Move tree operand hashers to a new header file

2015-06-23 Thread Richard Sandiford
There were three tree operand hashers, so move them to their own header file. The typedefs in this and subsequent patches are temporary and get removed in patch 12. gcc/ * tree-hash-traits.h: New file. (tree_operand_hash): New class. * sanopt.c: Include tree-hash-traits.h

[01/12] Add hash_map traits that use existing hash_table-like traits

2015-06-23 Thread Richard Sandiford
This patch defines a class that converts hash_table-style traits into hash_map traits. It can be used as the default traits for all hash_maps that don't specify their own traits (i.e. this patch does work on its own). By the end of the series this class replaces default_hashmap_traits. gcc/

[00/12] Share hash traits between hash_table and hash_map

2015-06-23 Thread Richard Sandiford
Following on from: https://gcc.gnu.org/ml/gcc-patches/2015-06/msg01066.html this series unifies the key hashing traits for hash_maps in all but one case (which needs to use the values rather than keys to represent deleted and empty entries). It also consolidates the various tree, integer and strin

[gomp4.1] Taskloop C++ random access iterator support

2015-06-23 Thread Jakub Jelinek
Hi! I've committed following patch to add support for C++ random access iterators in taskloop constructs. 2015-06-23 Jakub Jelinek * tree.h (OMP_CLAUSE_PRIVATE_TASKLOOP_IV, OMP_CLAUSE_LASTPRIVATE_TASKLOOP_IV): Define. * gimplify.c (gimplify_omp_for): Handle gimplificat

  1   2   >