Skip to content
Snippets Groups Projects
  1. Nov 14, 2014
    • Andrew Waterman's avatar
      * cas_n.c (libat_compare_exchange): Add missing cast. · ca3d99a6
      Andrew Waterman authored
      From-SVN: r217536
      ca3d99a6
    • Daniel Kruegler's avatar
      regex.h: Support embedded zeros in sub_match comparisons (DR 2217) · b82e9b01
      Daniel Kruegler authored
      2014-11-13  Daniel Kruegler  <daniel.kruegler@gmail.com>
      
      	* include/bits/regex.h: Support embedded zeros in sub_match
      	comparisons (DR 2217)
      	* testsuite/28_regex/sub_match/embedded_zeros_cmp.cc:
      	Add test cases for embedded zeros
      
      From-SVN: r217535
      b82e9b01
    • Bin Cheng's avatar
      timevar.def (TV_SCHED_FUSION): New time var. · b16abbcb
      Bin Cheng authored
      	* timevar.def (TV_SCHED_FUSION): New time var.
      	* passes.def (pass_sched_fusion): New pass.
      	* config/arm/arm.c (TARGET_SCHED_FUSION_PRIORITY): New.
      	(extract_base_offset_in_addr, fusion_load_store): New.
      	(arm_sched_fusion_priority): New.
      	(arm_option_override): Disable scheduling fusion by default
      	on non-armv7 processors or ldrd/strd isn't preferred.
      	* sched-int.h (struct _haifa_insn_data): New field.
      	(INSN_FUSION_PRIORITY, FUSION_MAX_PRIORITY, sched_fusion): New.
      	* sched-rgn.c (rest_of_handle_sched_fusion): New.
      	(pass_data_sched_fusion, pass_sched_fusion): New.
      	(make_pass_sched_fusion): New.
      	* haifa-sched.c (sched_fusion): New.
      	(insn_cost): Handle sched_fusion.
      	(priority): Handle sched_fusion by calling target hook.
      	(enum rfs_decision): New enum value.
      	(rfs_str): New element for RFS_FUSION.
      	(rank_for_schedule): Support sched_fusion.
      	(schedule_insn, max_issue, prune_ready_list): Handle sched_fusion.
      	(schedule_block, fix_tick_ready): Handle sched_fusion.
      	* common.opt (flag_schedule_fusion): New.
      	* tree-pass.h (make_pass_sched_fusion): New.
      	* target.def (fusion_priority): New.
      	* doc/tm.texi.in (TARGET_SCHED_FUSION_PRIORITY): New.
      	* doc/tm.texi: Regenerated.
      	* doc/invoke.texi (-fschedule-fusion): New.
      
      	testsuite:
      	* gcc.target/arm/ldrd-strd-pair-1.c: New test.
      	* gcc.target/arm/vfp-1.c: Improve scanning string.
      
      From-SVN: r217533
      b16abbcb
    • Rong Xu's avatar
      re PR debug/63581 (undefined references in debug_info) · 0fb3402f
      Rong Xu authored
      2014-11-13  Rong Xu  <xur@google.com>
      
      gcc:
      	PR debug/63581
      	* cfgrtl.c (emit_barrier_after_bb): Append the barrier to the
       	footer, instead of unconditionally overwritten
      
      gcc/testsuite:
      	PR debug/63581
      	* g++.dg/tree-prof/pr63581.C: New test.
      
      From-SVN: r217530
      0fb3402f
    • Martin Jambor's avatar
      cgraph.h (clear_outer_type): Make public. · 6ff65dd7
      Martin Jambor authored
      2014-11-14  Martin Jambor  <mjambor@suse.cz>
      
      	* cgraph.h (clear_outer_type): Make public.  Fix comment.
      	* ipa-devirt.c (possible_polymorphic_call_targets): Use
      	clear_outer_type when resetting the context.
      
      From-SVN: r217529
      6ff65dd7
    • GCC Administrator's avatar
      Daily bump. · 453f025a
      GCC Administrator authored
      From-SVN: r217528
      453f025a
  2. Nov 13, 2014
    • Dominique d'Humieres's avatar
      re PR bootstrap/63853 (The use of strchrnul breaks bootstrap on x86_64-apple-darwin14.) · b08dec2f
      Dominique d'Humieres authored
      2014-11-13  Dominique Dhumieres  <dominiq@lps.ens.fr>
      
      	PR bootstrap/63853
      gcc/
      	* gcc.c (handle_foffload_option): Replace strchrnul with strchr.
      	* lto-wrapper.c (parse_env_var, append_offload_options): Likewise.
      
      From-SVN: r217524
      b08dec2f
    • Teresa Johnson's avatar
      Fix format of ChangeLog entry from r217505. · 2933facb
      Teresa Johnson authored
      From-SVN: r217523
      2933facb
    • Kostya Serebryany's avatar
      libsanitizer merge from upstream r221802 · c5be964a
      Kostya Serebryany authored
      From-SVN: r217518
      c5be964a
    • Marek Polacek's avatar
      access.c: Include <stdlib.h>. · 47bf94b7
      Marek Polacek authored
      	* intrinsics/access.c: Include <stdlib.h>.
      	* intrinsics/chdir.c: Likewise.
      	* intrinsics/chmod.c: Likewise.
      	* intrinsics/link.c: Likewise.
      	* intrinsics/perror.c: Likewise.
      	* intrinsics/rename.c: Likewise.
      	* intrinsics/symlnk.c: Likewise.
      	* intrinsics/unlink.c: Likewise.
      
      From-SVN: r217514
      47bf94b7
    • Alan Lawrence's avatar
      Remove VEC_RSHIFT_EXPR tree code, now unused · 1c418846
      Alan Lawrence authored
      	* fold-const.c (const_binop): Remove code handling VEC_RSHIFT_EXPR.
      	* tree-cfg.c (verify_gimple_assign_binary): Likewise.
      	* tree-inline.c (estimate_operator_cost): Likewise.
      	* tree-pretty-print.c (dump_generic_node, op_code_prio, op_symbol_code):
      	Likewise.
      
      	* tree-vect-generic.c (expand_vector_operations_1): Remove assertion
      	against VEC_RSHIFT_EXPR.
      
      	* optabs.h (expand_vec_shift_expr): Remove.
      	* optabs.c (optab_for_tree_code): Remove case VEC_RSHIFT_EXPR.
      	(expand_vec_shift_expr): Remove.
      	* tree.def (VEC_RSHIFT_EXPR): Remove
      
      From-SVN: r217510
      1c418846
    • Alan Lawrence's avatar
      [Vectorizer] Use a VEC_PERM_EXPR instead of VEC_RSHIFT_EXPR; expand... · cf7aa6a3
      Alan Lawrence authored
      [Vectorizer] Use a VEC_PERM_EXPR instead of VEC_RSHIFT_EXPR; expand appropriate VEC_PERM_EXPRs using vec_shr_optab
      
      	* optabs.c (can_vec_perm_p): Update comment, does not consider vec_shr.
      	(shift_amt_for_vec_perm_mask): New.
      	(expand_vec_perm_1): Use vec_shr_optab if second vector is const0_rtx
      	and mask appropriate.
      
      	* tree-vect-loop.c (calc_vec_perm_mask_for_shift): New.
      	(have_whole_vector_shift): New.
      	(vect_model_reduction_cost): Call have_whole_vector_shift instead of
      	looking for vec_shr_optab.
      	(vect_create_epilog_for_reduction): Likewise; also rename local variable
      	have_whole_vector_shift to reduce_with_shift; output VEC_PERM_EXPRs
      	instead of VEC_RSHIFT_EXPRs.
      
      	* tree-vect-stmts.c (vect_gen_perm_mask_checked): Extend comment.
      
      From-SVN: r217509
      cf7aa6a3
    • Alan Lawrence's avatar
      [Vectorizer] Split vect_gen_perm_mask into _checked and _any variants · 557be5a8
      Alan Lawrence authored
      	* tree-vectorizer.h (vect_gen_perm_mask): Remove.
      	(vect_gen_perm_mask_checked, vect_gen_perm_mask_any): New.
      
      	tree_vec_data_refs.c (vect_permute_load_chain, vec_permute_store_chain,
      	vec_shift_permute_load_chain): Replace vect_gen_perm_mask & assert
      	with vect_gen_perm_mask_checked.
      
      	* tree-vect-stmts.c (vectorizable_mask_load_store, vectorizable_load):
      	Likewise.
      
      	(vect_gen_perm_mask_checked): New.
      	(vect_gen_perm_mask): Remove can_vec_perm_p check, rename to...
      	(vect_gen_perm_mask_any): ...this.
      
      	(perm_mask_for_reverse): Call can_vec_perm_p and
      	vect_gen_perm_mask_checked.
      
      From-SVN: r217508
      557be5a8
    • Felix Yang's avatar
      ipa-utils.h: Fix typo in comments. · 1c5fd343
      Felix Yang authored
              * ipa-utils.h: Fix typo in comments.
              * ipa-profile.c: Likewise.
              * tree-ssa-loop-ivcanon.c: Fix typo in comments and debugging dump.
      
      From-SVN: r217507
      1c5fd343
    • Teresa Johnson's avatar
      re PR tree-optimization/63841 (Incorrect strlen optimization after complete unroll) · 37e10165
      Teresa Johnson authored
      2014-11-13  Teresa Johnson  <tejohnson@google.com>
      
      gcc:
      	PR tree-optimization/63841
      	* tree.c (initializer_zerop): A clobber does not zero initialize.
      
      gcc/testsuite:
      	PR tree-optimization/63841
      	* g++.dg/tree-ssa/pr63841.C: New test.
      
      From-SVN: r217505
      37e10165
    • Ulrich Weigand's avatar
      optabs.c (prepare_operand): Gracefully fail if the mode of X does not match... · 6fad471b
      Ulrich Weigand authored
      optabs.c (prepare_operand): Gracefully fail if the mode of X does not match the operand mode expected by...
      
      	* optabs.c (prepare_operand): Gracefully fail if the mode of X
      	does not match the operand mode expected by the insn pattern.
      
      From-SVN: r217501
      6fad471b
    • Andrey Turetskiy's avatar
      [PATCH 4/4] OpenMP 4.0 offloading to Intel MIC: non-fallback testing. · d64ae614
      Andrey Turetskiy authored
      
      libgomp/
      	* Makefile.in: Regenerate.
      	* configure: Regenerate.
      	* configure.ac: Set up offload_additional_options,
      	offload_additional_lib_paths and offload_targets.
      	* testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
      	OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
      	* testsuite/Makefile.in: Regenerate.
      	* testsuite/lib/libgomp.exp (libgomp_init): Append
      	offload_additional_lib_paths to LD_LIBRARY_PATH.  Append
      	offload_additional_options to ALWAYS_CFLAGS.  Append liboffloadmic
      	build directory to LD_LIBRARY_PATH for intelmic offload targets.
      
      Co-Authored-By: default avatarIlya Verbin <ilya.verbin@intel.com>
      
      From-SVN: r217500
      d64ae614
    • Ilya Verbin's avatar
      [PATCH 3/4] OpenMP 4.0 offloading to Intel MIC: libgomp plugin. · 9d73ec14
      Ilya Verbin authored
      
      liboffloadmic/
      	* Makefile.in: Regenerate.
      	* configure: Regenerate.
      	* configure.ac: Add subdirectory 'plugin'.
      	* plugin/Makefile.am: New file.
      	* plugin/Makefile.in: New file, generated by automake.
      	* plugin/aclocal.m4: New file, generated by aclocal.
      	* plugin/configure: New file, generated by autoconf.
      	* plugin/configure.ac: New file.
      	* plugin/libgomp-plugin-intelmic.cpp: New file.
      	* plugin/offload_target_main.cpp: New file.
      
      Co-Authored-By: default avatarAndrey Turetskiy <andrey.turetskiy@intel.com>
      
      From-SVN: r217499
      9d73ec14
    • Kirill Yukhin's avatar
      [PATCH 2/4] OpenMP 4.0 offloading to Intel MIC: liboffloadmic. · 5f520819
      Kirill Yukhin authored
      	* Makefile.def: Add liboffloadmic to target_modules.  Make
      	liboffloadmic depend on libgomp's configure, libstdc++ and libgcc.
      	* Makefile.in: Regenerate.
      	* configure: Regenerate.
      	* configure.ac: Add liboffloadmic to target binaries.
      	Restrict liboffloadmic for POSIX and i*86, and x86_64 architectures.
      	Add liboffloadmic to noconfig list when C++ is not supported.
      
      config/
      	* target-posix: New file.
      
      libcilkrts/
      	* configure.tgt: Use config/target-posix.
      
      liboffloadmic/
      	Initial commit.  Imported from upstream:
      	https://www.openmprtl.org/sites/default/files/liboffload_oss.tgz
      	* Makefile.am: New file.
      	* Makefile.in: New file, generated by automake.
      	* aclocal.m4: New file, generated by aclocal.
      	* configure: New file, generated by autoconf.
      	* configure.ac: New file.
      	* configure.tgt: Ditto.
      	* doc/doxygen/config: Ditto.
      	* doc/doxygen/header.tex: Ditto.
      	* include/coi/common/COIEngine_common.h: Ditto.
      	* include/coi/common/COIMacros_common.h: Ditto.
      	* include/coi/common/COIPerf_common.h : Ditto.
      	* include/coi/common/COIResult_common.h : Ditto.
      	* include/coi/common/COITypes_common.h: Ditto.
      	* include/coi/sink/COIBuffer_sink.h: Ditto.
      	* include/coi/sink/COIPipeline_sink.h: Ditto.
      	* include/coi/sink/COIProcess_sink.h: Ditto.
      	* include/coi/source/COIBuffer_source.h: Ditto.
      	* include/coi/source/COIEngine_source.h: Ditto.
      	* include/coi/source/COIEvent_source.h: Ditto.
      	* include/coi/source/COIPipeline_source.h: Ditto.
      	* include/coi/source/COIProcess_source.h: Ditto.
      	* include/myo/myo.h: Ditto.
      	* include/myo/myoimpl.h: Ditto.
      	* include/myo/myotypes.h: Ditto.
      	* liboffloadmic_host.spec.in: Ditto.
      	* liboffloadmic_target.spec.in: Ditto.
      	* runtime/cean_util.cpp: Ditto.
      	* runtime/cean_util.h: Ditto.
      	* runtime/coi/coi_client.cpp: Ditto.
      	* runtime/coi/coi_client.h: Ditto.
      	* runtime/coi/coi_server.cpp: Ditto.
      	* runtime/coi/coi_server.h: Ditto.
      	* runtime/compiler_if_host.cpp: Ditto.
      	* runtime/compiler_if_host.h: Ditto.
      	* runtime/compiler_if_target.cpp: Ditto.
      	* runtime/compiler_if_target.h: Ditto.
      	* runtime/dv_util.cpp: Ditto.
      	* runtime/dv_util.h: Ditto.
      	* runtime/emulator/coi_common.h: Ditto.
      	* runtime/emulator/coi_device.cpp: Ditto.
      	* runtime/emulator/coi_device.h: Ditto.
      	* runtime/emulator/coi_host.cpp: Ditto.
      	* runtime/emulator/coi_host.h: Ditto.
      	* runtime/emulator/coi_version_asm.h: Ditto.
      	* runtime/emulator/coi_version_linker_script.map: Ditto.
      	* runtime/emulator/myo_client.cpp: Ditto.
      	* runtime/emulator/myo_service.cpp: Ditto.
      	* runtime/emulator/myo_service.h: Ditto.
      	* runtime/emulator/myo_version_asm.h: Ditto.
      	* runtime/emulator/myo_version_linker_script.map: Ditto.
      	* runtime/liboffload_error.c: Ditto.
      	* runtime/liboffload_error_codes.h: Ditto.
      	* runtime/liboffload_msg.c: Ditto.
      	* runtime/liboffload_msg.h: Ditto.
      	* runtime/mic_lib.f90: Ditto.
      	* runtime/offload.h: Ditto.
      	* runtime/offload_common.cpp: Ditto.
      	* runtime/offload_common.h: Ditto.
      	* runtime/offload_engine.cpp: Ditto.
      	* runtime/offload_engine.h: Ditto.
      	* runtime/offload_env.cpp: Ditto.
      	* runtime/offload_env.h: Ditto.
      	* runtime/offload_host.cpp: Ditto.
      	* runtime/offload_host.h: Ditto.
      	* runtime/offload_myo_host.cpp: Ditto.
      	* runtime/offload_myo_host.h: Ditto.
      	* runtime/offload_myo_target.cpp: Ditto.
      	* runtime/offload_myo_target.h: Ditto.
      	* runtime/offload_omp_host.cpp: Ditto.
      	* runtime/offload_omp_target.cpp: Ditto.
      	* runtime/offload_orsl.cpp: Ditto.
      	* runtime/offload_orsl.h: Ditto.
      	* runtime/offload_table.cpp: Ditto.
      	* runtime/offload_table.h: Ditto.
      	* runtime/offload_target.cpp: Ditto.
      	* runtime/offload_target.h: Ditto.
      	* runtime/offload_target_main.cpp: Ditto.
      	* runtime/offload_timer.h: Ditto.
      	* runtime/offload_timer_host.cpp: Ditto.
      	* runtime/offload_timer_target.cpp: Ditto.
      	* runtime/offload_trace.cpp: Ditto.
      	* runtime/offload_trace.h: Ditto.
      	* runtime/offload_util.cpp: Ditto.
      	* runtime/offload_util.h: Ditto.
      	* runtime/ofldbegin.cpp: Ditto.
      	* runtime/ofldend.cpp: Ditto.
      	* runtime/orsl-lite/include/orsl-lite.h: Ditto.
      	* runtime/orsl-lite/lib/orsl-lite.c: Ditto.
      	* runtime/orsl-lite/version.txt: Ditto.
      	* runtime/use_mpss2.txt: Ditto.
      
      From-SVN: r217498
      5f520819
    • Richard Biener's avatar
      match.pd: Add tcc_comparison... · f84e7fd6
      Richard Biener authored
      2014-11-13  Richard Biener  <rguenther@suse.de>
      
      	* match.pd: Add tcc_comparison, inverted_tcc_comparison
      	and inverted_tcc_comparison_with_nans operator lists.
      	Use tcc_comparison in the truth_valued_p predicate definition.
      	Restrict logical_inverted_value with bit_xor to integral types.
      	Build a boolean true for simplifying x |^ !x because of
      	vector types.  Implement patterns from forward_propagate_comparison
      	* tree-ssa-forwprop.c (forward_propagate_comparison): Remove.
      	(get_prop_dest_stmt): Likewise.
      	(pass_forwprop::execute): Do not call it.
      	* fold-const.c (fold_unary_loc): Remove the pattern here.
      
      	* gcc.dg/tree-ssa/forwprop-28.c: Adjust.
      
      From-SVN: r217496
      f84e7fd6
    • Ilya Verbin's avatar
      [PATCH 1/4] OpenMP 4.0 offloading to Intel MIC: mkoffload. · 87b6c18c
      Ilya Verbin authored
      
      gcc/
      	* config.gcc (*-intelmic-* | *-intelmicemul-*): Add i386/t-intelmic to
      	tmake_file.
      	(i[34567]86-*-* | x86_64-*-*): Build mkoffload$(exeext) with the
      	accelerator compiler.
      	* config/i386/intelmic-mkoffload.c: New file.
      	* config/i386/t-intelmic: Ditto.
      
      Co-Authored-By: default avatarAndrey Turetskiy <andrey.turetskiy@intel.com>
      
      From-SVN: r217495
      87b6c18c
    • Andrey Turetskiy's avatar
      [PATCH 7/7] OpenMP 4.0 offloading infrastructure: testsuite. · 122d7303
      Andrey Turetskiy authored
      
      libgomp/
      	* testsuite/lib/libgomp.exp
      	(check_effective_target_offload_device): New.
      	* testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
      	* testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
      	* testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
      	* testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
      	* testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
      	* testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
      	* testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
      	* testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
      	* testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
      	* testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
      	* testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
      	* testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
      	* testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
      	* testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
      	* testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
      	* testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
      	* testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
      	* testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
      	* testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
      	* testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
      	* testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
      	* testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
      	* testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
      	* testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
      	* testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
      	* testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
      	* testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
      	* testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
      	* testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
      	* testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
      	* testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
      	* testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
      	* testsuite/libgomp.c/target-7.c: Fix test.
      	* testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
      	* testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
      	* testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
      	* testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
      	* testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
      	* testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
      	* testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
      	* testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
      	* testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
      	* testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
      	* testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
      	* testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
      	* testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
      	* testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
      	* testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
      	* testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
      	* testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
      	* testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
      	* testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
      	* testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
      	* testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
      	* testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
      	* testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
      	* testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
      	* testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
      	* testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
      	* testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
      	* testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
      	* testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
      	* testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
      	* testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
      
      Co-Authored-By: default avatarIlya Tocar <ilya.tocar@intel.com>
      Co-Authored-By: default avatarIlya Verbin <ilya.verbin@intel.com>
      Co-Authored-By: default avatarKirill Yukhin <kirill.yukhin@intel.com>
      
      From-SVN: r217494
      122d7303
    • Bernd Schmidt's avatar
      [PATCH 6/7] OpenMP 4.0 offloading infrastructure: option handling. · c713ddc0
      Bernd Schmidt authored
      
      gcc/
      	* common.opt (foffload, foffload-abi): New options.
      	* config/i386/i386.c (ix86_offload_options): New static function.
      	(TARGET_OFFLOAD_OPTIONS): Define.
      	* coretypes.h (enum offload_abi): New enum.
      	* doc/tm.texi: Regenerate.
      	* doc/tm.texi.in (TARGET_OFFLOAD_OPTIONS): Document.
      	* gcc.c (offload_targets): New static variable.
      	(handle_foffload_option): New static function.
      	(driver_handle_option): Handle OPT_foffload_.
      	(driver::maybe_putenv_OFFLOAD_TARGETS): Set OFFLOAD_TARGET_NAMES
      	according to offload_targets.
      	* hooks.c (hook_charptr_void_null): New hook.
      	* hooks.h (hook_charptr_void_null): Declare.
      	* lto-opts.c: Include lto-section-names.h.
      	(lto_write_options): Append options from target offload_options hook and
      	store them to offload_lto section.  Do not store target-specific,
      	driver and diagnostic options in offload_lto section.
      	* lto-wrapper.c (merge_and_complain): Handle OPT_foffload_ and
      	OPT_foffload_abi_.
      	(append_compiler_options, append_linker_options)
      	(append_offload_options): New static functions.
      	(compile_offload_image): Add new arguments with options.
      	Call append_compiler_options and append_offload_options.
      	(compile_images_for_offload_targets): Add new arguments with options.
      	(find_and_merge_options): New static function.
      	(run_gcc): Outline options handling into the new functions:
      	find_and_merge_options, append_compiler_options, append_linker_options.
      	* opts.c (common_handle_option): Don't handle OPT_foffload_.
      	Forbid OPT_foffload_abi_ for non-offload compiler.
      	* target.def (offload_options): New target hook.
      
      Co-Authored-By: default avatarAndrey Turetskiy <andrey.turetskiy@intel.com>
      Co-Authored-By: default avatarIlya Verbin <ilya.verbin@intel.com>
      
      From-SVN: r217493
      c713ddc0
    • Jakub Jelinek's avatar
      [PATCH 5/7] OpenMP 4.0 offloading infrastructure: libgomp. · 1df3f842
      Jakub Jelinek authored
      
      libgomp/
      	* libgomp.map (GOMP_4.0.1): New symbol version.
      	Add GOMP_offload_register.
      	* libgomp_target.h: New file.
      	* splay-tree.h: New file.
      	* target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
      	(gomp_target_init): New forward declaration.
      	(gomp_is_initialized): New static variable.
      	(splay_tree_node, splay_tree, splay_tree_key): New typedefs.
      	(struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
      	New structures.
      	(offload_images, num_offload_images, devices, num_devices): New static
      	variables.
      	(splay_compare): New static function.
      	(struct gomp_device_descr): New structure.
      	(gomp_get_num_devices): Call gomp_target_init.
      	(resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
      	(gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
      	(GOMP_offload_register): New function.
      	(GOMP_target): Arrange for host callback to be performed in a separate
      	initial thread and contention group, inheriting ICVs from
      	gomp_global_icv etc.  Call gomp_map_vars and gomp_unmap_vars.
      	Add device initialization and lookup for target function in splay tree.
      	(GOMP_target_data): Add device initialization and call gomp_map_vars.
      	(GOMP_target_end_data): Call gomp_unmap_vars.
      	(GOMP_target_update): Add device initialization and call gomp_update.
      	(gomp_load_plugin_for_device, gomp_register_images_for_device)
      	(gomp_target_init): New static functions.
      
      Co-Authored-By: default avatarAndrey Turetskiy <andrey.turetskiy@intel.com>
      Co-Authored-By: default avatarIlya Verbin <ilya.verbin@intel.com>
      Co-Authored-By: default avatarThomas Schwinge <thomas@codesourcery.com>
      
      From-SVN: r217492
      1df3f842
    • Ilya Verbin's avatar
      [PATCH 4/7] OpenMP 4.0 offloading infrastructure: lto-wrapper. · fc8b3540
      Ilya Verbin authored
      
      gcc/
      	* gcc.c (spec_host_machine, accel_dir_suffix): New variables.
      	(process_command): Tweak path construction for the possibility
      	of being configured as an offload compiler.
      	(driver::maybe_putenv_OFFLOAD_TARGETS): New function.
      	(driver::main): Call maybe_putenv_OFFLOAD_TARGETS.
      	(driver::set_up_specs): Tweak path construction for the possibility of
      	being configured as an offload compiler.
      	* lto-wrapper.c (OFFLOAD_TARGET_NAMES_ENV): Define.
      	(offload_names, offloadbegin, offloadend): New static variables.
      	(free_array_of_ptrs, parse_env_var, access_check, compile_offload_image)
      	(compile_images_for_offload_targets, copy_file, find_offloadbeginend):
      	New static functions.
      	(run_gcc): Determine whether offload sections are present.  If so, run
      	compile_images_for_offload_targets and return the names of new generated
      	objects to linker.  If there are offload sections, but no LTO sections,
      	then return the copies of input objects without link-time recompilation.
      
      lto-plugin/
      	* lto-plugin.c (OFFLOAD_SECTION, OFFLOAD_SECTION_LEN): Define.
      	(struct plugin_objfile): Add new field "offload".
      	(process_offload_section): New static function.
      	(claim_file_handler): Claim file if it contains offload sections.
      
      Co-Authored-By: default avatarAndrey Turetskiy <andrey.turetskiy@intel.com>
      Co-Authored-By: default avatarBernd Schmidt <bernds@codesourcery.com>
      Co-Authored-By: default avatarMichael Zolotukhin <michael.v.zolotukhin@intel.com>
      
      From-SVN: r217491
      fc8b3540
    • Ilya Verbin's avatar
      [PATCH 3/7] OpenMP 4.0 offloading infrastructure: Offload tables. · ec6fe917
      Ilya Verbin authored
      
      gcc/
      	* Makefile.in (GTFILES): Add omp-low.h to list of GC files.
      	* cgraphunit.c: Include omp-low.h.
      	* doc/tm.texi: Regenerate.
      	* doc/tm.texi.in (TARGET_RECORD_OFFLOAD_SYMBOL): Document.
      	* gengtype.c (open_base_files): Add omp-low.h to ifiles.
      	* lto-cgraph.c (output_offload_tables): New function.
      	(input_offload_tables): Likewise.
      	* lto-section-in.c (lto_section_name): Add "offload_table".
      	* lto-section-names.h (OFFLOAD_VAR_TABLE_SECTION_NAME): Define.
      	(OFFLOAD_FUNC_TABLE_SECTION_NAME): Likewise.
      	* lto-streamer-out.c (lto_output): Call output_offload_tables.
      	* lto-streamer.h (lto_section_type): Add LTO_section_offload_table.
      	(output_offload_tables, input_offload_tables): Declare.
      	* omp-low.c: Include common/common-target.h and lto-section-names.h.
      	(offload_funcs, offload_vars): New global <tree, va_gc> vectors.
      	(expand_omp_target): Add child_fn into offload_funcs vector.
      	(add_decls_addresses_to_decl_constructor): New function.
      	(omp_finish_file): Likewise.
      	* omp-low.h (omp_finish_file, offload_funcs, offload_vars): Declare.
      	* target.def (record_offload_symbol): New DEFHOOK.
      	* toplev.c: Include omp-low.h.
      	(compile_file): Call omp_finish_file.
      	* varpool.c: Include omp-low.h.
      	(varpool_node::get_create): Add decl into offload_vars vector.
      
      gcc/lto/
      	* lto/lto.c (read_cgraph_and_symbols): Call input_offload_tables.
      
      Co-Authored-By: default avatarAndrey Turetskiy <andrey.turetskiy@intel.com>
      Co-Authored-By: default avatarBernd Schmidt <bernds@codesourcery.com>
      Co-Authored-By: default avatarIlya Tocar <ilya.tocar@intel.com>
      Co-Authored-By: default avatarMichael Zolotukhin <michael.v.zolotukhin@intel.com>
      
      From-SVN: r217489
      ec6fe917
    • Richard Biener's avatar
      genmatch.c (dt_node::gen_kids): Fix placement of break statement. · 3f341ee7
      Richard Biener authored
      2014-11-13  Richard Biener  <rguenther@suse.de>
      
      	* genmatch.c (dt_node::gen_kids): Fix placement of break statement.
      
      From-SVN: r217487
      3f341ee7
    • Ilya Verbin's avatar
      [PATCH 2/7] OpenMP 4.0 offloading infrastructure: LTO streaming. · 1f6be682
      Ilya Verbin authored
      
      gcc/
      	* cgraph.c: Include context.h.
      	(cgraph_node::create): Set node->offloadable and g->have_offload if
      	decl have "omp declare target" attribute.
      	* cgraph.h (symtab_node): Add need_lto_streaming and offloadable flags.
      	* cgraphunit.c: Include lto-section-names.h.
      	(ipa_passes): Call ipa_write_summaries if there is something to write to
      	OFFLOAD_SECTION_NAME_PREFIX sections.
      	(symbol_table::compile): Set flag_generate_lto if there is something to
      	offload.
      	Replace flag_lto with flag_generate_lto before lto_streamer_hooks_init.
      	* context.c (gcc::context::context): Initialize have_offload with false.
      	* context.h (class context): Add have_offload flag.
      	* ipa-inline-analysis.c (inline_generate_summary): Do not exit under
      	flag_generate_lto.
      	(inline_free_summary): Always remove hooks.
      	* lto-cgraph.c (referenced_from_other_partition_p): Ignore references
      	from non-offloadable nodes while streaming a node into offload section.
      	(reachable_from_other_partition_p): Likewise.
      	(select_what_to_stream): New function.
      	(compute_ltrans_boundary): Do not call
      	lto_set_symtab_encoder_in_partition if the node should not be streamed.
      	* lto-section-names.h (OFFLOAD_SECTION_NAME_PREFIX): Define.
      	(section_name_prefix): Declare.
      	* lto-streamer.c (section_name_prefix): New variable.
      	(lto_get_section_name): Use section_name_prefix instead of
      	LTO_SECTION_NAME_PREFIX.
      	* lto-streamer.h (select_what_to_stream): Declare.
      	* omp-low.c: Include context.h.
      	(is_targetreg_ctx): New function.
      	(scan_sharing_clauses): Use offloadable flag, instead of an attribute.
      	(create_omp_child_function, check_omp_nesting_restrictions): Use new
      	is_targetreg_ctx function.  Replace usage of "omp declare target"
      	attribute with a cgraph_node flag offloadable.
      	(expand_omp_target): Set mark_force_output for offloadable functions.
      	(lower_omp_critical): Set offloadable flag for omp critical symbol.
      	* passes.c (ipa_write_summaries): New argument offload_lto_mode.  Call
      	select_what_to_stream.  Do not call lto_set_symtab_encoder_in_partition
      	if the node should not be streamed out.
      	* tree-pass.h (ipa_write_summaries): New bool argument.
      	* varpool.c: Include context.h.
      	(varpool_node::get_create): Set node->offloadable and g->have_offload if
      	decl have "omp declare target" attribute.
      
      gcc/lto/
      	* lto-object.c (lto_obj_add_section): Use section_name_prefix instead of
      	LTO_SECTION_NAME_PREFIX.
      	* lto-partition.c (lto_promote_cross_file_statics): Call
      	select_what_to_stream.
      	* lto.c (lto_section_with_id): Use section_name_prefix instead of
      	LTO_SECTION_NAME_PREFIX.
      	(read_cgraph_and_symbols): Read OFFLOAD_SECTION_NAME_PREFIX sections, if
      	being built as an offload compiler.
      
      Co-Authored-By: default avatarAndrey Turetskiy <andrey.turetskiy@intel.com>
      Co-Authored-By: default avatarBernd Schmidt <bernds@codesourcery.com>
      Co-Authored-By: default avatarMichael Zolotukhin <michael.v.zolotukhin@intel.com>
      
      From-SVN: r217486
      1f6be682
    • Bernd Schmidt's avatar
      [PATCH 1/7] OpenMP 4.0 offloading infrastructure: configure and make · 85c64bbe
      Bernd Schmidt authored
      
      	* configure: Regenerate.
      	* configure.ac (--enable-as-accelerator-for)
      	(--enable-offload-targets): New configure options.
      gcc/
      	* Makefile.in (real_target_noncanonical, accel_dir_suffix)
      	(enable_as_accelerator): New variables substituted by configure.
      	(libsubdir, libexecsubdir, unlibsubdir): Tweak for the possibility of
      	being configured as an offload compiler.
      	(DRIVER_DEFINES): Pass new defines DEFAULT_REAL_TARGET_MACHINE and
      	ACCEL_DIR_SUFFIX.
      	(install-cpp, install-common, install_driver, install-gcc-ar): Do not
      	install for the offload compiler.
      	* config.in: Regenerate.
      	* configure: Regenerate.
      	* configure.ac (real_target_noncanonical, accel_dir_suffix)
      	(enable_as_accelerator): Compute new variables.
      	(ACCEL_COMPILER): Define if the compiler is built as the accel compiler.
      	(OFFLOAD_TARGETS): List of target names suitable for offloading.
      	(ENABLE_OFFLOADING): Define if list of offload targets is not empty.
      gcc/cp/
      	* Make-lang.in (c++.install-common): Do not install for the offload
      	compiler.
      gcc/doc/
      	* install.texi (Options specification): Document
      	--enable-as-accelerator-for and --enable-offload-targets.
      gcc/fortran/
      	* Make-lang.in (fortran.install-common): Do not install for the offload
      	compiler.
      libgcc/
      	* Makefile.in (crtoffloadbegin$(objext)): New rule.
      	(crtoffloadend$(objext)): Likewise.
      	* configure: Regenerate.
      	* configure.ac (accel_dir_suffix): Compute new variable.
      	(extra_parts): Add crtoffloadbegin.o and crtoffloadend.o
      	if enable_offload_targets is not empty.
      	* offloadstuff.c: New file.
      libgomp/
      	* config.h.in: Regenerate.
      	* configure: Regenerate.
      	* configure.ac: Check for libdl, required for plugin support.
      	(PLUGIN_SUPPORT): Define if plugins are supported.
      	(enable_offload_targets): Support Intel MIC targets.
      	(OFFLOAD_TARGETS): List of target names suitable for offloading.
      lto-plugin/
      	* Makefile.am (libexecsubdir): Tweak for the possibility of being
      	configured for offload compiler.
      	(accel_dir_suffix, real_target_noncanonical): New variables substituted
      	by configure.
      	* Makefile.in: Regenerate.
      	* configure: Regenerate.
      	* configure.ac (accel_dir_suffix, real_target_noncanonical): Compute new
      	variables.
      
      
      Co-Authored-By: default avatarAndrey Turetskiy <andrey.turetskiy@intel.com>
      Co-Authored-By: default avatarIlya Verbin <ilya.verbin@intel.com>
      Co-Authored-By: default avatarThomas Schwinge <thomas@codesourcery.com>
      
      From-SVN: r217485
      85c64bbe
    • H.J. Lu's avatar
      Use POINTER_SIZE to check for pointer size · e8864c85
      H.J. Lu authored
      	PR tree-optimization/63828
      	* ipa-polymorphic-call.c (possible_placement_new): Check
      	POINTER_SIZE, instead of BITS_PER_WORD, for pointer size.
      
      From-SVN: r217483
      e8864c85
    • Janne Blomqvist's avatar
      PR 60324 Unbounded stack allocations in libgfortran. · 581d2326
      Janne Blomqvist authored
      2014-11-13  Janne Blomqvist  <jb@gcc.gnu.org>
      
      	PR libfortran/60324
      	* configure: Regenerated.
      	* configure.ac (AM_CFLAGS): Add Werror=vla.
      	* libgfortran.h (gfc_alloca): Remove macro.
      	(fc_strdup_notrim): New prototype.
      	* intrinsics/access.c (access_func): Use fc_strdup rather than
      	stack allocation.
      	* intrinsics/chdir.c (chdir_i4_sub): Likewise.
      	(chdir_i8_sub): Likewise.
      	* intrinsics/chmod.c (chmod_internal): New function, move logic
      	here.
      	(chmod_func): Call chmod_internal.
      	* intrinsics/env.c (getenv): Use fc_strdup rather than stack
      	allocation.
      	(get_environment_variable_i4): Likewise.
      	* intrinsics/execute_command_line.c (execute_command_line):
      	Likewise.
      	* intrinsics/hostnm.c (hostnm_0): New function, use static buffer
      	rather than VLA.
      	(hostnm_i4_sub): Call hostnm_0.
      	(hostnm_i8_sub): Likewise.
      	(hostnm): Likewise.
      	* intrinsics/link.c (link_internal): New function, use fc_strdup
      	rather than stack allocation.
      	(link_i4_sub): Call link_internal.
      	(link_i8_sub): Likewise.
      	(link_i4): Likewise.
      	(link_i8): Likewise.
      	* intrinsics/perror.c (perror_sub): Use fc_strdup rather than
      	stack allocation.
      	* intrinsics/random.c (random_seed_i4): Use static buffer rather
      	than VLA, use _Static_assert to make sure it's big enough.
      	* intrinsics/rename.c (rename_internal): New function, use
      	fc_strdup rather than stack allocation.
      	(rename_i4_sub): Call rename_internal.
      	(rename_i8_sub): Likewise.
      	(rename_i4): Likewise.
      	(rename_i8): Likewise.
      	* intrinsics/stat.c (stat_i4_sub_0): Use fc_strdup rather than
      	stack allocation.
      	(stat_i8_sub_0): Likewise.
      	* intrinsics/symlink.c (symlnk_internal): New function, use
      	fc_strdup rather than stack allocation.
      	(symlnk_i4_sub): Call symlnk_internal.
      	(symlnk_i8_sub): Likewise.
      	(symlnk_i4): Likewise.
      	(symlnk_i8): Likewise.
      	* intrinsics/system.c (system_sub): Use fc_strdup rather than
      	stack allocation.
      	* intrinsics/unlink.c (unlink_i4_sub): Likewise.
      	* io/file_pos.c (READ_CHUNK): Make it a macro rather than variable.
      	* io/list_read.c (nml_get_obj_data): Use fixed stack buffer, fall
      	back to xmalloc/free for large sizes.
      	* io/read.c (read_f): Likewise.
      	* io/transfer.c (MAX_READ): Make it a macro rather than variable.
      	(WRITE_CHUNK): Likewise.
      	* io/write_float.def (write_float): Use fixed stack buffer, fall
      	back to xmalloc/free for large sizes.
      	* runtime/string.c (fc_strdup_notrim): New function.
      
      From-SVN: r217480
      581d2326
    • Eric Botcazou's avatar
      tm.texi.in (SELECT_CC_MODE): Update example. · 95cc11e1
      Eric Botcazou authored
      	* doc/tm.texi.in (SELECT_CC_MODE): Update example.
      	(REVERSIBLE_CC_MODE): Fix example.
      	(REVERSE_CONDITION): Fix typo.
      	* doc/tm.texi: Regenerate.
      
      From-SVN: r217476
      95cc11e1
    • Tom de Vries's avatar
      Run pass_expand_omp_ssa after pass_paralellize_loops · 18751894
      Tom de Vries authored
      2014-11-13  Tom de Vries  <tom@codesourcery.com>
      
      	* omp-low.c (pass_data_expand_omp): Set properties_provided to
      	PROP_gimple_eomp.
      	(pass_expand_omp::gate): Remove function.  Move gate expression to ...
      	(pass_expand_omp::execute): ... here, as new variable gate.  Add early
      	exit if gate is false.
      	(pass_data pass_data_expand_omp_ssa): New pass_data.
      	(class pass_expand_omp_ssa): New pass.
      	(make_pass_expand_omp_ssa): New function.
      	* passes.def (pass_parallelize_loops): Use PUSH_INSERT_PASSES_WITHIN
      	instead of NEXT_PASS.
      	(pass_expand_omp_ssa): Add after pass_parallelize_loops.
      	* tree-parloops.c (gen_parallel_loop): Remove call to omp_expand_local.
      	(pass_parallelize_loops::execute): Don't do cleanups TODO_cleanup_cfg
      	and TODO_rebuild_alias yet.  Add TODO_update_ssa.  Set
      	cfun->omp_expand_needed.
      	* tree-pass.h: Add define PROP_gimple_eomp.
      	(make_pass_expand_omp_ssa): Declare.
      
      From-SVN: r217474
      18751894
    • Manuel López-Ibáñez's avatar
      line-map.h: Include EXPR, so that unused variable warnings do not occur. · d82f1e13
      Manuel López-Ibáñez authored
      	* include/line-map.h: Include EXPR, so that unused variable warnings
      	do not occur.
      
      From-SVN: r217473
      d82f1e13
    • Rainer Orth's avatar
      Enable libcc1 on Solaris · 0ed4f879
      Rainer Orth authored
      	* configure.ac (libcc1_cv_lib_sockets): Check for -lsocket -lnsl.
      	* configure: Regenerate.
      	* connection.cc: Include <string.h>.
              * libcc1.cc (libcc1_compile): Use AF_UNIX instead of AF_LOCAL.
      
      From-SVN: r217471
      0ed4f879
    • Marek Polacek's avatar
      tree.h (TYPE_OVERFLOW_SANITIZED): Define. · 6a4f0678
      Marek Polacek authored
      	* tree.h (TYPE_OVERFLOW_SANITIZED): Define.
      	* fold-const.c (fold_binary_loc): Use it.
      	* match.pd: Likewise.
      
      From-SVN: r217470
      6a4f0678
    • Kai Tietz's avatar
      cp-tree.h (cp_build_function_call): Remove prototype. · 882de214
      Kai Tietz authored
      2014-11-13  Kai Tietz  <ktietz@redhat.com>
      
      	* cp-tree.h (cp_build_function_call): Remove prototype.
      	(cp_build_addr_expr_strict): Likewise.
      	(build_typed_address): Likewise.
      	* typeck.c (build_typed_address): Removed.
      	(cp_build_addr_expr_strict): Make static.
      	(cp_build_function_call): Likewise.
      
      From-SVN: r217469
      882de214
    • Kirill Yukhin's avatar
      Rename struct in gcc/lra-lives.c · 152914cd
      Kirill Yukhin authored
      gcc/
      	* gcc/lra-lives.c (struct bb_data): Rename to ...
      	(struct bb_data_pseudos): ... this.
      	(initiate_live_solver): Update struct name.
      
      From-SVN: r217468
      152914cd
    • Alexander Ivchenko's avatar
      target-supports.exp (error_h): New check. · 3cd383fd
      Alexander Ivchenko authored
      gcc/testsuite/
      	* lib/target-supports.exp (error_h): New check.
      	(libc_has_complex_functions): Ditto.
      	(tgmath_h): Ditto.
      	* gcc.dg/builtins-59.c: Add libc_has_complex_functions check.
      	* gcc.dg/builtins-61.c: Likewise.
      	* gcc.dg/builtins-67.c: Disable test for Bionic.
      	* gcc.dg/strlenopt-14g.c: Likewise.
      	* gcc.dg/strlenopt-14gf.c: Likewise.
      	* gcc.dg/c99-tgmath-1.c: Add tgmath_h check.
      	* gcc.dg/c99-tgmath-2.c: Likewise.
      	* gcc.dg/c99-tgmath-3.c: Likewise.
      	* gcc.dg/c99-tgmath-4.c: Likewise.
      	* gcc.dg/dfp/convert-dfp-round-thread.c: Add error_h check.
      
      From-SVN: r217467
      3cd383fd
    • Richard Biener's avatar
      match.pd: Implement conditional expression patterns. · 96994de0
      Richard Biener authored
      2014-11-13  Richard Biener  <rguenther@suse.de>
      
      	* match.pd: Implement conditional expression patterns.
      	* tree-ssa-forwprop.c (forward_propagate_into_cond): Remove
      	them here.
      	(combine_cond_exprs): Remove.
      	(pass_forwprop::execute): Do not call combine_cond_exprs.
      	* fold-const.c (fold_ternary_loc): Remove patterns here.
      	(pedantic_omit_one_operand_loc): Remove.
      
      From-SVN: r217465
      96994de0
Loading