- 17 Nov, 2014 31 commits
-
-
* cgraph.c (symbol_table::create_edge): Use opt_for_fn. (cgraph_node::cannot_return_p): Likewise. (cgraph_edge::cannot_lead_to_return_p): Likewise. (cgraph_edge::maybe_hot_p): Likewise. From-SVN: r217667
Jan Hubicka committed -
* predict.c (maybe_hot_frequency_p): Use opt_for_fn. (optimize_function_for_size_p): Likewise. (probably_never_executed): Likewise; replace cfun by fun. From-SVN: r217666
Jan Hubicka committed -
gcc/: * config/aarch64/aarch64-simd.md (aarch64_simd_vec_set<mode>): Add variant reading from memory and assembling to ld1. * config/aarch64/arm_neon.h (vld1_lane_f32, vld1_lane_f64, vld1_lane_p8, vld1_lane_p16, vld1_lane_s8, vld1_lane_s16, vld1_lane_s32, vld1_lane_s64, vld1_lane_u8, vld1_lane_u16, vld1_lane_u32, vld1_lane_u64, vld1q_lane_f32, vld1q_lane_f64, vld1q_lane_p8, vld1q_lane_p16, vld1q_lane_s8, vld1q_lane_s16, vld1q_lane_s32, vld1q_lane_s64, vld1q_lane_u8, vld1q_lane_u16, vld1q_lane_u32, vld1q_lane_u64): Replace asm with vset_lane and pointer dereference. gcc/testsuite/: * gcc.target/aarch64/vld1_lane.c: New test. From-SVN: r217665
Alan Lawrence committed -
From-SVN: r217664
Jason Merrill committed -
C++14 constexpr support (minus loops and multiple returns) gcc/ * tree-inline.c (copy_fn): New. * tree-inline.h: Declare it. gcc/cp/ * constexpr.c (use_new_call): New macro. (build_data_member_initialization): Ignore non-mem-inits. (check_constexpr_bind_expr_vars): Remove C++14 checks. (constexpr_fn_retval): Likewise. (check_constexpr_ctor_body): Do nothing in C++14. (massage_constexpr_body): In C++14 only collect mem-inits. (get_function_named_in_call): Handle null CALL_EXPR_FN. (cxx_bind_parameters_in_call): Build bindings in same order as parameters. Don't treat iniviref parms specially in new call mode. (cxx_eval_call_expression): If use_new_call, do constexpr expansion based on DECL_SAVED_TREE rather than the massaged constexpr body. Set up ctx->object from AGGR_INIT_EXPR_SLOT if we don't have one. (is_sub_constant_expr): Don't mess with ctx.ctor here. (cxx_eval_component_reference): A null element means we're mid- initialization. (cxx_eval_store_expression, cxx_eval_increment_expression): New. (cxx_eval_constant_expression): Handle RESULT_DECL, DECL_EXPR, MODIFY_EXPR, STATEMENT_LIST, BIND_EXPR, USING_STMT, PREINCREMENT_EXPR, POSTINCREMENT_EXPR, PREDECREMENT_EXPR, POSTDECREMENT_EXPR. Don't look into DECL_INITIAL of variables in constexpr functions. In new-call mode find parms in the values table. (potential_constant_expression_1): Handle null CALL_EXPR_FN. Handle STATEMENT_LIST, MODIFY_EXPR, MODOP_EXPR, IF_STMT, PREINCREMENT_EXPR, POSTINCREMENT_EXPR, PREDECREMENT_EXPR, POSTDECREMENT_EXPR, BIND_EXPR, WITH_CLEANUP_EXPR, CLEANUP_POINT_EXPR, MUST_NOT_THROW_EXPR, TRY_CATCH_EXPR, EH_SPEC_BLOCK, EXPR_STMT, DECL_EXPR, CASE_LABEL_EXPR, BREAK_STMT, CONTINUE_STMT, USING_STMT, IF_STMT, DO_STMT, FOR_STMT, WHILE_STMT, SWITCH_STMT, ASM_EXPR. (cxx_eval_vec_init_1): Call build_aggr_init_expr. (cxx_eval_indirect_ref): Don't return a CONSTRUCTOR when the caller wants an lvalue. (cxx_eval_outermost_constant_expr): Pull object out of AGGR_INIT_EXPR. (maybe_constant_init): Look through INIT_EXPR. (ensure_literal_type_for_constexpr_object): Set cp_function_chain->invalid_constexpr. * cp-tree.h (struct language_function): Add invalid_constexpr bitfield. * decl.c (start_decl): Set cp_function_chain->invalid_constexpr. (check_for_uninitialized_const_var): Likewise. (maybe_save_function_definition): Check it. * parser.c (cp_parser_jump_statement): Set cp_function_chain->invalid_constexpr. (cp_parser_asm_definition): Likewise. From-SVN: r217663
Jason Merrill committed -
gcc/: * config/aarch64/aarch64-builtins.c (TYPES_CREATE): Remove. * config/aarch64/aarch64-simd-builtins.def (create): Remove. * config/aarch64/aarch64-simd.md (aarch64_create<mode>): Remove. * config/aarch64/arm_neon.h (vcreate_f64, vreinterpret_f64_s64, vreinterpret_f64_u64): Replace __builtin_aarch64_createv1df with C casts. * config/aarch64/iterators.md (VD1): Remove. gcc/testsuite/: * gcc.target/aarch64/simd/vfma_f64.c: Add asm volatile memory. * gcc.target/aarch64/simd/vfms_f64.c: Likewise. From-SVN: r217662
Alan Lawrence committed -
* config/aarch64/aarch64-cores.def (cortex-a53): Remove AARCH64_FL_CRYPTO from feature flags. (cortex-a57): Likewise. (cortex-a57.cortex-a53): Likewise. From-SVN: r217661
Kyrylo Tkachov committed -
PR c++/52282 * decl.c (build_ptrmemfunc_type): Don't build a different RECORD_TYPE for a qualified PMF. * cp-tree.h (TYPE_PTRMEMFUNC_FN_TYPE): Merge cv-quals. (TYPE_PTRMEMFUNC_FN_TYPE_RAW): New. * decl2.c (cplus_decl_attributes): Use TYPE_PTRMEMFUNC_FN_TYPE_RAW. * tree.c (cp_walk_subtrees): Likewise. (cp_build_qualified_type_real): Remove special PMF handling. From-SVN: r217660
Jason Merrill committed -
* tree.c (free_lang_data_in_decl): Annotate all functio nbodies with DECL_FUNCTION_SPECIFIC_TARGET. * i386.c (ix86_set_current_function): Handle explicit default options. * lto.c (lto_read_decls): Do not rebuild DECL_FUNCTION_SPECIFIC_TARGET. From-SVN: r217659
Jan Hubicka committed -
* builtins.c (expand_builtin_memcpy_with_bounds): Use target hook instead of BNDmode. (expand_builtin_mempcpy_with_bounds): Likewise. (expand_builtin_memset_with_bounds): Likewise. From-SVN: r217658
Ilya Enkovich committed -
gcc/ * tree-ssa-strlen.c: include ipa-chkp.h, cgraph.h, ipa-ref.h, plugin-api.h. (get_string_length): Handle calls with bounds. (adjust_last_stmt): Likewise. (handle_builtin_strchr): Likewise. (handle_builtin_strcpy): Likewise. (handle_builtin_memcpy): Likewise. (handle_builtin_strcat): Likewise. gcc/testsuite/ * gcc.target/i386/chkp-strlen-1.c: New. * gcc.target/i386/chkp-strlen-2.c: New. * gcc.target/i386/chkp-strlen-3.c: New. * gcc.target/i386/chkp-strlen-4.c: New. * gcc.target/i386/chkp-strlen-5.c: New. From-SVN: r217657
Ilya Enkovich committed -
gcc/ * tree-chkp-opt.c (chkp_get_nobnd_fndecl): New. (chkp_get_nochk_fndecl): New. (chkp_optimize_string_function_calls): New. (chkp_opt_execute): Call chkp_optimize_string_function_calls. * tree-cfg.h (insert_cond_bb): New. * tree-cfg.c (insert_cond_bb): New. gcc/testsuite/ * gcc.target/i386/chkp-stropt-1.c: New. * gcc.target/i386/chkp-stropt-2.c: New. * gcc.target/i386/chkp-stropt-3.c: New. * gcc.target/i386/chkp-stropt-4.c: New. * gcc.target/i386/chkp-stropt-5.c: New. * gcc.target/i386/chkp-stropt-6.c: New. * gcc.target/i386/chkp-stropt-7.c: New. * gcc.target/i386/chkp-stropt-8.c: New. * gcc.target/i386/chkp-stropt-9.c: New. * gcc.target/i386/chkp-stropt-10.c: New. * gcc.target/i386/chkp-stropt-11.c: New. * gcc.target/i386/chkp-stropt-12.c: New. * gcc.target/i386/chkp-stropt-13.c: New. * gcc.target/i386/chkp-stropt-14.c: New. * gcc.target/i386/chkp-stropt-15.c: New. * gcc.target/i386/chkp-stropt-16.c: New. From-SVN: r217656
Ilya Enkovich committed -
tree-core.h (built_in_class): Add builtin codes to be used by Pointer Bounds Checker for instrumented builtin... * tree-core.h (built_in_class): Add builtin codes to be used by Pointer Bounds Checker for instrumented builtin functions. * tree-streamer-in.c: Include ipa-chkp.h. (streamer_get_builtin_tree): Created instrumented decl if required. * ipa-chkp.h (chkp_maybe_clone_builtin_fndecl): New. * ipa-chkp.c (chkp_build_instrumented_fndecl): Support builtin function decls. (chkp_maybe_clone_builtin_fndecl): New. (chkp_maybe_create_clone): Support builtin function decls. (chkp_versioning): Clone builtin functions. * tree-chkp.c (chkp_instrument_normal_builtin): New. (chkp_add_bounds_to_call_stmt): Support builtin functions. (chkp_replace_function_pointer): Likewise. * builtins.c (expand_builtin_memcpy_args): New. (expand_builtin_memcpy): Call expand_builtin_memcpy_args. (expand_builtin_memcpy_with_bounds): New. (expand_builtin_mempcpy_with_bounds): New. (expand_builtin_mempcpy_args): Add orig_exp arg. Support BUILT_IN_CHKP_MEMCPY_NOBND_NOCHK (expand_builtin_memset_with_bounds): New. (expand_builtin_memset_args): Support BUILT_IN_CHKP_MEMSET_NOBND_NOCHK. (expand_builtin_with_bounds): New. * builtins.h (expand_builtin_with_bounds): New. * expr.c (expand_expr_real_1): Support instrumented builtin calls. From-SVN: r217655
Ilya Enkovich committed -
* g++.dg/ipa/pr63894.C (new): Replace unsigned long with __SIZE_TYPE__. From-SVN: r217654
H.J. Lu committed -
gcc/ChangeLog: * gimple.h (gimple_set_visited, gimple_visited_p) (gimple_set_plf, gimple_plf, gimple_set_uid, gimple_uid): Add more comments to these accessors. Signed-off-by: Dodji Seketeli <dodji@redhat.com> From-SVN: r217653
Dodji Seketeli committed -
2014-11-17 Richard Biener <rguenther@suse.de> PR middle-end/63898 PR middle-end/63883 * gfortran.dg/pr63883.f90: New testcase. From-SVN: r217652
Richard Biener committed -
* config/avr/avr-log.c (avr_log_set_avr_log) [TARGET_ALL_DEBUG]: Set avr_log_details to "all". From-SVN: r217651
Georg-Johann Lay committed -
2014-11-17 Richard Biener <rguenther@suse.de> PR middle-end/63898 * match.pd: Guard X / CST -> X * CST' transform against zero CST. From-SVN: r217650
Richard Biener committed -
* MAINTAINERS (Various Maintainers): Added myself as line map maintainer. * ChangeLog: Update this. Signed-off-by: Dodji Seketeli <dodji@redhat.com> From-SVN: r217649
Dodji Seketeli committed -
2014-11-17 Markus Trippelsdorf <markus@trippelsdorf.de> PR ipa/63894 * g++.dg/ipa/pr63894.C: New test. From-SVN: r217648
Markus Trippelsdorf committed -
gcc/ 2014-11-17 Terry Guo <terry.guo@arm.com> * config/arm/thumb1.md (*addsi3_cbranch_scratch): Updated to UAL format. gcc/testsuite/ 2014-11-17 Terry Guo <terry.guo@arm.com> * gcc.target/arm/thumb1-ual-1.c: New test. From-SVN: r217647
Terry Guo committed -
2014-11-17 Zhenqiang Chen <zhenqiang.chen@arm.com> * ifcvt.c (HAVE_cbranchcc4): Define. (noce_emit_cmove, noce_get_alt_condition, noce_get_condition): Use HAVE_cbranchcc4. From-SVN: r217646
Zhenqiang Chen committed -
2014-11-17 Zhenqiang Chen <zhenqiang.chen@linaro.org> * config/aarch64/aarch64.c (aarch64_code_to_ccmode, aarch64_convert_mode, aarch64_gen_ccmp_first, aarch64_gen_ccmp_next): New functions. (TARGET_GEN_CCMP_FIRST, TARGET_GEN_CCMP_NEXT): Define. From-SVN: r217645
Zhenqiang Chen committed -
2014-11-17 Zhenqiang Chen <zhenqiang.chen@linaro.org> * config/aarch64/aarch64-protos.h (aarch64_ccmp_mode_to_code): New. * aarch64.c (aarch64_nzcv_codes): New data. (aarch64_ccmp_mode_to_code): New. (aarch64_print_operand): Output nzcv. config/aarch64/aarch64.md (cbranchcc4, *ccmp_and, *ccmp_ior, cstorecc4): New patterns. (cstore<mode>4): Handle ccmp_cc_register. * config/aarch64/predicates.md (const0_operand): New. From-SVN: r217644
Zhenqiang Chen committed -
2014-11-17 Zhenqiang Chen <zhenqiang.chen@linaro.org> * config/aarch64/aarch64-modes.def: Define ccmp CC mode. * config/aarch64/aarch64.c (aarch64_get_condition_code_1): New function extacted from aarch64_get_condition_code. (aarch64_get_condition_code): Call aarch64_get_condition_code_1. config/aarch64/predicates.md (ccmp_cc_register): New predicate. From-SVN: r217643
Zhenqiang Chen committed -
2014-11-17 Zhenqiang Chen <zhenqiang.chen@linaro.org> * config/aarch64/constraints.md (Usn, aarch64_ccmp_immediate, aarch64_ccmp_operand): New constraints. From-SVN: r217642
Zhenqiang Chen committed -
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 9 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
-