- 17 Nov, 2014 5 commits
-
-
2014-11-17 Zhenqiang Chen <zhenqiang.chen@linaro.org> * Makefile.in: Add ccmp.o. * ccmp.c: New file. * ccmp.h: New file. * expr.c: include "ccmp.h" (expand_cond_expr_using_cmove): Handle VOIDmode. (expand_expr_real_1): Try to expand ccmp. From-SVN: r217641
Zhenqiang Chen committed -
2014-11-17 Zhenqiang Chen <zhenqiang.chen@linaro.org> * cfgexpand.c (expand_gimple_cond): Check ccmp. * expmed.c (emit_cstore): Make it global. * expmed.h: #include "insn-codes.h" (emit_cstore): New prototype. * expr.c (expand_operands): Make it global. * expr.h (expand_operands): New prototype. * optabs.c (get_rtx_code): Make it global. * optabs.h (get_rtx_code): New prototype. From-SVN: r217640
Zhenqiang Chen committed -
2014-11-17 Zhenqiang Chen <zhenqiang.chen@linaor.org> * target.def (gen_ccmp_first, gen_ccmp_first): Add two new hooks. * doc/tm.texi.in (TARGET_GEN_CCMP_FIRST, TARGET_GEN_CCMP_NEXT): New. * doc/tm.texi (TARGET_GEN_CCMP_FIRST, TARGET_GEN_CCMP_NEXT): New. From-SVN: r217639
Zhenqiang Chen committed -
2014-11-16 Patrick Palka <ppalka@gcc.gnu.org> gcc/ PR middle-end/63790 * tree-ssa-forwprop.c (forward_propagate_into_comparison_1): Always combine comparisons or conversions from booleans. gcc/testsuite/ PR middle-end/63790 * gcc.dg/tree-ssa/pr21031.c: Drop XFAIL. * gcc.dg/tree-ssa/forwprop-29.c: New test. From-SVN: r217638
Patrick Palka committed -
From-SVN: r217637
GCC Administrator committed
-
- 16 Nov, 2014 11 commits
-
-
(ipa_polymorphic_call_context::speculation_consistent_p): Constify. (ipa_polymorphic_call_context::meet_speculation_with): New function. (ipa_polymorphic_call_context::combine_with): Handle types in construction better. (ipa_polymorphic_call_context::equal_to): Do not bother about useless speculation. (ipa_polymorphic_call_context::meet_with): New function. * cgraph.h (class ipa_polymorphic_call_context): Add meet_width, meet_speculation_with; constify speculation_consistent_p. * ipa-cp.c (ipa_context_from_jfunc): Handle speculation; combine with incomming context. (propagate_context_accross_jump_function): Likewise; be more cureful. about set_contains_variable. (ipa_get_indirect_edge_target_1): Fix handling of dynamic type changes. (find_more_scalar_values_for_callers_subset): Fix. (find_more_contexts_for_caller_subset): Perform meet operation. From-SVN: r217634
Jan Hubicka committed -
* passes.c (execute_one_pass): Do not apply all transforms prior every simple IPA pass. * cgraphunit.c: Do not include fibheap.h (expand_thunk): Use get_untransformed_body. (cgraph_node::expand): Likewise. * tree-ssa-structalias.c (ipa_pta_execute): Skip inline clones. * cgraph.c (release_function_body): Do not push cfun when CFG is not there. (cgraph_node::get_untransformed_body): Break out from ... (cgraph_node::get_body): ... here; add code to apply all transforms. * cgraph.h (cgraph_node): Add get_untransformed_body. * ipa-icf.c (sem_function::init): Use get_untransformed_body. * cgraphclones.c (duplicate_thunk_for_node): Likewise. * tree-inline.c (expand_call_inline): LIkewise. * i386.c (ix86_reset_to_default_globals): Break out from ... (ix86_set_current_function): ... here; (ix86_reset_previous_fndecl): Use it. (ix86_simd_clone_adjust): Use ix86_reset_previous_fndecl. From-SVN: r217633
Jan Hubicka committed -
From-SVN: r217632
Uros Bizjak committed -
2014-11-16 Jan-Benedict Glaw <jbglaw@lug-owl.de> * move-if-change: Sync from upstream gnulib. From-SVN: r217631
Jan-Benedict Glaw committed -
* doc/tm.texi.in (TARGET_FLAGS_REGNUM): Move around. * doc/tm.texi: Regenerate. From-SVN: r217628
Eric Botcazou committed -
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
Jan-Benedict Glaw committed -
* 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
Uros Bizjak committed -
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
Andrew Pinski committed -
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
Vladimir Makarov committed -
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
Janne Blomqvist committed -
From-SVN: r217622
GCC Administrator committed
-
- 15 Nov, 2014 20 commits
-
-
2014-11-16 Jan-Benedict Glaw <jbglaw@lug-owl.de> * config.sub: Update from upstream config repo. * config.guess: Ditto. From-SVN: r217619
Jan-Benedict Glaw committed -
* parser.c (cp_parser_omp_declare_reduction_exprs): A block is not an expression. From-SVN: r217618
Jason Merrill committed -
* constexpr.c (cxx_eval_builtin_function_call): Use fold_builtin_call_array. From-SVN: r217617
Jason Merrill committed -
From-SVN: r217616
Jason Merrill committed -
* g++.dg/guality/guality.exp (check_guality): Fix `test_counts' restoration. From-SVN: r217615
Maciej W. Rozycki committed -
* 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
Adhemerval Zanella committed -
* gcc.target/i386/sibcall-1.c: Don't run on x32 targets, instead of run on ia32 targets. From-SVN: r217613
H.J. Lu committed -
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
Marek Polacek committed -
PR target/60104 * gcc.target/i386/sibcall-1.c: Don't run on pic targets. From-SVN: r217611
Francois-Xavier Coudert committed -
2014-11-15 Vladimir Makarov <vmakarov@redhat.com> * lra.c (lra): Switch off rematerialization pass. From-SVN: r217609
Vladimir Makarov committed -
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
Marc Glisse committed -
* 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
Jan Hubicka committed -
From-SVN: r217606
Francois-Xavier Coudert committed -
* gcc.dg/pubtypes-3.c: Include <string.h>. * gcc.dg/pubtypes-4.c: Likewise. From-SVN: r217605
Francois-Xavier Coudert committed -
From-SVN: r217604
Mircea Namolaru committed -
From-SVN: r217603
Francois-Xavier Coudert committed -
* 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
Eric Botcazou committed -
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
Eric Botcazou committed -
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
Tobias Burnus committed -
From-SVN: r217599
GCC Administrator committed
-
- 14 Nov, 2014 4 commits
-
-
* ipa-prop.h (ipa_known_type_data): Remove. (ipa_binfo_from_known_type_jfunc): Remove. From-SVN: r217596
Jan Hubicka committed -
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
Andrew Pinski committed -
[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
Michael Meissner committed -
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
Martin Jambor committed
-