platform/upstream/linaro-gcc.git
8 years ago[PR other/65021] mkoffloads -save-temps handling, and cleanup cleanup
tschwinge [Mon, 5 Oct 2015 14:07:50 +0000 (14:07 +0000)]
[PR other/65021] mkoffloads -save-temps handling, and cleanup cleanup

gcc/
PR other/65021
* config/i386/intelmic-mkoffload.c (mkoffload_atexit): Rename
function to...
(mkoffload_cleanup): ... this.  Adjust all users.
(maybe_unlink): Look at save_temps and verbose flags instead of
debug flag.
(main): Parse "-save-temps" flag.
(generate_target_descr_file, generate_target_offloadend_file)
(generate_host_descr_file, prepare_target_image): Pass it on.
* config/nvptx/mkoffload.c (tool_cleanup): Implement.
(mkoffload_cleanup): New function.
(maybe_unlink): Look at save_temps and verbose flags instead of
debug flag.
(main): Instead of calling utils_cleanup, register atexit handler
for mkoffload_cleanup.
(main): Parse "-save-temps" flag.
(compile_native, main): Pass it on.
* lto-wrapper.c (compile_offload_image): Likewise.

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

8 years agomake more gimple_x_ptr accessors const correct
tbsaunde [Mon, 5 Oct 2015 13:55:08 +0000 (13:55 +0000)]
make more gimple_x_ptr accessors const correct

gcc/ChangeLog:

2015-10-05  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* gimple.h (gimple_op_ptr): Require a non const gimple *.
(gimple_assign_lhs_ptr): Likewise.
(gimple_assign_rhs1_ptr): Likewise.
(gimple_assign_rhs2_ptr): Likewise.
(gimple_assign_rhs3_ptr): Likewise.
(gimple_call_lhs_ptr): Likewise.
(gimple_call_fn_ptr): Likewise.
(gimple_call_chain_ptr): Likewise.
(gimple_call_arg_ptr): Likewise.
(gimple_cond_lhs_ptr): Likewise.
(gimple_cond_rhs_ptr): Likewise.
(gimple_switch_index_ptr): Likewise.
(gimple_return_retval_ptr): Likewise.

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

8 years agoremove unused gasm accessors
tbsaunde [Mon, 5 Oct 2015 13:54:50 +0000 (13:54 +0000)]
remove unused gasm accessors

gcc/ChangeLog:

2015-10-05  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* gimple.h (gimple_asm_input_op_ptr): Remove.
(gimple_asm_output_op_ptr): Likewise.

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

8 years agoremove gimple_location_ptr ()
tbsaunde [Mon, 5 Oct 2015 13:54:33 +0000 (13:54 +0000)]
remove gimple_location_ptr ()

gcc/ChangeLog:

2015-10-05  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* gimple.h (gimple_location_ptr): Remove.
* tree-vrp.c (check_all_array_refs): Adjust.

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

8 years agomake build_uses store tree * instead of tree
tbsaunde [Mon, 5 Oct 2015 13:54:11 +0000 (13:54 +0000)]
make build_uses store tree * instead of tree

gcc/ChangeLog:

2015-10-05  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* tree-ssa-operands.c (build_uses): store tree * instead of
tree.
(finalize_ssa_uses): Adjust.
(append_use): Likewise.
(verify_ssa_operands): Likewise.

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

8 years agoAdd a build_real_truncate helper function
rsandifo [Mon, 5 Oct 2015 13:37:15 +0000 (13:37 +0000)]
Add a build_real_truncate helper function

...which simplifies the match.pd patterns I'm about to add.

Bootstrapped & regression-tested on x86_64-linux-gnu.

gcc/
* real.h (build_real_truncate): Declare.
* tree.c (build_real_truncate): New function.
(strip_float_extensions): Use it.
* builtins.c (fold_builtin_cabs, fold_builtin_sqrt, fold_builtin_cbrt)
(fold_builtin_hypot, fold_builtin_pow): Likewise.
* match.pd: Likewise.

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

8 years ago[AArch64] Fix output assembly bug under TLSIE ILP32
jiwang [Mon, 5 Oct 2015 13:18:08 +0000 (13:18 +0000)]
[AArch64] Fix output assembly bug under TLSIE ILP32

2015-10-05 James Greenhalgh <james.greenhalgh@arm.com>
   Jiong Wang  <jiong.wang@arm.com>

* config/aarch64/aarch64.md (tlsie_tiny_sidi): Replace "<w>" with "w".

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

8 years agolibgcc/
kyukhin [Mon, 5 Oct 2015 13:16:07 +0000 (13:16 +0000)]
libgcc/
* config/i386/cpuinfo.c (get_intel_cpu): Detect "skylake-avx512".
gcc/testsuite/
* gcc.target/i386/builtin_target.c: Add check for "skylake-avx512".

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

8 years agoCleanup directives.
chrbr [Mon, 5 Oct 2015 11:59:27 +0000 (11:59 +0000)]
Cleanup directives.

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

8 years agoRemove REAL_VALUE_FROM_CONST_DOUBLE
rsandifo [Mon, 5 Oct 2015 11:37:49 +0000 (11:37 +0000)]
Remove REAL_VALUE_FROM_CONST_DOUBLE

To maintain symmetry after the previous removal of
CONST_DOUBLE_FROM_REAL_VALUE, this patch also gets rid of
REAL_VALUE_FROM_CONST_DOUBLE.  All the macro did was copy the
contents of CONST_DOUBLE_REAL_VALUE into a temporary real_value
structure.  In many cases there was no need for this temporary
and we could simply use the CONST_DOUBLE_REAL_VALUE directly.
For that reason this patch is less automatic than the others.

Bootstrapped & regression-tested on x86_64-linux-gnu.  Also tested by
building one target per CPU directory and checking that there were
no new warnings and no changes in testsuite output at -O2.

gcc/
* real.h (REAL_VALUE_FROM_CONST_DOUBLE): Delete.
* config/aarch64/aarch64.c (aarch64_float_const_zero_rtx_p)
(aarch64_print_operand, aarch64_float_const_representable_p)
(aarch64_output_simd_mov_immediate): Use CONST_DOUBLE_REAL_VALUE
instead of REAL_VALUE_FROM_CONST_DOUBLE.
* config/arc/arc.c (arc_print_operand): Likewise.
* config/arm/arm.c (arm_const_double_rtx, vfp3_const_double_index)
(neon_valid_immediate, arm_print_operand, arm_emit_fp16_const)
(vfp3_const_double_for_fract_bits, vfp3_const_double_for_bits):
Likewise.
* config/arm/arm.md (*arm32_movhf, consttable_4, consttable_8)
(consttable_16): Likewise.
* config/arm/vfp.md (*movhf_vfp_neon, *movhf_vfp): Likewise.
* config/avr/avr.c (avr_print_operand): Likewise.
* config/bfin/bfin.md: Likewise (in a define_split).
* config/c6x/c6x.md: Likewise (in a define_split).
* config/cr16/cr16.c (cr16_const_double_ok): Likewise.
(cr16_print_operand): Likewise.
* config/cris/cris.c (cris_print_operand): Likewise.
* config/epiphany/epiphany.c (epiphany_print_operand): Likewise.
* config/fr30/fr30.c (fr30_print_operand): Likewise.
(fr30_const_double_is_zero): Likewise.
* config/frv/frv.c (frv_print_operand, output_move_single): Likewise.
* config/frv/frv.md: Likewise (in a define_split).
* config/frv/predicates.md (int_2word_operand): Likewise.
* config/h8300/h8300.c (h8300_print_operand): Likewise.
* config/i386/i386.c (standard_80387_constant_p): Likewise.
(ix86_print_operand, ix86_split_to_parts): Likewise.
* config/i386/i386.md: Likewise (in a define_split).
* config/ia64/ia64.c (ia64_split_tmode, ia64_print_operand): Likewise.
* config/iq2000/iq2000.md (movsf_lo_sum, movsf_high): Likewise.
* config/m32r/m32r.c (easy_df_const, m32r_print_operand): Likewise.
* config/m68k/m68k.c (handle_move_double, standard_68881_constant_p)
(print_operand): Likewise.
* config/m68k/m68k.md (movsf_cf_hard, movdf_cf_hard): Likewise.
* config/mep/mep.md: Likewise (in define_split).
* config/microblaze/microblaze.c (microblaze_const_double_ok)
(print_operand): Likewise.
* config/mips/mips.md (consttable_float): Likewise.
* config/mmix/mmix.c (mmix_intval): Likewise.
* config/mn10300/mn10300.c (mn10300_print_operand): Likewise.
* config/nvptx/nvptx.c (nvptx_print_operand): Likewise.
* config/pa/pa.c (pa_singlemove_string): Likewise.
* config/pdp11/pdp11.c (pdp11_expand_operands): Likewise.
(pdp11_asm_print_operand, legitimate_const_double_p): Likewise.
* config/rs6000/rs6000.c (num_insns_constant, rs6000_emit_cmove)
(output_toc): Likewise.
* config/rs6000/rs6000.md: Likewise (in define_splits).
* config/rx/rx.c (rx_print_operand): Likewise.
* config/s390/s390.c (s390_output_pool_entry): Likewise.
* config/sh/sh.c (fp_zero_operand, fp_one_operand): Likewise.
* config/sh/sh.md (consttable_sf, consttable_df): Likewise
(and also in define_splits).
* config/sparc/sparc.c (fp_sethi_p, fp_mov_p): Likewise.
(fp_high_losum_p): Likewise.
* config/sparc/sparc.md (*movsf_insn, *movsf_lo_sum): Likewise.
(*movsf_high): Likewise.
* config/spu/spu.c (const_double_to_hwint): Likewise.
* config/v850/v850.c (const_double_split): Likewise.
* config/vax/vax.c (vax_float_literal): Likewise.
* config/visium/visium.c (visium_expand_copysign): Likewise.
* config/visium/visium.md: Likewise (in define_split).
* config/xtensa/predicates.md (const_float_1_operand): Likewise.
* config/xtensa/xtensa.c (print_operand): Likewise.
(xtensa_output_literal): Likewise.
* cprop.c (implicit_set_cond_p): Likewise.
* dwarf2out.c (insert_float): Likewise.
* expmed.c (expand_mult, make_tree): Likewise.
* expr.c (compress_float_constant): Likewise.
* rtlanal.c (split_double): Likewise.
* simplify-rtx.c (avoid_constant_pool_reference): Likewise.
(simplify_const_unary_operation, simplify_binary_operation_1)
(simplify_const_binary_operation): Likewise.
(simplify_const_relational_operation): Likewise.
* varasm.c (output_constant_pool_2): Likewise.

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

8 years agoRemove remaining uses of CONST_DOUBLE_FROM_REAL_VALUE
rsandifo [Mon, 5 Oct 2015 11:36:08 +0000 (11:36 +0000)]
Remove remaining uses of CONST_DOUBLE_FROM_REAL_VALUE

This patch replaces all uses of CONST_DOUBLE_FROM_REAL_VALUE
with the already-existing const_double_from_real_value.

Bootstrapped & regression-tested on x86_64-linux-gnu.  Also tested by
building one target per CPU directory and checking that there were
no new warnings and no changes in testsuite output at -O2.

gcc/
* real.h (CONST_DOUBLE_ATOF): Use const_double_from_real_value
instead of CONST_DOUBLE_FROM_REAL_VALUE.
(CONST_DOUBLE_FROM_REAL_VALUE): Delete.
* config/c6x/c6x.md (divsf3, divdf3): Use const_double_from_real_value
instead of CONST_DOUBLE_FROM_REAL_VALUE.
* config/epiphany/epiphany.md (fixuns_truncsfsi2): Likewise.
* config/i386/i386.c (standard_80387_constant_rtx): Likewise.
(ix86_expand_builtin, ix86_emit_i387_log1p, ix86_emit_i387_round)
(ix86_emit_swsqrtsf): Likewise.
* config/ia64/ia64.c (ia64_expand_builtin): Likewise.
* config/mips/mips.md (fixuns_truncdfsi2, fixuns_truncdfdi2)
(fixuns_truncsfsi2, fixuns_truncsfdi2): Likewise.
* config/pa/pa.c (pa_expand_builtin): Likewise.
* config/rs6000/rs6000.c (rs6000_load_constant_and_splat): Likewise.
(rs6000_scale_v2df): Likewise.
* config/rs6000/rs6000.md (*cmptf_internal2): Likewise.
* config/s390/s390.md (fixuns_truncdddi2, fixuns_trunctddi2)
(fixuns_trunc<BFP:mode><GPR:mode>2): Likewise.
* config/s390/vx-builtins.md (vec_ctd_s64, vec_ctd_u64, vec_ctsl)
(vec_ctul): Likewise.
* config/sparc/sparc.c (sparc_emit_fixunsdi): Likewise.
* config/spu/spu.c (hwint_to_const_double, spu_float_const): Likewise.
* config/spu/spu.md (floatunsdisf2, floatunstisf2): Likewise.
* cse.c (fold_rtx): Likewise.
* emit-rtl.c (immed_double_const): Likewise (in comments).
(init_emit_once): Likewise.
* expr.c (compress_float_constant, expand_expr_real_1)
(const_vector_from_tree): Likewise.
* optabs.c (expand_float, expand_fix): Likewise.
* reg-stack.c (reg_to_stack): Likewise.
* simplify-rtx.c (avoid_constant_pool_reference): Likewise.
(simplify_const_unary_operation, simplify_binary_operation_1)
(simplify_const_binary_operation, simplify_relational_operation)
(simplify_immed_subreg): Likewise.

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

8 years agoRemove remaining uses of REAL_ARITHMETIC
rsandifo [Mon, 5 Oct 2015 11:35:07 +0000 (11:35 +0000)]
Remove remaining uses of REAL_ARITHMETIC

This patch replaces all remaining uses of the old target macro
REAL_ARITHMETIC with calls to the (now generic) real_arithmetic
function.

Bootstrapped & regression-tested on x86_64-linux-gnu.  Also tested by
building one target per CPU directory and checking that there were
no new warnings and no changes in testsuite output at -O2.

gcc/ada/
* gcc-interface/trans.c (convert_with_check): Use real_arithmetic
instead of REAL_ARITHMETIC.

gcc/
* doc/tm.texi.in (REAL_ARITHMETIC): Delete.
* doc/tm.texi: Regenerate.
* real.h (REAL_ARITHMETIC): Delete.
* config/i386/i386.c (ix86_expand_lround, ix86_expand_round)
(ix86_expand_round_sse4): Use real_arithmetic instead of
REAL_ARITHMETIC.
* config/i386/sse.md (round<mode>2): Likewise.
* rtl.h (rtx_to_tree_code): Likewise (in comment).
* explow.c (rtx_to_tree_code): Likewise (in comment).
* match.pd: Likewise.
* simplify-rtx.c (simplify_binary_operation_1): Likewise.
* tree-ssa-math-opts.c (representable_as_half_series_p): Likewise.
(expand_pow_as_sqrts): Likewise.
* tree-pretty-print.c (dump_generic_node): Remove code that
was conditional on REAL_ARITHMETIC being undefined.

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

8 years agoReplace REAL_VALUES_LESS with real_less
rsandifo [Mon, 5 Oct 2015 11:32:25 +0000 (11:32 +0000)]
Replace REAL_VALUES_LESS with real_less

This patch continues the removal of real-related macros by
replacing REAL_VALUES_LESS with real_less.

Bootstrapped & regression-tested on x86_64-linux-gnu.  Also tested by
building one target per CPU directory and checking that there were
no new warnings and no changes in testsuite output at -O2.

gcc/ada/
* gcc-interface/trans.c (convert_with_check): Use real_less instead
of REAL_VALUES_LESS.

gcc/
* doc/tm.texi.in (REAL_VALUES_LESS): Delete.
* doc/tm.texi: Regenerate.
* real.h (real_less): Declare.
(REAL_VALUES_LESS): Delete.
* real.c (real_less): New function.
(real_compare): Use it.
* config/m68k/m68k.c (floating_exact_log2): Use real_less instead
of REAL_VALUES_LESS.
* config/microblaze/microblaze.c (microblaze_const_double_ok):
Likewise.
* fold-const.c (fold_convert_const_int_from_real): Likewise.
* simplify-rtx.c (simplify_const_unary_operation): Likewise.
(simplify_const_relational_operation): Likewise.
* tree-call-cdce.c (check_pow): Likewise.
(gen_conditions_for_pow_cst_base): Likewise.

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

8 years agoRemove remaining uses of REAL_VALUES_IDENTICAL
rsandifo [Mon, 5 Oct 2015 11:30:52 +0000 (11:30 +0000)]
Remove remaining uses of REAL_VALUES_IDENTICAL

This patch continues the removal of real-related macros.
We already had both the old-style REAL_VALUES_IDENTICAL and the
new-style real_identical, so this patch replaces all remaining
uses of the former with the latter.

Bootstrapped & regression-tested on x86_64-linux-gnu.  Also tested by
building one target per CPU directory and checking that there were
no new warnings and no changes in testsuite output at -O2.

gcc/
* real.h (REAL_VALUES_IDENTICAL): Delete.
* config/m68k/m68k.c (standard_68881_constant_p): Use real_identical
instead of REAL_VALUES_IDENTICAL.
* fold-const.c (operand_equal_p): Likewise.
* ipa-icf.c (sem_variable::equals): Likewise.
* tree-complex.c (some_nonzerop): Likewise.
(expand_complex_multiplication): Likewise.
* tree.c (simple_cst_equal): Likewise.
* varasm.c (compare_constant): Likewise.
---
 gcc/config/m68k/m68k.c | 5 ++---
 gcc/fold-const.c       | 3 +--
 gcc/ipa-icf.c          | 4 ++--
 gcc/real.h             | 1 -
 gcc/tree-complex.c     | 4 ++--
 gcc/tree.c             | 2 +-
 gcc/varasm.c           | 2 +-
 7 files changed, 9 insertions(+), 12 deletions(-)

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

8 years agoReplace REAL_VALUES_EQUAL with real_equal
rsandifo [Mon, 5 Oct 2015 11:29:35 +0000 (11:29 +0000)]
Replace REAL_VALUES_EQUAL with real_equal

Richard B suggested we should replace dconsthalf etc. with
dconst<1, 2> ().  When I tried that, the extra comma caused problems
with some lingering uses of the old target macros for handling reals
(e.g. REAL_ARITHMETIC instead of real_arithmetic), since the constant
was then treated as two macro parameters.  It would have been possible
to add an extra level of brackets to avoid this, but I thought I might
as well take the opportunity to remove the macros instead.  (Note that
I'm only removing macros that caused a problem directly, or are closely
related to ones that did.)

This first patch replaces REAL_VALUES_EQUAL with a real_equal function.
The prototype is the same as for real_identical, which has already
undergone a half-transition in this direction.

Bootstrapped & regression-tested on x86_64-linux-gnu.  Also tested by
building one target per CPU directory and checking that there were
no new warnings and no changes in testsuite output at -O2.

gcc/c-family/
* c-lex.c (interpret_float): Use real_equal instead of
REAL_VALUES_EQUAL.

gcc/c/
* c-typeck.c (c_tree_equal): Use real_equal instead of
REAL_VALUES_EQUAL.

gcc/cp/
* tree.c (cp_tree_equal): Use real_equal instead of
REAL_VALUES_EQUAL.

gcc/
* real.h (real_equal): Declare.
(REAL_VALUES_EQUAL): Delete.
* real.c (real_equal): New function.
(real_compare): Use it.
* doc/tm.texi.in (REAL_VALUES_EQUAL): Delete.
* doc/tm.texi: Regenerate.
* builtins.c (fold_builtin_pow, fold_builtin_load_exponent): Use
real_equal instead of REAL_VALUES_EQUAL.
* config/aarch64/aarch64.c (aarch64_float_const_zero_rtx_p): Likewise.
* config/arm/arm.c (arm_const_double_rtx, neon_valid_immediate)
(fp_const_from_val): Likewise.
* config/fr30/fr30.c (fr30_const_double_is_zero): Likewise.
* config/m68k/m68k.c (standard_68881_constant_p): Likewise.
(floating_exact_log2): Likewise.
* config/sh/sh.c (fp_zero_operand, fp_one_operand): Likewise.
* config/vax/vax.c (vax_float_literal): Likewise.
* config/xtensa/predicates.md (const_float_1_operand): Likewise.
* cprop.c (implicit_set_cond_p): Likewise.
* expmed.c (expand_mult): Likewise.
* fold-const.c (const_binop): Likewise.
* simplify-rtx.c (simplify_binary_operation_1): Likewise.
(simplify_const_binary_operation): Likewise.
(simplify_const_relational_operation): Likewise.
* tree-call-cdce.c (check_pow): Likewise.
(gen_conditions_for_pow_cst_base): Likewise.
* tree-inline.c (estimate_num_insns): Likewise.
* tree-ssa-dom.c (record_equality): Likewise.
* tree-ssa-math-opts.c (representable_as_half_series_p): Likewise.
(gimple_expand_builtin_pow): Likewise.
(pass_optimize_widening_mul::execute): Likewise.
* tree-ssa-uncprop.c (associate_equivalences_with_edges): Likewise.
* tree-vect-patterns.c (vect_recog_pow_pattern): Likewise.
* tree.c (real_zerop, real_onep, real_minus_onep): Likewise.
---
 gcc/builtins.c                  | 14 +++++++-------
 gcc/c-family/c-lex.c            |  6 +++---
 gcc/c/c-typeck.c                |  2 +-
 gcc/config/aarch64/aarch64.c    |  2 +-
 gcc/config/arm/arm.c            |  6 +++---
 gcc/config/fr30/fr30.c          |  2 +-
 gcc/config/m68k/m68k.c          |  6 +++---
 gcc/config/sh/sh.c              |  4 ++--
 gcc/config/vax/vax.c            |  4 ++--
 gcc/config/xtensa/predicates.md |  2 +-
 gcc/cp/tree.c                   |  2 +-
 gcc/cprop.c                     |  2 +-
 gcc/doc/tm.texi                 |  7 -------
 gcc/doc/tm.texi.in              |  7 -------
 gcc/expmed.c                    |  2 +-
 gcc/fold-const.c                |  2 +-
 gcc/real.c                      | 10 +++++++++-
 gcc/real.h                      |  4 ++--
 gcc/simplify-rtx.c              | 16 ++++++++--------
 gcc/tree-call-cdce.c            |  4 ++--
 gcc/tree-inline.c               |  5 +++--
 gcc/tree-ssa-dom.c              |  2 +-
 gcc/tree-ssa-math-opts.c        | 16 ++++++++--------
 gcc/tree-ssa-uncprop.c          |  2 +-
 gcc/tree-vect-patterns.c        |  4 ++--
 gcc/tree.c                      |  6 +++---
 26 files changed, 67 insertions(+), 72 deletions(-)

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

8 years ago2015-10-05 Richard Biener <rguenther@suse.de>
rguenth [Mon, 5 Oct 2015 11:15:10 +0000 (11:15 +0000)]
2015-10-05  Richard Biener  <rguenther@suse.de>

PR ipa/67783
* ipa-inline-analysis.c (estimate_function_body_sizes): Only
consider loop header PHI defs as IVs.

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

8 years ago2015-10-05 Richard Biener <rguenther@suse.de>
rguenth [Mon, 5 Oct 2015 11:13:14 +0000 (11:13 +0000)]
2015-10-05  Richard Biener  <rguenther@suse.de>

* tree-ssa-pre.c (create_component_ref_by_pieces_1): Move
call handling ...
(create_expression_by_pieces): ... here and build GIMPLE
calls directly.  Use gimple_build API and avoid force_gimple_operand.
(insert_into_preds_of_block): Simplify.
(do_regular_insertion): Add comment.

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

8 years ago[Patch ARM/ AArch64] Fix typo in vcvt_f16.c testcase .
ramana [Mon, 5 Oct 2015 11:08:45 +0000 (11:08 +0000)]
[Patch ARM/ AArch64] Fix typo in vcvt_f16.c testcase .

This test worked by accident. While looking at why this was failing randomly in my builds, I discovered a bug in the way in which the testcases were written up in this case.

2015-10-05  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

* gcc.target/aarch64/advsimd-intrinsics/vcvt_f16.c (TEST_MSG): Fix typo.
(exec_vcvt): Add comments.

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

8 years ago2015-10-05 Ville Voutilainen <ville.voutilainen@gmail.com>
ville [Mon, 5 Oct 2015 09:57:20 +0000 (09:57 +0000)]
2015-10-05  Ville Voutilainen  <ville.voutilainen@gmail.com>

PR 67844.
* include/std/tuple (_TC::_NonNestedTuple): Eagerly reject
conversions from tuple types same as the target tuple.
* testsuite/20_util/tuple/67844.cc: New.
* testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Add
a missing copyright header.

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

8 years agoDaily bump.
gccadmin [Mon, 5 Oct 2015 00:16:15 +0000 (00:16 +0000)]
Daily bump.

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

8 years ago Implement N4514, C++ Extensions for Transactional Memory.
jason [Sun, 4 Oct 2015 19:17:19 +0000 (19:17 +0000)]
Implement N4514, C++ Extensions for Transactional Memory.

gcc/
* builtins.def (BUILT_IN_ABORT): Add transaction_pure attribute.
gcc/c-family/
* c-common.c (c_common_reswords): Add C++ TM TS keywords.
(c_common_attribute_table): Add transaction_safe_dynamic.
transaction_safe now affects type identity.
(handle_tm_attribute): Handle transaction_safe_dynamic.
* c-common.h (enum rid): Add RID_ATOMIC_NOEXCEPT,
RID_ATOMIC_CANCEL, RID_SYNCHRONIZED.
(OBJC_IS_CXX_KEYWORD): Add RID_SYNCHRONIZED.
(D_TRANSMEM): New.
* c-cppbuiltin.c (c_cpp_builtins): Define __cpp_transactional_memory.
* c-pretty-print.c (pp_c_attributes_display): Don't print
transaction_safe in C++.
gcc/c/
* c-parser.c (c_lex_one_token): Handle @synchronized.
* c-decl.c (match_builtin_function_types): A declaration of a built-in
can change whether the function is transaction_safe.
gcc/cp/
* cp-tree.h (struct cp_declarator): Add tx_qualifier field.
(BCS_NORMAL, BCS_TRANSACTION): New enumerators.
* lex.c (init_reswords): Limit TM kewords to -fgnu-tm.
* parser.c (cp_lexer_get_preprocessor_token): Fix @synchronized.
(make_call_declarator): Take tx_qualifier.
(cp_parser_tx_qualifier_opt): New.
(cp_parser_lambda_declarator_opt): Use it.
(cp_parser_direct_declarator): Likewise.
(cp_parser_statement): Handle atomic_noexcept, atomic_cancel.
(cp_parser_compound_statement): Change in_try parameter to bcs_flags.
(cp_parser_std_attribute): Map optimize_for_synchronized to
transaction_callable.
(cp_parser_transaction): Take the token.  Handle atomic_noexcept.
* lambda.c (maybe_add_lambda_conv_op): Handle transaction-safety.
* call.c (enum conversion_kind): Add ck_tsafe.
(standard_conversion): Handle transaction-safety conversion.
(convert_like_real, resolve_address_of_overloaded_function): Likewise.
(check_methods): Diagnose transaction_safe_dynamic on non-virtual
function.
(look_for_tm_attr_overrides): Don't inherit transaction_safe_dynamic.
* cvt.c (tx_safe_fn_type_p, tx_unsafe_fn_variant)
(can_convert_tx_safety): New.
* typeck.c (composite_pointer_type): Handle transaction-safety.
* name-lookup.h (enum scope_kind): Add sk_transaction.
* name-lookup.c (begin_scope): Handle it.
* semantics.c (begin_compound_stmt): Pass it.
* decl.c (check_previous_goto_1): Check it.
(struct named_label_entry): Add in_transaction_scope.
(poplevel_named_label_1): Set it.
(check_goto): Check it.
(duplicate_decls): A specialization can be transaction_safe
independently of its template.
(grokdeclarator): Handle tx-qualifier.
* rtti.c (ptr_initializer): Handle transaction-safe.
* search.c (check_final_overrider): Check transaction_safe_dynamic.
Don't check transaction_safe.
* mangle.c (write_function_type): Mangle transaction_safe here.
(write_CV_qualifiers_for_type): Not here.
(write_type): Preserve transaction_safe when stripping attributes.
* error.c (dump_type_suffix): Print transaction_safe.
libiberty/
* cp-demangle.c (d_cv_qualifiers): Dx means transaction_safe.
(cplus_demangle_type): Let d_cv_qualifiers handle it.
(d_dump, d_make_comp, has_return_type, d_encoding)
(d_count_templates_scopes, d_print_comp_inner)
(d_print_mod_list, d_print_mod, d_print_function_type)
(is_ctor_or_dtor): Handle DEMANGLE_COMPONENT_TRANSACTION_SAFE.

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

8 years ago PR rtl-optimization/67447
uros [Sun, 4 Oct 2015 15:56:45 +0000 (15:56 +0000)]
PR rtl-optimization/67447
* gcc.target/i386/pr67447.c: New test.

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

8 years ago * config/i386/i386.c (ix86_nsaved_regs): Use GENERAL_REGNO_P to
uros [Sun, 4 Oct 2015 14:09:23 +0000 (14:09 +0000)]
* config/i386/i386.c (ix86_nsaved_regs): Use GENERAL_REGNO_P to
check for general register.
(ix86_emit_save_regs): Ditto.
(ix86_emit_save_regs_using_mov): Ditto.
(ix86_emit_restore_regs_using_pop): Ditto.
(ix86_emit_restore_regs_using_mov): Ditto.

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

8 years ago * gcc.target/i386/vect-pack-trunc-1.c: Require avx512bw
uros [Sun, 4 Oct 2015 14:02:05 +0000 (14:02 +0000)]
* gcc.target/i386/vect-pack-trunc-1.c: Require avx512bw
effective target.
* gcc.target/i386/vect-pack-trunc-2.c: Ditto.
* gcc.target/i386/vect-perm-even-1.c: Ditto.
* gcc.target/i386/vect-perm-odd-1.c: Ditto.
* gcc.target/i386/vect-unpack-1.c: Ditto.
* gcc.target/i386/vect-unpack-2.c: Ditto.

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

8 years agoRemove dead code
mikael [Sun, 4 Oct 2015 13:42:03 +0000 (13:42 +0000)]
Remove dead code

gcc/fortran/
* match.c (gfc_match_common): Remove dead variable old_blank_common.

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

8 years agoFix fortran common-related error recovery ICE.
mikael [Sun, 4 Oct 2015 12:30:16 +0000 (12:30 +0000)]
Fix fortran common-related error recovery ICE.

Upon reverting a symbol in a common block (after throwing an error),
the compiler was ICEing because the symbol's common_block field was set,
but the symbol was not in the common block's list of symbols.

Fixed by both adding the symbol to the common block list and setting
the symbol's common_block field at the same time.
Furthermore, the gfc_add_in_common call is delayed and its result is
ignored, so that its error messages are ignored and the compiler has
the opportunity to give a better error message.
Another gfc_add_in_common call is added later during resolution
to emit again the missing errors.

PR fortran/67758
gcc/fortran/
* match.c (gfc_match_common): Delay the common_block pointer
assignment after error checking.
Delay the call to gfc_add_in_common attribute after the handling
of array specs.
* resolve.c (resolve_common_vars): Call gfc_add_in_common again.
gcc/testsuite/
* gfortran.dg/common_24.f: New.

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

8 years agoFactor access to the common block head symbol
mikael [Sun, 4 Oct 2015 12:07:50 +0000 (12:07 +0000)]
Factor access to the common block head symbol

* resolve.c (resolve_common_vars): Move access to the common
block's head symbol inside the function.
(resolve_common_blocks, resolve_types): Update callers.

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

8 years agoDaily bump.
gccadmin [Sun, 4 Oct 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.

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

8 years ago * Makefile.in (insn-latencytab.o): Remove -Wno-duplicated-cond.
mpolacek [Sat, 3 Oct 2015 17:02:12 +0000 (17:02 +0000)]
* Makefile.in (insn-latencytab.o): Remove -Wno-duplicated-cond.
(insn-dfatab.o): Likewise.

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

8 years agoxtensa: add uclinux support
jcmvbkbc [Sat, 3 Oct 2015 16:09:07 +0000 (16:09 +0000)]
xtensa: add uclinux support

2015-10-03  Max Filippov  <jcmvbkbc@gmail.com>
gcc/
* config.gcc (xtensa*-*-uclinux*): New configuration.
* config/xtensa/uclinux.h: New file.
* config/xtensa/uclinux.opt: New file.

libgcc/
* config.host (xtensa*-*-uclinux*): New configuration.

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

8 years agoDocument value of __cplusplus for C++14
redi [Sat, 3 Oct 2015 12:52:18 +0000 (12:52 +0000)]
Document value of __cplusplus for C++14

* doc/cpp.texi (Standard Predefined Macros): Document value of
__cplusplus for C++14.

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

8 years agoRemove pretty printing for 'any' with allocators
redi [Sat, 3 Oct 2015 12:09:36 +0000 (12:09 +0000)]
Remove pretty printing for 'any' with allocators

* python/libstdcxx/v6/printers.py (StdExpAnyPrinter): Remove support
for _Manager_alloc.

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

8 years agoFix comments saying why headers are included
redi [Sat, 3 Oct 2015 12:09:31 +0000 (12:09 +0000)]
Fix comments saying why headers are included

* src/c++98/locale.cc: Fix comment.
* src/c++98/locale_init.cc: Likewise.

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

8 years ago2015-10-03 Bernd Edlinger <bernd.edlinger@hotmail.de>
edlinger [Sat, 3 Oct 2015 06:28:35 +0000 (06:28 +0000)]
2015-10-03  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * gcc.target/arm/pr67756.c: Fixed warnings.

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

8 years agoDaily bump.
gccadmin [Sat, 3 Oct 2015 00:16:15 +0000 (00:16 +0000)]
Daily bump.

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

8 years agoFix testsuite failures with --disable-wchar_t
redi [Fri, 2 Oct 2015 23:43:17 +0000 (23:43 +0000)]
Fix testsuite failures with --disable-wchar_t

* testsuite/21_strings/basic_string/literals/types.cc: Guard use of
wchar_t with _GLIBCXX_USE_WCHAR_T.
* testsuite/21_strings/basic_string/literals/values.cc: Likewise.
* testsuite/21_strings/basic_string/requirements/citerators.cc:
Likewise.
* testsuite/22_locale/messages/13631.cc: Likewise.
* testsuite/experimental/string_view/literals/types.cc: Likewise.
* testsuite/experimental/string_view/literals/values.cc: Likewise.

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

8 years agoEnable dual ABI for Filesystem library
redi [Fri, 2 Oct 2015 23:21:41 +0000 (23:21 +0000)]
Enable dual ABI for Filesystem library

* src/filesystem/Makefile.am: Add cxx11_abi_sources.
* src/filesystem/Makefile.in: Regenerate.
* src/filesystem/cow-dir.cc: New.
* src/filesystem/cow-ops.cc: New.
* src/filesystem/cow-path.cc: New.
* src/filesystem/dir.cc: Define macro for new ABI.
* src/filesystem/ops.cc: Likewise.
* src/filesystem/path.cc: Likewise.

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

8 years ago * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
redi [Fri, 2 Oct 2015 22:18:06 +0000 (22:18 +0000)]
* testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
Minor tweaks to match narrow char version.

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

8 years agoFix tests that fail with old std::string
redi [Fri, 2 Oct 2015 22:13:18 +0000 (22:13 +0000)]
Fix tests that fail with old std::string

* testsuite/21_strings/basic_string/allocator/char/minimal.cc: Guard
explicit instantiation with check for new ABI.
* testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
Likewise. Use wchar_t as char_type.

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

8 years agoUse noexcept instead of _GLIBCXX_NOEXCEPT
redi [Fri, 2 Oct 2015 22:13:12 +0000 (22:13 +0000)]
Use noexcept instead of _GLIBCXX_NOEXCEPT

* include/bits/basic_string.h [!_GLIBCXX_USE_CXX11_ABI]
(basic_string::front() const, basic_string::back() const): Use
noexcept instead of _GLIBCXX_NOEXCEPT macro.
(__versa_string::front, __versa_string::back): Likewise.

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

8 years ago * acinclude.m4 (GLIBCXX_ENABLE_DEBUG_FLAGS): Fix comment.
redi [Fri, 2 Oct 2015 21:47:38 +0000 (21:47 +0000)]
* acinclude.m4 (GLIBCXX_ENABLE_DEBUG_FLAGS): Fix comment.

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

8 years agoHelp the offload gcc driver find the right assembler
tschwinge [Fri, 2 Oct 2015 21:24:50 +0000 (21:24 +0000)]
Help the offload gcc driver find the right assembler

gcc/
* gcc.c (process_command): Use spec_machine rather than
spec_host_machine to build tooldir_prefix2.

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

8 years agonvptx offloading linking
tschwinge [Fri, 2 Oct 2015 19:43:41 +0000 (19:43 +0000)]
nvptx offloading linking

gcc/
* config/nvptx/mkoffload.c (Kind, Vis): Remove enums.
(Token, Stmt): Remove structs.
(decls, vars, fns): Remove variables.
(alloc_comment, append_stmt, is_keyword): Remove macros.
(tokenize, write_token, write_tokens, alloc_stmt, rev_stmts)
(write_stmt, write_stmts, parse_insn, parse_list_nosemi)
(parse_init, parse_file): Remove functions.
(read_file): Accept a pointer to a length and store into it.
(process): Don't try to parse the input file, just write it out as
a string, but looking for maps.  Also write out the length.
(main): Don't use "-S" to compile PTX code.

libgomp/
* oacc-ptx.h: Remove file, moving its content into...
* config/nvptx/fortran.c: ... here...
* config/nvptx/oacc-init.c: ..., here...
* config/nvptx/oacc-parallel.c: ..., and here.
* config/nvptx/openacc.f90: New file.
* plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
(link_ptx): Don't link in predefined bits of PTX code.

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

8 years agoAllow Filesystem TS to compile without wchar_t
redi [Fri, 2 Oct 2015 19:38:38 +0000 (19:38 +0000)]
Allow Filesystem TS to compile without wchar_t

* include/bits/locale_conv.h [!_GLIBCXX_USE_WCHAR_T]
(__do_str_codecvt, __str_codecvt_in, __str_codecvt_out): Enable.
* include/experimental/fs_path.h [!_GLIBCXX_USE_WCHAR_T]
(path::wstring, path::generic_wstring): Disable.
* src/filesystem/path.cc (path::_S_convert_loc)
[!_GLIBCXX_USE_WCHAR_T]: Skip conversion.
* testsuite/experimental/filesystem/path/assign/assign.cc: Check for
wchar_t support.
* testsuite/experimental/filesystem/path/concat/strings.cc: Likewise.
* testsuite/experimental/filesystem/path/construct/range.cc: Likewise.

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

8 years ago * testsuite/util/testsuite_fs.h (nonexistent_path): Use less generic
redi [Fri, 2 Oct 2015 19:38:27 +0000 (19:38 +0000)]
* testsuite/util/testsuite_fs.h (nonexistent_path): Use less generic
name for paths. Prefer snprintf to sprintf.

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

8 years agoRe: [PATCH] Improve DOM's optimization of control statements
law [Fri, 2 Oct 2015 19:31:46 +0000 (19:31 +0000)]
Re: [PATCH] Improve DOM's optimization of control statements

* tree-ssa-dom.c (optimize_stmt): Note when loop structures need
fixups.

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

8 years ago[PR target/67822] OpenMP offloading to nvptx fails
tschwinge [Fri, 2 Oct 2015 19:27:30 +0000 (19:27 +0000)]
[PR target/67822] OpenMP offloading to nvptx fails

gcc/
PR target/67822
* config/nvptx/mkoffload.c (main): Scan the argument vector for
-fopenmp, and skip generating an offloading image if specified.

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

8 years ago * system.h (ROUND_UP): New macro definition.
uros [Fri, 2 Oct 2015 18:08:59 +0000 (18:08 +0000)]
* system.h (ROUND_UP): New macro definition.
(ROUND_DOWN): Ditto.
* ggc-page.c (ROUND_UP): Remove local macro definition.
(PAGE_ALIGN): Implement using ROUND_UP macro.

* config/i386/i386.h (PUSH_ROUNDING): Implement using ROUND_UP macro.
* config/i386/i386.c (function_arg_advance_64): Use ROUND_UP macro
to align values.
(ix86_compute_frame_layout): Ditto.
(ix86_expand_prologue): Ditto.
(ix86_adjust_stack_and_probe): Use ROUND_DOWN macro
to round down values.
(expand_set_or_movmem_via_rep): Ditto.

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

8 years ago PR c/67730
mpolacek [Fri, 2 Oct 2015 18:01:50 +0000 (18:01 +0000)]
PR c/67730
* c-typeck.c (convert_for_assignment): Use the expansion point
location throughout.

* gcc.dg/pr67730-1.c: New test.
* gcc.dg/pr67730-2.c: New test.
* gcc.dg/pr67730.h: New test.

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

8 years ago * genemit.c (gen_exp): Remove -Wduplicated-cond hack.
mpolacek [Fri, 2 Oct 2015 17:49:15 +0000 (17:49 +0000)]
* genemit.c (gen_exp): Remove -Wduplicated-cond hack.

* c.opt (Wduplicated-cond): Don't enable by -Wall anymore.

* c-c++-common/Wduplicated-cond-2.c: Skip until PR67819 is resolved.

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

8 years agoPR libstdc++/67747 use readdir instead of readdir_r
redi [Fri, 2 Oct 2015 16:34:34 +0000 (16:34 +0000)]
PR libstdc++/67747 use readdir instead of readdir_r

PR libstdc++/67747
* src/filesystem/dir.cc (native_readdir): Remove.
(_Dir::advance): Use readdir instead of native_readdir.
(recursive_directory_iterator(const path&, directory_options,
error_code*)): Use swap instead of reset.

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

8 years agoreject loops early where ivs cannot be represented
spop [Fri, 2 Oct 2015 16:04:00 +0000 (16:04 +0000)]
reject loops early where ivs cannot be represented

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

8 years agofix PR67754
spop [Fri, 2 Oct 2015 16:03:54 +0000 (16:03 +0000)]
fix PR67754

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

8 years agoadd testcase
spop [Fri, 2 Oct 2015 16:03:48 +0000 (16:03 +0000)]
add testcase

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

8 years agooutline functions from stmt_simple_for_scop_p
spop [Fri, 2 Oct 2015 15:28:23 +0000 (15:28 +0000)]
outline functions from stmt_simple_for_scop_p

Outlined functions from stmt_simple_for_scop_p. No functional changes intended.
Passes regtest and bootstrap.

gcc/ChangeLog:

2015-10-01  Aditya Kumar  <hiraditya@msn.com>

        * graphite-scop-detection.c (stmt_has_side_effects): New function
          outlined from stmt_simple_for_scop_p.
        (graphite_can_represent_stmt): Same.
        (stmt_simple_for_scop_p): Moved code out of this function for better
        readability.

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

8 years agoAVX-512. Add missing features to cpuinfo.c
kyukhin [Fri, 2 Oct 2015 15:25:26 +0000 (15:25 +0000)]
AVX-512. Add missing features to cpuinfo.c
gcc/
* config/i386/i386.c (processor_features): Add F_AVX512VBMI,
F_AVX512IFMA.
(isa_names_table): Handle F_AVX512VBMI and F_AVX512IFMA.
libgcc/
* config/i386/cpuinfo.c (processor_features): Add
FEATURE_AVX512VBMI and FEATURE_AVX512VBMI.
testsuite/
* gcc.target/i386/builtin_target.c: Handle "avx512ifma"
and "avx512vbmi".

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

8 years ago[AArch64] Use default_elf_asm_named_section instead of special cased hook
ramana [Fri, 2 Oct 2015 15:07:46 +0000 (15:07 +0000)]
[AArch64] Use default_elf_asm_named_section instead of special cased hook

* config/aarch64/aarch64-elf.h (TARGET_ASM_NAMED_SECTION): Delete.

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

8 years ago2015-10-02 Vladimir Makarov <vmakarov@redhat.com>
vmakarov [Fri, 2 Oct 2015 15:04:59 +0000 (15:04 +0000)]
2015-10-02  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/67756
* lra-constraints.c (match_reload): Add a new parameter.  Use it
for creating a pseudo with the same value.
(curr_insn_transform): Pass a new argument to match_reload.

2015-10-02  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/67756
* gcc.target/arm/pr67756.c: New.

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

8 years ago[AArch64] Add more TLS local executable testcases
jiwang [Fri, 2 Oct 2015 14:47:34 +0000 (14:47 +0000)]
[AArch64] Add more TLS local executable testcases

2015-10-02  Jiong Wang  <jiong.wang@arm.com>

* gcc.target/aarch64/tlsle12_tiny_1.c: New testcase for tiny model.
* gcc.target/aarch64/tlsle24_tiny_1.c: Likewise.
* gcc.target/aarch64/tlsle_sizeadj_tiny_1.c: TLS size truncation test
for tiny model.
* gcc.target/aarch64/tlsle_sizeadj_small_1.c: TLS size truncation test
for small model.

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

8 years agoUpdate extract_even_odd w/ AVX-512BW insns.
kyukhin [Fri, 2 Oct 2015 14:36:41 +0000 (14:36 +0000)]
Update extract_even_odd w/ AVX-512BW insns.

gcc/
* config/i386/i386.c (expand_vec_perm_even_odd_trunc): New.
(expand_vec_perm_even_odd_1): Handle V64QImode.
(ix86_expand_vec_perm_const_1): Try expansion with
expand_vec_perm_even_odd_trunc as well.
* config/i386/sse.md (VI124_AVX512F): Rename to ...
(define_mode_iterator VI124_AVX2_24_AVX512F_1_AVX512BW): This. Extend
to V54QI.
(define_mode_iterator VI248_AVX2_8_AVX512F): Rename to ...
(define_mode_iterator VI248_AVX2_8_AVX512F_24_AVX512BW): This. Extend
to V32HI and V16SI.
(define_insn "avx512bw_<code>v32hiv32qi2"): Unhide pattern name.
(define_expand "vec_pack_trunc_<mode>"): Update iterator name.
(define_expand "vec_unpacks_lo_<mode>"): Ditto.
(define_expand "vec_unpacks_hi_<mode>"): Ditto.
(define_expand "vec_unpacku_lo_<mode>"): Ditto.
(define_expand "vec_unpacku_hi_<mode>"): Ditto.

gcc/testsuite/
* gcc.target/i386/vect-pack-trunc-1.c: New test.
* gcc.target/i386/vect-pack-trunc-2.c: Ditto.
* gcc.target/i386/vect-perm-even-1.c: Ditto.
* gcc.target/i386/vect-perm-odd-1.c: Ditto.
* gcc.target/i386/vect-unpack-1.c: Ditto.
* gcc.target/i386/vect-unpack-2.c: Ditto.

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

8 years agogcc/
kyukhin [Fri, 2 Oct 2015 14:29:44 +0000 (14:29 +0000)]
gcc/
* doc/invoke.texi: Mention -mavx512vl, -mavx512bw, -mavx512dq,
-mavx521vbmi, -mavx512ifma. Add missing opindex-es.

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

8 years ago PR c/59218
jason [Fri, 2 Oct 2015 13:44:41 +0000 (13:44 +0000)]
PR c/59218

* trans-mem.c (volatile_lvalue_p): Rename from volatile_var_p.
(diagnose_tm_1_op): Also diagnose volatile accesses in
transaction_safe function.

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

8 years ago * system.h (malloc.h): Don't include obsolete header.
redi [Fri, 2 Oct 2015 13:30:03 +0000 (13:30 +0000)]
* system.h (malloc.h): Don't include obsolete header.

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

8 years ago[AArch64] Use default_elf_asm_named_section instead of special cased hook
ramana [Fri, 2 Oct 2015 13:08:43 +0000 (13:08 +0000)]
[AArch64] Use default_elf_asm_named_section instead of special cased hook

Hi,

The hook for TARGET_ASM_NAMED_SECTION was defined separately in
the backend around the time frame for GCC 4.7 under the assumption
that '@' would be used as a comment character in the binutils port.

This was indeed true in versions of the AArch64 port that never made it
into the FSF tree. However this practice was killed
before the binutils port made it upstream. Doing archaeology into
various revisions including the first commit of upstream binutils,
talking to Marcus about the history of this and actually testing the
first commit of binutils, I can confidently say that the upstream binutils
port never had any use of '@' as a comment character for AArch64
However we never got rid of the special cased handling in
GCC and the duplication of code in the AArch64 backend.

This was found when I was playing with Virtual Table verification
on ARM and AArch64 and discovered ICEs which were similar but manifested
in different places begging the obvious question.

Tested on aarch64-none-elf with no regressions.

Ok to apply ?

Ramana

2015-10-02  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

* config/aarch64/aarch64.c (aarch64_elf_asm_named_section): Delete.
(TLS_SECTION_ASM_FLAG): Delete.

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

8 years ago PR c/64249
mpolacek [Fri, 2 Oct 2015 12:56:17 +0000 (12:56 +0000)]
PR c/64249
* c-common.c (warn_duplicated_cond_add_or_warn): New function.
* c-common.h (warn_duplicated_cond_add_or_warn): Declare.
* c.opt (Wduplicated-cond): New option.

* c-parser.c (c_parser_statement_after_labels): Add CHAIN parameter
and pass it down to c_parser_if_statement.
(c_parser_else_body): Add CHAIN parameter and pass it down to
c_parser_statement_after_labels.
(c_parser_if_statement): Add CHAIN parameter.  Add code to warn about
duplicated if-else-if conditions.

* parser.c (cp_parser_statement): Add CHAIN parameter and pass it
down to cp_parser_selection_statement.
(cp_parser_selection_statement): Add CHAIN parameter.  Add code to
warn about duplicated if-else-if conditions.
(cp_parser_implicitly_scoped_statement): Add CHAIN parameter and pass
it down to cp_parser_statement.

* doc/invoke.texi: Document -Wduplicated-cond.
* Makefile.in (insn-latencytab.o): Use -Wno-duplicated-cond.
(insn-dfatab.o): Likewise.
* genemit.c (gen_exp): Rewrite condition to avoid -Wduplicated-cond
warning.

* c-c++-common/Wduplicated-cond-1.c: New test.
* c-c++-common/Wduplicated-cond-2.c: New test.
* c-c++-common/Wduplicated-cond-3.c: New test.
* c-c++-common/Wduplicated-cond-4.c: New test.
* c-c++-common/Wmisleading-indentation.c (fn_37): Avoid
-Wduplicated-cond warning.

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

8 years ago[PATCH][AARCH64]Add csneg3_uxtw_insn pattern
renlin [Fri, 2 Oct 2015 12:52:36 +0000 (12:52 +0000)]
[PATCH][AARCH64]Add csneg3_uxtw_insn pattern

gcc/

2015-10-02  Renlin Li <renlin.li@arm.com>

* config/aarch64/aarch64.md (csneg3_uxtw_insn): New pattern.

gcc/testsuite/

2015-10-02  Renlin Li <renlin.li@arm.com>

* gcc.target/aarch64/csneg-1.c: Update test.

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

8 years agogcc/
olegendo [Fri, 2 Oct 2015 12:30:05 +0000 (12:30 +0000)]
gcc/
* config/sh/sh.md: Add new unnamed split pattern to handle movt-movt
sequences.

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

8 years ago[PATCH][AARCH64][PR66776]Add cmovdi_insn_uxtw pattern.
renlin [Fri, 2 Oct 2015 11:55:04 +0000 (11:55 +0000)]
[PATCH][AARCH64][PR66776]Add cmovdi_insn_uxtw pattern.

gcc/

2015-10-02  Renlin Li  <renlin.li@arm.com>

PR target/66776
* config/aarch64/aarch64.md (cmovdi_insn_uxtw): New pattern.

gcc/testsuite/

2015-10-02  Renlin Li  <renlin.li@arm.com>

PR target/66776
* gcc.target/aarch64/pr66776.c: New.

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

8 years agoMAINTAINERS: Update email address.
fw [Fri, 2 Oct 2015 10:13:48 +0000 (10:13 +0000)]
MAINTAINERS: Update email address.

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

8 years ago * gcc-interface/lang.opt (fbuiltin-printf): Accept.
ebotcazou [Fri, 2 Oct 2015 09:45:45 +0000 (09:45 +0000)]
* gcc-interface/lang.opt (fbuiltin-printf): Accept.
* gcc-interface/misc.c (gnat_handle_option): Ignore it.
* gcc-interface/lang-specs.h (@ada, @adawhy, @adascil): Propagate -f*
flags as -g* and -m* flags past -gnatez.

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

8 years ago2015-10-02 Louis Krupp <louis.krupp@zoho.com>
lkrupp [Fri, 2 Oct 2015 09:29:32 +0000 (09:29 +0000)]
2015-10-02  Louis Krupp <louis.krupp@zoho.com>

* MAINTAINERS  (Write After Approval): Add myself.

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

8 years ago * gcc-interface/trans.c (Pragma_to_gnu) <Pragma_Warnings>: Replace
ebotcazou [Fri, 2 Oct 2015 09:28:56 +0000 (09:28 +0000)]
* gcc-interface/trans.c (Pragma_to_gnu) <Pragma_Warnings>: Replace
linear search with call to find_opt and issue warnings if the -W
switch is not appropriate.

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

8 years agoBack out improper commit
lkrupp [Fri, 2 Oct 2015 09:26:40 +0000 (09:26 +0000)]
Back out improper commit

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

8 years ago * gcc-interface/ada-tree.h (DECL_RESTRICTED_ALIASING_P): New flag.
ebotcazou [Fri, 2 Oct 2015 09:18:34 +0000 (09:18 +0000)]
* gcc-interface/ada-tree.h (DECL_RESTRICTED_ALIASING_P): New flag.
* gcc-interface/decl.c (gnat_to_gnu_param): For parameters passed by
reference but whose type isn't by-ref and whose mechanism hasn't been
forced to by-ref, set the DECL_RESTRICTED_ALIASING_P flag directly on
them instead of changing their type.
* gcc-interface/trans.c (scan_rhs_r): New helper function.
(independent_iterations_p): New predicate.
(Loop_Statement_to_gnu): For a loop with an iteration scheme, set an
ivdep pragma if the iterations are independent.

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

8 years agoDelete undesirable svn:executable property
lkrupp [Fri, 2 Oct 2015 08:41:13 +0000 (08:41 +0000)]
Delete undesirable svn:executable property

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

8 years ago[RTL ifcvt] PR 67786, 67787: Check that intermediate instructions in the basic block...
ktkachov [Fri, 2 Oct 2015 08:36:45 +0000 (08:36 +0000)]
[RTL ifcvt] PR 67786, 67787: Check that intermediate instructions in the basic block don't clobber a reg used in condition

        PR rtl-optimization/67786
        PR rtl-optimization/67787
        * ifcvt.c (bb_valid_for_noce_process_p): Reject basic block if
        it modifies a reg used in the condition calculation.

        * gcc.dg/pr67786.c: New test.
        * gcc.dg/pr67787.c: Likewise.

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

8 years ago[Patch AArch64] Improve SIMD concatenation with zeroes
jgreenhalgh [Fri, 2 Oct 2015 08:32:12 +0000 (08:32 +0000)]
[Patch AArch64] Improve SIMD concatenation with zeroes

gcc/

* config/aarch64/aarch64-simd.md (*aarch64_combinez<mode>): Add
alternatives for reads from memory and moves from general-purpose
registers.
(*aarch64_combinez_be<mode>): Likewise.

gcc/testsuite/

* gcc.target/aarch64/vect_combine_zeroes_1.c: New.

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

8 years ago * gcc-interface/trans.c (find_loop_for): Use FOR_EACH_VEC_ELT_REVERSE.
ebotcazou [Fri, 2 Oct 2015 08:10:46 +0000 (08:10 +0000)]
* gcc-interface/trans.c (find_loop_for): Use FOR_EACH_VEC_ELT_REVERSE.
(Loop_Statement_to_gnu): Use FOR_EACH_VEC_ELT.
(finalize_nrv): Use FOR_EACH_VEC_SAFE_ELT and initialize field.
(build_stmt_group): Add blank lines.

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

8 years ago PR target/51726
ktietz [Fri, 2 Oct 2015 08:08:38 +0000 (08:08 +0000)]
    PR target/51726
        * g++.dg/ext/selectany2.C: Allow uninitialized variable case.

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

8 years ago PR target/51726
ktietz [Fri, 2 Oct 2015 08:06:52 +0000 (08:06 +0000)]
PR target/51726
* config/i386/winnt.c (ix86_handle_selectany_attribute): Handle
selectany within this function without need to keep attribute.
(i386_pe_encode_section_info): Remove selectany-code.

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

8 years ago2015-10-02 Richard Biener <rguenther@suse.de>
rguenth [Fri, 2 Oct 2015 07:34:53 +0000 (07:34 +0000)]
2015-10-02  Richard Biener  <rguenther@suse.de>

* tree-ssa-sccvn.c (has_VN_INFO): New function.
(free_scc_vn): Use it.
(visit_use): Remove dead code and refactor to use gassign
and use less indentation.

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

8 years ago2015-10-01 Louis Krupp <louis.krupp@zoho.com>
lkrupp [Fri, 2 Oct 2015 04:03:34 +0000 (04:03 +0000)]
2015-10-01  Louis Krupp <louis.krupp@zoho.com>

PR fortran/62242
PR fortran/52332
* trans-array.c
(store_backend_decl): Create new gfc_charlen instance if requested
(get_array_ctor_all_strlen): Call store_backend_decl requesting
new gfc_charlen
(trans_array_constructor): Call store_backend_decl requesting
new gfc_charlen if get_array_ctor_strlen was called
(gfc_add_loop_ss_code): Don't try to convert non-constant length

2015-10-01  Louis Krupp     <louis.krupp@zoho.com>

PR fortran/62242
PR fortran/52332
* gfortran.dg/string_array_constructor_1.f90: New.
* gfortran.dg/string_array_constructor_2.f90: New.
* gfortran.dg/string_array_constructor_3.f90: New.

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

8 years agoApproved by FX
lkrupp [Fri, 2 Oct 2015 01:54:37 +0000 (01:54 +0000)]
Approved by FX

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

8 years agors6000: Add "cannot_copy" attribute, use it (PR67788, PR67789)
segher [Fri, 2 Oct 2015 01:29:26 +0000 (01:29 +0000)]
rs6000: Add "cannot_copy" attribute, use it (PR67788, PR67789)

After the shrink-wrapping patches the prologue will often be pushed
"deeper" into the function, which in turn means the software trace cache
pass will more often want to duplicate the basic block containing the
prologue.  This caused failures for 32-bit SVR4 with -msecure-plt PIC.

This configuration uses the load_toc_v4_PIC_1 instruction, which creates
assembler labels without using the normal machinery for that.  If now
the compiler decides to duplicate the insn, it will emit the same label
twice.  Boom.

It isn't so easy to fix this to use labels the compiler knows about (let
alone test that properly).  Instead, this patch wires up a "cannot_copy"
attribute to be used by TARGET_CANNOT_COPY_P, and sets that attribute on
these insns we do not want copied.

2015-10-01  Segher Boessenkool  <segher@kernel.crashing.org>

PR target/67788
PR target/67789
* config/rs6000/rs6000.c (TARGET_CANNOT_COPY_INSN_P): New.
(rs6000_cannot_copy_insn_p): New function.
* config/rs6000/rs6000.md (cannot_copy): New attribute.
(load_toc_v4_PIC_1_normal): Set cannot_copy.
(load_toc_v4_PIC_1_476): Ditto.

gcc/testsuite/
PR target/67788
PR target/67789
* gcc.target/powerpc/pr67789.c: New testcase.

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

8 years ago2015-10-01 Steven G. Kargl <kargl@gcc.gnu.org>
kargl [Fri, 2 Oct 2015 00:53:00 +0000 (00:53 +0000)]
2015-10-01  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran.67802
* decl.c (add_init_expr_to_sym): Numeric constant for character
length must be an INTEGER.

2015-10-01  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran.67802
* gfortran.dg/pr67802.f90: New test.

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

8 years ago2015-10-01 Steven G. Kargl <kargl@gcc.gnu.org>
kargl [Fri, 2 Oct 2015 00:49:28 +0000 (00:49 +0000)]
2015-10-01  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/66979
* io.c (gfc_resolve_filepos): Check for a UNIT number.  Add a nearby
missing 'return false'.

2015-10-01  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/66979
gfortran.dg/pr66979.f90: new test.

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

8 years ago2015-10-01 Steven G. Kargl <kargl@gcc.gnu.org>
kargl [Fri, 2 Oct 2015 00:45:59 +0000 (00:45 +0000)]
2015-10-01  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/67616
* primary.c (gfc_match_structure_constructor): Use a possibly
host-associated symtree to prevent ICE.

2015-10-01  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/67616
* gfortran.dg/pr67616.f90: New test.

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

8 years agoDaily bump.
gccadmin [Fri, 2 Oct 2015 00:16:15 +0000 (00:16 +0000)]
Daily bump.

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

8 years agouse sese_l throughout scop-detection
spop [Thu, 1 Oct 2015 22:04:20 +0000 (22:04 +0000)]
use sese_l throughout scop-detection

Use sese_l throughout SCoP detection and create vec<scop_p> at the very end when
all SCoPs have been identified. 'struct sese_l' is very lightweight (two
pointers) compared to 'struct scop'.

No functional change intended. Passes regtest and bootstrap.

gcc/ChangeLog:

2015-10-01  Aditya Kumar  <hiraditya@msn.com>

        * graphite-scop-detection.c (struct sese_l): New conversion constructor
          so that this type can be pushed into a vec.
        (class scop_builder): use sese_l to collect scops.
        (get_scops): New getter function.
        (remove_intersecting_scops): Use sese_l instead of scops_p.
        (intersects): Same.
        (add_scop): Same.
        (subsumes): Same.
        (remove_subscops): Same.
        (build_scops): Add scops to vec<scops_p> once all the scops have been
        detected.

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

8 years agoRename gimple_bb to gimple_poly_bb
spop [Thu, 1 Oct 2015 22:04:14 +0000 (22:04 +0000)]
Rename gimple_bb to gimple_poly_bb

Renaming gimple_bb to gimple_poly_bb because there is a function gimple_bb
by the same name in gimple.h. No functional change intended.
Passes regtest and bootstrap.

gcc/ChangeLog:

2015-10-01  Aditya Kumar  <hiraditya@msn.com>

        * graphite-isl-ast-to-gimple.c (class translate_isl_ast_to_gimple):
Renamed type from gimple_bb_p to gimple_poly_bb_p.
        (translate_isl_ast_node_user): Same.
        * graphite-poly.c (new_poly_bb): Same.
        * graphite-poly.h (gbb_from_bb): Same.
        * sese.h: Same.
        * graphite-sese-to-poly.c (new_gimple_bb): gimple_bb_p -> gimple_poly_bb_p
        (build_scop_scattering): Same.
        (find_params_in_bb): Same.
        (add_conditions_to_domain): Same.
        (sese_dom_walker::before_dom_children): Same.
        (analyze_drs_in_stmts): Same.
        (new_pbb_from_pbb): Same.
        (free_data_refs_aux): New pointer to type base_alias_pair.
        * graphite-sese-to-poly.h: Same.
        * sese.c (if_region_set_false_region): Fixed Indentation.
        (move_sese_in_condition): Same.

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

8 years agocorrectly handle non affine data references
spop [Thu, 1 Oct 2015 22:04:07 +0000 (22:04 +0000)]
correctly handle non affine data references

2015-10-01  Sebastian Pop  <s.pop@samsung.com>
            Aditya Kumar  <aditya.k7@samsung.com>
        PR tree-optimization/66980
        * graphite-scop-detection.c (stmt_has_simple_data_refs_p): Return false
        when data reference analysis has failed.

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

8 years agoPR c++/54430
ville [Thu, 1 Oct 2015 19:22:08 +0000 (19:22 +0000)]
PR c++/54430

/cp
2015-10-01  Ville Voutilainen  <ville.voutilainen@gmail.com>

PR c++/54430
* name-lookup.c (push_binding): Make non-static.
* name-lookup.h (push_binding): Declare it.
* parser.c (cp_parser_range_for): Use it, get the range
declaration away from the scope until the range expression
has been parsed, then restore the declaration.

/testsuite
2015-10-01  Ville Voutilainen  <ville.voutilainen@gmail.com>

PR c++/54430
* g++.dg/cpp0x/range-for30.C: New.

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

8 years agoDo not describe -std=c11 etc. as experimental in c.opt help text.
jsm28 [Thu, 1 Oct 2015 17:00:14 +0000 (17:00 +0000)]
Do not describe -std=c11 etc. as experimental in c.opt help text.

I noticed that c.opt still described -std=c11 and related options as
experimental in the --help text.  This patch fixes this.

Bootstrapped with no regressions on x86_64-pc-linux-gnu.

* c.opt (std=c11): Do not describe as experimental.
(std=gnu11): Likewise.
(std=iso9899:2011): Likewise.

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

8 years ago * doc/html/manual/errno.html: Add new file.
redi [Thu, 1 Oct 2015 16:02:54 +0000 (16:02 +0000)]
* doc/html/manual/errno.html: Add new file.

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

8 years agocall scev analysis in scop-detection as in sese-to-poly
spop [Thu, 1 Oct 2015 15:17:58 +0000 (15:17 +0000)]
call scev analysis in scop-detection as in sese-to-poly

Before our rewrite of the scop detection, we used to not have a valid SESE
region under hand, and so we used to do more ad-hoc analysis of data references
by trying to prove that at all levels of a loop nest the data references would
be still valid.

Now that we have a valid SESE region, we can call the scev analysis in the same
way on the same computed loop nest in the scop-detection as in the sese-to-poly.

Next step will be to cache the data references analyzed in the scop detection
and not compute the same info in sese-to-poly.

The patch fixes block-1.f90 that used to ICE on x86_64-linux when compiled with
-m32.  Patch passed bootstrap with BOOT_CFLAGS="-g -O2 -fgraphite-identity
-floop-nest-optimize" and check on x86_64-linux using ISL-0.15.

2015-09-28  Sebastian Pop  <s.pop@samsung.com>
Aditya Kumar  <aditya.k7@samsung.com>

PR tree-optimization/67754
* graphite-scop-detection.c (stmt_has_simple_data_refs_p): Call
scev analysis on the same loop nest as analyze_drs_in_stmts.
* graphite-sese-to-poly.c (outermost_loop_in_sese_1): Moved and renamed...
(try_generate_gimple_bb): Call outermost_loop_in_sese.
(analyze_drs_in_stmts): Same.
* sese.c (outermost_loop_in_sese): ...here.

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

8 years agoadd recursion on the inner loops
spop [Thu, 1 Oct 2015 15:17:51 +0000 (15:17 +0000)]
add recursion on the inner loops

We now check that all data references in the current loop and inner loops
contained within loop are valid in an outer region before declaring that the
outer loop is a valid scop.

2015-09-30  Sebastian Pop  <s.pop@samsung.com>
    Aditya Kumar  <aditya.k7@samsung.com>

PR tree-optimization/67754
* graphite-scop-detection.c (loop_body_is_valid_scop): Add missing
recursion on the inner loops.

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

8 years agoremove many typedefs
tbsaunde [Thu, 1 Oct 2015 15:12:31 +0000 (15:12 +0000)]
remove many typedefs

gcc/ChangeLog:

2015-10-01  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* cfganal.c, compare-elim.c, coverage.c, cprop.c, df-scan.c,
function.c, read-rtl.c, statistics.c, trans-mem.c, tree-if-conv.c,
tree-into-ssa.c, tree-loop-distribution.c, tree-ssa-coalesce.c,
tree-ssa-loop-ivopts.c, tree-ssa-reassoc.c, tree-ssa-strlen.c,
tree-ssa-tail-merge.c, tree-vrp.c, var-tracking.c: Remove
unneeded typedefs.

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

8 years ago PR c/65345
mpolacek [Thu, 1 Oct 2015 14:53:10 +0000 (14:53 +0000)]
PR c/65345
* config/i386/i386.c (ix86_atomic_assign_expand_fenv): Adjust to use
create_tmp_var_raw rather than create_tmp_var.

* gcc.dg/atomic/pr65345-4.c: New test.
* gcc.dg/pr65345-3.c: New test.

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

8 years ago PR go/66870
ian [Thu, 1 Oct 2015 14:43:57 +0000 (14:43 +0000)]
PR go/66870
* gospec.c (lang_specific_driver): Only look for OPT_m32 if
TARGET_CAN_SPLIT_STACK_64BIT is defined.

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

8 years ago PR tree-optimization/67769
mpolacek [Thu, 1 Oct 2015 14:25:42 +0000 (14:25 +0000)]
PR tree-optimization/67769
* tree-ssa-phiopt.c (conditional_replacement): Call
reset_flow_sensitive_info_in_bb.
(minmax_replacement): Likewise.
(abs_replacement): Likewise.

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

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