Skip to content
Snippets Groups Projects
  1. Nov 16, 2014
    • Jan-Benedict Glaw's avatar
      Update from upstream Automake files. · d7134c0e
      Jan-Benedict Glaw authored
      2014-11-16  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
      
      	* compile: Sync with upstream Automake.
      	* depcomp: Ditto.
      	* install-sh: Ditto.
      	* missing: Ditto.
      	* mkinstalldirs: Ditto.
      	* ylwrap: Ditto.
      
      From-SVN: r217627
      d7134c0e
    • Uros Bizjak's avatar
      sh.c: Do not include algorithm. · 6f23a2d0
      Uros Bizjak authored
      	* config/sh/sh.c: Do not include algorithm.
      	(sh_emit_scc_to_t): Replace open-coded swap with std::swap
      	to swap values.
      	(sh_emit_compare_and_branch): Ditto.
      	(sh_emit_compare_and_set): Ditto.
      	* config/sh/sh.md (replacement peephole2): Ditto.
      	(cstore4_media): Ditto.
      	(*fmasf4): Ditto.
      
      From-SVN: r217626
      6f23a2d0
    • Andrew Pinski's avatar
      memset-4.c: New test. · 24b50386
      Andrew Pinski authored
      2014-11-16  Andrew Pinski  <apinski@cavium.com>
      
      	* gcc.c-torture/execute/memset-4.c: New test.
      	* gcc.c-torture/execute/20110418-1.c: New test.
      	* gcc.c-torture/execute/20141022-1.c: New test.
      	* gcc.c-torture/execute/strcpy-2.c: New test.
      	* gcc.c-torture/execute/20140212-2.c: New test.
      	* gcc.c-torture/compile/20120913-1.c: New test.
      	* gcc.c-torture/compile/20121010-1.c: New test.
      	* gcc.c-torture/compile/20120917-1.c: New test.
      	* gcc.c-torture/compile/20140110-1.c: New test.
      	* gcc.c-torture/compile/20121220-1.c: New test.
      	* gcc.c-torture/compile/20120822-1.c: New test.
      	* gcc.c-torture/compile/20121027-1.c: New test.
      	* gcc.c-torture/compile/20120830-2.c: New test.
      
      From-SVN: r217625
      24b50386
    • Vladimir Makarov's avatar
      lra-remat.c (cand_transf_func): Process regno for rematerialization too. · f607c5c4
      Vladimir Makarov authored
      2014-11-15  Vladimir Makarov  <vmakarov@redhat.com>
      
      	* lra-remat.c (cand_transf_func): Process regno for
      	rematerialization too.
      	* lra.c (lra): Switch on rematerialization pass.
      
      From-SVN: r217624
      f607c5c4
    • Janne Blomqvist's avatar
      PR 60324 VLA related fixes to random number generator. · cb9365ac
      Janne Blomqvist authored
      2014-11-16  Janne Blomqvist  <jb@gcc.gnu.org>
      
      	PR libfortran/60324
      	* intrinsics/random.c (kiss_size): Rename to KISS_SIZE, make it a
      	macro instead of a variable.
      	(random_seed_i4): Make seed correct size, remove assert, KISS_SIZE
      	related changes.
      	(random_seed_i8): KISS_SIZE related changes.
      
      From-SVN: r217623
      cb9365ac
    • GCC Administrator's avatar
      Daily bump. · 431db45a
      GCC Administrator authored
      From-SVN: r217622
      431db45a
  2. Nov 15, 2014
    • Jan-Benedict Glaw's avatar
      Update config.{sub,guess} from upstream repo · e4ff7e6a
      Jan-Benedict Glaw authored
      2014-11-16  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
      
      	* config.sub: Update from upstream config repo.
      	* config.guess: Ditto.
      
      From-SVN: r217619
      e4ff7e6a
    • Jason Merrill's avatar
      parser.c (cp_parser_omp_declare_reduction_exprs): A block is not an expression. · 8ed2e447
      Jason Merrill authored
      	* parser.c (cp_parser_omp_declare_reduction_exprs): A block is not
      	an expression.
      
      From-SVN: r217618
      8ed2e447
    • Jason Merrill's avatar
      constexpr.c (cxx_eval_builtin_function_call): Use fold_builtin_call_array. · 3952ae1a
      Jason Merrill authored
      	* constexpr.c (cxx_eval_builtin_function_call): Use
      	fold_builtin_call_array.
      
      From-SVN: r217617
      3952ae1a
    • Jason Merrill's avatar
      * constexpr.c (cx_check_missing_mem_inits): Clarify error message. · b8cd3996
      Jason Merrill authored
      From-SVN: r217616
      b8cd3996
    • Maciej W. Rozycki's avatar
      guality.exp (check_guality): Fix `test_counts' restoration. · f5f08264
      Maciej W. Rozycki authored
      	* g++.dg/guality/guality.exp (check_guality): Fix `test_counts'
      	restoration.
      
      From-SVN: r217615
      f5f08264
    • Adhemerval Zanella's avatar
      2014-11-15 Adhemerval Zanella <azanella@linux.vnet.ibm.com> · fc8b127a
      Adhemerval Zanella authored
      	* gcc.dg/atomic/c11-atomic-exec-5.c
      	(test_main_long_double_add_overflow): Only actually define if
      	LDBL_MANT_DIG != 106.
      	(test_main_complex_long_double_add_overflow): Likewise.
      	(test_main_long_double_sub_overflow): Likewise.
      	(test_main_complex_long_double_sub_overflow): Likewise.
      
      	(NOT_LDBL_EPSILON_2): Likewise.
      	(NOT_MINUS_LDBL_EPSILON_2): Likewise.
      
      From-SVN: r217614
      fc8b127a
    • H.J. Lu's avatar
      Don't run gcc.target/i386/sibcall-1.c on x32 targets · 4ecb3002
      H.J. Lu authored
      	* gcc.target/i386/sibcall-1.c: Don't run on x32 targets,
      	instead of run on ia32 targets.
      
      From-SVN: r217613
      4ecb3002
    • Marek Polacek's avatar
      re PR middle-end/63884 (ICE: SIGSEGV in is_sec_implicit_index_fn with... · 8537a4a9
      Marek Polacek authored
      re PR middle-end/63884 (ICE: SIGSEGV in is_sec_implicit_index_fn with -fcilkplus and __builtin_sadd_overflow())
      
      	PR middle-end/63884
      c-family/
      	* array-notation-common.c (is_sec_implicit_index_fn): Return false
      	for NULL fndecl.
      	(extract_array_notation_exprs): Return for NULL node.
      testsuite/
      	* c-c++-common/cilk-plus/AN/pr63884.c: New test.
      
      From-SVN: r217612
      8537a4a9
    • Francois-Xavier Coudert's avatar
      re PR target/60104 (load not folded into indirect branch on x86-64) · d66a0f56
      Francois-Xavier Coudert authored
      	PR target/60104
      	* gcc.target/i386/sibcall-1.c: Don't run on pic targets.
      
      From-SVN: r217611
      d66a0f56
    • Vladimir Makarov's avatar
      lra.c (lra): Switch off rematerialization pass. · 2772f5a1
      Vladimir Makarov authored
      2014-11-15  Vladimir Makarov  <vmakarov@redhat.com>
      
      	* lra.c (lra): Switch off rematerialization pass.
      
      From-SVN: r217609
      2772f5a1
    • Marc Glisse's avatar
      xmmintrin.h (_mm_add_ps, [...]): Use vector extensions instead of builtins. · 2069d6fc
      Marc Glisse authored
      2014-11-15  Marc Glisse  <marc.glisse@inria.fr>
      
      gcc/
      	* config/i386/xmmintrin.h (_mm_add_ps, _mm_sub_ps, _mm_mul_ps,
      	_mm_div_ps, _mm_store_ss, _mm_cvtss_f32): Use vector extensions
      	instead of builtins.
      	* config/i386/emmintrin.h (__v2du, __v4su, __v8hu, __v16qu): New
      	typedefs.
      	(_mm_sqrt_sd): Fix comment.
      	(_mm_add_epi8, _mm_add_epi16, _mm_add_epi32, _mm_add_epi64,
      	_mm_sub_epi8, _mm_sub_epi16, _mm_sub_epi32, _mm_sub_epi64,
      	_mm_mullo_epi16, _mm_cmpeq_epi8, _mm_cmpeq_epi16, _mm_cmpeq_epi32,
      	_mm_cmplt_epi8, _mm_cmplt_epi16, _mm_cmplt_epi32, _mm_cmpgt_epi8,
      	_mm_cmpgt_epi16, _mm_cmpgt_epi32, _mm_and_si128, _mm_or_si128,
      	_mm_xor_si128, _mm_store_sd, _mm_cvtsd_f64, _mm_storeh_pd,
      	_mm_cvtsi128_si64, _mm_cvtsi128_si64x, _mm_add_pd, _mm_sub_pd,
      	_mm_mul_pd, _mm_div_pd, _mm_storel_epi64, _mm_movepi64_pi64):
      	Use vector extensions instead of builtins.
      	* config/i386/smmintrin.h (_mm_cmpeq_epi64, _mm_cmpgt_epi64,
      	_mm_mullo_epi32): Likewise.
      	* config/i386/avxintrin.h (__v4du, __v8su, __v16hu, __v32qu):
      	New typedefs.
      	(_mm256_add_pd, _mm256_add_ps, _mm256_div_pd, _mm256_div_ps,
      	_mm256_mul_pd, _mm256_mul_ps, _mm256_sub_pd, _mm256_sub_ps):
      	Use vector extensions instead of builtins.
      	* config/i386/avx2intrin.h (_mm256_cmpeq_epi8, _mm256_cmpeq_epi16,
      	_mm256_cmpeq_epi32, _mm256_cmpeq_epi64, _mm256_cmpgt_epi8,
      	_mm256_cmpgt_epi16, _mm256_cmpgt_epi32, _mm256_cmpgt_epi64,
      	_mm256_and_si256, _mm256_or_si256, _mm256_xor_si256, _mm256_add_epi8,
      	_mm256_add_epi16, _mm256_add_epi32, _mm256_add_epi64,
      	_mm256_mullo_epi16, _mm256_mullo_epi32, _mm256_sub_epi8,
      	_mm256_sub_epi16, _mm256_sub_epi32, _mm256_sub_epi64): Likewise.
      	* config/i386/avx512fintrin.h (__v8du, __v16su, __v32hu, __v64qu):
      	New typedefs.
      	(_mm512_or_si512, _mm512_or_epi32, _mm512_or_epi64, _mm512_xor_si512,
      	_mm512_xor_epi32, _mm512_xor_epi64, _mm512_and_si512,
      	_mm512_and_epi32, _mm512_and_epi64, _mm512_mullo_epi32,
      	_mm512_add_epi64, _mm512_sub_epi64, _mm512_add_epi32,
      	_mm512_sub_epi32, _mm512_add_pd, _mm512_add_ps, _mm512_sub_pd,
      	_mm512_sub_ps, _mm512_mul_pd, _mm512_mul_ps, _mm512_div_pd,
      	_mm512_div_ps): Use vector extensions instead of builtins.
      	* config/i386/avx512bwintrin.h (_mm512_mullo_epi16, _mm512_add_epi8,
      	_mm512_sub_epi8, _mm512_sub_epi16, _mm512_add_epi16): Likewise.
      	* config/i386/avx512dqintrin.h (_mm512_mullo_epi64): Likewise.
      	* config/i386/avx512vldqintrin.h (_mm256_mullo_epi64, _mm_mullo_epi64):
      	Likewise.
      
      gcc/testsuite/
      	* gcc.target/i386/intrinsics_opt-1.c: New testcase.
      	* gcc.target/i386/intrinsics_opt-2.c: Likewise.
      	* gcc.target/i386/intrinsics_opt-3.c: Likewise.
      	* gcc.target/i386/intrinsics_opt-4.c: Likewise.
      
      From-SVN: r217608
      2069d6fc
    • Jan Hubicka's avatar
      lto-streamer-out.c (hash_tree): Use cl_optimization_hash. · ca9a04da
      Jan Hubicka authored
      	* lto-streamer-out.c (hash_tree): Use cl_optimization_hash.
      	* lto-streamer.h (cl_optimization_stream_out, cl_optimization_stream_in): Declare.
      	* optc-save-gen.awk: Generate cl_optimization LTO streaming and hashing routines.
      	* opth-gen.awk: Add prototype of cl_optimization_hash.
      	* tree-streamer-in.c (unpack_ts_optimization): Remove.
      	(streamer_unpack_tree_bitfields): Use cl_optimization_stream_in.
      	* tree-streamer-out.c (pack_ts_optimization): Remove.
      	(streamer_pack_tree_bitfields): Use cl_optimization_stream_out.
      
      From-SVN: r217607
      ca9a04da
    • Francois-Xavier Coudert's avatar
      * gcc.dg/tree-ssa/pr61144.c: Add dg-require-alias. · 64ec5318
      Francois-Xavier Coudert authored
      From-SVN: r217606
      64ec5318
    • Francois-Xavier Coudert's avatar
      pubtypes-3.c: Include <string.h>. · ec94f224
      Francois-Xavier Coudert authored
      	* gcc.dg/pubtypes-3.c: Include <string.h>.
      	* gcc.dg/pubtypes-4.c: Likewise.
      
      From-SVN: r217605
      ec94f224
    • Mircea Namolaru's avatar
      New unroll and jam option in Graphite. · 20d3465b
      Mircea Namolaru authored
      From-SVN: r217604
      20d3465b
    • Francois-Xavier Coudert's avatar
      * gcc.dg/darwin-cfstring-format-1.c: Adjust dg-error. · cf4600ed
      Francois-Xavier Coudert authored
      From-SVN: r217603
      cf4600ed
    • Eric Botcazou's avatar
      tree-cfg.c (replace_loop_annotate_in_block): New function extracted from... · 8a9b4fa1
      Eric Botcazou authored
      	* tree-cfg.c (replace_loop_annotate_in_block): New function extracted
      	from...
      	(replace_loop_annotate): ...here.  Call it on the header and on the
      	latch block, if any.  Restore proper behavior of final cleanup.
      
      From-SVN: r217602
      8a9b4fa1
    • Eric Botcazou's avatar
      tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Add log message for... · d03f2c17
      Eric Botcazou authored
      tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Add log message for max-completely-peeled-insns limit.
      
      	* tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Add log message
      	for max-completely-peeled-insns limit.
      
      From-SVN: r217601
      d03f2c17
    • Tobias Burnus's avatar
      error.c (gfc_fatal_error_1): Renamed from gfc_fatal_error. · ddc05d11
      Tobias Burnus authored
      2014-11-15  Tobias Burnus  <burnus@net-b.de>
      
      gcc/fortran/
              * error.c (gfc_fatal_error_1): Renamed from gfc_fatal_error.
              (gfc_fatal_error): Add; uses common diagnostics.
              * array.c (gfc_match_array_ref, gfc_match_array_spec): Use
              %< %>.
              * check.c (check_co_collective, gfc_check_lcobound,
              gfc_check_image_index, gfc_check_num_images,
              gfc_check_this_image, gfc_check_ucobound): Ditto.
              * cpp.c (gfc_cpp_post_options): Ditto.
              (gfc_cpp_init_0, gfc_cpp_done): Change %s to %qs.
              * gfc-diagnostic.def (DK_FATAL): Capitalize first letter.
              * gfortran.h (gfc_fatal_error_1): Add.
              * match.c (gfc_match_name, gfc_match_critical,
              lock_unlock_statement, sync_statement): Add %< %>.
              * module.c (bad_module, gfc_dump_module, gfc_use_module): Change
              %s to %qs.
              * options.c (gfc_handle_module_path_options,
              * gfc_handle_fpe_option,
              gfc_handle_coarray_option, gfc_handle_runtime_check_option,
              gfc_handle_option): Add %< %>.
              * simplify.c (gfc_simplify_num_images): Ditto.
              * trans-stmt.c (gfc_trans_sync): Use gfc_fatal_error_1.
              * trans-array.c (gfc_conv_array_initializer): Ditto.
              * trans-types.c (gfc_init_kinds): Use gfc_fatal_error instead
              of fatal_error; add %< %> quotations.
      
      gcc/testsuite/
              * gfortran.dg/binding_label_tests_4.f03: Add dg-excess-errors.
              * gfortran.dg/coarray_9.f90: Ditto.
              * gfortran.dg/empty_label.f: Ditto.
              * gfortran.dg/empty_label.f90: Ditto.
      
      From-SVN: r217600
      ddc05d11
    • GCC Administrator's avatar
      Daily bump. · 87d4b383
      GCC Administrator authored
      From-SVN: r217599
      87d4b383
  3. Nov 14, 2014
    • Jan Hubicka's avatar
      ipa-prop.h (ipa_known_type_data): Remove. · 8f581638
      Jan Hubicka authored
      	* ipa-prop.h (ipa_known_type_data): Remove.
      	(ipa_binfo_from_known_type_jfunc): Remove.
      
      From-SVN: r217596
      8f581638
    • Andrew Pinski's avatar
      [AARCH64] Add scheduler for ThunderX · 2d41ed58
      Andrew Pinski authored
      This adds the schedule model for ThunderX. There are a few TODOs in that
      not all of the SIMD is model currently.  Also the idea of a simple
      shift/extend is not modeled and all cases where there is a shift/extend
      is considered as non simple and take up two cycles rather than correct
      value of one cycle.  Also the 32bit divide and the 64bit divide
      have different cycle counts but there is no way to model that currently.
      Also multiply high takes one cycle more than the normal multiply but
      there is no way to model that currently either.
      
      Build and tested for aarch64-elf with no regressions.
      
      ChangeLog:
      * config/aarch64/aarch64-cores.def (thunderx): Change the scheduler
      over to thunderx.
      * config/aarch64/aarch64.md: Include thunderx.md.
      (generic_sched): Set to no for thunderx.
      * config/aarch64/thunderx.md: New file.
      
      From-SVN: r217593
      2d41ed58
    • Michael Meissner's avatar
      predicates.md (easy_fp_constant): Delete redunant tests for 0.0. · 0c307d8f
      Michael Meissner authored
      [gcc]
      2014-11-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	* config/rs6000/predicates.md (easy_fp_constant): Delete redunant
      	tests for 0.0.
      
      	* config/rs6000/vector.md (VEC_R): Move secondary reload support
      	insns to rs6000.md from vector.md.
      	(reload_<VEC_R:mode>_<P:mptrsize>_store): Likewise.
      	(reload_<VEC_R:mode>_<P:mptrsize>_load): Likewise.
      	(vec_reload_and_plus_<mptrsize>): Likewise.
      
      	* config/rs6000/rs6000.md (Fa): New mode attribute to give
      	constraint for the Altivec registers for a type.
      	(RELOAD): New mode iterator for all of the types that have
      	secondary reload address support to load up a base register.
      	(extendsfdf2_fpr): Use correct constraint.
      	(copysign<mode>3_fcpsgn): For SFmode, use correct xscpsgndp
      	instruction.
      	(floatsi<mode>2_lfiwax): Add support for -mupper-regs-{sf,df}.
      	Generate the non-VSX instruction if all registers were FPRs.  Do
      	not use the patterns in vsx.md for scalar operations.
      	(floatsi<mode>2_lfiwax_mem): Likewise.
      	(floatunssi<mode>2_lfiwzx): Likewise.
      	(floatunssi<mode>2_lfiwzx_mem): Likewise.
      	(fix_trunc<mode>di2_fctidz): Likewise.
      	(fixuns_trunc<mode>di2_fctiduz): Likewise.
      	(fctiwz_<mode>): Likewise.
      	(fctiwuz_<mode>): Likewise.
      	(friz): Likewise.
      	(floatdidf2_fpr): Likewise.
      	(floatdidf2_mem): Likewise.
      	(floatunsdidf2): Likewise.
      	(floatunsdidf2_fcfidu): Likewise.
      	(floatunsdidf2_mem): Likewise.
      	(floatdisf2_fcfids): Likewise.
      	(floatdisf2_mem): Likewise.
      	(floatdisf2_internal1): Add explicit test for not FCFIDS to make
      	it more obvious that the code is for pre-ISA 2.06 machines.
      	(floatdisf2_internal2): Likewise.
      	(floatunsdisf2_fcfidus): Add support for -mupper-regs-{sf,df}.
      	Generate the non-VSX instruction if all registers were FPRs.  Do
      	not use the patterns in vsx.md for scalar operations.
      	(floatunsdisf2_mem): Likewise.
      	(reload_<RELOAD:mode>_<P:mptrsize>_store): Move the reload
      	handlers here from vector.md, and expand the types we generate
      	reload handlers for.
      	(reload_<RELOAD:mode>_<P:mptrsize>_load): Likewise.
      	(vec_reload_and_plus_<mptrsize>): Likewise.
      
      	* config/rs6000/vsx.md (vsx_float<VSi><mode>2): Only provide the
      	vector forms of the instructions.  Move VSX scalar forms to
      	rs6000.md, and add support for -mupper-regs-sf.
      	(vsx_floatuns<VSi><mode>2): Likewise.
      	(vsx_fix_trunc<mode><VSi>2): Likewise.
      	(vsx_fixuns_trunc<mode><VSi>2): Likewise.
      	(vsx_float_fix_<mode>2): Delete DF version, rename to
      	vsx_float_fix_v2df2.
      	(vsx_float_fix_v2df2): Likewise.
      
      [gcc/testsuite]
      2014-11-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	* gcc.target/powerpc/ppc-fpconv-1.c: Adjust for -mupper-regs-df
      	changes.
      	* gcc.target/powerpc/ppc-fpconv-2.c: Likewise.
      	* gcc.target/powerpc/ppc-fpconv-3.c: Likewise.
      	* gcc.target/powerpc/ppc-fpconv-4.c: Likewise.
      	* gcc.target/powerpc/ppc-fpconv-5.c: Likewise.
      	* gcc.target/powerpc/ppc-fpconv-6.c: Likewise.
      	* gcc.target/powerpc/ppc-fpconv-7.c: Likewise.
      	* gcc.target/powerpc/ppc-fpconv-8.c: Likewise.
      	* gcc.target/powerpc/ppc-fpconv-9.c: Likewise.
      	* gcc.target/powerpc/ppc-fpconv-10.c: Likewise.
      	* gcc.target/powerpc/ppc-round.c: Likewise.
      
      From-SVN: r217590
      0c307d8f
    • Martin Jambor's avatar
      ipa-prop.h (jump_func_type): Removed value IPA_JF_KNOWN_TYPE. · 3b97a5c7
      Martin Jambor authored
      2014-11-14  Martin Jambor  <mjambor@suse.cz>
      
      	* ipa-prop.h (jump_func_type): Removed value IPA_JF_KNOWN_TYPE.
      	(ipa_pass_through_data): Removed field type_preserved.
      	(ipa_ancestor_jf_data): removed fields type and type_preserved.
      	(ipa_jump_func): Removed field known_type.
      	(ipa_get_jf_known_type_offset): Removed.
      	(ipa_get_jf_known_type_base_type): Likewise.
      	(ipa_get_jf_known_type_component_type): Likewise.
      	(ipa_get_jf_ancestor_type): Likewise.
      	* ipa-cp.c (print_ipcp_constant_value): Removed BINFO handling.
      	(ipa_get_jf_pass_through_result): Likewise.
      	(ipa_get_jf_ancestor_result): Always build ptr_node_type accesses.
      	(values_equal_for_ipcp_p): Removed BINFO handling.
      	(ipa_get_indirect_edge_target_1): Updated comment.
      	* ipa-prop.c (ipa_print_node_jump_functions_for_edge): Removed handling
      	of IPA_JF_KNOWN_TYPE jump functions.  Do not print removed fields.
      	(ipa_set_jf_known_type): Removed.
      	(ipa_set_jf_simple_pass_through): Do not set removed fields.  Update
      	all callers.
      	(ipa_set_jf_arith_pass_through): Likewise.
      	(ipa_set_ancestor_jf): Likewise.
      	(ipa_binfo_from_known_type_jfunc): Removed.
      	(prop_type_change_info): Removed fields known_current_type and
      	multiple_types_encountered.
      	(extr_type_from_vtbl_ptr_store): Removed.
      	(check_stmt_for_type_change): Do not attempt to identify changed type.
      	(detect_type_change_from_memory_writes): Do not set the removed fields,
      	always set jfunc to unknown.
      	(compute_complex_assign_jump_func): Do not detect dynamic type change.
      	(compute_complex_ancestor_jump_func): Likewise.
      	(compute_known_type_jump_func): Removed.
      	(ipa_compute_jump_functions_for_edge): Do not detect dynamic type
      	change.  Do not comute known type jump functions.
      	(combine_known_type_and_ancestor_jfs): Removed.
      	(update_jump_functions_after_inlining): Removed handling of
      	IPA_JF_KNOWN_TYPE jump functions.  Do not set removed fields.
      	(ipa_write_jump_function): Do not stream removed fields or known type
      	jump functions.
      	(ipa_read_jump_function): Likewise.
      
      From-SVN: r217589
      3b97a5c7
    • Vladimir Makarov's avatar
      lra-int.h (lra_create_live_ranges): Add parameter. · 4ab74a01
      Vladimir Makarov authored
      2014-11-14  Vladimir Makarov  <vmakarov@redhat.com>
      
      	* lra-int.h (lra_create_live_ranges): Add parameter.
      	* lra-lives.c (temp_bitmap): Move higher.
      	(initiate_live_solver): Move temp_bitmap initialization into
      	lra_live_ranges_init.
      	(finish_live_solver): Move temp_bitmap clearing into
      	live_ranges_finish.
      	(process_bb_lives): Add parameter.  Use it to control live info
      	update and dead insn elimination.  Pass it to mark_regno_live and
      	mark_regno_dead.
      	(lra_create_live_ranges): Add parameter.  Pass it to
      	process_bb_lives.
      	(lra_live_ranges_init, lra_live_ranges_finish): See changes in
      	initiate_live_solver and finish_live_solver.
      	* lra-remat.c (do_remat): Process insn non-operand hard regs too.
      	Use temp_bitmap to update avail_cands.
      	* lra.c (lra): Pass new parameter to lra_create_live_ranges.  Move
      	check with lra_need_for_spill_p after live range pass.  Switch on
      	rematerialization pass.
      
      From-SVN: r217588
      4ab74a01
    • Martin Jambor's avatar
      ipa-prop.h (ipa_get_jf_pass_through_type_preserved): use agg_preserved flag instead. · 44210a96
      Martin Jambor authored
      2014-11-14  Martin Jambor  <mjambor@suse.cz>
      
      	* ipa-prop.h (ipa_get_jf_pass_through_type_preserved): use
      	agg_preserved flag instead.
      	(ipa_get_jf_ancestor_type_preserved): Likewise.
      	(ipa_node_params): Rename known_vals to known_csts, update all users.
      	New field known_contexts.
      	(ipa_get_indirect_edge_target): Update prototype.
      	(ipcp_poly_ctx_values_pool): Declare.
      	(ipa_context_from_jfunc): Likewise.
      	* ipa-inline.h (estimate_ipcp_clone_size_and_time): Updated prototype.
      	* cgraph.h (ipa_polymorphic_call_context): New method equal_to.  New
      	parameter newline of method dump.
      	* ipa-cp.c (ctxlat): New field.
      	(ipcp_values_pool): Renamed to ipcp_cst_values_pool, updated all users.
      	(ipcp_poly_ctx_values_pool):New variable.
      	(ipa_get_poly_ctx_lat): New function.
      	(print_ipcp_constant_value): New overloaded function for contexts.
      	(print_all_lattices): Also print contexts.
      	(ipa_topo_info): New field contexts;
      	(set_all_contains_variable): Also set the flag in the context lattice.
      	(initialize_node_lattices): Likewise for flag bottom.
      	(ipa_get_jf_ancestor_result): Removed BINFO handling.
      	(ipa_value_from_jfunc): Likewise.
      	(ipa_context_from_jfunc): New function.
      	(values_equal_for_ipcp_p): New overloaded function for contexts.
      	(allocate_and_init_ipcp_value): Construct the value.
      	(allocate_and_init_ipcp_value): New overloaded function for contexts.
      	(propagate_scalar_accross_jump_function): Removed handling of
      	KNOWN_TYPE jump functions.
      	(propagate_context_accross_jump_function): New function.
      	(propagate_constants_accross_call): Also propagate contexts.
      	(ipa_get_indirect_edge_target_1): Work on contexts rather than BINFOs.
      	(ipa_get_indirect_edge_target): Likewise.
      	(devirtualization_time_bonus): Likewise.
      	(gather_context_independent_values): Create and populate known_contexts
      	vector rather than known_binfos.
      	(perform_estimation_of_a_value): Work on contexts rather than BINFOs.
      	(estimate_local_effects): Likewise.
      	(add_all_node_vals_to_toposort): Also add contexts to teir topological
      	sort.
      	(ipcp_propagate_stage): Also propagate effects of contexts.
      	(ipcp_discover_new_direct_edges): Receive and pass known_contexts to
      	ipa_get_indirect_edge_target_1.
      	(cgraph_edge_brings_value_p): New overloaded function for contexts.
      	(create_specialized_node): Work on contexts rather than BINFOs.
      	(find_more_contexts_for_caller_subset): New function.
      	(known_contexts_useful_p): New function.
      	(copy_useful_known_contexts): Likewise.
      	(modify_known_vectors_with_val): Likewise.
      	(ipcp_val_in_agg_replacements_p): Renamed to
      	ipcp_val_agg_replacement_ok_p, return true for all offset indicating
      	non-aggregate.
      	(ipcp_val_agg_replacement_ok_p): New overloaded function for contexts.
      	(decide_about_value): Work on contexts rather than BINFOs.
      	(decide_whether_version_node): Likewise.
      	(ipcp_driver): Initialize the new alloc pool.
      	* ipa-prop.c (ipa_print_node_jump_functions_for_edge): Prettify
      	printing of edge contexts.
      	(ipa_set_ancestor_jf): Replace assert with conditional setting of
      	type_preserved to false.
      	(update_jump_functions_after_inlining): Use access function instead of
      	reading agg_preserved directly.  Store combined context in the ancestor
      	case.
      	(try_make_edge_direct_virtual_call): Work on contexts rather than
      	BINFOs.
      	(update_indirect_edges_after_inlining): Get context from
      	ipa_context_from_jfunc.
      	(ipa_free_node_params_substructures): Free also known_contexts.
      	(ipa_free_all_structures_after_ipa_cp): Free the new alloc pool.
      	(ipa_free_all_structures_after_iinln): Likewise.
      	* ipa-inline-analysis.c (evaluate_properties_for_edge): Work on
      	contexts rather than BINFOs.
      	(estimate_edge_devirt_benefit): Likewise.
      	(estimate_edge_size_and_time): Likewise.
      	(estimate_calls_size_and_time): Likewise.
      	(estimate_node_size_and_time): Likewise.
      	(estimate_ipcp_clone_size_and_time): Likewise.
      	(do_estimate_edge_time): Likewise.
      	(do_estimate_edge_size): Likewise.
      	(do_estimate_edge_hints): Likewise.
      	* ipa-polymorphic-call.c (ipa_polymorphic_call_context::dump): New
      	parameter newline, ouput newline only when it is set.
      	(ipa_polymorphic_call_context::equal_to): New method.
      
      testsuite/
      	* g++.dg/ipa/devirt-11.C: Dont't run ipa-cp, remove times constraint
      	from the dump scan.
      	* g++.dg/ipa/devirt-21.C: Xfail.
      	* g++.dg/ipa/devirt-24.C: Likewise.
      	* g++.dg/ipa/devirt-10.C: Removed times constraint from the dump scan.
      	* g++.dg/ipa/devirt-41.C: Updated the dump scan.
      	* g++.dg/ipa/devirt-44.C: Likewise.
      	* g++.dg/ipa/devirt-43.C: Xfail.
      
      From-SVN: r217587
      44210a96
    • Martin Jambor's avatar
      ipa-cp.c (ipcp_value_source): Converted to a template class. · c0cb5055
      Martin Jambor authored
      2014-11-14  Martin Jambor  <mjambor@suse.cz>
      
      	* ipa-cp.c (ipcp_value_source): Converted to a template class.  All
      	users converted to the same specialization as the using class/function
      	or specialization on tree.
      	(ipcp_value): Likewise.
      	(ipcp_lattice): Likewise.
      	(ipcp_agg_lattice): Now derived from tree specialization of
      	ipcp_lattice.
      	(values_topo): Moved to new class value_topo_info.
      	(ipa_lat_is_single_const): Turned into ipcp_lattice::is_single_const.
      	Updated all callers.
      	(print_lattice): Turned into ipcp_lattice::print.  Updated all
      	callers.
      	(value_topo_info): New class template.
      	(ipa_topo_info): New field constants.  New constructor.
      	(build_toporder_info): Do not clear stack_top, only checkign assert
      	it.
      	(set_lattice_to_bottom): Turned into ipcp_lattice::set_to_bottom.
      	Updated all callers.
      	(set_lattice_contains_variable): Turned into
      	ipcp_lattice::set_contains_variable.  Updated all callers.
      	(add_value_source): Turned into ipcp_value::add_source.  Updated all
      	callers.
      	(allocate_and_init_ipcp_value): New function.
      	(add_value_to_lattice): Turned into ipcp_lattice::add_value.  Last
      	parameter got default a value.  Updated all callers.
      	(add_scalar_value_to_lattice): Removed, users converted to using
      	ipcp_lattice::add_value with default value of the last parameter.
      	(add_val_to_toposort): Turned to value_topo_info::add_val.  Updated
      	all callers.
      	(propagate_effects): Made method of value_topo_info.
      	(cgraph_edge_brings_value_p): Now a template function.
      	(get_info_about_necessary_edges): Likewise.
      	(gather_edges_for_value): Likewise.
      	(perhaps_add_new_callers): Likewise.
      	(decide_about_value): Likewise.
      	* ipa-prop.h (ipcp_lattice): Remove fowrward declaration.
      
      From-SVN: r217586
      c0cb5055
    • Jakub Jelinek's avatar
      * doc/install.texi (--with-diagnostics-color=): Document. · b907149b
      Jakub Jelinek authored
      From-SVN: r217585
      b907149b
    • Jakub Jelinek's avatar
      tree-ssa.dce.c (eliminate_unnecessary_stmts): Eliminate IFN_GOMP_SIMD_LANE without lhs as useless. · a601baa0
      Jakub Jelinek authored
      	* tree-ssa.dce.c (eliminate_unnecessary_stmts): Eliminate
      	IFN_GOMP_SIMD_LANE without lhs as useless.
      
      From-SVN: r217584
      a601baa0
    • Ian Lance Taylor's avatar
      runtime: set library name based on compiler name · 4c46b5f0
      Ian Lance Taylor authored
      Different compilers may have different release cadences or ABI
      incompatibilities, so it does not make sense to use the same library
      name for runtime libraries intended for different compilers.
      
      This CL causes a libgo built by llgo to receive the name libgo-llgo.
      Likewise, libgobegin is named libgobegin-llgo.
      
      From-SVN: r217583
      4c46b5f0
    • Jakub Jelinek's avatar
      ipa-pure-const.c (struct funct_state_d): Add can_free field. · 8413ca87
      Jakub Jelinek authored
      	* ipa-pure-const.c (struct funct_state_d): Add can_free field.
      	(varying_state): Add true for can_free.
      	(check_call): For builtin or internal !nonfreeing_call_p set
      	local->can_free.
      	(check_stmt): For asm volatile and asm with "memory" set
      	local->can_free.
      	(analyze_function): Clear local->can_free initially, continue
      	calling check_stmt until all flags are computed, dump can_free
      	flag.
      	(pure_const_write_summary): Write can_free flag.
      	(pure_const_read_summary): Read it back.
      	(propagate_pure_const): Propagate also can_free flag, set
      	w->nonfreeing_fn if it is false after propagation.
      	* cgraph.h (cgraph_node): Add nonfreeing_fn member.
      	* gimple.c: Include ipa-ref.h, lto-streamer.h and cgraph.h.
      	(nonfreeing_call_p): Return cgraph nonfreeing_fn flag if set.
      	Also return true for IFN_ABNORMAL_DISPATCHER.
      	* cgraph.c (cgraph_node::dump): Dump nonfreeing_fn flag.
      	* lto-cgraph.c (lto_output_node): Write nonfreeing_fn flag.
      	(input_overwrite_node): Read it back.
      
      From-SVN: r217582
      8413ca87
    • Jakub Jelinek's avatar
      sanopt.c: Include tree-ssa-operands.h. · ab9a4330
      Jakub Jelinek authored
      
      	* sanopt.c: Include tree-ssa-operands.h.
      	(struct sanopt_info): Add has_freeing_call_p,
      	has_freeing_call_computed_p, imm_dom_path_with_freeing_call_p,
      	imm_dom_path_with_freeing_call_computed_p, freeing_call_events,
      	being_visited_p fields.
      	(struct sanopt_ctx): Add asan_check_map field.
      	(imm_dom_path_with_freeing_call, maybe_optimize_ubsan_null_ifn,
      	maybe_optimize_asan_check_ifn): New functions.
      	(sanopt_optimize_walker): Use them, optimize even ASAN_CHECK
      	internal calls.
      	(pass_sanopt::execute): Call sanopt_optimize even for
      	-fsanitize=address.
      	* gimple.c (nonfreeing_call_p): Return true for non-ECF_LEAF
      	internal calls.
      
      Co-Authored-By: default avatarMarek Polacek <polacek@redhat.com>
      
      From-SVN: r217581
      ab9a4330
    • Alan Lawrence's avatar
      [Vectorizer] Tidy up vect_create_epilog / use_scalar_result · 18d11814
      Alan Lawrence authored
      	* tree-vect-loop.c (vect_create_epilog_for_reduction): Move code for
      	'if (extract_scalar_result)' to the only place that it is true.
      
      From-SVN: r217580
      18d11814
    • Jakub Jelinek's avatar
      e.54.2.c (main): Use N / 8 instead of 32 as block_size. · b1bf6c52
      Jakub Jelinek authored
      	* libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
      	of 32 as block_size.
      	* libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
      	instead of 32 as block_size.
      
      From-SVN: r217579
      b1bf6c52
Loading