gcc.git
10 years agoFix PR c/65345 for AArch64
Ramana Radhakrishnan [Tue, 6 Oct 2015 15:09:43 +0000 (15:09 +0000)]
Fix PR c/65345 for AArch64

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

PR c/65345
* config/aarch64/aarch64-builtins.c (aarch64_atomic_assign_expand_fenv):
Use create_tmp_var_raw instead of create_tmp_var.

From-SVN: r228526

10 years agoAVX-512. Avoid upper-bank registers when splitting vec_extract_lo instruction.
Alexander Fomin [Tue, 6 Oct 2015 13:49:30 +0000 (13:49 +0000)]
AVX-512. Avoid upper-bank registers when splitting vec_extract_lo instruction.

gcc/
PR target/67849
* config/i386/sse.md (define_split vec_select/V8FI): Restrict
split for upper-bank registers when target does not support
AVX512VL.
(define_insn "vec_extract_lo_<mode><mask_name>"): Restrict
split when target does not support AVX512VL.

From-SVN: r228525

10 years agore PR c/65345 (ICE with _Generic selection on _Atomic int)
David Edelsohn [Tue, 6 Oct 2015 13:46:34 +0000 (13:46 +0000)]
re PR c/65345 (ICE with _Generic selection on _Atomic int)

        PR c/65345
        * config/rs6000/rs6000.c (rs6000_atomic_assign_expand_fenv):
        Adjust to use create_tmp_var_raw instead of create_tmp_var.

From-SVN: r228524

10 years agobuiltin_target.c: Fix AVX-512VBMI detection.
Kirill Yukhin [Tue, 6 Oct 2015 13:46:22 +0000 (13:46 +0000)]
builtin_target.c: Fix AVX-512VBMI detection.

gcc/testsuite/
        * gcc.target/i386/builtin_target.c: Fix AVX-512VBMI detection.

From-SVN: r228523

10 years agorl78.c (rl78_rtx_costs): Improve cost estimates for multiplication.
Nick Clifton [Tue, 6 Oct 2015 13:42:33 +0000 (13:42 +0000)]
rl78.c (rl78_rtx_costs): Improve cost estimates for multiplication.

* config/rl78/rl78.c (rl78_rtx_costs): Improve cost estimates for
multiplication.

From-SVN: r228521

10 years agoAMD znver1 enablement.
Venkataramanan Kumar [Tue, 6 Oct 2015 12:48:41 +0000 (12:48 +0000)]
AMD znver1 enablement.

2015-10-06  Venkataramanan Kumar  <Venkataramanan.kumar@amd.com>

AMD znver1 enablement.
* config.gcc (i[34567]86-*-linux* | ...): Add znver1.
(case ${target}): Add znver1.
* config/i386/cpuid.h(bit_CLZERO):  Define.
* config/i386/driver-i386.c: (host_detect_local_cpu): Let
-march=native recognize znver1 processors.
* config/i386/i386-c.c (ix86_target_macros_internal): Add
znver1, clzero def_and_undef.
* config/i386/i386.c (struct processor_costs znver1_cost): New.
(m_znver1): New definition.
(m_AMD_MULTIPLE): Includes m_znver1.
(processor_target_table): Add znver1 entry.
(ix86_target_string) : Add clzero entry.
(static const char *const cpu_names): Add znver1 entry.
(ix86_option_override_internal): Add znver1 instruction sets.
(PTA_CLZERO) :  New definition.
(ix86_option_override_internal): Handle new clzerooption.
(ix86_issue_rate): Add znver1.
(ix86_adjust_cost): Add znver1.
(ia32_multipass_dfa_lookahead): Add znver1.
(has_dispatch): Add znver1.
* config/i386/i386.h (TARGET_znver1): New definition.
(TARGET_CLZERO): Define.
(TARGET_CLZERO_P): Define.
(struct ix86_size_cost): Add TARGET_ZNVER1.
(enum processor_type): Add PROCESSOR_znver1.
* config/i386/i386.md (define_attr "cpu"): Add znver1.
(set_attr znver1_decode): New definitions for znver1.
* config/i386/i386.opt (flag_dispatch_scheduler): Add znver1.
(mclzero): New.
* config/i386/mmx.md (set_attr znver1_decode): New definitions
for znver1.
* config/i386/sse.md (set_attr znver1_decode): Likewise.
* config/i386/x86-tune.def:  Add znver1 tunings.
* config/i386/znver1.md: Introduce znver1 cpu and include new md file.
* gcc/doc/invoke.texi: Add details about znver1

From-SVN: r228520

10 years agore PR tree-optimization/67859 (ICE on valid code at -O2 and -O3 on x86_64-linux-gnu)
Richard Biener [Tue, 6 Oct 2015 12:34:15 +0000 (12:34 +0000)]
re PR tree-optimization/67859 (ICE on valid code at -O2 and -O3 on x86_64-linux-gnu)

2015-10-06  Richard Biener  <rguenther@suse.de>

PR tree-optimization/67859
* tree-ssa-pre.c (create_expression_by_pieces): Properly
discard not inserted stmts.

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

From-SVN: r228519

10 years agoUpdate template instantiation documentation
Jonathan Wakely [Tue, 6 Oct 2015 10:27:57 +0000 (11:27 +0100)]
Update template instantiation documentation

* doc/extend.texi (Template Instantiation): Reorder options and
de-emphasize -frepo.
* doc/invoke.texi (C++ Dialect Options): Use -fstrict-enums in
example instead of -frepo.

From-SVN: r228518

10 years agore PR c/65345 (ICE with _Generic selection on _Atomic int)
Eric Botcazou [Tue, 6 Oct 2015 09:14:48 +0000 (09:14 +0000)]
re PR c/65345 (ICE with _Generic selection on _Atomic int)

PR c/65345
* config/sparc/sparc.c (sparc_atomic_assign_expand_fenv): Adjust to
use create_tmp_var_raw rather than create_tmp_var.

From-SVN: r228516

10 years agobuiltin_target.c: Fix AVX-512VBMI detection.
Kirill Yukhin [Tue, 6 Oct 2015 07:55:09 +0000 (07:55 +0000)]
builtin_target.c: Fix AVX-512VBMI detection.

gcc/testsuite/
* gcc.target/i386/builtin_target.c: Fix AVX-512VBMI detection.

From-SVN: r228515

10 years agotree-vectorizer.h (vec_info): New base class for...
Richard Biener [Tue, 6 Oct 2015 07:52:03 +0000 (07:52 +0000)]
tree-vectorizer.h (vec_info): New base class for...

2015-10-06  Richard Biener  <rguenther@suse.de>

* tree-vectorizer.h (vec_info): New base class for...
(_loop_vec_info): ... this and ...
(_bb_vec_info): ... this.
(vect_is_simple_use, vect_is_simple_use_1, new_stmt_vec_info,
vect_analyze_data_refs_alignment, vect_verify_datarefs_alignment,
vect_analyze_data_ref_accesses, vect_analyze_data_refs,
vect_schedule_slp, vect_analyze_slp, vect_pattern_recog,
vect_destroy_datarefs): Adjust interface to take a vec_info *
rather than both a loop_vec_info and a bb_vec_info argument.
* tree-vect-data-refs.c (vect_compute_data_refs_alignment,
vect_verify_datarefs_alignment, vect_enhance_data_refs_alignment,
vect_analyze_data_refs_alignment, vect_analyze_data_ref_accesses,
vect_analyze_data_refs, vect_create_data_ref_ptr): Adjust
accordingly.
* tree-vect-loop.c (new_loop_vec_info): Initialize base class.
(destroy_loop_vec_info, vect_analyze_loop_2,
vect_is_simple_reduction_1, get_initial_def_for_induction,
vect_create_epilog_for_reduction, vectorizable_reduction,
vectorizable_live_operation, vect_transform_loop): Adjust.
* tree-vect-patterns.c (type_conversion_p,
vect_recog_widen_mult_pattern, vect_recog_widen_shift_pattern,
vect_recog_rotate_pattern, vect_recog_vector_vector_shift_pattern,
vect_recog_divmod_pattern, vect_recog_mixed_size_cond_pattern,
check_bool_pattern, vect_recog_bool_pattern,
vect_mark_pattern_stmts, vect_pattern_recog): Likewise.
* tree-vect-slp.c (vect_get_and_check_slp_defs,
vect_build_slp_tree_1, vect_build_slp_tree, vect_analyze_slp_cost_1,
vect_analyze_slp_instance, vect_analyze_slp, destroy_bb_vec_info,
vect_slp_analyze_bb_1, vect_schedule_slp): Likewise.
(new_bb_vec_info): Initialize base classs.
* tree-vect-stmts.c (record_stmt_cost, process_use,
vect_get_vec_def_for_operand, vect_finish_stmt_generation,
vectorizable_mask_load_store, vectorizable_call,
vectorizable_simd_clone_call, vectorizable_conversion,
vectorizable_assignment, vectorizable_shift,
vectorizable_operation, vectorizable_store,
vectorizable_load, vect_is_simple_cond, vectorizable_condition,
new_stmt_vec_info, vect_is_simple_use, vect_is_simple_use_1): Likewise.
* tree-vectorizer.c (vect_destroy_datarefs): Likewise.

From-SVN: r228514

10 years agobuiltin_target.c: Add check for AES and PCLMUL.
Kirill Yukhin [Tue, 6 Oct 2015 07:29:05 +0000 (07:29 +0000)]
builtin_target.c: Add check for AES and PCLMUL.

gcc/testsuite/
* gcc.target/i386/builtin_target.c: Add check for AES and PCLMUL.

From-SVN: r228513

10 years agoDaily bump.
GCC Administrator [Tue, 6 Oct 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r228510

10 years agoFix PR65345 in SH backend
Kaz Kojima [Mon, 5 Oct 2015 22:18:05 +0000 (22:18 +0000)]
Fix PR65345 in SH backend
Adjust to use create_tmp_var_raw rather than create_tmp_var at
sh_atomic_assign_expand_fenv.

From-SVN: r228502

10 years agore PR c++/53856 (Default argument allowed on member defined outside of class template)
Paolo Carlini [Mon, 5 Oct 2015 21:43:26 +0000 (21:43 +0000)]
re PR c++/53856 (Default argument allowed on member defined outside of class template)

/cp
2015-10-05  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/53856
* pt.c (check_default_tmpl_args): Per [temp.param]/9, do not
reject default template arguments in out of class definitions
of members of non-template classes.

/testsuite
2015-10-05  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/53856
* g++.dg/template/defarg19.C: New.
* g++.dg/template/defarg20.C: Likewise.

From-SVN: r228501

10 years agoRemove diffstat from ChangeLog.
Richard Sandiford [Mon, 5 Oct 2015 19:46:53 +0000 (19:46 +0000)]
Remove diffstat from ChangeLog.

From-SVN: r228500

10 years agolex: Update unicode letters table to Unicode 8.0.0.
Ian Lance Taylor [Mon, 5 Oct 2015 17:59:40 +0000 (17:59 +0000)]
lex: Update unicode letters table to Unicode 8.0.0.

    Fixes golang/go#12322.

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

From-SVN: r228497

10 years ago* tree-ssa-loop-im.c
Marek Polacek [Mon, 5 Oct 2015 16:33:16 +0000 (16:33 +0000)]
* tree-ssa-loop-im.c
(move_computations_dom_walker::before_dom_children): Don't set
SSA_NAME_ANTI_RANGE_P.
* tree-ssa-phiopt.c (value_replacement): Likewise.

From-SVN: r228496

10 years agoincrease the number of parameters
Aditya Kumar [Mon, 5 Oct 2015 16:03:21 +0000 (16:03 +0000)]
increase the number of parameters

Co-Authored-By: Sebastian Pop <s.pop@samsung.com>
From-SVN: r228494

10 years agomove param detection to scop detection
Aditya Kumar [Mon, 5 Oct 2015 16:03:09 +0000 (16:03 +0000)]
move param detection to scop detection

Co-Authored-By: Sebastian Pop <s.pop@samsung.com>
From-SVN: r228493

10 years agomove scop detection related stuff to graphite-scop-detection.c
Aditya Kumar [Mon, 5 Oct 2015 16:02:59 +0000 (16:02 +0000)]
move scop detection related stuff to graphite-scop-detection.c

Co-Authored-By: Sebastian Pop <s.pop@samsung.com>
From-SVN: r228492

10 years agoIPA-CP Alignment lattice cleanup
Martin Jambor [Mon, 5 Oct 2015 15:55:54 +0000 (17:55 +0200)]
IPA-CP Alignment lattice cleanup

2015-10-05  Martin Jambor  <mjambor@suse.cz>
    Jan Hubicka  <hubicka@ucw.cz>

* ipa-cp.c (ipcp_alignment_lattice): New type.
(ipcp_param_lattices): Use the above to represent alignment.
(ipcp_alignment_lattice::print): New function.
(print_all_lattices): Use it to print alignment information.
(ipcp_alignment_lattice::top_p): New function.
(ipcp_alignment_lattice::bottom_p): Likewise.
(ipcp_alignment_lattice::set_to_bottom): Likewise.
(ipcp_alignment_lattice::meet_with_1): Likewise.
(ipcp_alignment_lattice::meet_with): Two new overloaded functions.
(set_all_contains_variable): Use set_to_bottom of alignment lattice.
(initialize_node_lattices): Likewise.
(propagate_alignment_accross_jump_function): Work with the new class
for alignment lattices.
(propagate_constants_accross_call): Pass only the alignment lattice to
propagate_alignment_accross_jump_function.
(ipcp_store_alignment_results): Work with the new class for alignment
lattices.

testsuite/
* gcc.dg/ipa/propalign-4.c: New test.
* gcc.dg/ipa/propalign-5.c: Likewise.

Co-Authored-By: Jan Hubicka <hubicka@ucw.cz>
From-SVN: r228491

10 years agore PR middle-end/67821 (ICE in duplicate_ssa_name_range_info)
Marek Polacek [Mon, 5 Oct 2015 15:28:06 +0000 (15:28 +0000)]
re PR middle-end/67821 (ICE in duplicate_ssa_name_range_info)

PR tree-optimization/67821
* tree-ssanames.c (duplicate_ssa_name_range_info): Remove an assert.

* gcc.dg/torture/pr67821-2.c: New test.
* gcc.dg/torture/pr67821.c: New test.

From-SVN: r228490

10 years agoMove runtime transactional memory tests to libitm testsute.
Jason Merrill [Mon, 5 Oct 2015 15:21:15 +0000 (11:21 -0400)]
Move runtime transactional memory tests to libitm testsute.

From-SVN: r228489

10 years ago[PR other/65021] mkoffloads -save-temps handling, and cleanup cleanup
Thomas Schwinge [Mon, 5 Oct 2015 14:07:50 +0000 (16:07 +0200)]
[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.

From-SVN: r228488

10 years agomake more gimple_x_ptr accessors const correct
Trevor Saunders [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.

From-SVN: r228487

10 years agoremove unused gasm accessors
Trevor Saunders [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.

From-SVN: r228486

10 years agoremove gimple_location_ptr ()
Trevor Saunders [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.

From-SVN: r228485

10 years agomake build_uses store tree * instead of tree
Trevor Saunders [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.

From-SVN: r228484

10 years agoAdd a build_real_truncate helper function
Richard Sandiford [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.

From-SVN: r228483

10 years ago[AArch64] Fix output assembly bug under TLSIE ILP32
James Greenhalgh [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".

Co-Authored-By: Jiong Wang <jiong.wang@arm.com>
From-SVN: r228482

10 years agocpuinfo.c (get_intel_cpu): Detect "skylake-avx512".
Kirill Yukhin [Mon, 5 Oct 2015 13:16:07 +0000 (13:16 +0000)]
cpuinfo.c (get_intel_cpu): Detect "skylake-avx512".

libgcc/
* config/i386/cpuinfo.c (get_intel_cpu): Detect "skylake-avx512".
gcc/testsuite/
* gcc.target/i386/builtin_target.c: Add check for "skylake-avx512".

From-SVN: r228481

10 years agoCleanup directives.
Christian Bruel [Mon, 5 Oct 2015 11:59:27 +0000 (13:59 +0200)]
Cleanup directives.

From-SVN: r228479

10 years agoRemove REAL_VALUE_FROM_CONST_DOUBLE
Richard Sandiford [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.

From-SVN: r228478

10 years agoRemove remaining uses of CONST_DOUBLE_FROM_REAL_VALUE
Richard Sandiford [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.

From-SVN: r228477

10 years agoRemove remaining uses of REAL_ARITHMETIC
Richard Sandiford [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.

From-SVN: r228476

10 years agoReplace REAL_VALUES_LESS with real_less
Richard Sandiford [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.

From-SVN: r228475

10 years agoRemove remaining uses of REAL_VALUES_IDENTICAL
Richard Sandiford [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(-)

From-SVN: r228474

10 years agoReplace REAL_VALUES_EQUAL with real_equal
Richard Sandiford [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(-)

From-SVN: r228473

10 years agore PR ipa/67783 (quadratic time consumption in IPA inlining with -O1 and higher)
Richard Biener [Mon, 5 Oct 2015 11:15:10 +0000 (11:15 +0000)]
re PR ipa/67783 (quadratic time consumption in IPA inlining with -O1 and higher)

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.

From-SVN: r228472

10 years agotree-ssa-pre.c (create_component_ref_by_pieces_1): Move call handling ...
Richard Biener [Mon, 5 Oct 2015 11:13:14 +0000 (11:13 +0000)]
tree-ssa-pre.c (create_component_ref_by_pieces_1): Move call handling ...

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.

From-SVN: r228471

10 years ago[Patch ARM/ AArch64] Fix typo in vcvt_f16.c testcase .
Ramana Radhakrishnan [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.

From-SVN: r228470

10 years agore PR c++/67844 (Cannot make tuple of class with template constructor)
Ville Voutilainen [Mon, 5 Oct 2015 09:57:20 +0000 (12:57 +0300)]
re PR c++/67844 (Cannot make tuple of class with template constructor)

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.

From-SVN: r228468

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

From-SVN: r228465

10 years agoImplement N4514, C++ Extensions for Transactional Memory.
Jason Merrill [Sun, 4 Oct 2015 19:17:19 +0000 (15:17 -0400)]
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.

From-SVN: r228462

10 years agore PR rtl-optimization/67447 (ICE in extract_constrain_insn (reload_cse_simplify_oper...
Uros Bizjak [Sun, 4 Oct 2015 15:56:45 +0000 (17:56 +0200)]
re PR rtl-optimization/67447 (ICE in extract_constrain_insn (reload_cse_simplify_operands): insn does not satisfy its constraints)

PR rtl-optimization/67447
* gcc.target/i386/pr67447.c: New test.

From-SVN: r228461

10 years agoi386.c (ix86_nsaved_regs): Use GENERAL_REGNO_P to check for general register.
Uros Bizjak [Sun, 4 Oct 2015 14:09:23 +0000 (16:09 +0200)]
i386.c (ix86_nsaved_regs): Use GENERAL_REGNO_P to check for general register.

* 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.

From-SVN: r228460

10 years agovect-pack-trunc-1.c: Require avx512bw effective target.
Uros Bizjak [Sun, 4 Oct 2015 14:02:05 +0000 (16:02 +0200)]
vect-pack-trunc-1.c: Require avx512bw effective target.

* 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.

From-SVN: r228459

10 years agoRemove dead code
Mikael Morin [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.

From-SVN: r228458

10 years agoFix fortran common-related error recovery ICE.
Mikael Morin [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.

From-SVN: r228457

10 years agoFactor access to the common block head symbol
Mikael Morin [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.

From-SVN: r228456

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

From-SVN: r228454

10 years agoMakefile.in (insn-latencytab.o): Remove -Wno-duplicated-cond.
Marek Polacek [Sat, 3 Oct 2015 17:02:12 +0000 (17:02 +0000)]
Makefile.in (insn-latencytab.o): Remove -Wno-duplicated-cond.

* Makefile.in (insn-latencytab.o): Remove -Wno-duplicated-cond.
(insn-dfatab.o): Likewise.

From-SVN: r228451

10 years agoxtensa: add uclinux support
Max Filippov [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.

From-SVN: r228450

10 years agoDocument value of __cplusplus for C++14
Jonathan Wakely [Sat, 3 Oct 2015 12:52:18 +0000 (13:52 +0100)]
Document value of __cplusplus for C++14

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

From-SVN: r228448

10 years agoRemove pretty printing for 'any' with allocators
Jonathan Wakely [Sat, 3 Oct 2015 12:09:36 +0000 (13:09 +0100)]
Remove pretty printing for 'any' with allocators

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

From-SVN: r228447

10 years agoFix comments saying why headers are included
Jonathan Wakely [Sat, 3 Oct 2015 12:09:31 +0000 (13:09 +0100)]
Fix comments saying why headers are included

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

From-SVN: r228446

10 years agopr67756.c: Fixed warnings.
Bernd Edlinger [Sat, 3 Oct 2015 06:28:35 +0000 (06:28 +0000)]
pr67756.c: Fixed warnings.

2015-10-03  Bernd Edlinger  <bernd.edlinger@hotmail.de>

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

From-SVN: r228445

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

From-SVN: r228442

10 years agoFix testsuite failures with --disable-wchar_t
Jonathan Wakely [Fri, 2 Oct 2015 23:43:17 +0000 (00:43 +0100)]
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.

From-SVN: r228439

10 years agoEnable dual ABI for Filesystem library
Jonathan Wakely [Fri, 2 Oct 2015 23:21:41 +0000 (00:21 +0100)]
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.

From-SVN: r228437

10 years agominimal.cc: Minor tweaks to match narrow char version.
Jonathan Wakely [Fri, 2 Oct 2015 22:18:06 +0000 (23:18 +0100)]
minimal.cc: Minor tweaks to match narrow char version.

* testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
Minor tweaks to match narrow char version.

From-SVN: r228436

10 years agoFix tests that fail with old std::string
Jonathan Wakely [Fri, 2 Oct 2015 22:13:18 +0000 (23:13 +0100)]
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.

From-SVN: r228435

10 years agoUse noexcept instead of _GLIBCXX_NOEXCEPT
Jonathan Wakely [Fri, 2 Oct 2015 22:13:12 +0000 (23:13 +0100)]
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.

From-SVN: r228434

10 years ago* acinclude.m4 (GLIBCXX_ENABLE_DEBUG_FLAGS): Fix comment.
Jonathan Wakely [Fri, 2 Oct 2015 21:47:38 +0000 (22:47 +0100)]
* acinclude.m4 (GLIBCXX_ENABLE_DEBUG_FLAGS): Fix comment.

From-SVN: r228433

10 years agoHelp the offload gcc driver find the right assembler
Bernd Schmidt [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.

From-SVN: r228429

10 years agonvptx offloading linking
Thomas Schwinge [Fri, 2 Oct 2015 19:43:41 +0000 (21:43 +0200)]
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.

Co-Authored-By: Bernd Schmidt <bernds@codesourcery.com>
From-SVN: r228418

10 years agoAllow Filesystem TS to compile without wchar_t
Jonathan Wakely [Fri, 2 Oct 2015 19:38:38 +0000 (20:38 +0100)]
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.

From-SVN: r228417

10 years agotestsuite_fs.h (nonexistent_path): Use less generic name for paths.
Jonathan Wakely [Fri, 2 Oct 2015 19:38:27 +0000 (20:38 +0100)]
testsuite_fs.h (nonexistent_path): Use less generic name for paths.

* testsuite/util/testsuite_fs.h (nonexistent_path): Use less generic
name for paths. Prefer snprintf to sprintf.

From-SVN: r228416

10 years agoRe: [PATCH] Improve DOM's optimization of control statements
Jeff Law [Fri, 2 Oct 2015 19:31:46 +0000 (13:31 -0600)]
Re: [PATCH] Improve DOM's optimization of control statements

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

From-SVN: r228415

10 years ago[PR target/67822] OpenMP offloading to nvptx fails
Thomas Schwinge [Fri, 2 Oct 2015 19:27:30 +0000 (21:27 +0200)]
[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.

From-SVN: r228414

10 years agosystem.h (ROUND_UP): New macro definition.
Uros Bizjak [Fri, 2 Oct 2015 18:08:59 +0000 (20:08 +0200)]
system.h (ROUND_UP): New macro definition.

* 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.

From-SVN: r228410

10 years agore PR c/67730 (No warning when returning NULL in void function)
Marek Polacek [Fri, 2 Oct 2015 18:01:50 +0000 (18:01 +0000)]
re PR c/67730 (No warning when returning NULL in void function)

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.

From-SVN: r228408

10 years agore PR c/67819 (-Wduplicated-cond should take macros into account)
Marek Polacek [Fri, 2 Oct 2015 17:49:15 +0000 (17:49 +0000)]
re PR c/67819 (-Wduplicated-cond should take macros into account)

* 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.

From-SVN: r228405

10 years agoPR libstdc++/67747 use readdir instead of readdir_r
Jonathan Wakely [Fri, 2 Oct 2015 16:34:34 +0000 (17:34 +0100)]
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.

From-SVN: r228404

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

From-SVN: r228403

10 years agofix PR67754
Sebastian Pop [Fri, 2 Oct 2015 16:03:54 +0000 (16:03 +0000)]
fix PR67754

From-SVN: r228402

10 years agoadd testcase
Sebastian Pop [Fri, 2 Oct 2015 16:03:48 +0000 (16:03 +0000)]
add testcase

From-SVN: r228401

10 years agooutline functions from stmt_simple_for_scop_p
Aditya Kumar [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.

From-SVN: r228400

10 years agoAVX-512.
Kirill Yukhin [Fri, 2 Oct 2015 15:25:26 +0000 (15:25 +0000)]
AVX-512.

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".

From-SVN: r228399

10 years ago[AArch64] Use default_elf_asm_named_section instead of special cased hook
Ramana Radhakrishnan [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.

From-SVN: r228397

10 years agore PR rtl-optimization/67756 (ICE compiling Linux Kernel fs/namei.c on ARM)
Vladimir Makarov [Fri, 2 Oct 2015 15:04:59 +0000 (15:04 +0000)]
re PR rtl-optimization/67756 (ICE compiling Linux Kernel fs/namei.c on ARM)

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.

From-SVN: r228396

10 years ago[AArch64] Add more TLS local executable testcases
Jiong Wang [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.

From-SVN: r228395

10 years agoUpdate extract_even_odd w/ AVX-512BW insns.
Kirill Yukhin [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.

From-SVN: r228394

10 years agoinvoke.texi: Mention -mavx512vl, -mavx512bw, -mavx512dq, -mavx521vbmi, -mavx512ifma.
Kirill Yukhin [Fri, 2 Oct 2015 14:29:44 +0000 (14:29 +0000)]
invoke.texi: Mention -mavx512vl, -mavx512bw, -mavx512dq, -mavx521vbmi, -mavx512ifma.

gcc/
* doc/invoke.texi: Mention -mavx512vl, -mavx512bw, -mavx512dq,
-mavx521vbmi, -mavx512ifma. Add missing opindex-es.

From-SVN: r228393

10 years agore PR c/59218 (atomic transactions: accesses to volatiles not disallowed in transacti...
Jason Merrill [Fri, 2 Oct 2015 13:44:41 +0000 (09:44 -0400)]
re PR c/59218 (atomic transactions: accesses to volatiles not disallowed in transaction_safe code)

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.

From-SVN: r228392

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

From-SVN: r228391

10 years ago[AArch64] Use default_elf_asm_named_section instead of special cased hook
Ramana Radhakrishnan [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.

From-SVN: r228390

10 years agore PR c/64249 (Missing warning for if (A) else if (A))
Marek Polacek [Fri, 2 Oct 2015 12:56:17 +0000 (12:56 +0000)]
re PR c/64249 (Missing warning for if (A) else if (A))

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.

From-SVN: r228388

10 years ago[PATCH][AARCH64]Add csneg3_uxtw_insn pattern
Renlin Li [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.

From-SVN: r228387

10 years agosh.md: Add new unnamed split pattern to handle movt-movt sequences.
Oleg Endo [Fri, 2 Oct 2015 12:30:05 +0000 (12:30 +0000)]
sh.md: Add new unnamed split pattern to handle movt-movt sequences.

gcc/
* config/sh/sh.md: Add new unnamed split pattern to handle movt-movt
sequences.

From-SVN: r228386

10 years ago[PATCH][AARCH64][PR66776]Add cmovdi_insn_uxtw pattern.
Renlin Li [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.

From-SVN: r228384

10 years agoMAINTAINERS: Update email address.
Florian Weimer [Fri, 2 Oct 2015 10:13:48 +0000 (12:13 +0200)]
MAINTAINERS: Update email address.

From-SVN: r228383

10 years agolang.opt (fbuiltin-printf): Accept.
Doug Rupp [Fri, 2 Oct 2015 09:45:45 +0000 (09:45 +0000)]
lang.opt (fbuiltin-printf): Accept.

* 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.

Co-Authored-By: Olivier Hainque <hainque@adacore.com>
From-SVN: r228381

10 years agoMAINTAINERS (Write After Approval): Add myself.
Louis Krupp [Fri, 2 Oct 2015 09:29:32 +0000 (09:29 +0000)]
MAINTAINERS (Write After Approval): Add myself.

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

* MAINTAINERS  (Write After Approval): Add myself.

From-SVN: r228380

10 years agotrans.c (Pragma_to_gnu): Replace linear search with call to find_opt and issue warnin...
Eric Botcazou [Fri, 2 Oct 2015 09:28:56 +0000 (09:28 +0000)]
trans.c (Pragma_to_gnu): Replace linear search with call to find_opt and issue warnings if...

* 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.

From-SVN: r228379

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

From-SVN: r228378

10 years agoada-tree.h (DECL_RESTRICTED_ALIASING_P): New flag.
Eric Botcazou [Fri, 2 Oct 2015 09:18:34 +0000 (09:18 +0000)]
ada-tree.h (DECL_RESTRICTED_ALIASING_P): New flag.

* 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.

From-SVN: r228377

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

From-SVN: r228376

10 years ago[RTL ifcvt] PR 67786, 67787: Check that intermediate instructions in the basic block...
Kyrylo Tkachov [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.

From-SVN: r228375