platform/upstream/linaro-gcc.git
8 years agoS/390: Disallow SImode in s390_decompose_address
krebbel [Tue, 1 Mar 2016 09:27:10 +0000 (09:27 +0000)]
S/390: Disallow SImode in s390_decompose_address

After Y is never used anymore with SImode operands we can finally
disallow SImode (if != Pmode) in s390_decompose_address.  In fact that
was the whole point of the patch series.

gcc/ChangeLog:

2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

* config/s390/s390.c (s390_decompose_address): Don't accept SImode
anymore.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233849 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoS/390: Use define_subst for the setmem patterns.
krebbel [Tue, 1 Mar 2016 09:26:20 +0000 (09:26 +0000)]
S/390: Use define_subst for the setmem patterns.

While trying to get rid of the Y constraint in the setmem patterns I
noticed that for these patterns it isn't even a problem since these
always only use the constraint with a Pmode match_operand.  But while
being at it I've tried to fold some of the patterns a bit.

gcc/ChangeLog:

2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

* config/s390/constraints.md ("jm8"): New constraint.
* config/s390/predicates.md ("const_int_8bitset_operand"): New predicate.
* config/s390/s390.md ("*setmem_long", "*setmem_long_and"): Merge
into ...
("*setmem_long<setmem_and>"): New pattern.
("*setmem_long_31z", "*setmem_long_and_31z"): Merge
into ...
("*setmem_long_31z<setmem_and>"): New pattern.
* config/s390/subst.md ("setmem_31z_subst", "setmem_and_subst"):
New substitution rules with the required attributes.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233848 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoS/390: Get rid of Y constraint in vector.md.
krebbel [Tue, 1 Mar 2016 09:25:23 +0000 (09:25 +0000)]
S/390: Get rid of Y constraint in vector.md.

This finally removes the Y constraint from the vector patterns while
folding some of them using a code iterator.

gcc/ChangeLog:

2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

* config/s390/subst.md (DSI_VI): New mode iterator.
("addr_style_op_subst"): Use DSI_VI instead of DSI.
* config/s390/vector.md ("vec_set<mode>"): Move expander before
the insn definition.
("*vec_set<mode>"): Change predicate and add alternative to
support only either register or const_int operands as element
selector.
("*vec_set<mode>_plus"): New pattern to support reg + const_int
operands.
("vec_extract<mode>"): New expander.
("*vec_extract<mode>"): New insn definition supporting reg and
const_int element selectors.
("*vec_extract<mode>_plus"): New insn definition supporting
reg+const_int element selectors.
("rotl<mode>3", "ashl<mode>3", "ashr<mode>3"): Merge into the
following expander+insn definition.
("<vec_shifts_name><mode>3"): New expander.
("*<vec_shifts_name><mode>3<addr_style_op>"): New insn definition.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233847 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoS/390: Get rid of Y constraint in tabort.
krebbel [Tue, 1 Mar 2016 09:24:29 +0000 (09:24 +0000)]
S/390: Get rid of Y constraint in tabort.

This removes the Y constraint from the tabort pattern definition.  In
this case it is easier without using substitutions.

gcc/ChangeLog:

2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

* config/s390/s390.md ("*tabort_1"): Change predicate to
nonmemory_operand.  Add a second alternative to cover
register as well as const int operands.
("*tabort_1_plus"): New pattern definition.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233846 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoS/390: Get rid of Y constraint in arithmetic right shift
krebbel [Tue, 1 Mar 2016 09:23:41 +0000 (09:23 +0000)]
S/390: Get rid of Y constraint in arithmetic right shift
 patterns.

The arithmetic shift patterns set also the condition code.  This adds
more substitution potential.  Depending on whether the actual result
or the CC output will be used 3 different variants of each of these
patterns are needed.  This multiplied with the PLUS and the AND
operands from the earlier substitutions enables a lot of folding.

2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

* config/s390/s390.md ("*ashrdi3_cc_31")
("*ashrdi3_cconly_31""*ashrdi3_cc_31_and")
("*ashrdi3_cconly_31_and", "*ashrdi3_31_and", "*ashrdi3_31"):
Merge insn definitions into ...
("*ashrdi3_31<addr_style_op_cc><masked_op_cc><setcc><cconly>"):
New pattern definition.
("*ashr<mode>3_cc", "*ashr<mode>3_cconly", "ashr<mode>3", )
("*ashr<mode>3_cc_and", "*ashr<mode>3_cconly_and")
("*ashr<mode>3_and"): Merge insn definitions into ...
("*ashr<mode>3<addr_style_op_cc><masked_op_cc><setcc><cconly>"):
New pattern definition.
* config/s390/subst.md ("addr_style_op_cc_subst")
("masked_op_cc_subst", "setcc_subst", "cconly_subst"): New
substitutions patterns plus attributes.
Add ashiftrt to SUBST iterator.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233845 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoS/390: Get rid of Y constraint in left and logical right
krebbel [Tue, 1 Mar 2016 09:22:20 +0000 (09:22 +0000)]
S/390: Get rid of Y constraint in left and logical right
 shift patterns.

With this patch the substitution patterns added earlier are used for
the logical right shift and all the left shift patterns.

2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

* config/s390/s390.md ("<shift><mode>3"): Change predicate of
op2 to nonmemory_operand.
("*<shift>di3_31", "*<shift>di3_31_and"):
Merge into single pattern definition ...
("*<shift>di3_31<addr_style_op><masked_op>"): New pattern.
("*<shift><mode>3", "*<shift><mode>3_and"): Merge into single
pattern definition ...
("*<shift><mode>3<addr_style_op><masked_op>"): New pattern.
* config/s390/subst.md: Add ashift and lshiftrt to SUBST
iterator.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233844 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoS/390: Get rid of Y constraint in rotate patterns.
krebbel [Tue, 1 Mar 2016 09:21:23 +0000 (09:21 +0000)]
S/390: Get rid of Y constraint in rotate patterns.

This patch introduces substitution patterns to add PLUS const_int, and
AND operands to patterns and uses this to rewrite the existing rotate
pattern.

gcc/ChangeLog:

2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

* config/s390/predicates.md (const_int_6bitset_operand): New
        predicates.
* config/s390/s390.md: Include subst.md.
("rotl<mode>3"): New expander.
("rotl<mode>3", "*rotl<mode>3_and"): Merge insn definitions into
...
("*rotl<mode>3<addr_style_op><masked_op>"): New insn definition.
* config/s390/subst.md: New file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233843 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoS/390: Use enabled attribute overrides to disable
krebbel [Tue, 1 Mar 2016 09:20:12 +0000 (09:20 +0000)]
S/390: Use enabled attribute overrides to disable
 alternatives.

So far whenever we wanted to disable an alternative we have used mode
attributes emitting constraints matching an earlier alternative
assuming that due to this the later alternative will never be chosen.

With this patch the `enabled' attribute, which so far is only set from
`cpu_facility', is overridden to 0 to disable certain alternatives.
This comes handy when defining the substitutions later and while
adding it anyway I've used it for the existing cases as well.

gcc/ChangeLog:

2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

* config/s390/s390.md ("op_type", "atype", "length" attributes):
Remove RRR type.  It doesn't really exist.
("RRer", "f0", "v0", "vf", "vd", "op1", "Rf"): Remove mode
attributes.
("BFP", "DFP", "nDSF", "nDFDI"): Add mode attributes.
("*cmp<mode>_ccs", "floatdi<mode>2", "add<mode>3")
("*add<mode>3_cc", "*add<mode>3_cconly", "sub<mode>3")
("*sub<mode>3_cc", "*sub<mode>3_cconly", "mul<mode>3")
("fma<mode>4", "fms<mode>4", "div<mode>3", "*neg<mode>2")
("*abs<mode>2", "*negabs<mode>2", "sqrt<mode>2"): Override
`enabled' attribute.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233842 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agogensupport: Fix define_subst operand renumbering.
krebbel [Tue, 1 Mar 2016 09:19:14 +0000 (09:19 +0000)]
gensupport: Fix define_subst operand renumbering.

When processing substitutions the operands are renumbered.  To find a
free operand number the array used_operands_numbers is used.
Currently this array is used to assign new numbers before all the
RTXes in the vector have been processed.  I did run into problems with
this for insns where a match_dup occurred in a later (use ...) operand
referring to an earlier operand (e.g. s390.md "setmem_long").

The patch splits the loop doing the processing into two in order to
have all the operand numbers collected already when assigning new
numbers.

gcc/ChangeLog:

2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

* gensupport.c (process_substs_on_one_elem): Split loop to
complete mark_operands_used_in_match_dup on all expressions in the
vector first.
(adjust_operands_numbers): Inline into process_substs_on_one_elem
and remove function.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233841 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2016-02-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
wschmidt [Tue, 1 Mar 2016 04:14:15 +0000 (04:14 +0000)]
2016-02-29  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

PR target/70011
* gcc.dg/vect/costmodel/ppc/costmodel-fast-math-vect-pr299925.c:
XFAIL when hardware supports efficient unaligned storage access.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233840 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoFix PR c++/69961 (invalid ctor call with dependent args)
ppalka [Tue, 1 Mar 2016 01:24:44 +0000 (01:24 +0000)]
Fix PR c++/69961 (invalid ctor call with dependent args)

gcc/cp/ChangeLog:

PR c++/68948
PR c++/69961
* pt.c (tsubst_baselink): Reinstate the check for an invalid
constructor call.

gcc/testsuite/ChangeLog:

PR c++/69961
* g++.dg/template/pr69961a.C: New test.
* g++.dg/template/pr69961b.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233838 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoPR preprocessor/69985: fix ICE with long lines in -Wformat
dmalcolm [Tue, 1 Mar 2016 01:02:49 +0000 (01:02 +0000)]
PR preprocessor/69985: fix ICE with long lines in -Wformat

gcc/testsuite/ChangeLog:
PR preprocessor/69985
* gcc.dg/cpp/pr69985.c: New test case.

libcpp/ChangeLog:
PR preprocessor/69985
(linemap_position_for_loc_and_offset): Rename param from "offset"
to "column_offset".  Right-shift the column_offset by m_range_bits
of the pertinent ordinary map whenever offsetting a
source_location.  For clarity, offset the column by the column
offset, rather than the other way around.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233836 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR target/69706
ebotcazou [Tue, 1 Mar 2016 00:22:26 +0000 (00:22 +0000)]
PR target/69706
* config/sparc/sparc.c (NWORDS_UP): Rename to...
(CEIL_NWORDS): ...this.  Use CEIL macro.
(compute_fp_layout): Adjust to above renaming.
(function_arg_union_value): Likewise.
(sparc_arg_partial_bytes): Likewise.
(sparc_function_arg_advance): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233833 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoDaily bump.
gccadmin [Tue, 1 Mar 2016 00:16:15 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233832 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR tree-optimization/70005
law [Tue, 1 Mar 2016 00:04:48 +0000 (00:04 +0000)]
PR tree-optimization/70005
* tree-ssa-uncprop.c (associate_equivalences_with_edges): Handle case
where an object with a boolean range is compared against a value
outside [0..1].

PR tree-optimization/70005
* gcc.c-torture/execute/pr70005.c New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233829 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR tree-optimization/69999
law [Mon, 29 Feb 2016 22:45:41 +0000 (22:45 +0000)]
PR tree-optimization/69999
* gimple-ssa-split-paths.c (split_paths): When duplicating a block
with an outgoing edge marked with EDGE_IRREDUCIBLE_LOOP, schedule
loop cleanups.

PR tree-optimization/69999
* gcc.c-torture/compile/pr69999.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233824 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * sv.po: Update.
jsm28 [Mon, 29 Feb 2016 20:48:24 +0000 (20:48 +0000)]
* sv.po: Update.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233820 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoPoison ENABLE_CHECKING macro
marxin [Mon, 29 Feb 2016 15:40:20 +0000 (15:40 +0000)]
Poison ENABLE_CHECKING macro

* system.h: Poison ENABLE_CHECKING macro.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233817 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2016-02-29 Richard Biener <rguenther@suse.de>
rguenth [Mon, 29 Feb 2016 15:30:50 +0000 (15:30 +0000)]
2016-02-29  Richard Biener  <rguenther@suse.de>

PR tree-optimization/69994
* tree-ssa-reassoc.c (gimple_nop_conversion_p): New function.
(get_unary_op): Look through nop conversions.
(ops_equal_values_p): New function, look for equality diregarding
nop conversions.
(eliminate_plus_minus_pair): Use ops_equal_values_p
(repropagate_negates): Do not use get_unary_op here.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233816 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoReplace ENABLE_CHECKING macro with flag_checking in GNAT
marxin [Mon, 29 Feb 2016 15:30:08 +0000 (15:30 +0000)]
Replace ENABLE_CHECKING macro with flag_checking in GNAT

* gcc-interface/utils.c (set_reverse_storage_order_on_pad_type):
Replace ENABLE_CHECKING macro with flag_checking.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233815 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoHSA: reduce dump output w/o -details flag
marxin [Mon, 29 Feb 2016 15:15:27 +0000 (15:15 +0000)]
HSA: reduce dump output w/o -details flag

* hsa-gen.c (gen_body_from_gimple): Dump only if TDF_DETAILS
is presented in dump flags.
* hsa-regalloc.c (linear_scan_regalloc): Likewise.
(hsa_regalloc): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233814 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agogcc/testsuite/
ienkovich [Mon, 29 Feb 2016 14:32:24 +0000 (14:32 +0000)]
gcc/testsuite/

2016-02-29  Yuri Rumyantsev  <ysrumyan@gmail.com>

PR tree-optimization/69652
* gcc.dg/torture/pr69652.c: Delete test.
* gcc.dg/vect/pr69652.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233811 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR c++/69995
jason [Mon, 29 Feb 2016 14:25:57 +0000 (14:25 +0000)]
PR c++/69995
* constexpr.c (cxx_eval_store_expression): Unshare init.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233810 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2016-02-19 Richard Biener <rguenther@suse.de>
rguenth [Mon, 29 Feb 2016 13:24:24 +0000 (13:24 +0000)]
2016-02-19  Richard Biener  <rguenther@suse.de>

PR tree-optimization/69980
* tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Update
permutation of those we need to keep.

* gfortran.dg/vect/pr69980.f90: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233809 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR target/69706
ebotcazou [Mon, 29 Feb 2016 10:20:31 +0000 (10:20 +0000)]
PR target/69706
* config/sparc/sparc.c (ROUND_ADVANCE): Rename to...
(NWORDS_UP): ...this
(init_cumulative_args): Minor tweaks.
(sparc_promote_function_mode): Likewise.
(scan_record_type): Delete.
(traverse_record_type): New function template.
(classify_data_t): New structure type.
(classify_registers): New inline function.
(function_arg_slotno): In 64-bit mode, bail out early if FP slots are
exhausted.  Instantiate traverse_record_type on classify_registers and
deal with the case of a structure passed in slot #15 with no FP field
in the first word.
(assign_data_t): New structure type.
(compute_int_layout): New static function.
(compute_fp_layout): Likewise.
(count_registers): New inline function.
(assign_int_registers): New static function.
(assign_fp_registers): Likewise.
(assign_registers): New inline function.
(function_arg_record_value_1): Delete.
(function_arg_record_value_2): Likewise.
(function_arg_record_value_3): Likewise.
(function_arg_record_value): Adjust to above changes.  Instantiate
traverse_record_type on count_registers to first count the number of
registers to be used and then on assign_registers to assign them.
(function_arg_union_value): Adjust to above renaming.
(sparc_function_arg_1); Minor tweaks.  Remove commented out code.
(sparc_arg_partial_bytes): Adjust to above renaming.  Deal with the
case of a structure passed in slot #15
(sparc_function_arg_advance): Likewise.
(function_arg_padding): Minor tweak.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233808 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Retrofit
ebotcazou [Mon, 29 Feb 2016 09:30:09 +0000 (09:30 +0000)]
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Retrofit
handling of unconstrained array types as designated types into common
processing.  Also handle array types as incomplete designated types.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233807 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * gcc-interface/decl.c (gnat_to_gnu_entity) <Concurrent types>: In
ebotcazou [Mon, 29 Feb 2016 09:21:12 +0000 (09:21 +0000)]
* gcc-interface/decl.c (gnat_to_gnu_entity) <Concurrent types>: In
ASIS mode, fully lay out the minimal record type.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233806 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * gcc-interface/trans.c (finalize_nrv_r): Remove obsolete code.
ebotcazou [Mon, 29 Feb 2016 09:16:57 +0000 (09:16 +0000)]
* gcc-interface/trans.c (finalize_nrv_r): Remove obsolete code.
(build_return_expr): Likewise.
(Call_to_gnu): If this is a function call and there is no target,
create a temporary for the return value for all aggregate types,
but never create it for a return statement.  Push a binding level
around the call in more cases.  Remove obsolete code.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233805 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * gcc-interface/ada-tree.h (DECL_RETURN_VALUE_P): New macro.
ebotcazou [Mon, 29 Feb 2016 09:02:46 +0000 (09:02 +0000)]
* gcc-interface/ada-tree.h (DECL_RETURN_VALUE_P): New macro.
* gcc-interface/gigi.h (gigi): Remove useless attribute.
(gnat_gimplify_expr): Likewise.
(gnat_to_gnu_external): Declare.
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Constant>: Factor out
code dealing with the expression of external constants into...
Invoke gnat_to_gnu_external instead.
<E_Variable>: Invoke gnat_to_gnu_external to translate renamed objects
when not for a definition.  Deal with COMPOUND_EXPR and variables with
DECL_RETURN_VALUE_P set for renamings and with the case of a dangling
'reference to a function call in a renaming.  Remove obsolete test and
adjust associated comment.
* gcc-interface/trans.c (Call_to_gnu): Set DECL_RETURN_VALUE_P on the
temporaries created to hold the return value, if any.
(gnat_to_gnu_external): ...this.  New function.
* gcc-interface/utils.c (create_var_decl): Detect a constant created
to hold 'reference to function call.
* gcc-interface/utils2.c (build_unary_op) <ADDR_EXPR>: Add folding
for COMPOUND_EXPR in the DECL_RETURN_VALUE_P case.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233804 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2016-02-29 Richard Biener <rguenther@suse.de>
rguenth [Mon, 29 Feb 2016 08:45:17 +0000 (08:45 +0000)]
2016-02-29  Richard Biener  <rguenther@suse.de>

PR tree-optimization/69720
* tree-vect-loop.c (get_initial_def_for_reduction): Avoid
the adjustment_def path for possibly vectorized defs.
(vect_create_epilog_for_reduction): Handle vectorized initial
defs properly.

* gcc.dg/vect/vect-outer-pr69720.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233803 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoDaily bump.
gccadmin [Mon, 29 Feb 2016 00:16:13 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233801 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2016-02-28 Thomas Koenig <tkoenig@gcc.gnu.org>
tkoenig [Sun, 28 Feb 2016 22:27:55 +0000 (22:27 +0000)]
2016-02-28  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/68147
PR fortran/47674
* frontend-passes.c (realloc_string_callback): Don't set
walk_subtrees.

2016-02-28  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/68147
PR fortran/47674
* gfortran.dg/realloc_on_assign_26.f90:  New test case.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233797 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2016-02-28 Thomas Koenig <tkoenig@gcc.gnu.org>
tkoenig [Sun, 28 Feb 2016 22:24:27 +0000 (22:24 +0000)]
2016-02-28  Thomas Koenig  <tkoenig@gcc.gnu.org>

* dump-parse-tree.c (show_code_node):  Print association
list of a block if present.  Handle EXEC_END_BLOCK.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233796 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2016-02-28 Harald Anlauf <anlauf@gmx.de>
jvdelisle [Sun, 28 Feb 2016 19:07:42 +0000 (19:07 +0000)]
2016-02-28  Harald Anlauf <anlauf@gmx.de>
    Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR fortran/56007
* match.c (gfc_match_iterator): Add diagnostic for array variable
as do loop index.

* gfortran.dg/coarray_8.f90: Adjust error message.
* gfortran.dg/pr56007.f90: New test.
* gfortran.dg/pr56007.f: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233795 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoAdd a test for PR tree-optimization/69989
hjl [Sun, 28 Feb 2016 17:41:45 +0000 (17:41 +0000)]
Add a test for PR tree-optimization/69989

PR tree-optimization/69989
* gcc.dg/torture/pr69989.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233792 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * config/i386/cygming.h (STACK_REALIGN_DEFAULT): Define.
ebotcazou [Sun, 28 Feb 2016 14:36:41 +0000 (14:36 +0000)]
* config/i386/cygming.h (STACK_REALIGN_DEFAULT): Define.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233791 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2016-02-28 Harald Anlauf <anlauf@gmx.de>
dominiq [Sun, 28 Feb 2016 13:39:39 +0000 (13:39 +0000)]
2016-02-28  Harald Anlauf  <anlauf@gmx.de>

PR fortran/60126
* gfortran.dg/pr60126.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233790 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago Revert
law [Sun, 28 Feb 2016 06:34:20 +0000 (06:34 +0000)]
Revert
2016-02-26  Richard Biener  <rguenther@suse.de>
    Jeff Law  <law@redhat.com>

PR tree-optimization/69740
* cfghooks.c (remove_edge): Request loop fixups if we delete
an edge that might turn an irreducible loop into a natural
loop.

Revert
2016-02-26  Richard Biener  <rguenther@suse.de>
    Jeff Law  <law@redhat.com>

PR tree-optimization/69740
* gcc.c-torture/compile/pr69740-1.c: New test.
* gcc.c-torture/compile/pr69740-2.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233787 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoDaily bump.
gccadmin [Sun, 28 Feb 2016 00:16:17 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233786 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2016-02-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
jvdelisle [Sat, 27 Feb 2016 22:04:08 +0000 (22:04 +0000)]
2016-02-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

Fix ChangeLogs

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233783 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2016-02-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
jvdelisle [Sat, 27 Feb 2016 19:07:13 +0000 (19:07 +0000)]
2016-02-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
    Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/69110
* io.c (gfc_match_open): Check that open status is an expression
constant before comparing string to 'scratch' with NEWUNIT.

* gfortran.dg/newunit_4.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233782 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR target/69613
jakub [Sat, 27 Feb 2016 13:31:39 +0000 (13:31 +0000)]
PR target/69613
PR rtl-optimization/69886
* gcc.dg/torture/pr69886.c: Add -w -Wno-psabi to dg-options.
* gcc.dg/torture/pr69613.c: Likewise.  Guard -mavx with avx_runtime
target.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233781 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoRight size for events
afanfa [Sat, 27 Feb 2016 11:57:16 +0000 (11:57 +0000)]
Right size for events

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233779 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR rtl-optimization/69896
jakub [Sat, 27 Feb 2016 06:43:20 +0000 (06:43 +0000)]
PR rtl-optimization/69896
* tree-vect-generic.c (get_compute_type): Avoid single element
vector types.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233777 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoDaily bump.
gccadmin [Sat, 27 Feb 2016 00:16:15 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233775 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoRename the tuning option and related functions to enable the Newton series for the...
evandro [Fri, 26 Feb 2016 23:41:53 +0000 (23:41 +0000)]
Rename the tuning option and related functions to enable the Newton series for the reciprocal square root to reflect its approximative characteristic.

gcc/
* config/aarch64/aarch64-protos.h (aarch64_emit_swrsqrt): Rename
function to "aarch64_emit_approx_rsqrt".
* config/aarch64/aarch64-tuning-flags.def: Rename tuning flag to
AARCH64_EXTRA_TUNE_APPROX_RSQRT.
* config/aarch64/aarch64.c (exynosm1_tunigs): Use new flag name.
(xgene1_tunings): Likewise.
(use_rsqrt_p): Likewise.
(aarch64_emit_swrsqrt): Use new function name.
* config/aarch64/aarch64-simd.md (aarch64_rsqrts_*): Likewise.
* config/aarch64/aarch64.opt (mlow-precision-recip-sqrt): Reword the
text explaining this option.
* doc/invoke.texi (-mlow-precision-recip-sqrt): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233772 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoPR tree-optimization/15826 - don't use "if" to extract a single bit
msebor [Fri, 26 Feb 2016 23:24:29 +0000 (23:24 +0000)]
PR tree-optimization/15826 - don't use "if" to extract a single bit
bit-field
2016-02-26  Martin Sebor  <msebor@redhat.com>

        PR tree-optimization/15826
        * gcc.dg/tree-ssa/pr15826.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233771 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR target/69969
jakub [Fri, 26 Feb 2016 22:35:00 +0000 (22:35 +0000)]
PR target/69969
* config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
complain about -mallow-movmisalign without -mvsx if
TARGET_ALLOW_MOVMISALIGN was not set explicitly.

* gcc.target/powerpc/pr69969.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233767 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoPR c++/15766 - bad parse error recovery (2 bugs)
msebor [Fri, 26 Feb 2016 21:50:15 +0000 (21:50 +0000)]
PR c++/15766 - bad parse error recovery (2 bugs)

gcc/testsuite/ChangeLog:
2016-02-26  Martin Sebor  <msebor@redhat.com>

PR c++/15766
* g++.old-deja/g++.other/decl5.C: Add a test case.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233765 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2016-02-26 Joel Sherrill <joel@rtems.org>
joel [Fri, 26 Feb 2016 20:03:19 +0000 (20:03 +0000)]
2016-02-26  Joel Sherrill <joel@rtems.org>

* config-list.mk: Add aarch64-rtems and x86_64-rtems

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233763 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2016-02-26 Joel Sherrill <joel@rtems.org>
joel [Fri, 26 Feb 2016 20:02:28 +0000 (20:02 +0000)]
2016-02-26  Joel Sherrill <joel@rtems.org>

* config.host: Add x86_64-*-rtems*.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233762 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2016-02-26 Joel Sherrill <joel@rtems.org>
joel [Fri, 26 Feb 2016 20:01:34 +0000 (20:01 +0000)]
2016-02-26  Joel Sherrill <joel@rtems.org>

* config.gcc: Add x86_64-*-rtems*.
* gcc/config/i386/rtems-64.h: New file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233761 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2016-02-26 Joel Sherrill <joel@rtems.org>
joel [Fri, 26 Feb 2016 19:59:55 +0000 (19:59 +0000)]
2016-02-26  Joel Sherrill <joel@rtems.org>

* config.gcc: Add aarch64-*-rtems*.
* gcc/config/aarch64/rtems.h: New file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233760 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2016-02-26 Joel Sherrill <joel@rtems.org>
joel [Fri, 26 Feb 2016 19:59:04 +0000 (19:59 +0000)]
2016-02-26  Joel Sherrill <joel@rtems.org>

* libgcc/config.host: Add aarch64-*-rtems*.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233759 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR c++/69958
jason [Fri, 26 Feb 2016 19:54:33 +0000 (19:54 +0000)]
PR c++/69958
* pt.c (make_argument_pack): New.
(tsubst_copy) [SIZEOF_EXPR]: Handle partial expansion.
(tsubst_copy_and_build): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233758 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[hsa,testsuite] Introduce offload_device_shared_as effective target
jamborm [Fri, 26 Feb 2016 19:42:31 +0000 (19:42 +0000)]
[hsa,testsuite] Introduce offload_device_shared_as effective target

2016-02-26  Keith McDaniel <k.allen.mcdaniel@gmail.com>
    Martin Jambor  <mjambor@suse.cz>

* testsuite/lib/libgomp.exp
(check_effective_target_offload_device_shared_as): New proc.
* testsuite/libgomp.c++/declare_target-1.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233757 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2016-02-26 Paul E. Murphy <murphyp@linux.vnet.ibm.com>
wschmidt [Fri, 26 Feb 2016 19:20:54 +0000 (19:20 +0000)]
2016-02-26  Paul E. Murphy  <murphyp@linux.vnet.ibm.com>
    Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* config/rs6000/sfp-machine.h (_FP_DECL_EX): Declare _fpsr as a
union of u64 and double.
(FP_TRAPPING_EXCEPTIONS): Return a bitmask of trapping exceptions.
(FP_INIT_ROUNDMODE): Read the fpscr instead of writing a mystery
value.
(FP_ROUNDMODE): Update the usage of _fpscr.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233756 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agopowerpc: Handle DImode rotatert implemented with rlwinm (PR69946)
segher [Fri, 26 Feb 2016 18:49:18 +0000 (18:49 +0000)]
powerpc: Handle DImode rotatert implemented with rlwinm (PR69946)

Some DImode rotate-right-and-mask can be implemented best with a rlwinm
instruction: those that could be a lshiftrt instead of a rotatert, while
the mask is not right-aligned.  Why the rotate in the testcase is not
optimised to a plain shift is another question, but we need to handle
it here anyway.  We compute the shift amount for a 64-bit rotate.  This
is 32 too high in this case; if we print using %h that is masked out (and
this doesn't silently let through invalid instructions, everything is
checked by rs6000_is_valid_shift_mask which is much more thorough).

PR target/69946
* config/rs6000/rs6000.c (rs6000_insn_for_shift_mask): Print rlwinm
shift amount using %h.  Add comment.

gcc/testsuite/
* gcc.target/powerpc/pr69946.c: New file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233755 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR tree-optimization/69740
law [Fri, 26 Feb 2016 18:17:02 +0000 (18:17 +0000)]
PR tree-optimization/69740
* cfghooks.c (remove_edge): Request loop fixups if we delete
an edge that might turn an irreducible loop into a natural
loop.

        PR tree-optimization/69740
* gcc.c-torture/compile/pr69740-1.c: New test.
* gcc.c-torture/compile/pr69740-2.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233754 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[PR 69920] Prevent SRA from leaving a removed SSA_NAME in IL
jamborm [Fri, 26 Feb 2016 18:06:42 +0000 (18:06 +0000)]
[PR 69920] Prevent SRA from leaving a removed SSA_NAME in IL

2016-02-26  Martin Jambor  <mjambor@suse.cz>

PR middle-end/69920
* tree-sra.c (sra_modify_assign): Do not remove loads of
uninitialized aggregates to SSA_NAMEs.

testsuite/
* gcc.dg/torture/pr69932.c: New test.
* gcc.dg/torture/pr69936.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233753 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoS/390: PR69709 Fix risbg splitter
krebbel [Fri, 26 Feb 2016 18:03:51 +0000 (18:03 +0000)]
S/390: PR69709 Fix risbg splitter

This fixes a wrong code generation problem with the splitters introduced
with that patch: https://gcc.gnu.org/ml/gcc-patches/2015-07/msg01840.html

The target operand is used as temporary.  This fails if it matches the
source of the left shift which is read after writing the temporary.

Thanks to Dominik for debugging it and thanks to Richard for the fix!

Bootstrapped and regtested on s390x with-arch=z13.

Bye,

-Andreas-

gcc/ChangeLog:

2016-02-26  Richard Henderson  <rth@redhat.com>

PR target/69709
* config/s390/s390.md (risbg and risbgn splitters): Allocate new
pseudo in case the target rtx matches the source of the left
shift.

gcc/testsuite/ChangeLog:

2016-02-26  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

PR target/69709
* gcc.target/s390/pr69709.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233752 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[hsa/69568] Fix ld instruction type for packed data
jamborm [Fri, 26 Feb 2016 17:48:19 +0000 (17:48 +0000)]
[hsa/69568] Fix ld instruction type for packed data

2016-02-26  Martin Jambor  <mjambor@suse.cz>

PR hsa/69568
* hsa.h (hsa_type_packed_p): Declare.
* hsa.c (hsa_type_packed_p): New function.
* hsa-gen.c (mem_type_for_type): Use unsigned type for packed
loads.
(gen_hsa_insns_for_store): Use hsa_type_packed_p.
* hsa-brig.c (emit_basic_insn): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233751 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[hsa/69674] Make testsuite libgomp.c/for-3.c compile with -m32
jamborm [Fri, 26 Feb 2016 17:45:37 +0000 (17:45 +0000)]
[hsa/69674] Make testsuite libgomp.c/for-3.c compile with -m32

2016-02-26  Martin Jambor  <mjambor@suse.cz>

pr hsa/69674
* hsa-gen.c (gen_hsa_phi_from_gimple_phi): Use proper hsa type for
pointers.
(gen_hsa_addr): Allow integer constants in TMR_INDEX2.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233750 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[hsa] Satisfy conditional move operand type constrains
jamborm [Fri, 26 Feb 2016 17:42:06 +0000 (17:42 +0000)]
[hsa] Satisfy conditional move operand type constrains

2016-02-26  Martin Jambor  <mjambor@suse.cz>

* hsa.h (is_a_helper): New overload for hsa_op_immed for
hsa_op_with_type operands.
(hsa_unsigned_type_for_type): Declare.
* hsa.c (hsa_unsigned_type_for_type): New function.
* hsa-gen.c (gen_hsa_binary_operation): Use hsa_unsigned_type_for_type.
(gen_hsa_insns_for_operation_assignment): Satisfy constrains of
the finalizer.  Do not emit extra move.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233749 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[hsa] Fail in presence of atomic operations in private segment
jamborm [Fri, 26 Feb 2016 17:39:11 +0000 (17:39 +0000)]
[hsa] Fail in presence of atomic operations in private segment

2016-02-26  Martin Jambor  <mjambor@suse.cz>

* hsa-gen.c (gen_hsa_ternary_atomic_for_builtin): Fail in presence of
atomic operations in private segment.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233748 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR go/69966
ian [Fri, 26 Feb 2016 17:36:00 +0000 (17:36 +0000)]
PR go/69966
    syscall: Add new Getsockopt functions.

    Add GetsockoptICMPv6Filter, GetsockoptIPv6MTUInfo, GetsockoptUcred as
    appropriate.  These functions exist in the master library.

    For GCC PR 69966.

    Reviewed-on: https://go-review.googlesource.com/19960

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233747 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[omp, hsa] Do not gridify simd constructs
jamborm [Fri, 26 Feb 2016 17:35:29 +0000 (17:35 +0000)]
[omp, hsa] Do not gridify simd constructs

2016-02-26  Martin Jambor  <mjambor@suse.cz>

* omp-low.c (grid_find_ungridifiable_statement): Store problematic
statements to wi->info.  Also disallow omp simd constructs.
(grid_target_follows_gridifiable_pattern): Use wi.info to dump reason
for not gridifying.  Dump special string for omp_for.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233746 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[AArch64] Set TREE_TARGET_GLOBALS in aarch64_set_current_function when new tree is...
ktkachov [Fri, 26 Feb 2016 16:02:21 +0000 (16:02 +0000)]
[AArch64] Set TREE_TARGET_GLOBALS in aarch64_set_current_function when new tree is the default node to recalculate optab availability

PR target/69245
* config/aarch64/aarch64.c (aarch64_set_current_function):
Save/restore target globals when switching to
target_option_default_node.

* gcc.target/aarch64/pr69245_1.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233745 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[AArch64] PR target/69613: Return zero TARGET_SHIFT_TRUNCATION_MASK when SHIFT_COUNT_...
ktkachov [Fri, 26 Feb 2016 15:59:45 +0000 (15:59 +0000)]
[AArch64] PR target/69613: Return zero TARGET_SHIFT_TRUNCATION_MASK when SHIFT_COUNT_TRUNCATED is false

PR target/69613
* config/aarch64/aarch64.c (aarch64_shift_truncation_mask):
Return 0 if !SHIFT_COUNT_TRUNCATED.

* gcc.dg/torture/pr69613.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233744 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR rtl-optimization/69891
jakub [Fri, 26 Feb 2016 15:53:43 +0000 (15:53 +0000)]
PR rtl-optimization/69891
* dse.c (scan_insn): If we can't figure out memset arguments
or they are non-constant, call clear_rhs_from_active_local_stores.

* gcc.target/i386/pr69891.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233743 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoFix ChangeLog formatting
wschmidt [Fri, 26 Feb 2016 15:30:18 +0000 (15:30 +0000)]
Fix ChangeLog formatting

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233742 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoUpdate ChangeLog to mention pr61397
wschmidt [Fri, 26 Feb 2016 15:25:29 +0000 (15:25 +0000)]
Update ChangeLog to mention pr61397

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233740 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2016-02-26 Michael Meissner <meissner@linux.vnet.ibm.com>
wschmidt [Fri, 26 Feb 2016 15:24:55 +0000 (15:24 +0000)]
2016-02-26  Michael Meissner <meissner@linux.vnet.ibm.com>
    Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* gcc.target/powerpc/p8vector-ldst.c: Adjust to test desired
functionality for both 32-bit and 64-bit.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233739 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoMention clog10{,f,l} in documentation (Builtins section)
marxin [Fri, 26 Feb 2016 11:56:17 +0000 (11:56 +0000)]
Mention clog10{,f,l} in documentation (Builtins section)

* doc/extend.texi: Mention clog10, clog10f an clog10l
in Builtins section.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233738 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoReplace ENABLE_CHECKING with CHECKING_P in dwarf2out
marxin [Fri, 26 Feb 2016 10:46:48 +0000 (10:46 +0000)]
Replace ENABLE_CHECKING with CHECKING_P in dwarf2out

* dwarf2out.c (new_loc_descr): Replace ENABLE_CHECKING with
CHECKING_P.
(resolve_args_picking_1): Likewise.
* dwarf2out.h (struct GTY): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233737 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoReplace ENABLE_CHECKING macro with flag_checking in HSA
marxin [Fri, 26 Feb 2016 10:10:11 +0000 (10:10 +0000)]
Replace ENABLE_CHECKING macro with flag_checking in HSA

* hsa-gen.c (generate_hsa): Replace ENABLE_CHECKING macro
with flag_checking.
* hsa-regalloc.c (linear_scan_regalloc): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233736 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoMention --enable-valgrind-annotations in install.texi
marxin [Fri, 26 Feb 2016 10:02:45 +0000 (10:02 +0000)]
Mention --enable-valgrind-annotations in install.texi

    Martin Liska  <mliska@suse.cz>

* doc/install.texi: Mention --enable-valgrind-annotations.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233735 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2016-02-26 Richard Biener <rguenther@suse.de>
rguenth [Fri, 26 Feb 2016 08:34:58 +0000 (08:34 +0000)]
2016-02-26  Richard Biener  <rguenther@suse.de>

PR tree-optimization/69551
* tree-ssa-structalias.c (get_constraint_for_ssa_var): When
looking through aliases adjust DECL_PT_UID to refer to the
ultimate alias target.

* gcc.dg/torture/pr69951.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233734 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR c++/69889
jason [Fri, 26 Feb 2016 04:53:58 +0000 (04:53 +0000)]
PR c++/69889

* cp-tree.h (AGGR_INIT_FROM_THUNK_P): New.
* tree.c (build_aggr_init_expr): Set it.
* semantics.c (simplify_aggr_init_expr): Check it.
* cp-gimplify.c (cp_genericize_r): Don't walk into
a call/aggr_init from a thunk.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233733 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoDaily bump.
gccadmin [Fri, 26 Feb 2016 00:16:22 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233732 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoDo not gather mem stats in run_exit_handles (PR
marxin [Thu, 25 Feb 2016 16:57:39 +0000 (16:57 +0000)]
Do not gather mem stats in run_exit_handles (PR

PR middle-end/69919
* alloc-pool.c (after_memory_report): New variable.
* alloc-pool.h (base_pool_allocator ::release): Do not use
the infrastructure if after_memory_report.
* toplev.c (toplev::main): Mark after memory report.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233722 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR c++/69842
jason [Thu, 25 Feb 2016 15:23:47 +0000 (15:23 +0000)]
PR c++/69842
* method.c (forward_parm): Handle parameter packs.
* lambda.c (maybe_add_lambda_conv_op): Use it for them.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233719 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR c++/67364
jason [Thu, 25 Feb 2016 14:09:24 +0000 (14:09 +0000)]
PR c++/67364
* constexpr.c (cxx_eval_component_reference): Don't complain about
unevaluated empty classes.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233716 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR c++/68049
jason [Thu, 25 Feb 2016 14:09:18 +0000 (14:09 +0000)]
PR c++/68049
* tree.c (strip_typedefs): Use DECL_ORIGINAL_TYPE.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233715 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2016-02-25 Richard Biener <rguenther@suse.de>
rguenth [Thu, 25 Feb 2016 13:20:25 +0000 (13:20 +0000)]
2016-02-25  Richard Biener  <rguenther@suse.de>

PR tree-optimization/48795
* tree-vrp.c (check_array_ref): Use array_at_struct_end_p.

* gcc.dg/Warray-bounds-18.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233714 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoRequire init_priority support for g++.dg/ext/attr-constructor1.C
ro [Thu, 25 Feb 2016 12:47:28 +0000 (12:47 +0000)]
Require init_priority support for g++.dg/ext/attr-constructor1.C

* g++.dg/ext/attr-constructor1.C: Require init_priority support.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233713 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agogcc/
iverbin [Thu, 25 Feb 2016 12:23:52 +0000 (12:23 +0000)]
gcc/
PR driver/68463
* config/gnu-user.h (CRTOFFLOADBEGIN): Define.  Add crtoffloadbegin.o if
offloading is enabled and -fopenacc or -fopenmp is specified.
(CRTOFFLOADEND): Likewise.
(GNU_USER_TARGET_STARTFILE_SPEC): Add CRTOFFLOADBEGIN.
(GNU_USER_TARGET_ENDFILE_SPEC): Add CRTOFFLOADEND.
* lto-wrapper.c (offloadbegin, offloadend): Remove static vars.
(offload_objects_file_name): New static var.
(tool_cleanup): Remove offload_objects_file_name file.
(find_offloadbeginend): Replace with ...
(find_crtoffloadtable): ... this.
(run_gcc): Remove offload_argc and offload_argv.
Get offload_objects_file_name from -foffload-objects=... option.
Read names of object files with offload from this file, pass them to
compile_images_for_offload_targets.  Don't call find_offloadbeginend and
don't pass offloadbegin and offloadend to the linker.  Don't pass
offload non-LTO files to the linker, because now they're not claimed.
libgcc/
PR driver/68463
* Makefile.in (crtoffloadtable$(objext)): New rule.
* configure.ac (extra_parts): Add crtoffloadtable$(objext) if
enable_offload_targets is not empty.
* configure: Regenerate.
* offloadstuff.c: Move __OFFLOAD_TABLE__ from crtoffloadend to
crtoffloadtable.
libgomp/
PR driver/68463
* testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
lto-plugin/
PR driver/68463
* lto-plugin.c (struct plugin_offload_file): New.
(offload_files): Change type.
(offload_files_last, offload_files_last_obj): New.
(offload_files_last_lto): New.
(free_2): Adjust accordingly.
(all_symbols_read_handler): Don't add offload files to lto_arg_ptr.
Don't call free_1 for offload_files.  Write names of object files with
offloading to the temporary file.  Add new option to lto_arg_ptr.
(claim_file_handler): Don't claim file if it contains offload sections
without LTO sections.  If it contains offload sections, add to the list.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233712 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR ipa/69630
hubicka [Thu, 25 Feb 2016 12:10:04 +0000 (12:10 +0000)]
PR ipa/69630
* ipa-devirt.c (possible_polymorphic_call_targets): Do not ICE
on builtin_unreachable.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233711 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR rtl-optimization/69896
jakub [Thu, 25 Feb 2016 08:09:02 +0000 (08:09 +0000)]
PR rtl-optimization/69896
* regcprop.c: Include cfgrtl.h.
(copyprop_hardreg_forward_1): If noop_p insn uses narrower
than remembered mode, either delete it (if noop_move_p), or
treat like copy_p but not noop_p instruction.

* gcc.dg/pr69896.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233692 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoFix PR c++/69736
ppalka [Thu, 25 Feb 2016 01:14:27 +0000 (01:14 +0000)]
Fix PR c++/69736

gcc/cp/ChangeLog:

PR c++/69736
* cp-tree.h (REF_PARENTHESIZED_P): Adjust documentation.
(maybe_undo_parenthesized_ref): Declare.
* semantics.c (maybe_undo_parenthesized_ref): Split out from
check_return_expr.
(finish_call_expr): Use it.
* typeck.c (check_return_expr): Use it.
* pt.c (tsubst_copy_and_build) [INDIRECT_REF]: Retain the
REF_PARENTHESIZED_P flag.

gcc/testsuite/ChangeLog:

PR c++/69736
* g++.dg/cpp1y/paren2.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233691 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoDaily bump.
gccadmin [Thu, 25 Feb 2016 00:16:13 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233690 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoPR c/51147 - attribute((mode(byte))) on an enum generates wrong code
msebor [Wed, 24 Feb 2016 23:26:42 +0000 (23:26 +0000)]
PR c/51147 - attribute((mode(byte))) on an enum generates wrong code

gcc/testsuite/ChangeLog:
2016-02-24  Martin Sebor  <msebor@redhat.com>

        PR c/51147
        * gcc.dg/enum-mode-2.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233686 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR debug/69705
jakub [Wed, 24 Feb 2016 22:04:09 +0000 (22:04 +0000)]
PR debug/69705
* dwarf2out.c (gen_variable_die): Work around buggy LTO
- allow NULL decl for Fortran DW_TAG_common_block variables.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233685 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR c++/69922
jakub [Wed, 24 Feb 2016 22:01:24 +0000 (22:01 +0000)]
PR c++/69922
* class.c (build_base_path): Set TREE_NO_WARNING on the null_test.
Avoid folding it.
* init.c (build_vec_delete_1, build_delete): Don't fold the non-NULL
tests.
* cp-gimplify.c (cp_fold): For TREE_NO_WARNING comparisons with NULL,
unless they are folded into INTEGER_CST, error_mark_node or some
comparison with NULL, avoid folding them and use either the original
comparison or non-folded comparison of folded arguments.
* cp-ubsan.c (cp_ubsan_instrument_vptr): Set TREE_NO_WARNING on the
comparison, don't fold the comparison right away.

* g++.dg/warn/Wnonnull-compare-6.C: New test.
* g++.dg/warn/Wnonnull-compare-7.C: New test.
* g++.dg/ubsan/pr69922.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233684 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR c/69819
mpolacek [Wed, 24 Feb 2016 21:47:59 +0000 (21:47 +0000)]
PR c/69819
* c-decl.c (finish_decl): Don't update the copy of the type of a
different decl type.

* gcc.dg/pr69819.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233683 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR c++/69323 - errors
jason [Wed, 24 Feb 2016 19:56:09 +0000 (19:56 +0000)]
PR c++/69323 - errors

* friend.c (make_friend_class): Likewise.
* decl.c (lookup_and_check_tag): Diagnose invalid dependent friend.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233682 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR c++/69323 - valid
jason [Wed, 24 Feb 2016 19:56:03 +0000 (19:56 +0000)]
PR c++/69323 - valid

* pt.c (instantiate_class_template_1): Set
processing_template_decl before substituting friend_type.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233681 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * doc/invoke.texi: Adjust -flifetime-dse documentation.
jason [Wed, 24 Feb 2016 19:55:57 +0000 (19:55 +0000)]
* doc/invoke.texi: Adjust -flifetime-dse documentation.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233680 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoPR c++/69912 - [6 regression] ICE in build_ctor_subob_ref initializing
msebor [Wed, 24 Feb 2016 17:23:35 +0000 (17:23 +0000)]
PR c++/69912 - [6 regression] ICE in build_ctor_subob_ref initializing
a flexible array member

gcc/testsuite/ChangeLog:
2016-02-24  Martin Sebor  <msebor@redhat.com>

PR c++/69912
* g++.dg/ext/flexary15.C: New test.

gcc/cp/ChangeLog:
2016-02-24  Martin Sebor  <msebor@redhat.com>

PR c++/69912
* tree.c (build_ctor_subob_ref): Compare types' main variants
        instead of the types as they are.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233678 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoAvoid making unportable assumptions about the relationship between SIZE_MAX
msebor [Wed, 24 Feb 2016 17:04:03 +0000 (17:04 +0000)]
Avoid making unportable assumptions about the relationship between SIZE_MAX
and UINT_MAX.

gcc/testsuite/ChangeLog:
        * gcc/testsuite/gcc.dg/builtins-68.c: Avoid making unportable
        assumptions about the relationship between SIZE_MAX and UINT_MAX.
        * gcc/testsuite/g++.dg/ext/builtin_alloca.C: Same.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233677 138bc75d-0d04-0410-961f-82ee72b054a4