gcc.git
8 years agoS/390: Add patterns for r<nox>sbg instructions.
Dominik Vogt [Tue, 3 May 2016 13:30:33 +0000 (13:30 +0000)]
S/390: Add patterns for r<nox>sbg instructions.

gcc/ChangeLog:

2016-05-03  Dominik Vogt  <vogt@linux.vnet.ibm.com>

* config/s390/s390.md ("*r<noxa>sbg_<mode>_sll")
("*r<noxa>sbg_<mode>_srl"): New define_insns.
("*r<noxa>sbg_<mode>_srl_bitmask"): Rename by adding "_bitmask".
("*r<noxa>sbg_<mode>_sll_bitmask"): Likewise.

gcc/testsuite/ChangeLog:

2016-05-03  Dominik Vogt  <vogt@linux.vnet.ibm.com>

* gcc.target/s390/md/rXsbg_mode_sXl.c: New test.
* gcc.target/s390/s390.exp (check_effective_target_z10_instructions):
Procedure to check for z10 instruction set.

From-SVN: r235822

8 years agoinline-8.c: Require c99_runtime.
Christophe Lyon [Tue, 3 May 2016 13:06:40 +0000 (13:06 +0000)]
inline-8.c: Require c99_runtime.

* gcc.dg/ipa/inline-8.c: Require c99_runtime.

From-SVN: r235821

8 years ago[RS6000] Fix ICE caused by rs6000_savres_strategy thinko
Alan Modra [Tue, 3 May 2016 12:38:32 +0000 (22:08 +0930)]
[RS6000] Fix ICE caused by rs6000_savres_strategy thinko

rev 235672 (git cffc0b35) changed the condition for SAVE_MULTIPLE/
STORE_MULTIPLE, wrongly allowing a single reg.

gcc/
* config/rs6000/rs6000.c (rs6000_savres_strategy): Correct condition
for SAVE_MULTIPLE/STORE_MULTIPLE.
gcc/testsuite/
* gcc.target/powerpc/savres.c: Add func using a single gpr.

From-SVN: r235820

8 years ago* config/i386/i386.md (*truncdfsf_mixed, *truncdfsf_i387,
Jakub Jelinek [Tue, 3 May 2016 12:18:57 +0000 (14:18 +0200)]
* config/i386/i386.md (*truncdfsf_mixed, *truncdfsf_i387,

*truncxfsf2_mixed, *truncxfdf2_mixed): Use v constraint instead
of x.

* gcc.target/i386/avx512f-cvt-1.c: New test.

From-SVN: r235819

8 years agoCompile ssa-thread-14.c with -fdump-tree-vrp-details
H.J. Lu [Tue, 3 May 2016 12:14:37 +0000 (12:14 +0000)]
Compile ssa-thread-14.c with -fdump-tree-vrp-details

* gcc.dg/tree-ssa/ssa-thread-14.c: Replace -fdump-tree-vrp with
-fdump-tree-vrp-details.

From-SVN: r235818

8 years agogimplify.h (get_initialized_tmp_var): Add allow_ssa parameter default true.
Richard Biener [Tue, 3 May 2016 12:06:19 +0000 (12:06 +0000)]
gimplify.h (get_initialized_tmp_var): Add allow_ssa parameter default true.

2016-05-03  Richard Biener  <rguenther@suse.de>

* gimplify.h (get_initialized_tmp_var): Add allow_ssa parameter
default true.
(gimplify_arg): Likewise.
* gimplify.c (gimplify_expr): Add overload with allow_ssa parameter,
re-writing the result to a decl if required.
(internal_get_tmp_var): Add allow_ssa parameter
and override into_ssa with it.
(get_formal_tmp_var): Adjust.
(get_initialized_tmp_var): Add allow_ssa parameter.
(gimplify_arg): Add allow_ssa parameter and avoid generating
SSA names for the result false.
(gimplify_call_expr): If the call may return twice do not
gimplify parameters into SSA.
(prepare_gimple_addressable): Do not allow an SSA name as
temporary.
(gimplify_modify_expr): Adjust assert.  For noreturn calls
with a SSA name LHS adjust its def.
(gimplify_save_expr): Do not allow an SSA name as save-expr
result.
(gimplify_one_sizepos): Do not allow an SSA name as a sizepos.
(gimplify_body): Init GIMPLE SSA data structures and gimplify
into-SSA.
(gimplify_scan_omp_clauses): Make sure OMP_CLAUSE_SIZE is not
an SSA name.  Likewise for OMP_CLAUSE_REDUCTION operands.
(gimplify_omp_for): Likewise for OMP_CLAUSE_DECL.  Likewise
for OMP_FOR_COND,  OMP_FOR_INCR and OMP_CLAUSE_LINEAR_STEP.
(optimize_target_teams): Do not allow SSA names for clause operands.
(gimplify_expr): Likewise for where we mark the result addressable.
* passes.def (pass_init_datastructures): Remove.
* tree-into-ssa.c (mark_def_sites): Ignore existing SSA names.
(rewrite_stmt): Likewise.
* tree-inline.c (initialize_cfun): Properly transfer SSA state.
(replace_locals_op): Replace SSA names.
(copy_gimple_seq_and_replace_locals): Init src_cfun.
* gimple-low.c (lower_builtin_setjmp): Deal with SSA.
* cgraph.c (release_function_body): Free CFG annotations only
when we have a CFG.  Simplify.
* gimple-fold.c (gimplify_and_update_call_from_tree): Use
force_gimple_operand instead of get_initialized_tmp_var.
* tree-pass.h (make_pass_init_datastructures): Remove.
* tree-ssa.c (execute_init_datastructures): Remove.
(pass_data_init_datastructures): Likewise.
(class pass_init_datastructures): Likewise.
(make_pass_init_datastructures): Likewise.
* omp-low.c (create_omp_child_function): Init SSA data structures.
(grid_expand_target_grid_body): Likewise.
* tree-cfg.c (move_block_to_fn): Double-check the DEF is an SSA
name before adding it to names_to_release.
(remove_bb): Always release SSA defs.
* tree-ssa-ccp.c (get_default_value): Check SSA_NAME_VAR
before dereferencing it.
* cgraphunit.c (init_lowered_empty_function): Always
int SSA data structures.
* tree-ssanames.c (release_defs): Remove assert that we are in
SSA form.
* trans-mem.c (diagnose_tm_1): Handle SSA name function.

c-family/
* cilk.c (cilk_gimplify_call_params_in_spawned_fn): Do not
allow call args to gimplify to SSA names.

* gcc.dg/pr30172-1.c: Adjust.
* gcc.dg/pr63743.c: Likewise.
* gcc.dg/tm/pr51696.c: Likewise.
* c-c++-common/tm/safe-1.c: Likewise.
* gcc.dg/tree-prof/val-prof-3.c: Likewise.
* gcc.dg/plugin/self-assign-test-1.c: XFAIL case that needs CSE.
* g++.dg/plugin/self-assign-test-1.C: Likewise.
* g++.dg/plugin/self-assign-test-2.C: Likewise.

From-SVN: r235817

8 years agore PR rtl-optimization/70467 (Useless "and [esp],-1" emitted on AND with uint64_t...
Jakub Jelinek [Tue, 3 May 2016 11:45:04 +0000 (13:45 +0200)]
re PR rtl-optimization/70467 (Useless "and [esp],-1" emitted on AND with uint64_t variable)

PR rtl-optimization/70467
* config/i386/predicates.md (x86_64_hilo_int_operand,
x86_64_hilo_general_operand): New predicates.
* config/i386/constraints.md (Wd): New constraint.
* config/i386/i386.md (mode attr di): Use Wd instead of e.
(general_hilo_operand): New mode attr.
(add<mode>3, sub<mode>3): Use <general_hilo_operand>
instead of <general_operand>.
(*add<dwi>3_doubleword, *sub<dwi>3_doubleword): Use
x86_64_hilo_general_operand instead of <general_operand>.

* gcc.target/i386/pr70467-3.c: New test.
* gcc.target/i386/pr70467-4.c: New test.

Co-Authored-By: Uros Bizjak <ubizjak@gmail.com>
From-SVN: r235816

8 years agore PR tree-optimization/70916 (gcc ICE at -O3 on valid code on x86_64-linux-gnu in...
Jakub Jelinek [Tue, 3 May 2016 11:43:06 +0000 (13:43 +0200)]
re PR tree-optimization/70916 (gcc ICE at -O3 on valid code on x86_64-linux-gnu in "tree_operand_check")

PR tree-optimization/70916
* tree-if-conv.c (constant_or_ssa_name): Removed.
(fold_build_cond_expr): Use is_gimple_val instead of
constant_or_ssa_name.

From-SVN: r235815

8 years agore PR tree-optimization/70916 (gcc ICE at -O3 on valid code on x86_64-linux-gnu in...
Jakub Jelinek [Tue, 3 May 2016 11:38:38 +0000 (13:38 +0200)]
re PR tree-optimization/70916 (gcc ICE at -O3 on valid code on x86_64-linux-gnu in "tree_operand_check")

PR tree-optimization/70916
* tree-vect-patterns.c (vect_recog_mask_conversion_pattern): Give up
if COND_EXPR rhs1 is neither SSA_NAME nor COMPARISON_CLASS_P.

* gcc.c-torture/compile/pr70916.c: New test.

From-SVN: r235814

8 years agore PR target/49244 (__sync or __atomic builtins will not emit 'lock bts/btr/btc')
Jakub Jelinek [Tue, 3 May 2016 11:37:25 +0000 (13:37 +0200)]
re PR target/49244 (__sync or __atomic builtins will not emit 'lock bts/btr/btc')

PR target/49244
* tree-ssa-ccp.c: Include stor-layout.h and optabs-query.h.
(optimize_atomic_bit_test_and): New function.
(pass_fold_builtins::execute): Use it.
* optabs.def (atomic_bit_test_and_set_optab,
atomic_bit_test_and_complement_optab,
atomic_bit_test_and_reset_optab): New optabs.
* internal-fn.def (ATOMIC_BIT_TEST_AND_SET,
ATOMIC_BIT_TEST_AND_COMPLEMENT, ATOMIC_BIT_TEST_AND_RESET): New ifns.
* builtins.h (expand_ifn_atomic_bit_test_and): New prototype.
* builtins.c (expand_ifn_atomic_bit_test_and): New function.
* internal-fn.c (expand_ATOMIC_BIT_TEST_AND_SET,
expand_ATOMIC_BIT_TEST_AND_COMPLEMENT,
expand_ATOMIC_BIT_TEST_AND_RESET): New functions.
* doc/md.texi (atomic_bit_test_and_set@var{mode},
atomic_bit_test_and_complement@var{mode},
atomic_bit_test_and_reset@var{mode}): Document.
* config/i386/sync.md (atomic_bit_test_and_set<mode>,
atomic_bit_test_and_complement<mode>,
atomic_bit_test_and_reset<mode>): New expanders.
(atomic_bit_test_and_set<mode>_1,
atomic_bit_test_and_complement<mode>_1,
atomic_bit_test_and_reset<mode>_1): New insns.

* gcc.target/i386/pr49244-1.c: New test.
* gcc.target/i386/pr49244-2.c: New test.

From-SVN: r235813

8 years agoPR 70687: Use wide_int in combine.c:change_zero_ext
Richard Sandiford [Tue, 3 May 2016 10:29:55 +0000 (10:29 +0000)]
PR 70687: Use wide_int in combine.c:change_zero_ext

PR 70687 reports a case where combine.c mishandles integer modes
wider than unsigned HOST_WIDE_INT.  I don't have a testcase since
the PR is just pointing out the hole.

Also, I think a ZERO_EXTEND of a vector mode could in principle satisfy
the subreg condition but wouldn't be equivalent to an AND.  E.g.:

      (zero_extend:V4DI (subreg:V4SI (reg:V4DI R) 0))

Tested on x86_64-linux-gnu.

gcc/
PR rtl-optimization/70687
* combine.c (change_zero_ext): Check for scalar modes.  Use wide_int
instead of unsigned HOST_WIDE_INT.

From-SVN: r235811

8 years agoFix PR44281, bad RA with global regs.
Bernd Schmidt [Tue, 3 May 2016 09:35:42 +0000 (09:35 +0000)]
Fix PR44281, bad RA with global regs.

PR rtl-optimization/44281
* hard-reg-set.h (struct target_hard_regs): New field
x_fixed_nonglobal_reg_set.
(fixed_nonglobal_reg_set): New macro.
* reginfo.c (init_reg_sets_1): Initialize it.
* ira.c (setup_alloc_regs): Use fixed_nonglobal_reg_set instead
of fixed_reg_set.
* df-scan.c (df_insn_refs_collect): Asms may reference global regs.

testsuite/
PR rtl-optimization/44281
* gcc.target/i386/pr44281.c: New test.

From-SVN: r235809

8 years agore PR tree-optimization/56541 (vectorizaton fails in conditional assignment of a...
Bin Cheng [Tue, 3 May 2016 09:04:46 +0000 (09:04 +0000)]
re PR tree-optimization/56541 (vectorizaton fails in conditional assignment of a constant)

PR tree-optimization/56541
* doc/invoke.texi (@item max-tree-if-conversion-phi-args): New item.
* params.def (PARAM_MAX_TREE_IF_CONVERSION_PHI_ARGS): new param.
* tree-if-conv.c (MAX_PHI_ARG_NUM): new macro.
(any_complicated_phi): new static variable.
(aggressive_if_conv): delete.
(if_convertible_phi_p): support phis with more than two arguments.
(if_convertible_bb_p): remvoe check on aggressive_if_conv and
critical pred edges.
(ifcvt_split_critical_edges): support phis with more than two
arguments by checking new parameter.  only split critical edges
if needed.
(tree_if_conversion): handle simd pragma marked loop using new
local variable aggressive_if_conv.  check any_complicated_phi.

gcc/testsuite
PR tree-optimization/56541
* gcc.dg/tree-ssa/ifc-pr56541.c: new test.
* gcc.dg/vect/pr56541.c: new test.

From-SVN: r235808

8 years agotree-ssa-loop-ivopts.c (get_computation_cost_at): Check depends_on before using it.
Bin Cheng [Tue, 3 May 2016 08:54:49 +0000 (08:54 +0000)]
tree-ssa-loop-ivopts.c (get_computation_cost_at): Check depends_on before using it.

* tree-ssa-loop-ivopts.c (get_computation_cost_at): Check depends_on
before using it.

From-SVN: r235807

8 years agotree-ssa-loop-ivopts.c (get_computation_cost_at): Don't clobber cbase.
Bin Cheng [Tue, 3 May 2016 08:38:18 +0000 (08:38 +0000)]
tree-ssa-loop-ivopts.c (get_computation_cost_at): Don't clobber cbase.

* tree-ssa-loop-ivopts.c (get_computation_cost_at): Don't clobber
cbase.

From-SVN: r235805

8 years agoMake-lang.in (cc1-checksum.c): For stage-final re-use the checksum from the previous...
Richard Biener [Tue, 3 May 2016 08:14:27 +0000 (08:14 +0000)]
Make-lang.in (cc1-checksum.c): For stage-final re-use the checksum from the previous stage.

2016-05-03  Richard Biener  <rguenther@suse.de>

c/
* Make-lang.in (cc1-checksum.c): For stage-final re-use
the checksum from the previous stage.

cp/
* Make-lang.in (cc1plus-checksum.c): For stage-final re-use
the checksum from the previous stage.

From-SVN: r235804

8 years agosh.md (udivsi3, [...]): Simplify.
Oleg Endo [Tue, 3 May 2016 06:47:34 +0000 (06:47 +0000)]
sh.md (udivsi3, [...]): Simplify.

gcc/
* config/sh/sh.md (udivsi3, divsi3, mulsi3): Simplify.
(mulhisi3, umulhisi3, (smulsi3_highpart, umulsi3_highpart): Convert to
define_insn_and_split.
(mulsi3_i): New define_insn_and_split.
(mulsi3_call): Convert to define_insn.
(mulsidi3, mulsidi3_compact, umulsidi3, umulsidi3_compact):
Remove constraints.

From-SVN: r235803

8 years ago* c-common.h (enum c_omp_region_type): Remove stray comma.
Marek Polacek [Tue, 3 May 2016 06:40:46 +0000 (06:40 +0000)]
* c-common.h (enum c_omp_region_type): Remove stray comma.

From-SVN: r235802

8 years agoDaily bump.
GCC Administrator [Tue, 3 May 2016 00:16:22 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r235800

8 years agomachmode.h (mode_complex): Add support to give the complex mode for a given mode.
Michael Meissner [Mon, 2 May 2016 23:23:45 +0000 (23:23 +0000)]
machmode.h (mode_complex): Add support to give the complex mode for a given mode.

[gcc]
2016-05-02  Michael Meissner  <meissner@linux.vnet.ibm.com>

* machmode.h (mode_complex): Add support to give the complex mode
for a given mode.
(GET_MODE_COMPLEX_MODE): Likewise.
* stor-layout.c (layout_type): For COMPLEX_TYPE, use the mode
stored by build_complex_type and gfc_build_complex_type instead of
trying to figure out the appropriate mode based on the size. Raise
an assertion error, if the type was not set.
* genmodes.c (struct mode_data): Add field for the complex type of
the given type.
(blank_mode): Likewise.
(make_complex_modes): Remember the complex mode created in the
base type.
(emit_mode_complex): Write out the mode_complex array to map a
type mode to the complex version.
(emit_insn_modes_c): Likewise.
* tree.c (build_complex_type): Set the complex type to use before
calling layout_type.
* config/rs6000/rs6000.c (rs6000_hard_regno_nregs_internal): Add
support for __float128 complex datatypes.
(rs6000_hard_regno_mode_ok): Likewise.
(rs6000_setup_reg_addr_masks): Likewise.
(rs6000_complex_function_value): Likewise.
* config/rs6000/rs6000.h (FLOAT128_IEEE_P): Likewise.
__float128 and __ibm128 complex.
(FLOAT128_IBM_P): Likewise.
(ALTIVEC_ARG_MAX_RETURN): Likewise.
* doc/extend.texi (Additional Floating Types): Document that
-mfloat128 must be used to enable __float128.  Document complex
__float128 and __ibm128 support.

[gcc/fortran]
2016-05-02  Michael Meissner  <meissner@linux.vnet.ibm.com>

* trans-types.c (gfc_build_complex_type):

[gcc/testsuite]
2016-05-02  Michael Meissner  <meissner@linux.vnet.ibm.com>

* gcc.target/powerpc/float128-complex-1.c: New tests for complex
__float128.
* gcc.target/powerpc/float128-complex-2.c: Likewise.

From-SVN: r235794

8 years agore PR target/49244 (__sync or __atomic builtins will not emit 'lock bts/btr/btc')
Jakub Jelinek [Mon, 2 May 2016 22:12:54 +0000 (00:12 +0200)]
re PR target/49244 (__sync or __atomic builtins will not emit 'lock bts/btr/btc')

PR target/49244
* gimple.c (gimple_builtin_call_types_compatible_p): Allow
char/short arguments promoted to int because of promote_prototypes.

From-SVN: r235792

8 years agobackport: Since x86 psABIs require the function incoming stack must align at 16 bytes...
H.J. Lu [Mon, 2 May 2016 21:45:34 +0000 (21:45 +0000)]
backport: Since x86 psABIs require the function incoming stack must align at 16 bytes...

Backport r265322 from llvm upstream

Since x86 psABIs require the function incoming stack must align at 16
bytes, child process stack passed to clone should be aligned at 16
bytes.

PR testsuite/70520
* c-c++-common/asan/clone-test-1.c (main): Align child process
stack to 16 bytes.

From-SVN: r235790

8 years agoPR c++/62314: C++: add fixit hint to misspelled member names
David Malcolm [Mon, 2 May 2016 19:09:30 +0000 (19:09 +0000)]
PR c++/62314: C++: add fixit hint to misspelled member names

When we emit a hint about a misspelled member name, it will slightly
aid readability if we use a fixit-hint to show the proposed
name in context within the source code (and in the future this
might support some kind of auto-apply in an IDE).

This patch adds such a hint to the C++ frontend, taking us from:

test.cc:10:15: error: 'struct foo' has no member named 'colour'; did you mean 'color'?
   return ptr->colour;
               ^~~~~~

to:

test.cc:10:15: error: 'struct foo' has no member named 'colour'; did you mean 'color'?
   return ptr->colour;
               ^~~~~~
               color

gcc/cp/ChangeLog:
PR c++/62314
* typeck.c (finish_class_member_access_expr): When
giving a hint about a possibly-misspelled member name,
add a fix-it replacement hint.

gcc/testsuite/ChangeLog:
PR c++/62314
* g++.dg/spellcheck-fields-2.C: New test case.

From-SVN: r235785

8 years ago* ChangeLog: Add missing entry.
Uros Bizjak [Mon, 2 May 2016 18:58:18 +0000 (20:58 +0200)]
* ChangeLog: Add missing entry.

From-SVN: r235783

8 years agopredicates.md (register_ssemem_operand): New predicate.
Uros Bizjak [Mon, 2 May 2016 18:52:33 +0000 (20:52 +0200)]
predicates.md (register_ssemem_operand): New predicate.

* config/i386/predicates.md (register_ssemem_operand): New predicate.
* config/i386/i386.md (*cmpi<FPCMP:unord><MODEF:mode>): Merge from
*cmpi<FPCMP:unord><MODEF:mode>_mixed and
*cmpi<FPCMP:unord><X87MODEF:mode>_i387.  Disable unsupported
alternatives using "enabled" attribute.  Use register_ssemem_operand
as operand 1 predicate.
(*cmpi<unord>xf_i387): Split XFmode pattern from
*cmpi<FPCMP:unord><X87MODEF:mode>_i387.
(*absneg<mode>2): Merge from *absneg<mode>2_mixed and
*absneg<mode>2_i387.  Disable unsupported alternatives using
"enabled" attribute.

From-SVN: r235782

8 years agoc-common.h (enum c_omp_region_type): Define.
Cesar Philippidis [Mon, 2 May 2016 18:49:15 +0000 (11:49 -0700)]
c-common.h (enum c_omp_region_type): Define.

gcc/c-family/
* c-common.h (enum c_omp_region_type): Define.

gcc/c/
* c-parser.c (c_parser_oacc_all_clauses): Update call to
c_finish_omp_clauses.
(c_parser_omp_all_clauses): Likewise.
(c_parser_oacc_cache): Likewise.
(c_parser_oacc_loop): Likewise.
(omp_split_clauses): Likewise.
(c_parser_omp_declare_target): Likewise.
(c_parser_cilk_all_clauses): Likewise.
(c_parser_cilk_for): Likewise.
* c-typeck.c (c_finish_omp_clauses): Replace bool arguments
is_omp, declare_simd, and is_cilk with enum c_omp_region_type ort.

gcc/cp/
* cp-tree.h (finish_omp_clauses): Update prototype.
* parser.c (cp_parser_oacc_all_clauses): Update call to
finish_omp_clauses.
(cp_parser_omp_all_clauses): Likewise.
(cp_parser_omp_for_loop): Likewise.
(cp_omp_split_clauses): Likewise.
(cp_parser_oacc_cache): Likewise.
(cp_parser_oacc_loop): Likewise.
(cp_parser_omp_declare_target):
(cp_parser_cilk_simd_all_clauses): Likewise.
(cp_parser_cilk_for): Likewise.
* pt.c (tsubst_omp_clauses): Replace allow_fields and declare_simd
arguments with enum c_omp_region_type ort.
(tsubst_omp_clauses): Update calls to finish_omp_clauses.
(tsubst_omp_attribute): Update calls to tsubst_omp_clauses.
(tsubst_omp_for_iterator): Update calls to finish_omp_clauses.
(tsubst_expr): Update calls to tsubst_omp_clauses.
* semantics.c (finish_omp_clauses): Replace bool arguments
allow_fields, declare_simd, and is_cilk with bitmask ort.
(finish_omp_for): Update call to finish_omp_clauses.

From-SVN: r235780

8 years agoPR c++/62314: add fixit hint for missing "template <> " in explicit specialization
David Malcolm [Mon, 2 May 2016 18:36:40 +0000 (18:36 +0000)]
PR c++/62314: add fixit hint for missing "template <> " in explicit specialization

gcc/cp/ChangeLog:
PR c++/62314
* parser.c (cp_parser_class_head): Capture the start location;
use it to emit a fix-it insertion hint when complaining
about missing "template <> " in explicit specializations.

gcc/testsuite/ChangeLog:
PR c++/62314
* g++.dg/pr62314.C: New test case.

From-SVN: r235777

8 years agoomp-low.c (lower_oacc_head_tail): Assert there is at least one marker.
Nathan Sidwell [Mon, 2 May 2016 18:27:40 +0000 (18:27 +0000)]
omp-low.c (lower_oacc_head_tail): Assert there is at least one marker.

* omp-low.c (lower_oacc_head_tail): Assert there is at least one
marker.
(oacc_loop_process): Check mask for loop termination.

From-SVN: r235775

8 years agoDon't install libvtv without --enable-vtable-verify
Rainer Orth [Mon, 2 May 2016 18:10:17 +0000 (18:10 +0000)]
Don't install libvtv without --enable-vtable-verify

* Makefile.am (toolexeclib_LTLIBRARIES): Only set if
ENABLE_VTABLE_VERIFY.
Simplify.
* Makefile.in: Regenerate.

From-SVN: r235772

8 years agoipa-inline-analsysis.c (evaluate_conditions_for_known_args): Revert accidental change.
Jan Hubicka [Mon, 2 May 2016 17:38:53 +0000 (19:38 +0200)]
ipa-inline-analsysis.c (evaluate_conditions_for_known_args): Revert accidental change.

* ipa-inline-analsysis.c (evaluate_conditions_for_known_args): Revert
accidental change.

From-SVN: r235771

8 years ago* cif-code.def (CIF_THUNK): Add.
Jan Hubicka [Mon, 2 May 2016 17:34:32 +0000 (19:34 +0200)]
* cif-code.def (CIF_THUNK): Add.

From-SVN: r235770

8 years ago* sv.po, zh_CN.po: Update.
Joseph Myers [Mon, 2 May 2016 17:27:36 +0000 (18:27 +0100)]
* sv.po, zh_CN.po: Update.

From-SVN: r235768

8 years agoDemangler integer overflow fixes from Marcel Böhme.
Marcel Böhme [Mon, 2 May 2016 17:06:40 +0000 (17:06 +0000)]
Demangler integer overflow fixes from Marcel Böhme.

PR c++/70498
* cp-demangle.c: Parse numbers as integer instead of long to avoid
overflow after sanity checks. Include <limits.h> if available.
(INT_MAX): Define if necessary.
(d_make_template_param): Takes integer argument instead of long.
(d_make_function_param): Likewise.
(d_append_num): Likewise.
(d_identifier): Likewise.
(d_number): Parse as and return integer.
(d_compact_number): Handle overflow.
(d_source_name): Change variable type to integer for parsed number.
(d_java_resource): Likewise.
(d_special_name): Likewise.
(d_discriminator): Likewise.
(d_unnamed_type): Likewise.
* testsuite/demangle-expected: Add regression test cases.

From-SVN: r235767

8 years agoipa-inline-analysis.c (reset_inline_summary): Clear fp_expressions
Jan Hubicka [Mon, 2 May 2016 16:55:56 +0000 (18:55 +0200)]
ipa-inline-analysis.c (reset_inline_summary): Clear fp_expressions

* ipa-inline-analysis.c (reset_inline_summary): Clear fp_expressions
(dump_inline_summary): Dump it.
(fp_expression_p): New predicate.
(estimate_function_body_sizes): Use it.
(inline_merge_summary): Merge fp_expressions.
(inline_read_section): Read fp_expressions.
(inline_write_summary): Write fp_expressions.
* ipa-inline.c (can_inline_edge_p): Permit inlining across fp math
codegen boundary if either caller or callee is !fp_expressions.
* ipa-inline.h (inline_summary): Add fp_expressions.
* ipa-inline-transform.c (inline_call): When inlining !fp_expressions
to fp_expressions be sure the fp generation flags are updated.

* gcc.dg/ipa/inline-8.c: New testcase.

From-SVN: r235766

8 years agore PR rtl-optimization/70467 (Useless "and [esp],-1" emitted on AND with uint64_t...
Jakub Jelinek [Mon, 2 May 2016 16:46:10 +0000 (18:46 +0200)]
re PR rtl-optimization/70467 (Useless "and [esp],-1" emitted on AND with uint64_t variable)

PR rtl-optimization/70467
* cse.c (cse_insn): Handle no-op MEM moves after folding.

* gcc.target/i386/pr70467-1.c: New test.

From-SVN: r235765

8 years agore PR rtl-optimization/70467 (Useless "and [esp],-1" emitted on AND with uint64_t...
Jakub Jelinek [Mon, 2 May 2016 16:17:02 +0000 (18:17 +0200)]
re PR rtl-optimization/70467 (Useless "and [esp],-1" emitted on AND with uint64_t variable)

PR rtl-optimization/70467
* ipa-pure-const.c (check_call): Handle internal calls even in
ipa mode like in local mode.

From-SVN: r235764

8 years agoconfigure.ac (mpfr): Remove pre-3.1.0 mpfr compatibility code.
Bernd Edlinger [Mon, 2 May 2016 15:23:20 +0000 (15:23 +0000)]
configure.ac (mpfr): Remove pre-3.1.0 mpfr compatibility code.

2016-05-02  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * configure.ac (mpfr): Remove pre-3.1.0 mpfr compatibility code.
        * configure: Regenerated.
        * Makefile.def (gmp): Explicitly disable assembler.
        (mpfr): Adjust lib_path.
        (mpc): Likewise.
        * Makefile.in: Regenerated.

gcc/
2016-05-02  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * doc/install.texi: Document supported in-tree gmp/mpfr/mpc versions.

contrib/
2016-05-02  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * download_prerequisites: Adjust gmp/mpfr/mpc versions.

From-SVN: r235763

8 years agospec-options.c: Run the test on all targets.
Bernd Edlinger [Mon, 2 May 2016 14:41:25 +0000 (14:41 +0000)]
spec-options.c: Run the test on all targets.

2016-05-02  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * gcc.dg/spec-options.c: Run the test on all targets.
        * gcc.dg/foo.specs: Use cpp_unique_options.

From-SVN: r235762

8 years agoCanonicalize X u< X to UNORDERED_EXPR
Marc Glisse [Mon, 2 May 2016 14:32:53 +0000 (16:32 +0200)]
Canonicalize X u< X to UNORDERED_EXPR

2016-05-02  Marc Glisse  <marc.glisse@inria.fr>

gcc/
* match.pd (X u< X, X u> X): New transformations.

gcc/testsuite/
* gcc.dg/tree-ssa/unord.c: New testcase.

From-SVN: r235761

8 years agoMove "X +- C1 CMP C2 to X CMP C2 -+ C1" to match.pd
Marc Glisse [Mon, 2 May 2016 14:09:07 +0000 (16:09 +0200)]
Move "X +- C1 CMP C2 to X CMP C2 -+ C1" to match.pd

2016-05-02  Marc Glisse  <marc.glisse@inria.fr>

gcc/
* flag-types.h (enum warn_strict_overflow_code): Move ...
* coretypes.h: ... here.
* fold-const.h (fold_overflow_warning): Declare.
* fold-const.c (fold_overflow_warning): Make non-static.
(fold_comparison): Move the transformation of X +- C1 CMP C2
into X CMP C2 -+ C1 ...
* match.pd: ... here.
* gimple-fold.c (fold_stmt_1): Protect with
fold_defer_overflow_warnings.

gcc/testsuite/
* gcc.dg/tree-ssa/20040305-1.c: Adjust.

From-SVN: r235760

8 years agoomp-low.c (struct oacc_loop): Add 'inner' field.
Nathan Sidwell [Mon, 2 May 2016 13:16:22 +0000 (13:16 +0000)]
omp-low.c (struct oacc_loop): Add 'inner' field.

gcc/
* omp-low.c (struct oacc_loop): Add 'inner' field.
(new_oacc_loop_raw): Initialize it to zero.
(oacc_loop_fixed_partitions): Initialize it.
(oacc_loop_auto_partitions): Partition outermost loop to outermost
available partitioning.

gcc/testsuite/
* c-c++-common/goacc/loop-auto-1.c: Adjust expected warnings.

libgomp/
* testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
expected partitioning.

From-SVN: r235756

8 years agoFix make install-gcc-specs with empty GCC_SPEC_FILES
Rainer Orth [Mon, 2 May 2016 13:08:59 +0000 (13:08 +0000)]
Fix make install-gcc-specs with empty GCC_SPEC_FILES

* gcc-interface/Makefile.in (install-gcc-specs): Use foreach.
Honor DESTDIR.

From-SVN: r235754

8 years agore PR c/70851 (internal compiler error: in create_tmp_var, at gimple-expr.c:473)
Marek Polacek [Mon, 2 May 2016 11:35:59 +0000 (11:35 +0000)]
re PR c/70851 (internal compiler error: in create_tmp_var, at gimple-expr.c:473)

PR c/70851
* c-decl.c (grokdeclarator): Diagnose when array's size has an
incomplete type.

* gcc.dg/enum-incomplete-3.c: New test.

From-SVN: r235750

8 years ago[ARC] Various instruction pattern fixes
Claudiu Zissulescu [Mon, 2 May 2016 11:26:57 +0000 (13:26 +0200)]
[ARC] Various instruction pattern fixes

gcc/
2016-05-02  Claudiu Zissulescu  <claziss@synopsys.com>

* config/arc/arc.md (mulsidi3): Change operand 0 predicate to
register_operand.
(umulsidi3): Likewise.
(indirect_jump): Fix jump instruction assembly patterns.

From-SVN: r235749

8 years ago[PR target/70860] [nvptx] Handle NULL cfun in nvptx_libcall_value
Thomas Schwinge [Mon, 2 May 2016 11:25:17 +0000 (13:25 +0200)]
[PR target/70860] [nvptx] Handle NULL cfun in nvptx_libcall_value

gcc/
PR target/70860
* config/nvptx/nvptx.c (nvptx_libcall_value): Handle NULL cfun.
(nvptx_function_value): Assert non-NULL cfun.

From-SVN: r235748

8 years agoMinor reformatting.
Arnaud Charlet [Mon, 2 May 2016 10:37:34 +0000 (12:37 +0200)]
Minor reformatting.

From-SVN: r235747

8 years ago[multiple changes]
Arnaud Charlet [Mon, 2 May 2016 10:36:45 +0000 (12:36 +0200)]
[multiple changes]

2016-05-02  Tristan Gingold  <gingold@adacore.com>

* fname.adb (Is_Predefined_File_Name): Also consider non-krunched
i-* names.

2016-05-02  Ed Schonberg  <schonberg@adacore.com>

* sem_util.adb (Aggregate_Constraint_Checks): Separate
accessibility checks and non-null checks for aggregate components,
to prevent spurious accessibility errors.

2016-05-02  Ed Schonberg  <schonberg@adacore.com>

* sem_ch3.adb (OK_For_Limited_Init): A type conversion is not
always legal in the in-place initialization of a limited entity
(e.g. an allocator).
* sem_res.adb (Resolve_Allocator): Improve error message with RM
reference  when allocator expression is illegal.

From-SVN: r235746

8 years ago[multiple changes]
Arnaud Charlet [Mon, 2 May 2016 10:34:16 +0000 (12:34 +0200)]
[multiple changes]

2016-05-02  Ed Schonberg  <schonberg@adacore.com>

* exp_ch6.adb (Expand_Call): When inlining a call to a function
declared in a package instance, locate the instance node of the
package after the actual package declaration. skipping over
pragmas that may have been introduced when the generic unit
carries aspects that are transformed into pragmas.

2016-05-02  Bob Duff  <duff@adacore.com>

* s-memory.adb (Alloc, Realloc): Move checks
for Size = 0 or size_t'Last into the Result = System.Null_Address
path for efficiency. Improve comments (based on actual C language
requirements for malloc).
* exp_util.adb (Build_Allocate_Deallocate_Proc): Optimize the
case where we are using the default Global_Pool_Object, and we
don't need the heavy finalization machinery.

From-SVN: r235745

8 years agoMinor reformatting.
Arnaud Charlet [Mon, 2 May 2016 10:31:39 +0000 (12:31 +0200)]
Minor reformatting.

From-SVN: r235744

8 years agoexp_util.ads, [...]: Minor reformatting.
Gary Dismukes [Mon, 2 May 2016 10:31:25 +0000 (10:31 +0000)]
exp_util.ads, [...]: Minor reformatting.

2016-05-02  Gary Dismukes  <dismukes@adacore.com>

* exp_util.ads, sem_ch12.adb: Minor reformatting.

From-SVN: r235743

8 years ago[multiple changes]
Arnaud Charlet [Mon, 2 May 2016 10:30:23 +0000 (12:30 +0200)]
[multiple changes]

2016-05-02  Javier Miranda  <miranda@adacore.com>

* exp_util.ads, exp_util.adb (Force_Evaluation): Adding new formal.
(Remove_Side_Effects): Adding a new formal.
* exp_ch6.adb (Expand_Simple_Function_Return): Generating the
call to the _Postconditions procedure ensure that side-effects
are unconditionally removed.

2016-05-02  Ed Schonberg  <schonberg@adacore.com>

* sem_ch12.adb (Check_Formal_Package_Instance, Check_Mismatch):
Use original node to determine whether the declaration is for
a formal type declaration, to take into account that formwl
private types are rewritten as private extension declarations
to simplify semantic analysis.

From-SVN: r235742

8 years agoexp_ch9.adb, [...]: Minor reformatting and typo fixes.
Gary Dismukes [Mon, 2 May 2016 10:29:12 +0000 (10:29 +0000)]
exp_ch9.adb, [...]: Minor reformatting and typo fixes.

2016-05-02  Gary Dismukes  <dismukes@adacore.com>

* exp_ch9.adb, sem_ch6.adb, sem_ch6.ads: Minor reformatting and typo
fixes.

From-SVN: r235741

8 years ago[multiple changes]
Arnaud Charlet [Mon, 2 May 2016 10:27:18 +0000 (12:27 +0200)]
[multiple changes]

2016-05-02  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_ch3.adb, exp_ch9.adb, einfo.adb, sem_ch4.adb, sem_ch6.adb: Minor
reformatting.

2016-05-02  Ed Schonberg  <schonberg@adacore.com>

* exp_ch4.adb (Expand_N_Allocator): If the designated type
is a private derived type with no discriminants, examine its
underlying_full_view to determine whether the full view has
defaulted discriminants, so their defaults can be used in the
call to the initialization procedure for the designated object.

From-SVN: r235740

8 years ago[multiple changes]
Arnaud Charlet [Mon, 2 May 2016 10:18:12 +0000 (12:18 +0200)]
[multiple changes]

2016-05-02  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_prag.adb, comperr.adb: Minor reformatting.

2016-05-02  Ed Schonberg  <schonberg@adacore.com>

* exp_pakd.adb (Rj_Unchecked_Convert_To): Do not perform an
unchecked conversion if the source size is 0 (indicating that
its RM size is unknown). This will happen with packed arrays of
non-discrete types, in which case the component type is known
to match.

2016-05-02  Arnaud Charlet  <charlet@adacore.com>

* debug.adb: Reserve -gnatd.V.

2016-05-02  Javier Miranda  <miranda@adacore.com>

* sem_ch3.adb (Process_Full_View): Remove from visibility
wrappers of synchronized types to avoid spurious errors with
their wrapped entity.
* exp_ch9.adb (Build_Wrapper_Spec): Do not generate the wrapper
if no interface primitive is covered by the subprogram and this is
not a primitive declared between two views; see Process_Full_View.
(Build_Protected_Sub_Specification): Link the dispatching
subprogram with its original non-dispatching protected subprogram
since their names differ.
(Expand_N_Protected_Type_Declaration):
If a protected subprogram overrides an interface primitive then
do not build a wrapper if it was already built.
* einfo.ads, einfo.adb (Original_Protected_Subprogram): New attribute.
* sem_ch4.adb (Names_Match): New subprogram.
* sem_ch6.adb (Check_Synchronized_Overriding): Moved
to library level and defined in the public part of the
package to invoke it from Exp_Ch9.Build_Wrapper_Spec
(Has_Matching_Entry_Or_Subprogram): New subprogram.
(Report_Conflict): New subprogram.

From-SVN: r235739

8 years ago[multiple changes]
Arnaud Charlet [Mon, 2 May 2016 10:14:23 +0000 (12:14 +0200)]
[multiple changes]

2016-05-02  Jerome Lambourg  <lambourg@adacore.com>

* s-unstyp.ads: Code cleanups.

2016-05-02  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_ch13.adb (Size_Too_Small_Error): Fix the error message format.

2016-05-02  Ed Schonberg  <schonberg@adacore.com>

* exp_prag.adb (Expand_attributes_In_Consequence,
Expand_Attributes): If the prefix of'Old is an unconstrained type,
for example an unconstrained formal of the enclosing subprogram,
create an object declaration with an expression to obtain the
actual subtype of the temporary.

2016-05-02  Arnaud Charlet  <charlet@adacore.com>

* comperr.adb (Delete_SCIL_Files): Add missing handling of
N_Subprogram_Declaration.

From-SVN: r235738

8 years agoMinor reformatting.
Arnaud Charlet [Mon, 2 May 2016 10:10:21 +0000 (12:10 +0200)]
Minor reformatting.

From-SVN: r235737

8 years ago[multiple changes]
Arnaud Charlet [Mon, 2 May 2016 10:10:01 +0000 (12:10 +0200)]
[multiple changes]

2016-05-02  Gary Dismukes  <dismukes@adacore.com>

* exp_ch5.adb, exp_ch7.adb, exp_ch7.ads, checks.adb, sem_attr.adb,
gnat1drv.adb, sem_ch4.adb, sem_ch13.adb: Minor reformatting and typo
fixes.
* sem_prag.adb, sem_ch12.adb: Minor typo fixes.

2016-05-02  Ed Schonberg  <schonberg@adacore.com>

* exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): The
function call may be wrapped in an explicit type conversion.

2016-05-02  Jerome Lambourg  <lambourg@adacore.com>

* interfac.ads: use pragma No_Elaboration_Code_All.
* s-unstyp.ads: s-unstyp.ads: use pragma No_Elaboration_Code_All.

2016-05-02  Ed Schonberg  <schonberg@adacore.com>

* sem.adb (Analyze: If node is an error node previously created
by the parser, disable expansion to prevent subsequent glitches
in error recovery.

From-SVN: r235736

8 years agore PR rtl-optimization/70886 (-frename-registers causes boostrap comparison failures...
Eric Botcazou [Mon, 2 May 2016 10:08:59 +0000 (10:08 +0000)]
re PR rtl-optimization/70886 (-frename-registers causes boostrap comparison failures on ia64)

PR rtl-optimization/70886
* sched-deps.c (estimate_dep_weak): Canonicalize cselib values.

* cselib.h (rtx_equal_for_cselib_1): Declare.
(rtx_equal_for_cselib_p: New inline function.
* cselib.c (rtx_equal_for_cselib_p): Delete.
(rtx_equal_for_cselib_1): Make public.

From-SVN: r235735

8 years agoMinor reformatting.
Arnaud Charlet [Mon, 2 May 2016 10:07:02 +0000 (12:07 +0200)]
Minor reformatting.

From-SVN: r235734

8 years agosem_ch13.adb (Alignment_Error): Removed.
Hristian Kirtchev [Mon, 2 May 2016 10:06:45 +0000 (10:06 +0000)]
sem_ch13.adb (Alignment_Error): Removed.

2016-05-02  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_ch13.adb (Alignment_Error): Removed.
(Get_Alignment_Value): Code cleanup.

From-SVN: r235733

8 years ago[multiple changes]
Arnaud Charlet [Mon, 2 May 2016 10:05:03 +0000 (12:05 +0200)]
[multiple changes]

2016-05-02  Tristan Gingold  <gingold@adacore.com>

* sem_ch3.adb (Analyze_Object_Declaration): Use Has_Protected
to check for the no local protected objects restriction.

2016-05-02  Hristian Kirtchev  <kirtchev@adacore.com>

* einfo.adb Anonymous_Master now uses Node35.
(Anonymous_Master): Update the assertion and node reference.
(Set_Anonymous_Master): Update the assertion and node reference.
(Write_Field35_Name): Add output for Anonymous_Master.
(Write_Field36_Name): The output is now undefined.
* einfo.ads Update the node and description of attribute
Anonymous_Master. Remove prior occurrences in entities as this
is now a type attribute.
* exp_ch3.adb (Expand_Freeze_Array_Type): Remove local variable
Ins_Node. Anonymous access- to-controlled component types no
longer need finalization masters. The master is now built when
a related allocator is expanded.
(Expand_Freeze_Record_Type): Remove local variable Has_AACC. Do not
detect whether the record type has at least one component of anonymous
access-to- controlled type. These types no longer need finalization
masters. The master is now built when a related allocator is expanded.
* exp_ch4.adb Remove with and use clauses for Lib and Sem_Ch8.
(Current_Anonymous_Master): Removed.
(Expand_N_Allocator): Call Build_Anonymous_Master to create a
finalization master for an anonymous access-to-controlled type.
* exp_ch6.adb (Add_Finalization_Master_Actual_To_Build_In_Place_Call):
Call routine Build_Anonymous_Master to create a finalization master
for an anonymous access-to-controlled type.
* exp_ch7.adb (Allows_Finalization_Master): New routine.
(Build_Anonymous_Master): New routine.
(Build_Finalization_Master): Remove formal parameter
For_Anonymous. Use Allows_Finalization_Master to determine whether
circumstances warrant a finalization master. This routine no
longer creates masters for anonymous access-to-controlled types.
(In_Deallocation_Instance): Removed.
* exp_ch7.ads (Build_Anonymous_Master): New routine.
(Build_Finalization_Master): Remove formal parameter For_Anonymous
and update the comment on usage.
* sem_util.adb (Get_Qualified_Name): New routines.
(Output_Name): Reimplemented.
(Output_Scope): Removed.
* sem_util.ads (Get_Qualified_Name): New routines.

2016-05-02  Hristian Kirtchev  <kirtchev@adacore.com>

* debug.adb: Document the use of switch -gnatd.H.
* gnat1drv.adb (Adjust_Global_Switches): Set ASIS_GNSA mode when
-gnatd.H is present.
(Gnat1drv): Suppress the call to gigi when ASIS_GNSA mode is active.
* opt.ads: Add new option ASIS_GNSA_Mode.
* sem_ch13.adb (Alignment_Error): New routine.
(Analyze_Attribute_Definition_Clause): Suppress certain errors in
ASIS mode for attribute clause Alignment, Machine_Radix, Size, and
Stream_Size.
(Check_Size): Use routine Size_Too_Small_Error to
suppress certain errors in ASIS mode.
(Get_Alignment_Value): Use routine Alignment_Error to suppress certain
errors in ASIS mode.
(Size_Too_Small_Error): New routine.

From-SVN: r235732

8 years ago2016-05-02 Arnaud Charlet <charlet@adacore.com>
Arnaud Charlet [Mon, 2 May 2016 10:00:00 +0000 (10:00 +0000)]
2016-05-02  Arnaud Charlet  <charlet@adacore.com>

* spark_xrefs.ads Description of the spark cross-references
clarified; small style fixes.
* lib-xref-spark_specific.adb (Add_SPARK_Scope,
Detect_And_Add_SPARK_Scope): consider protected types and bodies
as yet another scopes.
(Enclosing_Subprogram_Or_Library_Package): refactored using
Hristian's suggestions; added support for scopes of protected
types and bodies; fix for entries to return the scope of the
enclosing concurrent type, which is consistent with what is
returned for protected subprograms.
* sem_intr.adb: Minor style fix in comment.

From-SVN: r235731

8 years ago[multiple changes]
Arnaud Charlet [Mon, 2 May 2016 09:57:54 +0000 (11:57 +0200)]
[multiple changes]

2016-05-02  Hristian Kirtchev  <kirtchev@adacore.com>

* lib-xref.ads, lib-xref-spark_specific.adb, get_spark_xrefs.adb,
put_spark_xrefs.adb: Minor reformatting.

2016-05-02  Doug Rupp  <rupp@adacore.com>

* g-traceb.ads: Document traceback for ARM.

2016-05-02  Javier Miranda  <miranda@adacore.com>

* exp_disp.adb (Make_Tags): Do not generate the
external name of interface tags adding the suffix counter since
it causes problems at link time when the IP routines are inlined
across units with optimization.

2016-05-02  Ed Schonberg  <schonberg@adacore.com>

* einfo.ads, einfo.adb (Predicates_Ignared): new flag to indicate
that predicate checking is disabled for predicated subtypes in
the context of an Assertion_Policy pragma.
* checks.adb (Apply_Predicate_Check): Do nothing if
Predicates_Ignored is true.
* exp_ch3.adb (Expand_Freeze_Enumeration_Type): If
Predicates_Ignores is true, the function Rep_To_Pos does raise
an exception for invalid data.
* exp_ch4.adb (Expand_N_Type_Conversion): IF target is a predicated
type do not apply check if Predicates_Ignored is true.
* exp_ch5.adb (Expand_N_Case_Statement): If Predicates_Ignored
is true, sem_prag.adb:
* sem_ch3.adb (Analyze_Object_Declaration): If Predicates_Ignored
is true do not emit predicate check on initializing expression.

From-SVN: r235730

8 years agoget_spark_xrefs.adb (Get_Nat, Get_Name): Initialize variables when they are declared...
Arnaud Charlet [Mon, 2 May 2016 09:53:16 +0000 (09:53 +0000)]
get_spark_xrefs.adb (Get_Nat, Get_Name): Initialize variables when they are declared...

2016-05-02  Arnaud Charlet  <charlet@adacore.com>

* get_spark_xrefs.adb (Get_Nat, Get_Name): Initialize variables when
they are declared; refine type of a counter from Integer to Natural.
* sem_ch5.adb, gnatcmd.adb, s-intman-posix.adb, eval_fat.adb,
prj.adb, sem_util.adb, s-intman-android.adb, prj-nmsc.adb, sem_ch8.adb,
exp_ch3.adb: Minor editing.

From-SVN: r235729

8 years agoa-tigeli.adb (Get_Line): Always set Last prior to returning.
Yannick Moy [Mon, 2 May 2016 09:50:45 +0000 (09:50 +0000)]
a-tigeli.adb (Get_Line): Always set Last prior to returning.

2016-05-02  Yannick Moy  <moy@adacore.com>

* a-tigeli.adb (Get_Line): Always set Last prior to returning.

2016-05-02  Yannick Moy  <moy@adacore.com>

* lib-xref.adb: Minor style fix in whitespace of declarations.
* put_spark_xrefs.adb (Put_SPARK_Xrefs): printing of strings
refactored without loops.
* put_spark_xrefs.ads (Write_Info_Str): new formal argument of
generic procedure.
* spark_xrefs.adb (Write_Info_Str): new actual in instantiation
of generic procedure.

From-SVN: r235728

8 years agopredicates.md (nonimm_ssenomem_operand): New predicate.
Uros Bizjak [Mon, 2 May 2016 09:49:39 +0000 (11:49 +0200)]
predicates.md (nonimm_ssenomem_operand): New predicate.

* config/i386/predicates.md (nonimm_ssenomem_operand): New predicate.
(register_mixssei387nonimm_operand): Remove predicate.
* config/i386/i386.md (*fop_<mode>_comm): Merge from
*fop_<mode>_comm_mixed and *fop_<mode>_comm_i387.  Disable unsupported
alternatives using "enabled" attribute.  Also check X87_ENABLE_ARITH
for TARGET_MIX_SSE_I387 alternatives.
(*fop_<mode>_1): Merge from *fop_<mode>_1_mixed and *fop_<mode>_1_i387.
Disable unsupported alternatives using "enabled" attribute.  Use
nonimm_ssenomem_operand as operand 1 predicate.  Also check
X87_ENABLE_ARITH for TARGET_MIX_SSE_I387 alternatives.
* config/i386/predicates.md (nonimm_ssenomem_operand): New predicate.
(register_mixssei387nonimm_operand): Remove predicate.

From-SVN: r235727

8 years agolib-xref-spark_specific.adb (Add_SPARK_Scope): add task type scope.
Arnaud Charlet [Mon, 2 May 2016 09:48:55 +0000 (09:48 +0000)]
lib-xref-spark_specific.adb (Add_SPARK_Scope): add task type scope.

2016-05-02  Arnaud Charlet  <charlet@adacore.com>

* lib-xref-spark_specific.adb (Add_SPARK_Scope): add task type scope.
(Detect_And_Add_SPARK_Scope): detect and add task type scope.
(Enclosing_Subprogram_Or_Package): Respect boundaries of task
and entry declarations.
* spark_xrefs.ads: minor typo in comment.

From-SVN: r235726

8 years agomake.adb: Minor...
Arnaud Charlet [Mon, 2 May 2016 09:47:42 +0000 (09:47 +0000)]
make.adb: Minor...

2016-05-02  Arnaud Charlet  <charlet@adacore.com>

* make.adb: Minor: avoid an exception when calling gnatmake with
no argument and gnatmake is built with checks on.
* lib-xref-spark_specific.adb: Minor code cleanup.

From-SVN: r235725

8 years agoMinor reformatting.
Arnaud Charlet [Mon, 2 May 2016 09:45:17 +0000 (11:45 +0200)]
Minor reformatting.

From-SVN: r235724

8 years agosem_util.adb (Normalize_Actuals): Take into account extra actuals that may have been...
Ed Schonberg [Mon, 2 May 2016 09:44:54 +0000 (09:44 +0000)]
sem_util.adb (Normalize_Actuals): Take into account extra actuals that may have been introduced previously.

2016-05-02  Ed Schonberg  <schonberg@adacore.com>

* sem_util.adb (Normalize_Actuals): Take into account extra
actuals that may have been introduced previously. Normally extra
actuals are introduced when a call is expanded, but a validity
check may copy and reanalyze a call that carries an extra actual
(e.g. an accessibility parameter) before the call itself is
marked Analzyed, and the analysis of the copy has to be able to
cope with the added actual.

From-SVN: r235723

8 years agoSimplify cst_and_fits_in_hwi
Richard Sandiford [Mon, 2 May 2016 09:40:32 +0000 (09:40 +0000)]
Simplify cst_and_fits_in_hwi

While looking at the use of cst_and_fits_in_hwi in tree-ssa-loop-ivopts.c,
I had difficulty working out what the function actually tests.  The
final NUNITS check seems redundant, since it asks about the number of
HWIs in the _unextended_ constant.  We've already checked that the
unextended constant has no more than HOST_BITS_PER_WIDE_INT bits, so the
length must be 1.

I think this was my fault, sorry.

Tested on x86_64-linux-gnu and aarch64-linux-gnu.

gcc/
* tree.c (cst_and_fits_in_hwi): Simplify.

From-SVN: r235722

8 years agoAdd a wi::to_wide helper function
Richard Sandiford [Mon, 2 May 2016 09:40:09 +0000 (09:40 +0000)]
Add a wi::to_wide helper function

As Richard says, we ought to have a convenient way of converting
an INTEGER_CST to a wide_int of a particular precision without
having to extract the sign of the INTEGER_CST's type each time.
This patch adds a wi::to_wide helper for that, alongside the
existing wi::to_offset and wi::to_widest.

Tested on x86_64-linux-gnu and aarch64-linux-gnu.

gcc/
* tree.h (wi::to_wide): New function.
* expr.c (expand_expr_real_1): Use wi::to_wide.
* fold-const.c (int_const_binop_1): Likewise.
(extract_muldiv_1): Likewise.

gcc/c-family/
* c-common.c (shorten_compare): Use wi::to_wide.

From-SVN: r235721

8 years agoSupport << and >> for offset_int and widest_int
Richard Sandiford [Mon, 2 May 2016 09:39:38 +0000 (09:39 +0000)]
Support << and >> for offset_int and widest_int

Following on from the comparison patch, I think it makes sense to
support << and >> for offset_int (int128_t) and widest_int (intNNN_t),
with >> being arithmetic shift.  It doesn't make sense to use
logical right shift on a potentially negative offset_int, since
the precision of 128 bits has no meaning on the target.

Tested on x86_64-linux-gnu and aarch64-linux-gnu.

gcc/
* wide-int.h: Update offset_int and widest_int documentation.
(WI_SIGNED_SHIFT_RESULT): New macro.
(wi::binary_shift): Define signed_shift_result_type for
shifts on offset_int- and widest_int-like types.
(generic_wide_int): Support <<= and >>= if << and >> are supported.
* tree.h (int_bit_position): Use shift operators instead of wi::
 shifts.
* alias.c (adjust_offset_for_component_ref): Likewise.
* expr.c (get_inner_reference): Likewise.
* fold-const.c (fold_comparison): Likewise.
* gimple-fold.c (fold_nonarray_ctor_reference): Likewise.
* gimple-ssa-strength-reduction.c (restructure_reference): Likewise.
* tree-dfa.c (get_ref_base_and_extent): Likewise.
* tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Likewise.
(stmt_kills_ref_p): Likewise.
* tree-ssa-ccp.c (bit_value_binop_1): Likewise.
* tree-ssa-math-opts.c (find_bswap_or_nop_load): Likewise.
* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Likewise.
(ao_ref_init_from_vn_reference): Likewise.

gcc/cp/
* init.c (build_new_1): Use shift operators instead of wi:: shifts.

From-SVN: r235720

8 years agoSupport <, <=, > and >= for offset_int and widest_int
Richard Sandiford [Mon, 2 May 2016 09:39:09 +0000 (09:39 +0000)]
Support <, <=, > and >= for offset_int and widest_int

offset_int and widest_int are supposed to be at least one bit wider
than all the values they need to represent, with the extra bits
being signs.  Thus offset_int is effectively int128_t and widest_int
is effectively intNNN_t, for target-dependent NNN.

Because the types are signed, there's not really any need to specify
a sign for operations like comparison.  I think things would be clearer
if we supported <, <=, > and >= for them (but not for wide_int, which
doesn't have a sign).

Tested on x86_64-linux-gnu and aarch64-linux-gnu.

gcc/
* wide-int.h: Update offset_int and widest_int documentation.
(WI_SIGNED_BINARY_PREDICATE_RESULT): New macro.
(wi::binary_traits): Allow ordered comparisons between offset_int and
offset_int, between widest_int and widest_int, and between either
of these types and basic C types.
(operator <, <=, >, >=): Define for the same combinations.
* tree.h (tree_int_cst_lt): Use comparison operators instead
of wi:: comparisons.
(tree_int_cst_le): Likewise.
* gimple-fold.c (fold_array_ctor_reference): Likewise.
(fold_nonarray_ctor_reference): Likewise.
* gimple-ssa-strength-reduction.c (record_increment): Likewise.
* tree-affine.c (aff_comb_cannot_overlap_p): Likewise.
* tree-parloops.c (try_transform_to_exit_first_loop_alt): Likewise.
* tree-sra.c (completely_scalarize): Likewise.
* tree-ssa-alias.c (stmt_kills_ref_p): Likewise.
* tree-ssa-reassoc.c (extract_bit_test_mask): Likewise.
* tree-vrp.c (extract_range_from_binary_expr_1): Likewise.
(check_for_binary_op_overflow): Likewise.
(search_for_addr_array): Likewise.
* ubsan.c (ubsan_expand_objsize_ifn): Likewise.

From-SVN: r235719

8 years agoFix warnings, update source code.
Claudiu Zissulescu [Mon, 2 May 2016 09:37:17 +0000 (11:37 +0200)]
Fix warnings, update source code.

include/
2016-05-02  Claudiu Zissulescu  <claziss@synopsys.com>

* config/arc/arc.c (arc_preferred_simd_mode): Remove enum keyword.
(arc_save_restore): Likewise.
(arc_dwarf_register_span): Likewise.
(arc_output_pic_addr_const): Initialize suffix variable.

From-SVN: r235718

8 years ago[multiple changes]
Arnaud Charlet [Mon, 2 May 2016 09:30:59 +0000 (11:30 +0200)]
[multiple changes]

2016-05-02  Bob Duff  <duff@adacore.com>

* sem_ch10.adb (Analyze_Compilation_Unit): Preserve
treeishness. Previous version had Context_Items shared between
the spec and body.

2016-05-02  Ed Schonberg  <schonberg@adacore.com>

* sem_aggr.adb (Resolve_Aggr_Expression): For both array and
record cases, apply predicate check on component for expression
only if expression has been analyzed already. For expressions
that need to be duplicated when they cover multiple components,
resolution and predicate checking take place later.

2016-05-02  Olivier Hainque  <hainque@adacore.com>

* a-direct.adb (Delete_Tree): Use full names to designate subdirs
and files therein, instead of local names after a change of
current directory.

From-SVN: r235717

8 years agofreeze.adb (Check_Component_Storage_Order): Get full view of component type.
Thomas Quinot [Mon, 2 May 2016 09:29:09 +0000 (09:29 +0000)]
freeze.adb (Check_Component_Storage_Order): Get full view of component type.

2016-05-02  Thomas Quinot  <quinot@adacore.com>

* freeze.adb (Check_Component_Storage_Order): Get full view of
component type.

From-SVN: r235716

8 years agochecks.adb, [...]: Minor reformatting.
Hristian Kirtchev [Mon, 2 May 2016 09:27:18 +0000 (09:27 +0000)]
checks.adb, [...]: Minor reformatting.

2016-05-02  Hristian Kirtchev  <kirtchev@adacore.com>

* checks.adb, freeze.adb, sem_res.adb, s-stposu.adb, repinfo.adb:
Minor reformatting.

From-SVN: r235714

8 years ago[multiple changes]
Arnaud Charlet [Mon, 2 May 2016 09:23:49 +0000 (11:23 +0200)]
[multiple changes]

2016-05-02  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_ch4.adb (Find_Indexing_Operations): Use the underlying type
of the container base type in case the container is a subtype.
* sem_ch5.adb (Analyze_Iterator_Specification): Ensure that
the selector has an entity when checking for a component of a
mutable object.

2016-05-02  Arnaud Charlet  <charlet@adacore.com>

Remove dead code.
* opt.ads (Latest_Ada_Only): New flag.
* sem_prag.adb, par-prag.adb: Ignore pragma Ada_xx under this flag.
* usage.adb, switch-c.adb: Disable support for -gnatxx under this flag.
* einfo.ads (Has_Predicates, Predicate_Function):
Clarify that Has_Predicates does not imply that Predicate_Function
will return a non-empty entity.

2016-05-02  Ed Schonberg  <schonberg@adacore.com>

* sem_res.adb (Resolve_Qualified_Expression): Generate a predicate
check if type requires it.
* checks.adb (Apply_Predicate_Check): Disable checks in the
object declaration created for an expression with side-effects
that requires a predicate check to prevent infinite recursion
during expansion.

2016-05-02  Ed Schonberg  <schonberg@adacore.com>

* sem_ch6.adb (Process_Formals): Check properly the type of a
formal to determine whether a given convention applies to it.

2016-05-02  Doug Rupp  <rupp@adacore.com>

* tracebak.c: Add incantations for arm-vxworks[67] traceback.

2016-05-02  Thomas Quinot  <quinot@adacore.com>

* freeze.adb (Check_Component_Storage_Order): Make it a warning, not an
error, to have a component with implicit SSO within a composite type
that has explicit SSO.

2016-05-02  Bob Duff  <duff@adacore.com>

* s-stposu.adb (Allocate_Any_Controlled): Don't lock/unlock twice.

2016-05-02  Ed Schonberg  <schonberg@adacore.com>

* repinfo.adb (List_Entities): Make procedure recursive, to
provide representation information for subprograms declared
within subprogram bodies.

From-SVN: r235713

8 years agoSymbol summary: refactor usage of gcc_checking_asserts
Martin Liska [Mon, 2 May 2016 09:20:01 +0000 (11:20 +0200)]
Symbol summary: refactor usage of gcc_checking_asserts

* symbol-summary.h (function_summary::function_summary):
Remove checking assert for all cgraph nodes.
(function_summary::get): Check summary_uid.
(symtab_insertion): Check summary_uid.

From-SVN: r235712

8 years agoMinor reformatting.
Arnaud Charlet [Mon, 2 May 2016 09:12:46 +0000 (11:12 +0200)]
Minor reformatting.

From-SVN: r235711

8 years ago[multiple changes]
Arnaud Charlet [Mon, 2 May 2016 09:11:03 +0000 (11:11 +0200)]
[multiple changes]

2016-05-02  Arnaud Charlet  <charlet@adacore.com>

* exp_ch5.adb, layout.adb, gnatcmd.adb exp_attr.adb, make.adb,
bindgen.adb, debug.adb, exp_pakd.adb, freeze.adb, sem_util.adb,
gnatlink.adb, switch-m.adb, exp_ch4.adb, repinfo.adb, adabkend.adb,
osint.adb: Remove dead code.

2016-05-02  Yannick Moy  <moy@adacore.com>

* a-tigeli.adb (Get_Line): Fix bound for test to
decide when to compensate for character 0 added by call to fgets.

From-SVN: r235710

8 years ago[multiple changes]
Arnaud Charlet [Mon, 2 May 2016 09:08:44 +0000 (11:08 +0200)]
[multiple changes]

2016-05-02  Ed Schonberg  <schonberg@adacore.com>

* sem_ch4.adb (Analyze_Allocator): If the expression does not
have a subtype indication and the type is an unconstrained tagged
type with defaulted discriminants, create an explicit constraint
for it during analysis to prevent out-of-order freezing actions
on generated classwide types.

2016-05-02  Javier Miranda  <miranda@adacore.com>

* exp_ch5.adb (Expand_N_Assignment_Statement):
In the runtime check that ensures that the tags of source an
target match, add missing displacement of the pointer to the
objects if they cover interface types.

2016-05-02  Ed Schonberg  <schonberg@adacore.com>

* sem_attr.adb (Analyze_Attribute, case 'Old): Do not use
base type for attribute when type is discrete: transformation
is not needed for such types, and leads to spurious errors if
the context is a case construct.

From-SVN: r235709

8 years ago[ARC] Add new ARCv2 instructions.
Claudiu Zissulescu [Mon, 2 May 2016 08:54:34 +0000 (10:54 +0200)]
[ARC] Add new ARCv2 instructions.

gcc/
2016-05-02  Claudiu Zissulescu  <claziss@synopsys.com>

* config/arc/arc-protos.h (compact_memory_operand_p): Declare.
* config/arc/arc.c (arc_output_commutative_cond_exec): Consider
bmaskn instruction.
(arc_dwarf_register_span): Remove enum keyword.
(compact_memory_operand_p): New function.
* config/arc/arc.h (reg_class): Add code density register classes.
(REG_CLASS_NAMES): Likewise.
(REG_CLASS_CONTENTS): Likewise.
* config/arc/arc.md (*movqi_insn): Add code density instructions.
(*movhi_insn, *movsi_insn, *movsf_insn): Likewise.
(*extendhisi2_i, andsi3_i, cmpsi_cc_insn_mixed): Likewise.
(*cmpsi_cc_c_insn, *movsi_ne): Likewise.
* config/arc/constraints.md (C2p, Uts, Cm1, Cm3, Ucd): New
constraints.
(h, Rcd, Rsd, Rzd): New register constraints.
(T): Use compact_memory_operand_p function.
* config/arc/predicates.md (compact_load_memory_operand): Remove.

From-SVN: r235707

8 years agodecl.c (grokdeclarator): Properly insert a DECL_EXPR for anonymous VLAs.
Richard Biener [Mon, 2 May 2016 08:28:33 +0000 (08:28 +0000)]
decl.c (grokdeclarator): Properly insert a DECL_EXPR for anonymous VLAs.

2016-05-02  Richard Biener  <rguenther@suse.de>

cp/
* decl.c (grokdeclarator): Properly insert a DECL_EXPR for
anonymous VLAs.

From-SVN: r235706

8 years agotrans-array.c (gfc_trans_create_temp_array): Properly create a DECL_EXPR for the...
Richard Biener [Mon, 2 May 2016 08:27:54 +0000 (08:27 +0000)]
trans-array.c (gfc_trans_create_temp_array): Properly create a DECL_EXPR for the anonymous VLA array type.

2016-05-02  Richard Biener  <rguenther@suse.de>

fortran/
* trans-array.c (gfc_trans_create_temp_array): Properly
create a DECL_EXPR for the anonymous VLA array type.

From-SVN: r235705

8 years agosh.md (*negnegt, *movtt): Remove.
Oleg Endo [Mon, 2 May 2016 08:21:27 +0000 (08:21 +0000)]
sh.md (*negnegt, *movtt): Remove.

gcc/
* config/sh/sh.md (*negnegt, *movtt): Remove.

From-SVN: r235704

8 years agodecl.c (elaborate_reference_1): Do not bother about operand #2 for COMPONENT_REF.
Eric Botcazou [Mon, 2 May 2016 07:46:05 +0000 (07:46 +0000)]
decl.c (elaborate_reference_1): Do not bother about operand #2 for COMPONENT_REF.

* gcc-interface/decl.c (elaborate_reference_1): Do not bother about
operand #2 for COMPONENT_REF.
* gcc-interface/utils2.c (gnat_save_expr): Likewise.
(gnat_protect_expr): Likewise.
(gnat_stabilize_reference_1): Likewise.
(gnat_rewrite_reference): Do not bother about operand #3 for ARRAY_REF.
(get_inner_constant_reference): Likewise.
(gnat_invariant_expr): Likewise.
* gcc-interface/trans.c (fold_constant_decl_in_expr): Likewise.

From-SVN: r235701

8 years agoFix ICE in dump_pred_graph
Marek Polacek [Mon, 2 May 2016 07:42:06 +0000 (07:42 +0000)]
Fix ICE in dump_pred_graph

2016-05-02  Marek Polacek  <polacek@redhat.com>
    Tom de Vries  <tom@codesourcery.com>

PR tree-optimization/70700
* tree-ssa-structalias.c (dump_pred_graph): Fix getting varinfo for ids
bigger than FIRST_REF_NODE.

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

Co-Authored-By: Tom de Vries <tom@codesourcery.com>
From-SVN: r235700

8 years agotrans.c (Range_to_gnu): New static function.
Eric Botcazou [Mon, 2 May 2016 07:38:37 +0000 (07:38 +0000)]
trans.c (Range_to_gnu): New static function.

* gcc-interface/trans.c (Range_to_gnu): New static function.
(Raise_Error_to_gnu) <N_In>: Call it to translate the range.
(gnat_to_gnu) <N_In>: Likewise.

From-SVN: r235699

8 years agore PR target/52898 (SH Target: Inefficient DImode comparisons)
Oleg Endo [Mon, 2 May 2016 05:25:46 +0000 (05:25 +0000)]
re PR target/52898 (SH Target: Inefficient DImode comparisons)

gcc/
PR target/52898
* config/sh/sh.c (sh_option_override): Remove TARGET_CBRANCHDI4,
TARGET_CMPEQDI_T.
(prepare_cbranch_operands): Don't use scratch register.  Assume that
function is used when pseudos can be created.
(expand_cbranchdi4): Likewise.  Remove unused TARGET_CMPEQDI_T paths.
* config/sh/sh.md (cbranchsi4): Allow only when pseudos can be created.
(cbranchdi4, cbranchdi4_i): Simplify to single cbranchdi4
define_expand.  Allow it only when pseudos can be created.
* config/sh/sh.opt (mcbranchdi, mcmpeqdi): Delete.

From-SVN: r235698

8 years agoDaily bump.
GCC Administrator [Mon, 2 May 2016 00:16:19 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r235697

8 years agoconstraints.md (BC): Only allow -1 operands.
Uros Bizjak [Sun, 1 May 2016 19:04:05 +0000 (21:04 +0200)]
constraints.md (BC): Only allow -1 operands.

* config/i386/constraints.md (BC): Only allow -1 operands.
* config/i386/sse.md (mov<mode>_internal): Add (v,C) alternative.
Add "enabled" attribute.  Update XI mode attribute calculation.
* config/i386/i386.md (*movxi_internal_avx512f): Add (v,C) alternative.
(*movoi_internal_avx): Update XI mode attribute calculation.
(*movti_internal): Ditto.

testsuite/ChangeLog:

* gcc.target/i386/avx256-unaligned-load-1.c: Update scan strings.
* gcc.target/i386/avx256-unaligned-store-1.c: Ditto.
* gcc.target/i386/avx256-unaligned-store-2.c: Ditto.
* gcc.target/i386/avx256-unaligned-store-3.c: Ditto.
* gcc.target/i386/avx256-unaligned-store-4.c: Ditto.

From-SVN: r235693

8 years agore PR bootstrap/70704 (AIX bootstrap comparison failure)
Jakub Jelinek [Sun, 1 May 2016 10:49:25 +0000 (12:49 +0200)]
re PR bootstrap/70704 (AIX bootstrap comparison failure)

PR bootstrap/70704
* configure.ac (--enable-stage1-checking): Add missing
--enable-checking=.
* configure: Regenerated.

From-SVN: r235692

8 years agosh.md (push, [...]): Remove constraints.
Oleg Endo [Sun, 1 May 2016 07:52:32 +0000 (07:52 +0000)]
sh.md (push, [...]): Remove constraints.

gcc/
* config/sh/sh.md (push, pop, ic_invalidate_line, cstoresi4, cstoredi4,
cstoresf4, cstoredf4, fix_truncsfsi2): Remove constraints.

From-SVN: r235691

8 years agors6000.c (altivec_expand_lv_builtin): Do not use switch statement on instruction...
Eric Botcazou [Sun, 1 May 2016 07:32:01 +0000 (07:32 +0000)]
rs6000.c (altivec_expand_lv_builtin): Do not use switch statement on instruction code.

* config/rs6000/rs6000.c (altivec_expand_lv_builtin): Do not use switch
statement on instruction code.  Remove trailing spaces.
(altivec_expand_stv_builtin): Likewise.

From-SVN: r235690

8 years agosh.h (TARGET_SH4): Remove and use default implementation.
Oleg Endo [Sun, 1 May 2016 05:06:08 +0000 (05:06 +0000)]
sh.h (TARGET_SH4): Remove and use default implementation.

gcc/
* config/sh/sh.h (TARGET_SH4): Remove and use default implementation.
(TARGET_FPU_DOUBLE): Simplify.
(BASE_ARG_REG, DOUBLE_TYPE_SIZE, OPTIMIZE_MODE_SWITCHING): Replace
'TARGET_SH4 || TARGET_SH2A_DOUBLE' conditions with 'TARGET_FPU_DOUBLE'.
* config/sh/sh.c: Replace 'TARGET_SH4 || TARGET_SH2A_DOUBLE' conditions
with 'TARGET_FPU_DOUBLE'.
* config/sh/sh.md: Likewise.

From-SVN: r235689

8 years agolinux.h (SH_DIV_STRATEGY_DEFAULT, [...]): Remove.
Yoshinori Sato [Sun, 1 May 2016 03:59:39 +0000 (12:59 +0900)]
linux.h (SH_DIV_STRATEGY_DEFAULT, [...]): Remove.

gcc/
* config/sh/linux.h (SH_DIV_STRATEGY_DEFAULT,
SH_DIV_STR_FOR_SIZE): Remove.
* config/sh/netbsd-elf.h (SH_DIV_STRATEGY_DEFAULT,
SH_DIV_STR_FOR_SIZE): Remove.

From-SVN: r235688

8 years agopredicates.md (any_register_operand, [...]): Delete.
Oleg Endo [Sun, 1 May 2016 03:23:26 +0000 (03:23 +0000)]
predicates.md (any_register_operand, [...]): Delete.

gcc/
* config/sh/predicates.md (any_register_operand, zero_extend_operand,
logical_reg_operand): Delete.
(arith_operand, arith_reg_dest, arith_or_int_operand, cmpsi_operand,
arith_reg_or_0_operand, arith_reg_or_0_or_1_operand, logical_operand,
logical_and_operand, movsrc_no_disp_mem_operand): Rewrite using
match_operand and match_test.
(sh_const_vec, sh_1el_vec): Remove redundant checks.  Declare local
variables on their first use.  Return bool values.
* config/sh/sh.h (LOAD_EXTEND_OP): Update comment.
* config/sh/sh.md (andsi3, iorsi3): Use arith_reg_dest for result and
arith_reg_operand for input operand.  Remove empty constraints.
(xorsi3): Delete.
(*xorsi3_compact): Rename to xorsi3.
(zero_extend<mode>si2): Use arith_reg_operand for input operand.
(*zero_extend<mode>si2_disp_mem): Update comment.
(mov_nop): Delete.

From-SVN: r235687

8 years agoDaily bump.
GCC Administrator [Sun, 1 May 2016 00:16:23 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r235686