summaryrefslogtreecommitdiff
path: root/gcc/ipa-prop.c
Commit message (Collapse)AuthorAgeFilesLines
* ipa-prop.c: Use gassignDavid Malcolm2014-11-051-24/+26
| | | | | | | | | | | | | | | | gcc/ChangeLog.gimple-classes: * ipa-prop.c (stmt_may_be_vtbl_ptr_store): Replace is_gimple_assign with dyn_cast, introducing local gassign * "assign_stmt" and using it in place of "stmt" for typesafety. (load_from_unmodified_param): Use "assign" rather than "stmt" for typesafety. (compute_complex_assign_jump_func): Strengthen param "stmt" from gimple to gassign *. (ipa_compute_jump_functions_for_edge): Add checked cast. (ipa_analyze_indirect_call_uses): Capture result of gimple_assign_single_p as new local "def_assign", using it in place of "def" for typesafety. Similarly, replace is_gimple_assign with a dyn_cast, using it in place of "def".
* Add casting variants of various gimple_assign_*_p functionsDavid Malcolm2014-10-311-16/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use them to provide various gimple_assign_ accessors with gassign * rather than plain gimple. gcc/ChangeLog.gimple-classes: * gimple.h (is_a_helper <const gassign *>::test): New. (gimple_assign_copy_p): Update return type from bool to gassign *, returning GS if the predicate holds. (gimple_assign_ssa_name_copy_p): Likewise. (gimple_assign_single_p): Likewise for new non-const overload. (gimple_assign_load_p): Likewise. (gimple_assign_cast_p): Introduce local "assign" via dyn_cast, using it in place of "s" for typesafety. (gimple_clobber_p): Introduce local "assign" via call to gimple_assign_single_p, using it in place of "s" for typesafety. * asan.c (maybe_instrument_assignment): Strengthen local "s" from gimple to gassign * via a checked cast. * gimple-walk.c (walk_stmt_load_store_addr_ops): Introduce local "assign" via call to gimple_assign_single_p, using it in place of "stmt" for typesafety. * gimple.c (gimple_assign_copy_p): Update return type from bool to gassign *, returning GS if the predicate holds. (gimple_assign_ssa_name_copy_p): Likewise. * ipa-polymorphic-call.c (extr_type_from_vtbl_ptr_store): Likewise, replacing local "stmt". * ipa-prop.c (extr_type_from_vtbl_ptr_store): Likewise. (load_from_unmodified_param): Likewise. (get_ancestor_addr_info): Rename gimple param "assign" to "stmt", reintroducing name "assign" as a gassign * via a call to gimple_assign_single_p. (get_ssa_def_if_simple_copy): Introduce local "assign" via call to gimple_assign_single_p, using it in place of "def_stmt" for typesafety. (determine_locally_known_aggregate_parts): Likewise for "stmt". (ipa_get_stmt_member_ptr_load_param): Likewise. (ipcp_modif_dom_walker::before_dom_children): Strengthen local "stmt" from gimple to gassign * via use of gimple_assign_load_p. * tree-if-conv.c (ifcvt_can_use_mask_load_store): Introduce local "assign" via call to gimple_assign_single_p, using it in place of "stmt" for typesafety. (predicate_mem_writes): Strengthen local "stmt" from gimple to gassign * via use of gimple_assign_single_p. * tree-inline.c (remap_gimple_stmt): Introduce local "assign" via call to gimple_assign_copy_p, using it in place of "stmt" for typesafety. * tree-nrv.c (pass_nrv::execute): Likewise. * tree-ssa-ccp.c (insert_clobber_before_stack_restore): Likewise via call to gimple_assign_ssa_name_copy_p. * tree-ssa-copyrename.c (pass_rename_ssa_copies::execute): Likewise. * tree-ssa-loop-niter.c (get_val_for): Likewise. * tree-vect-stmts.c (exist_non_indexing_operands_for_use_p): Likewise via call to gimple_assign_copy_p.
* Use gassign * rather than gimple in various placesDavid Malcolm2014-10-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use gassign * everywhere that a stmt is built from a gimple_build_assign_* call, to ease making the gimple_assign_ accessors typesafe (and to better document the code). gcc/ChangeLog.gimple-classes: * asan.c (build_shadow_mem_access): Strengthen local "g" from gimple to gassign *. (maybe_create_ssa_name): Likewise. (maybe_cast_to_ptrmode): Likewise. (instrument_mem_region_access): Likewise. * cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Likewise for local "set_stmt". * cgraphunit.c (cgraph_node::expand_thunk): Likewise for locals "stmt". * gimple-fold.c (gimplify_and_update_call_from_tree): Likewise for local "new_stmt". (gimple_fold_builtin_memory_op): Likewise for both "new_stmt" and for locals "repl". (gimple_fold_builtin_memset): Likewise for "store". (gimple_fold_builtin_memset): Likewise for "asgn". * gimple-match-head.c (maybe_push_res_to_seq): Likewise for "new_stmt". * gimplify.c (gimplify_bind_expr): Likewise for "clobber_stmt". * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_dependence): Likewise for "name_stmt". * ipa-prop.c (ipa_modify_call_arguments): Likewise. for "tem". * ipa-split.c (split_function): Likewise for "cpy". * predict.c (pass_strip_predict_hints::execute): Likewise for "ass_stmt". * trans-mem.c (tm_log_emit_saves): Likewise for "stmt". (tm_log_emit_restores): Likewise. (build_tm_load): Likewise for "g". (build_tm_store): Likewise. * tree-call-cdce.c (gen_conditions_for_pow_int_base): Likewise for "stmt1". Strengthen local "stmt2" from gimple to gcond *. * tree-cfg.c (make_blocks): Strengthen local "s" from gimple to gassign *. (handle_abnormal_edges): Likewise for "assignment". * tree-emutls.c (lower_emutls_1): Likewise for "x". * tree-if-conv.c (ifc_temp_var): Likewise for "stmt". (convert_scalar_cond_reduction): Likewise for "new_assign". (predicate_scalar_phi): Likewise for "new_stmt". * tree-inline.c (remap_ssa_name): Likewise for "init_stmt". (copy_bb): Likewise for "new_stmt". (setup_one_parameter): Likewise for "init_stmt". * tree-loop-distribution.c (generate_memset_builtin): Likewise for "cstmt". * tree-nested.c (init_tmp_var): Likewise for "stmt". (save_tmp_var): Likewise. * tree-parloops.c (create_loads_for_reductions): Likewise. (create_final_loads_for_reduction): Likewise. (create_stores_for_reduction): Likewise. (create_loads_and_stores_for_name): Likewise. * tree-ssa-dse.c (dse_optimize_stmt): Likewise for "new_stmt". * tree-ssa-forwprop.c (associate_pointerplus): Likewise for "ostmt". * tree-ssa-loop-im.c (sm_set_flag_if_changed::operator): Likewise for "stmt". * tree-ssa-math-opts.c (execute_cse_sincos_1): Eliminate local "stmt", splitting its users into new local gcall * "call_stmt" and gassign * "assign_stmt". (build_and_insert_ref): Strengthen local "stmt" from gimple to gassign *. (bswap_replace): Likewise for "load_stmt", "addr_stmt", "convert_stmt". * tree-ssa-phiopt.c (neg_replacement): Likewise for "new_stmt". * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Likewise for "stmt". * tree-ssa-reassoc.c (optimize_range_tests_to_bit_test): Likewise for "g". * tree-ssa-strlen.c (get_string_length): ELiminate local "lenstmt", splitting its users into new local gcall * "call_stmt" and gassign * "assign_stmt". (handle_builtin_memset): Strengthen local "assign" from gimple to gassign *. * tree-switch-conversion.c (build_one_array): Likewise for "load". (build_arrays): Likewise for "stmt". * tree-vect-data-refs.c (vect_create_data_ref_ptr): Likewise for "vec_stmt". (vect_permute_store_chain): Likewise for "perm_stmt". (vect_permute_load_chain): Likewise. (vect_shift_permute_load_chain): Likewise. * tree-vect-generic.c (expand_vector_divmod): Likewise for "stmt". (vector_element): Likewise for "asgn". * tree-vect-loop-manip.c (vect_create_cond_for_align_checks): Likewise for "and_stmt". (vect_create_cond_for_align_checks): Likewise for "addr_stmt" and "or_stmt". * tree-vect-loop.c (vect_is_simple_reduction_1): Likewise for "negate_stmt". (get_initial_def_for_induction): Likewise for "init_stmt" and "new_stmt". (vectorizable_reduction): Likewise for "new_stmt". * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Likewise for "pattern_stmt". (vect_recog_sad_pattern): Likewise. (vect_recog_widen_mult_pattern): Likewise for "new_stmt", "pattern_stmt". (vect_recog_widen_sum_pattern): Likewise for "pattern_stmt". (vect_recog_over_widening_pattern): Likewise. (vect_recog_widen_shift_pattern): Likewise. * tree-vect-slp.c (vect_get_constant_vectors): Likewise for "init_stmt". (vect_create_mask_and_perm): Likewise for "perm_stmt". (vect_schedule_slp_instance): Likewise for "new_stmt". * tree-vect-stmts.c (read_vector_array): Likewise. (write_vector_array): Likewise. (vect_init_vector): Likewise for "init_stmt". (vectorizable_call): Likewise. * tree-vrp.c (simplify_internal_call_using_ranges): Likewise for "g". * tsan.c (instrument_expr): Split local gimple "g" into more tightly-scoped locals, two of type gassign *, one of gcall *.
* Merge branch 'master' r216157-r216746 into 'gimple-classes'David Malcolm2014-10-281-0/+11
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | Merger of changes on trunk from r216157 (2014-10-13) to r216746 (2014-10-27) into the branch. This does not yet compile. I'll fix that in a followup patch to make it easier to see those changes. Conflicts: gcc/builtins.h gcc/tree-ssa-loop-ivcanon.c gcc/value-prof.c gcc/value-prof.h
| * 2014-10-27 Andrew MacLeod <amacleod@redhat.com>amacleod2014-10-271-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * testsuite/gcc.dg/plugin/ggcplug.c: Shuffle includes to include gcc-plugin.h earlier. 2014-10-27 Andrew MacLeod <amacleod@redhat.com> * c/c-typeck.c: Adjust include files. 2014-10-27 Andrew MacLeod <amacleod@redhat.com> * c-family/c-gimplify.c: Adjust include files. 2014-10-27 Andrew MacLeod <amacleod@redhat.com> * cp/cp-gimplify.c: Adjust include files. 2014-10-27 Andrew MacLeod <amacleod@redhat.com> * go/go-gcc.cc: Adjust include files. * go/go-lang.c: Ditto. 2014-10-27 Andrew MacLeod <amacleod@redhat.com> * java/java-gimplify.c: Adjust include files. 2014-10-27 Andrew MacLeod <amacleod@redhat.com> * lto/lto-lang.c: Adjust include files. * lto/lto-object.c: Ditto. * lto/lto-partition.c: Ditto. * lto/lto-symtab.c: Ditto. * lto/lto.c: Ditto. 2014-10-27 Andrew MacLeod <amacleod@redhat.com> * basic-block.h: Remove all includes. (enum profile_status_d, struct control_flow_graph): Move to cfg.h * cfg.h (profile_status_d, struct control_flow_graph): Relocate here. * Makefile.in (GTFILES): Add cfg.h to list. * cgraph.h (symbol_table::create_empty): Move to cgraph.c. * cgraph.c (symbol_table::create_empty): Relocate from cgraph.h. * genconditions.c (write_header): Add predict.h and basic-block.h to lits of includes. * genemit.c (main): Ditto. * genpreds.c (write_insn_preds_c): Ditto. * genrecog.c (write_header): Ditto. * gengtype.c (open_base_files): Add predict.h, basic-block.h, and cfg.h to list of includes. * alias.c: Adjust include files. * asan.c: Ditto. * auto-inc-dec.c: Ditto. * auto-profile.c: Ditto. * bb-reorder.c: Ditto. * bt-load.c: Ditto. * builtins.c: Ditto. * caller-save.c: Ditto. * calls.c: Ditto. * cfg.c: Ditto. * cfganal.c: Ditto. * cfgbuild.c: Ditto. * cfgcleanup.c: Ditto. * cfgexpand.c: Ditto. * cfghooks.c: Ditto. * cfgloop.c: Ditto. * cfgloopanal.c: Ditto. * cfgloopmanip.c: Ditto. * cfgrtl.c: Ditto. * cgraphbuild.c: Ditto. * cgraphclones.c: Ditto. * cgraphunit.c: Ditto. * combine-stack-adj.c: Ditto. * combine.c: Ditto. * compare-elim.c: Ditto. * coverage.c: Ditto. * cprop.c: Ditto. * cse.c: Ditto. * cselib.c: Ditto. * data-streamer-in.c: Ditto. * data-streamer-out.c: Ditto. * data-streamer.c: Ditto. * dce.c: Ditto. * ddg.c: Ditto. * ddg.h: Ditto. * df-core.c: Ditto. * df-problems.c: Ditto. * df-scan.c: Ditto. * df.h: Ditto. * dojump.c: Ditto. * dominance.c: Ditto. * domwalk.c: Ditto. * dse.c: Ditto. * dwarf2cfi.c: Ditto. * emit-rtl.c: Ditto. * et-forest.c: Ditto. * except.c: Ditto. * expmed.c: Ditto. * expr.c: Ditto. * final.c: Ditto. * fold-const.c: Ditto. * function.c: Ditto. * fwprop.c: Ditto. * gcc-plugin.h: Ditto. * gcse.c: Ditto. * generic-match-head.c: Ditto. * ggc-page.c: Ditto. * gimple-builder.c: Ditto. * gimple-expr.c: Ditto. * gimple-fold.c: Ditto. * gimple-iterator.c: Ditto. * gimple-low.c: Ditto. * gimple-match-head.c: Ditto. * gimple-pretty-print.c: Ditto. * gimple-ssa-isolate-paths.c: Ditto. * gimple-ssa-strength-reduction.c: Ditto. * gimple-streamer-in.c: Ditto. * gimple-streamer-out.c: Ditto. * gimple-streamer.h: Ditto. * gimple-walk.c: Ditto. * gimple.c: Ditto. * gimplify-me.c: Ditto. * gimplify.c: Ditto. * graph.c: Ditto. * graphite-blocking.c: Ditto. * graphite-clast-to-gimple.c: Ditto. * graphite-dependences.c: Ditto. * graphite-interchange.c: Ditto. * graphite-isl-ast-to-gimple.c: Ditto. * graphite-optimize-isl.c: Ditto. * graphite-poly.c: Ditto. * graphite-scop-detection.c: Ditto. * graphite-sese-to-poly.c: Ditto. * graphite.c: Ditto. * haifa-sched.c: Ditto. * hw-doloop.c: Ditto. * ifcvt.c: Ditto. * init-regs.c: Ditto. * internal-fn.c: Ditto. * ipa-cp.c: Ditto. * ipa-devirt.c: Ditto. * ipa-icf-gimple.c: Ditto. * ipa-icf.c: Ditto. * ipa-inline-analysis.c: Ditto. * ipa-inline.c: Ditto. * ipa-polymorphic-call.c: Ditto. * ipa-profile.c: Ditto. * ipa-prop.c: Ditto. * ipa-pure-const.c: Ditto. * ipa-reference.c: Ditto. * ipa-split.c: Ditto. * ipa-utils.c: Ditto. * ipa.c: Ditto. * ira-build.c: Ditto. * ira-color.c: Ditto. * ira-conflicts.c: Ditto. * ira-costs.c: Ditto. * ira-emit.c: Ditto. * ira-lives.c: Ditto. * ira.c: Ditto. * jump.c: Ditto. * lcm.c: Ditto. * loop-doloop.c: Ditto. * loop-init.c: Ditto. * loop-invariant.c: Ditto. * loop-iv.c: Ditto. * loop-unroll.c: Ditto. * lower-subreg.c: Ditto. * lra-assigns.c: Ditto. * lra-coalesce.c: Ditto. * lra-constraints.c: Ditto. * lra-eliminations.c: Ditto. * lra-lives.c: Ditto. * lra-spills.c: Ditto. * lra.c: Ditto. * lto-cgraph.c: Ditto. * lto-compress.c: Ditto. * lto-opts.c: Ditto. * lto-section-in.c: Ditto. * lto-section-out.c: Ditto. * lto-streamer-in.c: Ditto. * lto-streamer-out.c: Ditto. * lto-streamer.c: Ditto. * mcf.c: Ditto. * mode-switching.c: Ditto. * modulo-sched.c: Ditto. * omp-low.c: Ditto. * optabs.c: Ditto. * opts-global.c: Ditto. * passes.c: Ditto. * postreload-gcse.c: Ditto. * postreload.c: Ditto. * predict.c: Ditto. * print-rtl.c: Ditto. * profile.c: Ditto. * recog.c: Ditto. * ree.c: Ditto. * reg-stack.c: Ditto. * regcprop.c: Ditto. * regcprop.h: Ditto. * reginfo.c: Ditto. * regrename.c: Ditto. * regstat.c: Ditto. * reload.c: Ditto. * reload1.c: Ditto. * reorg.c: Ditto. * resource.c: Ditto. * rtlanal.c: Ditto. * sched-deps.c: Ditto. * sched-ebb.c: Ditto. * sched-int.h: Ditto. * sched-rgn.c: Ditto. * sched-vis.c: Ditto. * sel-sched-dump.c: Ditto. * sel-sched-ir.c: Ditto. * sel-sched-ir.h: Ditto. * sel-sched.c: Ditto. * sese.c: Ditto. * shrink-wrap.c: Ditto. * stack-ptr-mod.c: Ditto. * stmt.c: Ditto. * store-motion.c: Ditto. * symtab.c: Ditto. * toplev.c: Ditto. * tracer.c: Ditto. * trans-mem.c: Ditto. * tree-affine.c: Ditto. * tree-call-cdce.c: Ditto. * tree-cfg.c: Ditto. * tree-cfgcleanup.c: Ditto. * tree-chrec.c: Ditto. * tree-complex.c: Ditto. * tree-data-ref.c: Ditto. * tree-dfa.c: Ditto. * tree-eh.c: Ditto. * tree-emutls.c: Ditto. * tree-if-conv.c: Ditto. * tree-inline.c: Ditto. * tree-into-ssa.c: Ditto. * tree-loop-distribution.c: Ditto. * tree-nested.c: Ditto. * tree-nrv.c: Ditto. * tree-object-size.c: Ditto. * tree-outof-ssa.c: Ditto. * tree-parloops.c: Ditto. * tree-phinodes.c: Ditto. * tree-predcom.c: Ditto. * tree-pretty-print.c: Ditto. * tree-profile.c: Ditto. * tree-scalar-evolution.c: Ditto. * tree-sra.c: Ditto. * tree-ssa-address.c: Ditto. * tree-ssa-alias.c: Ditto. * tree-ssa-ccp.c: Ditto. * tree-ssa-coalesce.c: Ditto. * tree-ssa-copy.c: Ditto. * tree-ssa-copyrename.c: Ditto. * tree-ssa-dce.c: Ditto. * tree-ssa-dom.c: Ditto. * tree-ssa-dse.c: Ditto. * tree-ssa-forwprop.c: Ditto. * tree-ssa-ifcombine.c: Ditto. * tree-ssa-live.c: Ditto. * tree-ssa-loop-ch.c: Ditto. * tree-ssa-loop-im.c: Ditto. * tree-ssa-loop-ivcanon.c: Ditto. * tree-ssa-loop-ivopts.c: Ditto. * tree-ssa-loop-manip.c: Ditto. * tree-ssa-loop-niter.c: Ditto. * tree-ssa-loop-prefetch.c: Ditto. * tree-ssa-loop-unswitch.c: Ditto. * tree-ssa-loop.c: Ditto. * tree-ssa-math-opts.c: Ditto. * tree-ssa-operands.c: Ditto. * tree-ssa-phiopt.c: Ditto. * tree-ssa-phiprop.c: Ditto. * tree-ssa-pre.c: Ditto. * tree-ssa-propagate.c: Ditto. * tree-ssa-reassoc.c: Ditto. * tree-ssa-sccvn.c: Ditto. * tree-ssa-sink.c: Ditto. * tree-ssa-strlen.c: Ditto. * tree-ssa-structalias.c: Ditto. * tree-ssa-tail-merge.c: Ditto. * tree-ssa-ter.c: Ditto. * tree-ssa-threadedge.c: Ditto. * tree-ssa-threadupdate.c: Ditto. * tree-ssa-uncprop.c: Ditto. * tree-ssa-uninit.c: Ditto. * tree-ssa.c: Ditto. * tree-ssanames.c: Ditto. * tree-stdarg.c: Ditto. * tree-streamer-in.c: Ditto. * tree-streamer-out.c: Ditto. * tree-streamer.c: Ditto. * tree-switch-conversion.c: Ditto. * tree-tailcall.c: Ditto. * tree-vect-data-refs.c: Ditto. * tree-vect-generic.c: Ditto. * tree-vect-loop-manip.c: Ditto. * tree-vect-loop.c: Ditto. * tree-vect-patterns.c: Ditto. * tree-vect-slp.c: Ditto. * tree-vect-stmts.c: Ditto. * tree-vectorizer.c: Ditto. * tree-vrp.c: Ditto. * tree.c: Ditto. * tsan.c: Ditto. * ubsan.c: Ditto. * valtrack.c: Ditto. * valtrack.h: Ditto. * value-prof.c: Ditto. * var-tracking.c: Ditto. * varasm.c: Ditto. * varpool.c: Ditto. * vtable-verify.c: Ditto. * web.c: Ditto. * config/aarch64/aarch64-builtins.c: Ditto. * config/aarch64/aarch64.c: Ditto. * config/alpha/alpha.c: Ditto. * config/arc/arc.c: Ditto. * config/arm/arm.c: Ditto. * config/avr/avr.c: Ditto. * config/bfin/bfin.c: Ditto. * config/c6x/c6x.c: Ditto. * config/cr16/cr16.c: Ditto. * config/cris/cris.c: Ditto. * config/darwin-c.c: Ditto. * config/darwin.c: Ditto. * config/epiphany/epiphany.c: Ditto. * config/epiphany/mode-switch-use.c: Ditto. * config/epiphany/resolve-sw-modes.c: Ditto. * config/fr30/fr30.c: Ditto. * config/frv/frv.c: Ditto. * config/h8300/h8300.c: Ditto. * config/i386/i386.c: Ditto. * config/i386/winnt.c: Ditto. * config/ia64/ia64.c: Ditto. * config/iq2000/iq2000.c: Ditto. * config/lm32/lm32.c: Ditto. * config/m32c/m32c.c: Ditto. * config/m32r/m32r.c: Ditto. * config/m68k/m68k.c: Ditto. * config/mcore/mcore.c: Ditto. * config/mep/mep.c: Ditto. * config/microblaze/microblaze.c: Ditto. * config/mips/mips.c: Ditto. * config/mmix/mmix.c: Ditto. * config/mn10300/mn10300.c: Ditto. * config/moxie/moxie.c: Ditto. * config/msp430/msp430.c: Ditto. * config/nds32/nds32-cost.c: Ditto. * config/nds32/nds32-fp-as-gp.c: Ditto. * config/nds32/nds32-intrinsic.c: Ditto. * config/nds32/nds32-isr.c: Ditto. * config/nds32/nds32-md-auxiliary.c: Ditto. * config/nds32/nds32-memory-manipulation.c: Ditto. * config/nds32/nds32-pipelines-auxiliary.c: Ditto. * config/nds32/nds32-predicates.c: Ditto. * config/nds32/nds32.c: Ditto. * config/nios2/nios2.c: Ditto. * config/pa/pa.c: Ditto. * config/pdp11/pdp11.c: Ditto. * config/rl78/rl78.c: Ditto. * config/rs6000/rs6000.c: Ditto. * config/rx/rx.c: Ditto. * config/s390/s390.c: Ditto. * config/sh/sh-mem.cc: Ditto. * config/sh/sh.c: Ditto. * config/sh/sh_optimize_sett_clrt.cc: Ditto. * config/sh/sh_treg_combine.cc: Ditto. * config/sparc/sparc.c: Ditto. * config/spu/spu.c: Ditto. * config/stormy16/stormy16.c: Ditto. * config/tilegx/tilegx.c: Ditto. * config/tilepro/tilepro.c: Ditto. * config/v850/v850.c: Ditto. * config/vax/vax.c: Ditto. * config/xtensa/xtensa.c: Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216735 138bc75d-0d04-0410-961f-82ee72b054a4
* | Automated renaming of gimple subclassesDavid Malcolm2014-10-271-16/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gcc/ Patch autogenerated by rename_gimple_subclasses.py from https://github.com/davidmalcolm/gcc-refactoring-scripts revision 7d754b63ff2bf47226a67b2c0af5d74b54d4709f * asan.c (get_mem_ref_of_assignment): Rename gimple subclass types. (instrument_strlen_call): Likewise. (instrument_builtin_call): Likewise. (has_mem_ref_been_instrumented): Likewise. (has_stmt_been_instrumented_p): Likewise. (create_cond_insert_point): Likewise. (asan_expand_check_ifn): Likewise. * builtins.c (validate_arg): Likewise. (do_mpc_arg2): Likewise. * builtins.h (validate_gimple_arglist): Likewise. (fold_call_stmt): Likewise. * cfgexpand.c (mark_transaction_restart_calls): Likewise. (expand_gimple_stmt): Likewise. (expand_asm_operands): Likewise. (label_rtx_for_bb): Likewise. (expand_gimple_stmt_1): Likewise. (maybe_cleanup_end_of_block): Likewise. (expand_gimple_basic_block): Likewise. * cfgloop.c (find_subloop_latch_edge_by_ivs): Likewise. * cfgloopmanip.c (create_empty_if_region_on_edge): Likewise. (create_empty_loop_on_edge): Likewise. * cgraph.c (cgraph_add_edge_to_call_site_hash): Likewise. (cgraph_allocate_init_indirect_info): Likewise. (cgraph_set_edge_callee): Likewise. (cgraph_update_edges_for_call_stmt_node): Likewise. * cgraph.h (set_call_stmt_including_clones): Likewise. (create_indirect_edge): Likewise. (create_edge_including_clones): Likewise. (set_call_stmt): Likewise. (redirect_call_stmt_to_callee): Likewise. (rebuild_references): Likewise. (create_edge): Likewise. * cgraphbuild.c (mark_store): Likewise. (record_references_in_initializer): Likewise. * cgraphclones.c (function): Likewise. (clone_function_name): Likewise. * cgraphunit.c (thunk_adjust): Likewise. * coretypes.h: Likewise. * expr.h (expand_normal): Likewise. * gimple-builder.c (get_expr_type): Likewise. (build_assign): Likewise. (build_type_cast): Likewise. * gimple-builder.h (build_assign): Likewise. (build_type_cast): Likewise. * gimple-fold.c (gimple_fold_builtin_snprintf_chk): Likewise. (gimple_fold_builtin_sprintf_chk): Likewise. (gimple_fold_builtin_snprintf): Likewise. (gimple_fold_builtin): Likewise. (gimple_fold_call): Likewise. (gimple_fold_stmt_to_constant_1): Likewise. (fold_gimple_assign): Likewise. (fold_stmt_1): Likewise. * gimple-iterator.c (gsi_commit_one_edge_insert): Likewise. (gsi_start_phis): Likewise. * gimple-iterator.h (gsi_commit_one_edge_insert): Likewise. (gimple_phi_iterator::phi): Likewise. * gimple-low.c (lower_try_catch): Likewise. (gimple_try_catch_may_fallthru): Likewise. (lower_gimple_bind): Likewise. (gimple_stmt_may_fallthru): Likewise. (struct return_statements_t): Likewise. (lower_gimple_return): Likewise. (lower_stmt): Likewise. * gimple-pretty-print.c (dump_gimple_omp_target): Likewise. (dump_gimple_omp_single): Likewise. (dump_gimple_omp_continue): Likewise. (dump_gimple_omp_teams): Likewise. (dump_gimple_omp_parallel): Likewise. (dump_gimple_phi): Likewise. (dump_gimple_debug): Likewise. (dump_gimple_omp_block): Likewise. (dump_gimple_omp_for): Likewise. (dump_gimple_omp_atomic_load): Likewise. (dump_gimple_omp_task): Likewise. (dump_gimple_bind): Likewise. (dump_ssaname_info): Likewise. (dump_phi_nodes): Likewise. (gimple_dump_bb_for_graph): Likewise. (dump_gimple_resx): Likewise. (dump_gimple_eh_else): Likewise. (dump_gimple_eh_must_not_throw): Likewise. (dump_gimple_eh_filter): Likewise. (dump_gimple_catch): Likewise. (dump_gimple_try): Likewise. (dump_gimple_goto): Likewise. (dump_gimple_assign): Likewise. (dump_gimple_omp_return): Likewise. (dump_gimple_return): Likewise. (pp_points_to_solution): Likewise. (dump_gimple_transaction): Likewise. (dump_gimple_fmt): Likewise. (dump_unary_rhs): Likewise. (dump_binary_rhs): Likewise. (dump_ternary_rhs): Likewise. (dump_gimple_call): Likewise. (dump_gimple_cond): Likewise. (pp_cfg_jump): Likewise. (dump_gimple_label): Likewise. (dump_gimple_eh_dispatch): Likewise. (dump_gimple_switch): Likewise. (pp_gimple_stmt_1): Likewise. * gimple-ssa-isolate-paths.c (isolate_path): Likewise. (find_implicit_erroneous_behaviour): Likewise. (find_explicit_erroneous_behaviour): Likewise. (insert_trap_and_remove_trailing_statements): Likewise. * gimple-ssa-strength-reduction.c (slsr_process_copy): Likewise. (add_cand_for_stmt): Likewise. (create_phi_basis): Likewise. (ncd_for_two_cands): Likewise. (ncd_with_phi): Likewise. (ncd_of_cand_and_phis): Likewise. (replace_mult_candidate): Likewise. (create_add_on_incoming_edge): Likewise. (insert_initializers): Likewise. (introduce_cast_before_cand): Likewise. (replace_one_candidate): Likewise. * gimple-streamer-in.c (input_phi): Likewise. (input_gimple_stmt): Likewise. * gimple-streamer-out.c (output_phi): Likewise. (output_bb): Likewise. (output_gimple_stmt): Likewise. * gimple-walk.c (walk_gimple_stmt): Likewise. (walk_gimple_seq): Likewise. (walk_gimple_op): Likewise. (walk_stmt_load_store_addr_ops): Likewise. * gimple.c (gimple_build_omp_target): Likewise. (gimple_build_omp_sections_switch): Likewise. (gimple_build_omp_single): Likewise. (gimple_build_omp_return): Likewise. (gimple_build_omp_sections): Likewise. (gimple_build_omp_task): Likewise. (gimple_build_omp_parallel): Likewise. (gimple_build_omp_for): Likewise. (gimple_build_omp_critical): Likewise. (gimple_build_omp_taskgroup): Likewise. (gimple_build_omp_continue): Likewise. (gimple_build_omp_teams): Likewise. (gimple_build_omp_atomic_load): Likewise. (gimple_build_try): Likewise. (gimple_build_wce): Likewise. (gimple_build_eh_else): Likewise. (gimple_build_eh_must_not_throw): Likewise. (gimple_build_eh_filter): Likewise. (gimple_build_catch): Likewise. (gimple_build_nop): Likewise. (empty_stmt_p): Likewise. (gimple_build_with_ops_stat): Likewise. (infer_nonnull_range): Likewise. (gimple_build_omp_atomic_store): Likewise. (gimple_build_transaction): Likewise. (gimple_copy): Likewise. (gimple_call_flags): Likewise. (gimple_call_fnspec): Likewise. (gimple_call_arg_flags): Likewise. (gimple_build_return): Likewise. (gimple_call_reset_alias_info): Likewise. (gimple_build_call_1): Likewise. (gimple_build_call_vec): Likewise. (gimple_build_call): Likewise. (gimple_build_call_valist): Likewise. (gimple_build_call_internal_1): Likewise. (gimple_build_call_internal): Likewise. (gimple_build_call_internal_vec): Likewise. (canonicalize_cond_expr_cond): Likewise. (gimple_call_copy_skip_args): Likewise. (gimple_has_side_effects): Likewise. (gimple_call_builtin_p): Likewise. (gimple_build_bind): Likewise. (gimple_build_asm_vec): Likewise. (gimple_could_trap_p_1): Likewise. (gimple_build_asm_1): Likewise. (gimple_build_call_from_tree): Likewise. (gimple_build_assign_stat): Likewise. (gimple_build_resx): Likewise. (gimple_build_switch_nlabels): Likewise. (gimple_build_switch): Likewise. (gimple_cond_set_condition_from_tree): Likewise. (gimple_set_bb): Likewise. (gimple_build_label): Likewise. (gimple_build_goto): Likewise. (gimple_build_eh_dispatch): Likewise. (gimple_build_debug_bind_stat): Likewise. (gimple_build_debug_source_bind_stat): Likewise. (gimple_build_assign_with_ops): Likewise. (gimple_build_cond): Likewise. (gimple_build_cond_from_tree): Likewise. * gimple.h (gimple_build_omp_target): Likewise. (gimple_omp_teams_clauses): Likewise. (gimple_omp_teams_clauses_ptr): Likewise. (gimple_omp_target_set_kind): Likewise. (gimple_omp_target_set_child_fn): Likewise. (gimple_build_omp_single): Likewise. (gimple_omp_target_kind): Likewise. (gimple_omp_target_child_fn): Likewise. (gimple_omp_target_child_fn_ptr): Likewise. (gimple_omp_target_data_arg): Likewise. (gimple_omp_target_data_arg_ptr): Likewise. (gimple_omp_target_clauses): Likewise. (gimple_omp_target_clauses_ptr): Likewise. (gimple_build_omp_sections_switch): Likewise. (gimple_omp_single_clauses): Likewise. (gimple_omp_single_clauses_ptr): Likewise. (gimple_build_omp_return): Likewise. (gimple_omp_sections_clauses): Likewise. (gimple_omp_sections_clauses_ptr): Likewise. (gimple_omp_sections_set_clauses): Likewise. (gimple_omp_sections_control): Likewise. (gimple_omp_sections_control_ptr): Likewise. (gimple_omp_sections_set_control): Likewise. (gimple_build_omp_parallel): Likewise. (gimple_omp_task_clauses): Likewise. (gimple_omp_task_clauses_ptr): Likewise. (gimple_omp_task_set_clauses): Likewise. (gimple_omp_task_child_fn): Likewise. (gimple_omp_task_child_fn_ptr): Likewise. (gimple_omp_task_set_child_fn): Likewise. (gimple_omp_task_data_arg): Likewise. (gimple_omp_task_data_arg_ptr): Likewise. (gimple_omp_task_set_data_arg): Likewise. (gimple_omp_task_copy_fn): Likewise. (gimple_omp_task_copy_fn_ptr): Likewise. (gimple_omp_task_set_copy_fn): Likewise. (gimple_omp_task_arg_size): Likewise. (gimple_omp_task_arg_size_ptr): Likewise. (gimple_omp_task_set_arg_size): Likewise. (gimple_omp_task_arg_align): Likewise. (gimple_omp_task_arg_align_ptr): Likewise. (gimple_omp_task_set_arg_align): Likewise. (gimple_omp_parallel_set_clauses): Likewise. (gimple_omp_parallel_set_child_fn): Likewise. (gimple_build_omp_for): Likewise. (gimple_omp_parallel_clauses_ptr): Likewise. (gimple_omp_parallel_child_fn): Likewise. (gimple_omp_parallel_child_fn_ptr): Likewise. (gimple_omp_parallel_data_arg): Likewise. (gimple_omp_parallel_data_arg_ptr): Likewise. (gimple_omp_parallel_clauses): Likewise. (gimple_build_omp_critical): Likewise. (gimple_omp_for_kind): Likewise. (gimple_omp_for_combined_p): Likewise. (gimple_omp_for_combined_into_p): Likewise. (gimple_omp_for_clauses): Likewise. (gimple_omp_for_clauses_ptr): Likewise. (gimple_omp_for_set_clauses): Likewise. (gimple_omp_for_collapse): Likewise. (gimple_omp_for_index): Likewise. (gimple_omp_for_index_ptr): Likewise. (gimple_omp_for_set_index): Likewise. (gimple_omp_for_initial): Likewise. (gimple_omp_for_initial_ptr): Likewise. (gimple_omp_for_set_initial): Likewise. (gimple_omp_for_final): Likewise. (gimple_omp_for_final_ptr): Likewise. (gimple_omp_for_set_final): Likewise. (gimple_omp_for_incr): Likewise. (gimple_omp_for_incr_ptr): Likewise. (gimple_omp_for_set_incr): Likewise. (gimple_omp_for_pre_body_ptr): Likewise. (gimple_omp_for_set_pre_body): Likewise. (gimple_omp_for_set_cond): Likewise. (gimple_omp_set_body): Likewise. (gimple_build_debug_source_bind_stat): Likewise. (gimple_omp_critical_name): Likewise. (gimple_omp_critical_name_ptr): Likewise. (gimple_omp_atomic_load_rhs_ptr): Likewise. (gimple_omp_continue_set_control_def): Likewise. (gimple_build_omp_taskgroup): Likewise. (gimple_omp_continue_control_def): Likewise. (gimple_omp_continue_control_def_ptr): Likewise. (gimple_omp_continue_control_use): Likewise. (gimple_omp_continue_control_use_ptr): Likewise. (gimple_omp_atomic_store_set_val): Likewise. (gimple_build_omp_atomic_load): Likewise. (gimple_omp_for_cond): Likewise. (gimple_omp_atomic_store_val): Likewise. (gimple_omp_atomic_load_set_lhs): Likewise. (gimple_omp_atomic_load_set_rhs): Likewise. (gimple_build_omp_teams): Likewise. (gimple_omp_atomic_store_val_ptr): Likewise. (gimple_omp_atomic_load_lhs): Likewise. (gimple_omp_atomic_load_lhs_ptr): Likewise. (gimple_omp_atomic_load_rhs): Likewise. (gimple_try_kind): Likewise. (gimple_try_cleanup): Likewise. (gimple_try_set_catch_is_cleanup): Likewise. (gimple_try_set_eval): Likewise. (gimple_build_eh_else): Likewise. (gimple_try_eval_ptr): Likewise. (gimple_try_cleanup_ptr): Likewise. (gimple_phi_capacity): Likewise. (gimple_phi_num_args): Likewise. (gimple_phi_result): Likewise. (gimple_phi_result_ptr): Likewise. (gimple_phi_arg): Likewise. (gimple_phi_arg_def): Likewise. (gimple_phi_arg_def_ptr): Likewise. (gimple_phi_arg_edge): Likewise. (gimple_phi_arg_location): Likewise. (gimple_phi_arg_location_from_edge): Likewise. (gimple_phi_arg_set_location): Likewise. (gimple_resx_set_region): Likewise. (gimple_build_switch): Likewise. (gimple_eh_dispatch_region): Likewise. (gimple_phi_arg_has_location): Likewise. (gimple_build_wce): Likewise. (gimple_resx_region): Likewise. (gimple_build_eh_must_not_throw): Likewise. (gimple_eh_must_not_throw_set_fndecl): Likewise. (gimple_eh_else_n_body_ptr): Likewise. (gimple_eh_else_n_body): Likewise. (gimple_eh_else_e_body_ptr): Likewise. (gimple_eh_else_e_body): Likewise. (gimple_eh_else_set_n_body): Likewise. (gimple_build_eh_filter): Likewise. (gimple_eh_filter_set_failure): Likewise. (gimple_eh_must_not_throw_fndecl): Likewise. (gimple_build_catch): Likewise. (gimple_eh_filter_failure): Likewise. (gimple_eh_filter_set_types): Likewise. (gimple_eh_filter_types): Likewise. (gimple_eh_filter_types_ptr): Likewise. (gimple_eh_filter_failure_ptr): Likewise. (gimple_asm_input_p): Likewise. (gimple_build_asm_vec): Likewise. (gimple_catch_types): Likewise. (gimple_catch_types_ptr): Likewise. (gimple_catch_handler_ptr): Likewise. (gimple_catch_handler): Likewise. (gimple_catch_set_types): Likewise. (gimple_statement_catch): Likewise. (gimple_goto_set_dest): Likewise. (gimple_bind_add_seq): Likewise. (gimple_build_nop): Likewise. (gimple_seq_first_stmt): Likewise. (gimple_seq_first_stmt_as_a_bind): Likewise. (gimple_bind_vars): Likewise. (gimple_bind_set_vars): Likewise. (gimple_bind_append_vars): Likewise. (gimple_bind_body_ptr): Likewise. (gimple_bind_body): Likewise. (gimple_bind_set_body): Likewise. (gimple_bind_add_stmt): Likewise. (gimple_bind_block): Likewise. (gimple_transaction_set_subcode): Likewise. (gimple_return_retval_ptr): Likewise. (gimple_alloc_stat): Likewise. (gimple_return_retval): Likewise. (gimple_transaction_body): Likewise. (gimple_transaction_label_ptr): Likewise. (gimple_build_omp_atomic_store): Likewise. (gimple_omp_continue_set_control_use): Likewise. (gimple_transaction_body_ptr): Likewise. (gimple_transaction_label): Likewise. (gimple_transaction_subcode): Likewise. (gimple_transaction_set_body): Likewise. (gimple_transaction_set_label): Likewise. (gimple_call_arg_flags): Likewise. (gimple_call_return_flags): Likewise. (gimple_call_fndecl): Likewise. (gimple_call_chain): Likewise. (gimple_expr_type): Likewise. (gimple_call_reset_alias_info): Likewise. (gimple_build_call_vec): Likewise. (gimple_build_call): Likewise. (gimple_build_call_valist): Likewise. (gimple_build_call_internal): Likewise. (gimple_build_call_internal_vec): Likewise. (canonicalize_cond_expr_cond): Likewise. (gimple_call_copy_skip_args): Likewise. (gimple_call_fn_ptr): Likewise. (gimple_call_set_fndecl): Likewise. (gimple_call_chain_ptr): Likewise. (gimple_call_set_arg): Likewise. (gimple_call_set_tail): Likewise. (gimple_call_tail_p): Likewise. (gimple_call_set_return_slot_opt): Likewise. (gimple_call_return_slot_opt_p): Likewise. (gimple_call_set_from_thunk): Likewise. (gimple_call_from_thunk_p): Likewise. (gimple_call_set_va_arg_pack): Likewise. (gimple_call_noreturn_p): Likewise. (gimple_call_set_nothrow): Likewise. (gimple_call_nothrow_p): Likewise. (gimple_call_set_alloca_for_var): Likewise. (gimple_call_alloca_for_var_p): Likewise. (gimple_call_copy_flags): Likewise. (gimple_call_use_set): Likewise. (gimple_statement_call): Likewise. (gimple_call_internal_fn): Likewise. (gimple_call_fntype): Likewise. (gimple_asm_clobbers_memory_p): Likewise. (gimple_bind_set_block): Likewise. (gimple_asm_ninputs): Likewise. (gimple_asm_noutputs): Likewise. (gimple_asm_nclobbers): Likewise. (gimple_asm_nlabels): Likewise. (gimple_asm_input_op): Likewise. (gimple_asm_set_input_op): Likewise. (gimple_asm_output_op): Likewise. (gimple_asm_set_output_op): Likewise. (gimple_asm_set_clobber_op): Likewise. (gimple_asm_set_label_op): Likewise. (gimple_asm_string): Likewise. (gimple_asm_set_input): Likewise. (gimple_build_bind): Likewise. (gimple_asm_input_op_ptr): Likewise. (gimple_asm_output_op_ptr): Likewise. (gimple_asm_clobber_op): Likewise. (gimple_asm_label_op): Likewise. (gimple_asm_volatile_p): Likewise. (gimple_asm_set_volatile): Likewise. (gimple_assign_set_rhs_with_ops): Likewise. (gimple_build_call_from_tree): Likewise. (gimple_build_assign_stat): Likewise. (gimple_eh_dispatch_set_region): Likewise. (gimple_switch_set_num_labels): Likewise. (gimple_switch_index): Likewise. (gimple_switch_set_index): Likewise. (gimple_switch_set_label): Likewise. (gimple_build_resx): Likewise. (gimple_build_switch_nlabels): Likewise. (gimple_switch_num_labels): Likewise. (gimple_switch_index_ptr): Likewise. (gimple_switch_label): Likewise. (gimple_switch_default_label): Likewise. (gimple_cond_set_condition): Likewise. (gimple_label_label): Likewise. (gimple_build_label): Likewise. (gimple_goto_dest): Likewise. (gimple_build_eh_dispatch): Likewise. (gimple_build_debug_bind_stat): Likewise. (gimple_cond_lhs): Likewise. (gimple_cond_rhs): Likewise. (gimple_cond_set_rhs): Likewise. (gimple_cond_set_false_label): Likewise. (gimple_cond_make_true): Likewise. (gimple_cond_true_p): Likewise. (gimple_build_assign_with_ops): Likewise. (gimple_build_cond): Likewise. (gimple_cond_set_condition_from_tree): Likewise. (gimple_cond_code): Likewise. (gimple_cond_lhs_ptr): Likewise. (gimple_cond_rhs_ptr): Likewise. (gimple_cond_true_label): Likewise. (gimple_cond_set_true_label): Likewise. (gimple_cond_false_label): Likewise. (gimple_cond_make_false): Likewise. (gimple_cond_false_p): Likewise. (gimple_statement_cond): Likewise. (is_a_helper <gimple_statement_cond *>): Likewise. * gimplify-me.c (gimple_regimplify_operands): Likewise. * gimplify.c (gimplify_omp_target_update): Likewise. (gimplify_omp_for): Likewise. (gimplify_omp_atomic): Likewise. (gimplify_cleanup_point_expr): Likewise. (struct gimplify_ctx): Likewise. (pop_gimplify_context): Likewise. (gimple_pop_bind_expr): Likewise. (gimple_current_bind_expr): Likewise. (declare_vars): Likewise. (gimplify_one_sizepos): Likewise. (gimplify_body): Likewise. (gimplify_return_expr): Likewise. (gimplify_transaction): Likewise. (voidify_wrapper_expr): Likewise. (gimplify_bind_expr): Likewise. (gimplify_call_expr): Likewise. (gimplify_modify_expr_to_memcpy): Likewise. (gimplify_modify_expr_to_memset): Likewise. (gimplify_modify_expr): Likewise. (gimplify_expr): Likewise. (gimplify_function_tree): Likewise. (gimplify_asm_expr): Likewise. (gimplify_init_constructor): Likewise. (gimple_push_cleanup): Likewise. (gimplify_switch_expr): Likewise. (gimplify_case_label_expr): Likewise. (gimplify_cond_expr): Likewise. * gimplify.h (pop_gimplify_context): Likewise. (gimple_current_bind_expr): Likewise. (gimplify_one_sizepos): Likewise. * graphite-scop-detection.c (limit_scops): Likewise. (same_close_phi_node): Likewise. (make_close_phi_nodes_unique): Likewise. (canonicalize_loop_closed_ssa): Likewise. * graphite-sese-to-poly.c (phi_arg_in_outermost_loop): Likewise. (simple_copy_phi_p): Likewise. (gsi_for_phi_node): Likewise. (rewrite_close_phi_out_of_ssa): Likewise. (rewrite_cross_bb_scalar_deps): Likewise. (rewrite_commutative_reductions_out_of_ssa_loop): Likewise. (tree_int_to_gmp): Likewise. (reduction_phi_p): Likewise. (build_scop_drs): Likewise. (rewrite_phi_out_of_ssa): Likewise. (rewrite_degenerate_phi): Likewise. (rewrite_reductions_out_of_ssa): Likewise. (is_reduction_operation_p): Likewise. (phi_contains_arg): Likewise. (follow_ssa_with_commutative_ops): Likewise. (detect_commutative_reduction_arg): Likewise. (detect_commutative_reduction_assign): Likewise. (follow_inital_value_to_phi): Likewise. (edge_initial_value_for_loop_phi): Likewise. (used_outside_reduction): Likewise. (detect_commutative_reduction): Likewise. (dr_indices_valid_in_loop): Likewise. (translate_scalar_reduction_to_array): Likewise. (scop_ivs_can_be_represented): Likewise. (remove_simple_copy_phi): Likewise. (remove_invariant_phi): Likewise. (insert_out_of_ssa_copy): Likewise. (translate_scalar_reduction_to_array_for_stmt): Likewise. (create_pw_aff_from_tree): Likewise. (add_conditions_to_domain): Likewise. (add_conditions_to_constraints): Likewise. (single_pred_cond_non_loop_exit): Likewise. * gsstruct.def: Likewise. * internal-fn.c (get_multi_vector_move): Likewise. (expand_LOAD_LANES): Likewise. (expand_STORE_LANES): Likewise. (expand_ANNOTATE): Likewise. (expand_GOMP_SIMD_LANE): Likewise. (expand_GOMP_SIMD_VF): Likewise. (expand_GOMP_SIMD_LAST_LANE): Likewise. (expand_UBSAN_NULL): Likewise. (expand_UBSAN_BOUNDS): Likewise. (expand_UBSAN_OBJECT_SIZE): Likewise. (expand_ASAN_CHECK): Likewise. (ubsan_expand_si_overflow_addsub_check): Likewise. (ubsan_expand_si_overflow_neg_check): Likewise. (ubsan_expand_si_overflow_mul_check): Likewise. (expand_UBSAN_CHECK_ADD): Likewise. (expand_UBSAN_CHECK_SUB): Likewise. (expand_UBSAN_CHECK_MUL): Likewise. (expand_LOOP_VECTORIZED): Likewise. (expand_MASK_LOAD): Likewise. (expand_MASK_STORE): Likewise. (expand_ABNORMAL_DISPATCHER): Likewise. (expand_BUILTIN_EXPECT): Likewise. * internal-fn.h (internal_fn_fnspec): Likewise. * ipa-inline-analysis.c (estimate_function_body_sizes): Likewise. (phi_result_unknown_predicate): Likewise. (set_switch_stmt_execution_predicate): Likewise. * ipa-prop.c (param_type_may_change_p): Likewise. (detect_type_change_from_memory_writes): Likewise. (detect_type_change): Likewise. (ipa_load_from_parm_agg): Likewise. (get_ancestor_addr_info): Likewise. (compute_complex_ancestor_jump_func): Likewise. (build_agg_jump_func_from_list): Likewise. (ipa_compute_jump_functions_for_edge): Likewise. (ipa_is_ssa_with_stmt_def): Likewise. (ipa_note_param_call): Likewise. (ipa_analyze_indirect_call_uses): Likewise. (ipa_analyze_virtual_call_uses): Likewise. (ipa_analyze_stmt_uses): Likewise. (ipa_modify_formal_parameters): Likewise. (ipa_modify_call_arguments): Likewise. * ipa-prop.h (ipa_get_agg_replacements_for_node): Likewise. * ipa-pure-const.c (special_builtin_state): Likewise. (check_stmt): Likewise. * ipa-split.c (consider_split): Likewise. (visit_bb): Likewise. (find_return_bb): Likewise. (find_retval): Likewise. (split_function): Likewise. (verify_non_ssa_vars): Likewise. (check_forbidden_calls): Likewise. * lto-streamer-in.c (fixup_call_stmt_edges_1): Likewise. * lto-streamer-out.c (output_function): Likewise. * omp-low.c (scan_omp_target): Likewise. (scan_omp_single): Likewise. (expand_omp_target): Likewise. (scan_omp_sections): Likewise. (lower_omp_single_simple): Likewise. (scan_omp_for): Likewise. (new_omp_context): Likewise. (delete_omp_context): Likewise. (scan_omp_task): Likewise. (expand_cilk_for_call): Likewise. (task_copyfn_remap_type): Likewise. (gimple_build_cond_empty): Likewise. (remove_exit_barrier): Likewise. (expand_omp_taskreg): Likewise. (expand_cilk_for): Likewise. (struct omp_for_data): Likewise. (is_combined_parallel): Likewise. (workshare_safe_to_combine_p): Likewise. (get_ws_args_for): Likewise. (scan_omp_parallel): Likewise. (finish_taskreg_scan): Likewise. (expand_omp_for): Likewise. (check_omp_nesting_restrictions): Likewise. (expand_omp_sections): Likewise. (expand_omp_atomic): Likewise. (expand_parallel_call): Likewise. (finalize_task_copyfn): Likewise. (scan_omp_1_stmt): Likewise. (lower_omp_sections): Likewise. (lower_omp_single): Likewise. (lower_omp_master): Likewise. (lower_omp_critical): Likewise. (lower_omp_for): Likewise. (lower_omp_taskreg): Likewise. (lower_omp_target): Likewise. (lower_omp_teams): Likewise. (ipa_simd_modify_function_body): Likewise. (build_omp_barrier): Likewise. (lower_omp_taskgroup): Likewise. (lower_omp_ordered): Likewise. (simd_clone_adjust): Likewise. (lower_rec_input_clauses): Likewise. (expand_omp_for_init_vars): Likewise. (expand_omp_atomic_pipeline): Likewise. (expand_omp_atomic_mutex): Likewise. (diagnose_sb_1): Likewise. (lower_lastprivate_clauses): Likewise. (lower_send_shared_vars): Likewise. (expand_omp_for_init_counts): Likewise. (expand_omp_for_generic): Likewise. (expand_omp_for_static_nochunk): Likewise. (expand_omp_for_static_chunk): Likewise. (expand_omp_simd): Likewise. (lower_omp_1): Likewise. (diagnose_sb_2): Likewise. * predict.c (apply_return_prediction): Likewise. (tree_estimate_probability_bb): Likewise. (get_base_value): Likewise. (predict_iv_comparison): Likewise. (predict_extra_loop_exits): Likewise. (predict_loops): Likewise. * sese.c (sese_build_liveouts_bb): Likewise. (sese_add_exit_phis_edge): Likewise. (set_ifsese_condition): Likewise. * ssa-iterators.h (for): Likewise. (num_ssa_operands): Likewise. (single_phi_def): Likewise. (op_iter_init_phiuse): Likewise. (link_use_stmts_after): Likewise. (op_iter_init): Likewise. * stmt.c (reset_out_edges_aux): Likewise. (compute_cases_per_edge): Likewise. * trans-mem.c (diagnose_tm_1): Likewise. (lower_transaction): Likewise. (tm_region_init): Likewise. (generate_tm_state): Likewise. (make_pass_lower_tm): Likewise. (transaction_subcode_ior): Likewise. (build_tm_load): Likewise. (build_tm_store): Likewise. (expand_transaction): Likewise. (expand_block_edges): Likewise. (dump_tm_memopt_transform): Likewise. (tm_memopt_transform_blocks): Likewise. (ipa_tm_insert_irr_call): Likewise. (ipa_tm_transform_calls_redirect): Likewise. (expand_call_tm): Likewise. (ipa_tm_insert_gettmclone_call): Likewise. * tree-call-cdce.c (check_target_format): Likewise. (check_pow): Likewise. (check_builtin_call): Likewise. (gen_conditions_for_pow_int_base): Likewise. (get_no_error_domain): Likewise. (gen_shrink_wrap_conditions): Likewise. (shrink_wrap_one_built_in_call): Likewise. (shrink_wrap_conditional_dead_built_in_calls): Likewise. (gen_one_condition): Likewise. * tree-cfg.c (replace_uses_by): Likewise. (reinstall_phi_args): Likewise. (verify_gimple_in_cfg): Likewise. (gimple_make_forwarder_block): Likewise. (gimple_duplicate_bb): Likewise. (add_phi_args_after_copy_edge): Likewise. (gimple_duplicate_sese_tail): Likewise. (gimple_lv_adjust_loop_header_phi): Likewise. (move_stmt_r): Likewise. (do_warn_unused_result): Likewise. (verify_gimple_assign): Likewise. (extract_true_false_edges_from_block): Likewise. (verify_gimple_transaction): Likewise. (verify_gimple_in_seq_2): Likewise. (single_noncomplex_succ): Likewise. (valid_fixed_convert_types_p): Likewise. (make_gimple_asm_edges): Likewise. (is_ctrl_altering_stmt): Likewise. (need_fake_edge_p): Likewise. (verify_gimple_comparison): Likewise. (verify_gimple_assign_unary): Likewise. (verify_gimple_assign_binary): Likewise. (verify_gimple_assign_ternary): Likewise. (verify_gimple_assign_single): Likewise. (make_gimple_switch_edges): Likewise. (find_case_label_for_value): Likewise. (end_recording_case_labels): Likewise. (get_cases_for_edge): Likewise. (group_case_labels): Likewise. (find_taken_edge): Likewise. (find_taken_edge_cond_expr): Likewise. (find_taken_edge_switch_expr): Likewise. (verify_gimple_goto): Likewise. (gimple_redirect_edge_and_branch): Likewise. (make_edges): Likewise. (gimple_can_merge_blocks_p): Likewise. (gimple_merge_blocks): Likewise. (remove_bb): Likewise. (stmt_starts_bb_p): Likewise. (verify_gimple_debug): Likewise. (gimple_verify_flow_info): Likewise. (gimple_block_label): Likewise. (move_block_to_fn): Likewise. (verify_gimple_return): Likewise. (fold_cond_expr_cond): Likewise. (make_cond_expr_edges): Likewise. (cleanup_dead_labels): Likewise. (verify_gimple_label): Likewise. (verify_gimple_stmt): Likewise. * tree-cfg.h (notice_special_calls): Likewise. (group_case_labels_stmt): Likewise. * tree-cfgcleanup.c (phi_alternatives_equal): Likewise. (cleanup_control_expr_graph): Likewise. (tree_forwarder_block_p): Likewise. (remove_forwarder_block): Likewise. (remove_forwarder_block_with_phi): Likewise. * tree-complex.c (init_dont_simulate_again): Likewise. (complex_visit_stmt): Likewise. (update_phi_components): Likewise. (expand_complex_move): Likewise. (expand_complex_libcall): Likewise. (expand_complex_asm): Likewise. (expand_complex_comparison): Likewise. * tree-data-ref.c (get_references_in_stmt): Likewise. * tree-dfa.c (collect_dfa_stats): Likewise. (dump_dfa_stats): Likewise. * tree-eh.c (lookup_stmt_eh_lp): Likewise. (record_in_finally_tree): Likewise. (collect_finally_tree_1): Likewise. (outside_finally_tree): Likewise. (eh_region_may_contain_throw): Likewise. (lower_try_finally_dup_block): Likewise. (cleanup_is_dead_in): Likewise. (lower_try_finally): Likewise. (lower_eh_filter): Likewise. (same_handler_p): Likewise. (cleanup_empty_eh_merge_phis): Likewise. (emit_eh_dispatch): Likewise. (make_pass_lower_eh): Likewise. (redirect_eh_edge): Likewise. (sink_clobbers): Likewise. (lower_eh_dispatch): Likewise. (verify_eh_edges): Likewise. (emit_resx): Likewise. (make_pass_refactor_eh): Likewise. (lower_resx): Likewise. (mark_reachable_handlers): Likewise. (lower_try_finally_fallthru_label): Likewise. (get_eh_else): Likewise. (lower_try_finally_nofallthru): Likewise. (lower_try_finally_copy): Likewise. (lower_try_finally_switch): Likewise. (decide_copy_try_finally): Likewise. (honor_protect_cleanup_actions): Likewise. (lower_eh_must_not_throw): Likewise. (replace_goto_queue_1): Likewise. (lower_catch): Likewise. (refactor_eh_r): Likewise. (stmt_could_throw_p): Likewise. (lower_eh_constructs_2): Likewise. (collect_finally_tree): Likewise. (emit_post_landing_pad): Likewise. (lower_try_finally_onedest): Likewise. (unsplit_eh): Likewise. (cleanup_empty_eh_unsplit): Likewise. (do_goto_redirection): Likewise. (maybe_record_in_goto_queue): Likewise. * tree-eh.h (make_eh_dispatch_edges): Likewise. (redirect_eh_dispatch_edge): Likewise. (verify_eh_dispatch_edge): Likewise. * tree-emutls.c (lower_emutls_function_body): Likewise. (lower_emutls_stmt): Likewise. (gen_emutls_addr): Likewise. * tree-if-conv.c (if_convertible_loop_p_1): Likewise. (bb_with_exit_edge_p): Likewise. (convert_scalar_cond_reduction): Likewise. (predicate_all_scalar_phis): Likewise. * tree-inline.c (update_ssa_across_abnormal_edges): Likewise. (copy_phis_for_bb): Likewise. (copy_edges_for_bb): Likewise. (remap_gimple_seq): Likewise. (replace_locals_stmt): Likewise. (copy_bb): Likewise. (inline_forbidden_p_stmt): Likewise. (expand_call_inline): Likewise. (estimate_num_insns): Likewise. (mark_local_labels_stmt): Likewise. (remap_gimple_stmt): Likewise. (maybe_move_debug_stmts_to_successors): Likewise. (copy_cfg_body): Likewise. (copy_debug_stmts): Likewise. * tree-inline.h (void): Likewise. * tree-into-ssa.c (node): Likewise. (find_def_blocks_for): Likewise. (mark_phi_for_rewrite): Likewise. (insert_phi_nodes_for): Likewise. (rewrite_add_phi_arguments): Likewise. (rewrite_update_phi_arguments): Likewise. (mark_use_interesting): Likewise. (prepare_block_for_update): Likewise. (prepare_use_sites_for): Likewise. (delete_update_ssa): Likewise. (mark_virtual_operand_for_renaming): Likewise. * tree-into-ssa.h (mark_virtual_phi_result_for_renaming): Likewise. * tree-loop-distribution.c (stmts_from_loop): Likewise. (destroy_loop): Likewise. (distribute_loop): Likewise. (generate_loops_for_partition): Likewise. * tree-nested.c (walk_function): Likewise. (convert_nonlocal_reference_stmt): Likewise. (convert_local_reference_stmt): Likewise. (finalize_nesting_tree_1): Likewise. (get_chain_field): Likewise. (convert_nl_goto_reference): Likewise. (convert_tramp_reference_op): Likewise. (convert_gimple_call): Likewise. (convert_nl_goto_receiver): Likewise. * tree-nrv.c (finalize_nrv_r): Likewise. (make_pass_nrv): Likewise. (dest_safe_for_nrv_p): Likewise. * tree-object-size.c (pass_through_call): Likewise. (addr_object_size): Likewise. (alloc_object_size): Likewise. (expr_object_size): Likewise. (collect_object_sizes_for): Likewise. (check_for_plus_in_loops_1): Likewise. (fini_object_sizes): Likewise. * tree-outof-ssa.c (eliminate_build): Likewise. (eliminate_phi): Likewise. (remove_gimple_phi_args): Likewise. (eliminate_useless_phis): Likewise. (rewrite_trees): Likewise. (insert_backedge_copies): Likewise. * tree-parloops.c (printf): Likewise. (create_phi_for_local_result): Likewise. (loop_has_vector_phi_nodes): Likewise. (gather_scalar_reductions): Likewise. (try_create_reduction_list): Likewise. (take_address_of): Likewise. (transform_to_exit_first_loop): Likewise. (create_parallel_loop): Likewise. * tree-phinodes.c (remove_phi_args): Likewise. (phinodes_print_statistics): Likewise. (release_phi_node): Likewise. (reserve_phi_args_for_new_edge): Likewise. (add_phi_node_to_bb): Likewise. (create_phi_node): Likewise. (add_phi_arg): Likewise. (remove_phi_nodes): Likewise. (allocate_phi_node): Likewise. (ideal_phi_node_len): Likewise. (make_phi_node): Likewise. (resize_phi_node): Likewise. * tree-phinodes.h (add_phi_node_to_bb): Likewise. (add_phi_arg): Likewise. (degenerate_phi_result): Likewise. * tree-predcom.c (valid_initializer_p): Likewise. (find_looparound_phi): Likewise. (add_looparound_copies): Likewise. (initialize_root_vars): Likewise. (eliminate_temp_copies): Likewise. (replace_ref_with): Likewise. (initialize_root_vars_lm): Likewise. (reassociate_to_the_same_stmt): Likewise. * tree-profile.c (gimple_gen_interval_profiler): Likewise. (gimple_gen_pow2_profiler): Likewise. (gimple_gen_one_value_profiler): Likewise. (gimple_gen_time_profiler): Likewise. (gimple_gen_average_profiler): Likewise. (gimple_gen_ior_profiler): Likewise. (gimple_gen_edge_profiler): Likewise. (gimple_gen_ic_profiler): Likewise. (gimple_gen_ic_func_profiler): Likewise. * tree-scalar-evolution.c (follow_ssa_edge_binary): Likewise. (follow_ssa_edge_expr): Likewise. (follow_ssa_edge_in_rhs): Likewise. (backedge_phi_arg_p): Likewise. (follow_ssa_edge_in_condition_phi_branch): Likewise. (follow_ssa_edge_in_condition_phi): Likewise. (follow_ssa_edge_inner_loop_phi): Likewise. (follow_ssa_edge): Likewise. (simplify_peeled_chrec): Likewise. (analyze_evolution_in_loop): Likewise. (analyze_initial_condition): Likewise. (interpret_loop_phi): Likewise. (analyze_scalar_evolution_1): Likewise. (loop_closed_phi_def): Likewise. (scev_const_prop): Likewise. (add_to_evolution): Likewise. (get_loop_exit_condition): Likewise. * tree-scalar-evolution.h (number_of_latch_executions): Likewise. * tree-sra.c (replace_removed_params_ssa_names): Likewise. (convert_callers): Likewise. (scan_function): Likewise. (sra_modify_function_body): Likewise. (ipa_sra_modify_function_body): Likewise. (build_ref_for_offset): Likewise. (generate_subtree_copies): Likewise. (init_subtree_with_zero): Likewise. (sra_modify_expr): Likewise. (load_assign_lhs_subreplacements): Likewise. (sra_modify_assign): Likewise. (sra_ipa_reset_debug_stmts): Likewise. * tree-ssa-alias.c (refs_output_dependent_p): Likewise. (ref_maybe_used_by_call_p_1): Likewise. (ref_maybe_used_by_stmt_p): Likewise. (call_may_clobber_ref_p_1): Likewise. (stmt_may_clobber_ref_p_1): Likewise. * tree-ssa-alias.h (call_may_clobber_ref_p): Likewise. (call_may_clobber_ref_p_1): Likewise. * tree-ssa-ccp.c (ccp_initialize): Likewise. (ccp_lattice_meet): Likewise. (insert_clobber_before_stack_restore): Likewise. (ccp_fold): Likewise. (evaluate_stmt): Likewise. (ccp_fold_stmt): Likewise. (optimize_unreachable): Likewise. * tree-ssa-coalesce.c (build_ssa_conflict_graph): Likewise. (coalesce_partitions): Likewise. (create_outofssa_var_map): Likewise. * tree-ssa-copy.c (copy_prop_visit_stmt): Likewise. (init_copy_prop): Likewise. * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Likewise. * tree-ssa-dce.c (remove_dead_phis): Likewise. (forward_edge_to_pdom): Likewise. (eliminate_unnecessary_stmts): Likewise. (propagate_necessity): Likewise. (remove_dead_stmt): Likewise. * tree-ssa-dom.c (record_equivalences_from_phis): Likewise. (cprop_into_successor_phis): Likewise. (get_rhs_or_phi_arg): Likewise. (eliminate_degenerate_phis_1): Likewise. (struct hashable_expr): Likewise. (add_hashable_expr): Likewise. (print_expr_hash_elt): Likewise. (record_equivalences_from_stmt): Likewise. (initialize_hash_element): Likewise. (record_edge_info): Likewise. (eliminate_redundant_computations): Likewise. (propagate_rhs_into_lhs): Likewise. (free_all_edge_infos): Likewise. (make_pass_dominator): Likewise. (optimize_stmt): Likewise. * tree-ssa-forwprop.c (remove_prop_source_from_use): Likewise. (simplify_bitwise_binary): Likewise. (simplify_rotate): Likewise. (simplify_not_neg_expr): Likewise. (simplify_gimple_switch_label_vec): Likewise. (forward_propagate_into_comparison): Likewise. (simplify_mult): Likewise. * tree-ssa-ifcombine.c (same_phi_args_p): Likewise. (get_name_for_bit_test): Likewise. (recognize_single_bit_test): Likewise. (ifcombine_ifandif): Likewise. * tree-ssa-live.c (remove_unused_locals): Likewise. (set_var_live_on_entry): Likewise. (calculate_live_on_exit): Likewise. (verify_live_on_entry): Likewise. * tree-ssa-loop-im.c (mem_ref_in_stmt): Likewise. (determine_max_movement): Likewise. (execute_sm_if_changed): Likewise. (rewrite_reciprocal): Likewise. (execute_sm): Likewise. (rewrite_bittest): Likewise. * tree-ssa-loop-ivcanon.c (propagate_constants_for_unrolling): Likewise. (unloop_loops): Likewise. (tree_estimate_loop_size): Likewise. (create_canonical_iv): Likewise. (remove_exits_and_undefined_stmts): Likewise. (remove_redundant_iv_tests): Likewise. (try_unroll_loop_completely): Likewise. * tree-ssa-loop-ivopts.c (get_iv): Likewise. (find_bivs): Likewise. (mark_bivs): Likewise. (find_interesting_uses_outside): Likewise. (determine_set_costs): Likewise. (rewrite_use_nonlinear_expr): Likewise. (remove_unused_ivs): Likewise. (extract_cond_operands): Likewise. (rewrite_use_compare): Likewise. * tree-ssa-loop-manip.c (tree_unroll_loop): Likewise. (rewrite_all_phi_nodes_with_iv): Likewise. (add_exit_phi): Likewise. (find_uses_to_rename_bb): Likewise. (verify_loop_closed_ssa): Likewise. (split_loop_exit_edge): Likewise. (create_iv): Likewise. (rewrite_phi_with_iv): Likewise. (tree_transform_and_unroll_loop): Likewise. (canonicalize_loop_ivs): Likewise. * tree-ssa-loop-niter.c (determine_value_range): Likewise. (finite_loop_p): Likewise. (chain_of_csts_start): Likewise. (get_base_for): Likewise. (loop_niter_by_eval): Likewise. (number_of_iterations_exit): Likewise. * tree-ssa-loop-prefetch.c (issue_prefetch_ref): Likewise. (emit_mfence_after_loop): Likewise. * tree-ssa-loop-unswitch.c (tree_may_unswitch_on): Likewise. (tree_unswitch_single_loop): Likewise. * tree-ssa-math-opts.c (execute_cse_reciprocals_1): Likewise. (build_and_insert_call): Likewise. (insert_reciprocals): Likewise. (powi_as_mults_1): Likewise. (powi_as_mults): Likewise. (build_and_insert_binop): Likewise. (build_and_insert_cast): Likewise. (gimple_expand_builtin_cabs): Likewise. (convert_mult_to_fma): Likewise. * tree-ssa-operands.c (get_tmr_operands): Likewise. (maybe_add_call_vops): Likewise. (parse_ssa_operands): Likewise. * tree-ssa-phiopt.c (tree_ssa_cs_elim): Likewise. (single_non_singleton_phi_for_edges): Likewise. (tree_ssa_phiopt_worker): Likewise. (replace_phi_edge_with_variable): Likewise. (hoist_adjacent_loads): Likewise. (conditional_replacement): Likewise. (abs_replacement): Likewise. (cond_store_replacement): Likewise. (cond_if_else_store_replacement_1): Likewise. (minmax_replacement): Likewise. * tree-ssa-phiprop.c (propagate_with_phi): Likewise. (phivn_valid_p): Likewise. (phiprop_insert_phi): Likewise. * tree-ssa-pre.c (insert_into_preds_of_block): Likewise. (compute_avail): Likewise. (create_expression_by_pieces): Likewise. (do_regular_insertion): Likewise. (eliminate_insert): Likewise. * tree-ssa-propagate.c (simulate_stmt): Likewise. (replace_uses_in): Likewise. (replace_phi_args_in): Likewise. (update_gimple_call): Likewise. (update_call_from_tree): Likewise. (may_propagate_copy_into_stmt): Likewise. (propagate_tree_value_into_stmt): Likewise. * tree-ssa-propagate.h (prop_simulate_again_p): Likewise. * tree-ssa-reassoc.c (suitable_cond_bb): Likewise. (is_phi_for_stmt): Likewise. (build_and_add_sum): Likewise. (update_ops): Likewise. (get_reassociation_width): Likewise. (reassociate_bb): Likewise. (maybe_optimize_range_tests): Likewise. * tree-ssa-sccvn.c (DFS): Likewise. (ao_ref_init_from_vn_reference): Likewise. (valueize_shared_reference_ops_from_ref): Likewise. (vn_reference_lookup_3): Likewise. (vn_reference_lookup): Likewise. (visit_nary_op): Likewise. (simplify_binary_expression): Likewise. (simplify_unary_expression): Likewise. (visit_use): Likewise. (set_hashtable_value_ids): Likewise. * tree-ssa-sccvn.h (vn_constant_eq_with_type): Likewise. * tree-ssa-sink.c (find_bb_for_arg): Likewise. (nearest_common_dominator_of_uses): Likewise. (statement_sink_location): Likewise. * tree-ssa-strlen.c (do_invalidate): Likewise. * tree-ssa-structalias.c (new_var_info): Likewise. (get_call_vi): Likewise. (lookup_call_use_vi): Likewise. (lookup_call_clobber_vi): Likewise. (get_call_use_vi): Likewise. (get_function_part_constraint): Likewise. (handle_rhs_call): Likewise. (handle_lhs_call): Likewise. (handle_const_call): Likewise. (handle_pure_call): Likewise. (get_fi_for_callee): Likewise. (find_func_aliases_for_builtin_call): Likewise. (find_func_clobbers): Likewise. (compute_points_to_sets): Likewise. (ipa_pta_execute): Likewise. (find_func_aliases): Likewise. * tree-ssa-tail-merge.c (same_succ_hash): Likewise. (release_last_vdef): Likewise. (same_phi_alternatives_1): Likewise. (find_clusters): Likewise. (vop_phi): Likewise. (replace_block_by): Likewise. * tree-ssa-ter.c (ter_is_replaceable_p): Likewise. * tree-ssa-threadedge.c (record_temporary_equivalences_from_phis): Likewise. (record_temporary_equivalences_from_stmts_at_dest): Likewise. (simplify_control_stmt_condition): Likewise. (dummy_simplify): Likewise. (propagate_threaded_block_debug_into): Likewise. (thread_around_empty_blocks): Likewise. (thread_through_normal_block): Likewise. * tree-ssa-threadedge.h (thread_across_edge): Likewise. * tree-ssa-threadupdate.c (copy_phi_arg_into_existing_phi): Likewise. (get_value_locus_in_path): Likewise. (copy_phi_args): Likewise. (phi_args_equal_on_edges): Likewise. * tree-ssa-uncprop.c (associate_equivalences_with_edges): Likewise. * tree-ssa-uninit.c (can_skip_redundant_opnd): Likewise. (find_predicates): Likewise. (collect_phi_def_edges): Likewise. (find_matching_predicate_in_rest_chains): Likewise. (prune_uninit_phi_opnds_in_unrealizable_paths): Likewise. (use_pred_not_overlap_with_undef_path_pred): Likewise. (normalize_preds): Likewise. (is_use_properly_guarded): Likewise. (find_uninit_use): Likewise. (gate_warn_uninitialized): Likewise. * tree-ssa.c (ssa_redirect_edge): Likewise. (flush_pending_stmts): Likewise. (verify_use): Likewise. (verify_ssa): Likewise. (execute_update_addresses_taken): Likewise. (insert_debug_temp_for_var_def): Likewise. * tree-stdarg.c (check_all_va_list_escapes): Likewise. * tree-switch-conversion.c (check_final_bb): Likewise. (build_constructors): Likewise. (build_arrays): Likewise. (gen_def_assigns): Likewise. (case_bit_test_cmp): Likewise. (emit_case_bit_tests): Likewise. (gather_default_values): Likewise. (constructor_contains_same_values_p): Likewise. (array_value_type): Likewise. (build_one_array): Likewise. (fix_phi_nodes): Likewise. (process_switch): Likewise. (hoist_edge_and_branch_if_true): Likewise. (gen_inbound_check): Likewise. * tree-tailcall.c (add_successor_phi_arg): Likewise. (propagate_through_phis): Likewise. (eliminate_tail_call): Likewise. (create_tailcall_accumulator): Likewise. (tree_optimize_tail_calls_1): Likewise. (adjust_return_value): Likewise. (optimize_tail_call): Likewise. (independent_of_stmt_p): Likewise. (find_tail_calls): Likewise. (adjust_return_value_with_ops): Likewise. (update_accumulator_with_ops): Likewise. * tree-vect-data-refs.c (bump_vector_ptr): Likewise. (vect_setup_realignment): Likewise. * tree-vect-generic.c (expand_vector_condition): Likewise. (optimize_vector_constructor): Likewise. (lower_vec_perm): Likewise. (expand_vector_operations_1): Likewise. * tree-vect-loop-manip.c (rename_variables_in_bb): Likewise. (vect_can_advance_ivs_p): Likewise. (slpeel_update_phi_nodes_for_guard1): Likewise. (slpeel_update_phi_nodes_for_guard2): Likewise. (slpeel_tree_duplicate_loop_to_edge_cfg): Likewise. (slpeel_tree_peel_loop_to_edge): Likewise. (vect_update_ivs_after_vectorizer): Likewise. (vect_loop_versioning): Likewise. (slpeel_make_loop_iterate_ntimes): Likewise. (slpeel_add_loop_guard): Likewise. (slpeel_can_duplicate_loop_p): Likewise. (set_prologue_iterations): Likewise. * tree-vect-loop.c (vect_determine_vectorization_factor): Likewise. (vect_analyze_scalar_cycles_1): Likewise. (vect_analyze_loop_operations): Likewise. (get_initial_def_for_induction): Likewise. (vectorizable_reduction): Likewise. (vect_transform_loop): Likewise. (vect_create_epilog_for_reduction): Likewise. (vect_analyze_scalar_cycles): Likewise. (vect_analyze_loop_form): Likewise. * tree-vect-patterns.c (vect_recog_pow_pattern): Likewise. * tree-vect-slp.c (vect_build_slp_tree_1): Likewise. * tree-vect-stmts.c (vectorizable_simd_clone_call): Likewise. (vectorizable_load): Likewise. (vect_finish_stmt_generation): Likewise. (vectorizable_call): Likewise. (vectorizable_condition): Likewise. * tree-vectorizer.h (unlimited_cost_model): Likewise. * tree-vrp.c (find_assert_locations): Likewise. (vrp_initialize): Likewise. (vrp_meet): Likewise. (extract_range_from_unary_expr): Likewise. (extract_range_basic): Likewise. (build_assert_expr_for): Likewise. (vrp_visit_assignment_or_call): Likewise. (simplify_truth_ops_using_ranges): Likewise. (simplify_float_conversion_using_ranges): Likewise. (live_on_edge): Likewise. (compare_case_labels): Likewise. (vrp_visit_cond_stmt): Likewise. (find_case_label_index): Likewise. (find_case_label_range): Likewise. (find_case_label_ranges): Likewise. (simplify_cond_using_ranges): Likewise. (register_edge_assert_for): Likewise. (find_assert_locations_1): Likewise. (vrp_evaluate_conditional): Likewise. (vrp_visit_stmt): Likewise. (range_fits_type_p): Likewise. (simplify_stmt_using_ranges): Likewise. (fold_predicate_in): Likewise. (simplify_stmt_for_jump_threading): Likewise. (identify_jump_threads): Likewise. * tree.c (find_decls_types_in_node): Likewise. * ubsan.c (instrument_nonnull_return): Likewise. (instrument_mem_ref): Likewise. * value-prof.c (find_func_by_profile_id): Likewise. (check_ic_target): Likewise. (gimple_ic_transform): Likewise. (interesting_stringop_to_profile_p): Likewise. (gimple_stringops_transform): Likewise. (gimple_stringops_values_to_profile): Likewise. (gimple_value_profile_transformations): Likewise. (gimple_divmod_fixed_value_transform): Likewise. (gimple_mod_pow2_value_transform): Likewise. (gimple_mod_subtract_transform): Likewise. (gimple_divmod_fixed_value): Likewise. (gimple_mod_pow2): Likewise. (gimple_mod_subtract): Likewise. (gimple_ic): Likewise. (gimple_stringop_fixed_value): Likewise. * value-prof.h (stringop_block_profile): Likewise. (gimple_ic): Likewise. * vtable-verify.c (verify_bb_vtables): Likewise. gcc/c-family/ Patch autogenerated by rename_gimple_subclasses.py from https://github.com/davidmalcolm/gcc-refactoring-scripts revision 7d754b63ff2bf47226a67b2c0af5d74b54d4709f * c-gimplify.c (add_block_to_enclosing): Rename gimple subclass types. gcc/java/ Patch autogenerated by rename_gimple_subclasses.py from https://github.com/davidmalcolm/gcc-refactoring-scripts revision 7d754b63ff2bf47226a67b2c0af5d74b54d4709f * java-gimplify.c (java_gimplify_block): Rename gimple subclass types.
* | Concretize gimple_call_copy_flags and ipa_modify_call_argumentsDavid Malcolm2014-10-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This corresponds to: [PATCH 86/89] Concretize gimple_call_copy_flags and ipa_modify_call_arguments https://gcc.gnu.org/ml/gcc-patches/2014-04/msg01175.html from the original 89-patch kit That earlier patch was approved by Jeff: > OK when prereqs go in. in https://gcc.gnu.org/ml/gcc-patches/2014-05/msg00855.html gcc/ * gimple.h (gimple_call_copy_flags): Require gimple_calls. * ipa-prop.c (ipa_modify_call_arguments): Require a gimple_call. * ipa-prop.h (ipa_modify_call_arguments): Likewise. * tree-inline.c (copy_bb): Replace is_gimple_call with new local and call to dyn_cast<gimple_call>, updating gimple_call_ uses to use the type-checked local. * tree-sra.c (convert_callers): Replace check for GIMPLE_CALL with a dyn_cast.
* | Various gimple to gimple_call conversions in IPADavid Malcolm2014-10-241-14/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This corresponds to: [PATCH 56/89] Various gimple to gimple_call conversions in IPA https://gcc.gnu.org/ml/gcc-patches/2014-04/msg01179.html from the original 89-patch kit That earlier patch was approved by Jeff: > OK once prereqs go in. in https://gcc.gnu.org/ml/gcc-patches/2014-05/msg00857.html gcc/ * ipa-prop.c (detect_type_change_from_memory_writes): Require a gimple_call rather than a plain gimple. (detect_type_change): Likewise. (detect_type_change_ssa): Likewise. (compute_complex_assign_jump_func): Likewise. (compute_complex_ancestor_jump_func): Likewise. (compute_known_type_jump_func): Likewise. (determine_locally_known_aggregate_parts): Likewise. (ipa_compute_jump_functions_for_edge): Strengthen local "call" to a gimple_call; add checked cast to gimple_phi. (ipa_note_param_call): Require a gimple_call rather than a plain gimple. (ipa_analyze_indirect_call_uses): Likewise. (ipa_analyze_virtual_call_uses): Likewise. (ipa_analyze_call_uses): Likewise. (ipa_analyze_stmt_uses):Add checked cast to gimple_call. * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Replace use of is_gimple_call with dyn_cast<gimple_call> and a new local "call_stmt".
* | Introduce gimple_callDavid Malcolm2014-10-241-1/+1
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This corresponds to: [PATCH 20/89] Introduce gimple_call https://gcc.gnu.org/ml/gcc-patches/2014-04/msg01157.html from the original 89-patch kit That earlier patch was approved by Jeff: > OK once the const/renaming changes are done. in https://gcc.gnu.org/ml/gcc-patches/2014-05/msg00633.html gcc/ * coretypes.h (gimple_call): New typedef. (const_gimple_call): New typedef. * asan.c (get_mem_refs_of_builtin_call): Require a const_gimple_call rather than a const gimple. (has_stmt_been_instrumented_p): Add a checked cast to gimple_call. (instrument_strlen_call): Likewise. (instrument_builtin_call): Likewise. * builtins.c (validate_gimple_arglist): Require a const_gimple_call rather than a const gimple. (fold_call_stmt): Require a gimple_call rather than a gimple. * builtins.h (validate_gimple_arglist): Require a const_gimple_call rather than a const gimple. (fold_call_stmt): Require a gimple_call rather than a gimple. * cfgexpand.c (expand_call_stmt): Likewise. (expand_gimple_stmt_1): Add a checked cast to gimple_call within GIMPLE_CALL case. * cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Strengthen local "new_stmt" from gimple to gimple_call, adding a checked cast. * cgraphunit.c (cgraph_node::expand_thunk): Likewise for local "call". * gimple-fold.c (gimple_fold_builtin_snprintf_chk): Likewise for local "stmt". (gimple_fold_builtin_snprintf): Likewise. (gimple_fold_builtin): Likewise. (gimple_fold_call): Likewise. (gimple_fold_stmt_to_constant_1): Introduce local "call_stmt" via checked cast of "stmt" to gimple_call, using it in various places for typesafety. * gimple-pretty-print.c (dump_gimple_call_args): Strengthen param 2 from gimple to gimple_call. (dump_gimple_call): Likewise. (pp_gimple_stmt_1): Add a checked cast to gimple_call within GIMPLE_CALL case. * gimple-streamer-in.c (input_gimple_stmt): Replace is_gimple_call with a dyn_cast<gimple_call>, introducing local "call_stmt", and using it in place of "stmt" for typesafety. Add a checked cast in statement guarded by check for GIMPLE_CALL. * gimple-walk.c (walk_gimple_op): Add a checked cast to gimple_call. * gimple.c (gimple_call_reset_alias_info): Strengthen param from gimple to gimple_call. (gimple_build_call_1): Strengthen return type and local from gimple to gimple_call. (gimple_build_call_vec): Likewise. (gimple_build_call): Likewise. (gimple_build_call_valist): Likewise. (gimple_build_call_internal_1): Likewise. (gimple_build_call_internal): Likewise. (gimple_build_call_internal_vec): Likewise. (gimple_build_call_from_tree): Likewise. (gimple_call_return_flags): Strengthen param from const_gimple to const_gimple_call. (gimple_call_copy_skip_args): Strengthen return type and local from gimple to gimple_call. * gimple.h (gimple_call_reset_alias_info): Strengthen param from gimple to gimple_call. (gimple_build_call_vec): Strengthen return type from gimple to gimple_call. (gimple_build_call): Likewise. (gimple_build_call_valist): Likewise. (gimple_build_call_internal): Likewise. (gimple_build_call_internal_vec): Likewise. (gimple_build_call_from_tree): Likewise. (gimple_call_return_flags): Strengthen param from const_gimple to const_gimple_call. (gimple_call_copy_skip_args): Strengthen return type from gimple to gimple_call. (gimple_call_set_internal_fn): Strengthen param "call_stmt" from gimple to gimple_call. (gimple_call_return_type): Strengthen param from const_gimple to const_gimple_call. (gimple_call_chain_ptr): Likewise. (gimple_call_set_chain): Strengthen param from gimple to gimple_call. (gimple_call_set_return_slot_opt): Likewise. (gimple_call_set_from_thunk): Likewise. (gimple_call_from_thunk_p): Likewise. (gimple_call_set_va_arg_pack): Likewise. (gimple_call_va_arg_pack_p): Likewise. (gimple_call_set_alloca_for_var): Likewise. (gimple_call_alloca_for_var_p): Likewise. (gimple_expr_type): Introduce local "call_stmt" via a checked cast and use it for typesafety. * gimplify.c (gimplify_call_expr): Strengthen local "call" from gimple to gimple_call. (gimplify_modify_expr_to_memcpy): Likewise for local "gs". (gimplify_modify_expr_to_memset): Likewise. (gimplify_modify_expr): Add a checked cast to gimple_call. (gimplify_expr): Strengthen local "call" from gimple to gimple_call. (gimplify_function_tree): Likewise. * internal-fn.c (expand_LOAD_LANES): Strengthen param from gimple to gimple_call. (expand_STORE_LANES): Likewise. (expand_ANNOTATE): Likewise. (expand_GOMP_SIMD_LANE): Likewise. (expand_GOMP_SIMD_VF): Likewise. (expand_GOMP_SIMD_LAST_LANE): Likewise. (expand_UBSAN_NULL): Likewise. (expand_UBSAN_BOUNDS): Likewise. (expand_UBSAN_OBJECT_SIZE): Likewise. (expand_ASAN_CHECK): Likewise. (ubsan_expand_si_overflow_addsub_check): Likewise. (ubsan_expand_si_overflow_neg_check): Likewise. (ubsan_expand_si_overflow_mul_check): Likewise. (expand_UBSAN_CHECK_ADD): Likewise. (expand_UBSAN_CHECK_SUB): Likewise. (expand_UBSAN_CHECK_MUL): Likewise. (expand_LOOP_VECTORIZED): Likewise. (expand_MASK_LOAD): Likewise. (expand_MASK_STORE): Likewise. (expand_ABNORMAL_DISPATCHER): Likewise. (expand_BUILTIN_EXPECT): Likewise. (internal_fn_expanders): Likewise for entries in this table. (expand_internal_call): Likewise. * internal-fn.def: Update comment to reflect strengthening of param of expanders. * internal-fn.h (expand_internal_call): Strengthen param from gimple to gimple_call. * ipa-prop.c (ipa_modify_call_arguments): Likewise for local "new_stmt". * ipa-pure-const.c (check_call): Likewise for param "call". (check_stmt): Add a checked cast to gimple_call within GIMPLE_CALL case. * ipa-split.c (split_function): Strengthen local "call" from gimple to gimple_call. * omp-low.c (build_omp_barrier): Likewise for local "g". (lower_rec_input_clauses): Likewise for local "stmt". * trans-mem.c (build_tm_load): Likewise for return type and local "gcall". (build_tm_store): Likewise. (expand_transaction): Likewise for local "call". * tree-call-cdce.c (check_pow): Likewise for param. (check_builtin_call): Likewise. (is_call_dce_candidate): Likewise. (gen_conditions_for_pow): Likewise. (gen_shrink_wrap_conditions): Likewise. (shrink_wrap_one_built_in_call): Likewise. (shrink_wrap_conditional_dead_built_in_calls): Strengthen param from vec<gimple> to vec<gimple_call>, and local "bi_call" from gimple to gimple_call. (pass_call_cdce::execute): Strengthen local "cond_dead_built_in_calls" from auto_vec<gimple> to auto_vec<gimple_call> and local "stmt" from gimple to gimple_call, * tree-cfg.c (notice_special_calls): Strengthen param from gimple to gimple_call. * tree-cfg.h (notice_special_calls): Likewise. * tree-complex.c (expand_complex_libcall): Likewise for local "stmt". * tree-inline.c (remap_gimple_stmt): Add checked cast to gimple_call. (copy_bb): Likewise. Strengthen local "new_call" from gimple to gimple_call. (inline_forbidden_p_stmt): Add checked cast to gimple_call. * tree-nested.c (init_tmp_var_with_call): Strengthen param "call" from gimple to gimple_call. (convert_nl_goto_reference): Likewise for local "call". (convert_tramp_reference_op): Likewise. (convert_gimple_call): Add checked cast to gimple_call. * tree-nrv.c (dest_safe_for_nrv_p): Strengthen param "call" from gimple to gimple_call. (pass_return_slot::execute): Likewise for local "stmt", using a dyn_cast<gimple_call> rather than an is_gimple_call call. * tree-object-size.c (alloc_object_size): Strengthen param "call" from const_gimple to const_gimple_call. (pass_through_call): Likewise. (call_object_size): Strengthen param "call" from gimple to gimple_call. (collect_object_sizes_for): Introduce local "call_stmt" via a checked cast, using it for typesafety. (check_for_plus_in_loops_1): Likewise. (pass_object_sizes::execute): Add a checked cast to gimple_call. * tree-profile.c (gimple_gen_interval_profiler): Strengthen local "call" from gimple to gimple_call. (gimple_gen_pow2_profiler): Likewise. (gimple_gen_one_value_profiler): Likewise. (gimple_gen_time_profiler): Likewise. (gimple_gen_average_profiler): Likewise. (gimple_gen_ior_profiler): Likewise. * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Likewise for param "call". (ref_maybe_used_by_call_p): Likewise. (ref_maybe_used_by_stmt_p): Add a checked cast to gimple_call. (call_may_clobber_ref_p_1): Strengthen param "call" from gimple to gimple_call. (call_may_clobber_ref_p): Likewise. (stmt_may_clobber_ref_p_1): Add a checked cast to gimple_call. * tree-ssa-alias.h (call_may_clobber_ref_p): Strengthen param 1 from gimple to gimple_call. (call_may_clobber_ref_p_1): Likewise. * tree-ssa-dce.c (eliminate_unnecessary_stmts): Add a checked cast to gimple_call. * tree-ssa-loop-prefetch.c (emit_mfence_after_loop): Strengthen local "call" from gimple to gimple_call. * tree-ssa-math-opts.c (build_and_insert_call): Likewise for local "call_stmt". * tree-ssa-operands.c (maybe_add_call_vops): Likewise for param "stmt". (parse_ssa_operands): Add a checked cast to gimple_call within GIMPLE_CALL case. * tree-ssa-pre.c (compute_avail): Add a checked cast to gimple_call. * tree-ssa-sccvn.c (copy_reference_ops_from_call): Strengthen param "call" from gimple to gimple_call. (valueize_shared_reference_ops_from_call): Likewise. (vn_reference_lookup_3): Add a checked cast to gimple_call. (vn_reference_lookup_call): Strengthen param "call" from gimple to gimple_call. (visit_reference_op_call): Likewise for param "stmt". (visit_use): Replace is_gimple_call with a dyn_cast, introducing local "call_stmt", using it in place of "stmt" for type-safety. * tree-ssa-sccvn.h (vn_reference_lookup_call): Strengthen param 1 from gimple to gimple_call. * tree-ssa-structalias.c (get_call_vi): Likewise. (lookup_call_use_vi): Likewise. (lookup_call_clobber_vi): Likewise. (get_call_use_vi): Likewise. (get_call_clobber_vi): Likewise. (handle_rhs_call): Likewise. (handle_lhs_call): Likewise. (handle_const_call): Likewise. (handle_pure_call): Likewise. (get_fi_for_callee): Likewise. (find_func_aliases_for_builtin_call): Likewise for param 2. (find_func_aliases_for_call): Likewise. (find_func_aliases): Add a checked cast to gimple_call. (find_func_clobbers): Replace is_gimple_call with a dyn_cast, introducing local "call_stmt", using it in place of "stmt" for type-safety. (compute_points_to_sets): Strengthen local "stmt" from gimple to gimple_call, replacing is_gimple_call with a dyn_cast <gimple_call>. (ipa_pta_execute): Likewise. * tree-ssa-threadedge.c (record_temporary_equivalences_from_stmts_at_dest): Add checked cast to gimple_call. * tree-tailcall.c (find_tail_calls): Strengthen local "call" from gimple to gimple_call, adding a checked cast. * tree-vect-data-refs.c (vect_setup_realignment): Eliminate top-level local "new_stmt" in favor of more tightly-scoped locals "new_stmt" of type gimple_assign and gimple_call. * tree-vect-patterns.c (vect_recog_pow_pattern): Strenghthen local "stmt" from gimple to gimple_call. * tree-vect-stmts.c (vectorizable_function): Likewise for param "call". (vectorizable_call): Rename param 1 from "stmt" to "gs", reintroducing "stmt" as a gimple_call once we've established that we're working with a GIMPLE_CALL. * tree-vectorizer.h (vectorizable_function): Strengthen param 1 from gimple to gimple_call. * value-prof.c (check_ic_target): Likewise. (gimple_ic_transform): Likewise for local "stmt", replacing a check for GIMPLE_CALL with a dyn_cast. (interesting_stringop_to_profile_p): Strengthen param "call" from gimple to gimple_call. (gimple_stringop_fixed_value): Likewise for param "vcall_stmt". (gimple_stringops_transform): Likewise for local "stmt", replacing a check for GIMPLE_CALL with a dyn_cast. (gimple_stringops_values_to_profile): Rename param 1 from "stmt" to "gs", reintroducing "stmt" as a gimple_call once we've established that we're working with a GIMPLE_CALL. * vtable-verify.c (verify_bb_vtables): Strengthen local "call_stmt" from gimple to gimple_call.
* * ipa-prop.c (try_make_edge_direct_virtual_call): Remove overactivehubicka2014-10-051-1/+0
| | | | | | | sanity check. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215907 138bc75d-0d04-0410-961f-82ee72b054a4
* * ipa-polymorphic-call.c (possible_placement_new): Fix conditionhubicka2014-10-051-4/+5
| | | | | | | | | | | | | | | | | | on size. (ipa_polymorphic_call_context::restrict_to_inner_type): Do not walk into vptr pointer. (ipa_polymorphic_call_context::dump): Fix formating. (walk_ssa_copies): Add logic avoiding loops; update uses. * ipa-prop.c (ipa_analyze_call_uses): Compute vptr_changed. * g++.dg/ipa/devirt-42.C: Update template. * g++.dg/ipa/devirt-44.C: Update template. * g++.dg/ipa/devirt-45.C: Update template. * g++.dg/ipa/devirt-46.C: Update template. * g++.dg/ipa/devirt-47.C: Update template. * g++.dg/ipa/devirt-48.C: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215902 138bc75d-0d04-0410-961f-82ee72b054a4
* * ipa-polymorphic-call.c (walk_ssa_copies): Recognizehubicka2014-10-051-18/+64
| | | | | | | | | | | | | | | | | | | | | | NULL pointer checks. (ipa_polymorphic_call_context::get_dynamic_type): Return true if type doesn't change. * cgraph.h (cgraph_indirect_call_info): New flag. * cgraph.c (cgraph_node::create_indirect_edge): Initialize it. (cgraph_node::dump): Dump it. * ipa-prop.c (ipa_analyze_call_uses): Ignore return valud of context.get_dynamic_type. (ipa_make_edge_direct_to_target): Do not speculate edge that is already speuclative. (try_make_edge_direct_virtual_call): Use VPTR_CHANGED; Do not speculate to __builtin_unreachable (ipa_write_indirect_edge_info, ipa_read_indirect_edge_info): Stream vptr_changed. * ipa-cp.c (ipa_get_indirect_edge_target_1): Use vptr_changed. * g++.dg/ipa/devirt-47.C: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215898 138bc75d-0d04-0410-961f-82ee72b054a4
* * g++.dg/ipa/devirt-46.C: New testcase.hubicka2014-10-041-2/+3
| | | | | | | | | | | * ipa-prop.c (ipa_compute_jump_functions_for_edge): Call get_dynamic_type; drop TODO. * ipa-polymorphic-call.c (ipa_polymorphic_call_context::get_dynamic_type): Be ready for otr_type to be unknown. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215890 138bc75d-0d04-0410-961f-82ee72b054a4
* * cgraph.h (struct indirect_call_info): Add IN_POLYMORPHIC_CDTORhubicka2014-10-031-3/+4
| | | | | | | | | | | | | | | | | * lto-cgraph.c (lto_output_edge, input_edge): Stream in_polymorphic_cdtor * cgraph.c (symbol_table::create_edge): Compute in_polymorphic_cdtor. (cgraph_edge::make_speculative): Copy in_polymorphic_cdtor. * cgraphclones.c (cgraph_edge::clone): Likewise. * ipa-prop.c (update_jump_functions_after_inlining, try_make_edge_direct_virtual_call): Pass in_polymorphic_cdtor to possible_dynamic_type_change. (decl_maybe_in_construction_p): Allow empty OUTER_TYPE and BASE. (ipa_polymorphic_call_context::possible_dynamic_type_change): Add IN_POLY_CDOTR argument. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215871 138bc75d-0d04-0410-961f-82ee72b054a4
* * cgraph.h (ipa_polymorphic_call_context):hubicka2014-10-031-3/+3
| | | | | | | | | | | | | | | | | | | | | Turn bools into bitfields; add DYNAMIC; make MAKE_SPECULATIVE private, add POSSIBLE_DYNAMIC_TYPE_CHANGE. * ipa-polymorphic-call.c (ipa_polymorphic_call_context::restrict_to_inner_class): Allow accesses past end of dynamic types. (ipa_polymorphic_call_context::stream_out, speculative_outer_type): Stream dynamic flag. (ipa_polymorphic_call_context::set_by_decl): Clear DYNAMIC. (ipa_polymorphic_call_context::ipa_polymorphic_call_context): Clear DYNAMIC. (ipa_polymorphic_call_context::get_dynamic_type): Use DYNAMIC; set it. (ipa_polymorphic_call_context::combine_with): Propagate dynamic. * ipa-prop.c (update_jump_functions_after_inlining, try_make_edge_direct_virtual_call): Use possible_dynamic_type_change. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215833 138bc75d-0d04-0410-961f-82ee72b054a4
* * ipa-prop.h (ipa_get_controlled_uses): Add hack to avoid ICEhubicka2014-10-021-38/+190
| | | | | | | | | | | | | | | | | | | | | | | | | when speculation is added. (ipa_edge_args): Add polymorphic_call_contexts. (ipa_get_ith_polymorhic_call_context): New accesor. (ipa_make_edge_direct_to_target): Add SPECULATIVE parameter. * ipa-prop.c (ipa_print_node_jump_functions_for_edge): Print contexts. (ipa_compute_jump_functions_for_edge): Compute contexts. (update_jump_functions_after_inlining): Update contexts. (ipa_make_edge_direct_to_target): Add SPECULATIVE argument; update dumping; add speculative edge creation. (try_make_edge_direct_virtual_call): Add CTX_PTR parameter; handle context updating. (update_indirect_edges_after_inlining): Pass down context. (ipa_edge_duplication_hook): Duplicate contexts. (ipa_write_node_info): Stream out contexts. (ipa_read_node_info): Stream in contexts. * ipa-devirt.c (type_all_derivations_known_p): Avoid ICE on non-ODR types. (try_speculative_devirtualization): New function. * ipa-utils.h (try_speculative_devirtualization): Declare. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215794 138bc75d-0d04-0410-961f-82ee72b054a4
* * ipa-prop.c (ipa_modify_formal_parameters): Do not mergehubicka2014-10-021-15/+0
| | | | | | | type variants. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215791 138bc75d-0d04-0410-961f-82ee72b054a4
* * ipa-prop.c (ipa_intraprocedural_devirtualization): Remove.hubicka2014-09-261-30/+0
| | | | | | | | | * ipa-prop.h (ipa_intraprocedural_devirtualization): Remove. * tree-ssa-prop.c (eliminate_dom_walker::before_dom_children): Remove. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215628 138bc75d-0d04-0410-961f-82ee72b054a4
* * cgraph.h (class ipa_polymorphic_call_context): Move here fromhubicka2014-09-251-45/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ipa-utils.h; add stream_int and stream_out methods. (cgraph_indirect_call_info): Remove SPECILATIVE_OFFSET, OUTER_TYPE, SPECULATIVE_OUTER_TYPE, MAYBE_IN_CONSTRUCTION MAYBE_DERIVED_TYPE and SPECULATIEVE_MAYBE_DERIVED_TYPE; add CONTEXT. (ipa_polymorphic_call_context::ipa_polymorphic_call_context, ipa_polymorphic_call_context::ipa_polymorphic_call_context, ipa_polymorphic_call_context::clear_speculation, ipa_polymorphic_call_context::clear_outer_type): Move here from ipa-utils.h * ipa-utils.h (class ipa_polymorphic_call_context): Move to cgraph.h (ipa_polymorphic_call_context::ipa_polymorphic_call_context, ipa_polymorphic_call_context::ipa_polymorphic_call_context, ipa_polymorphic_call_context::clear_speculation, ipa_polymorphic_call_context::clear_outer_type): Likewise. * ipa-devirt.c: Include data-streamer.h, lto-streamer.h and streamer-hooks.h (ipa_polymorphic_call_context::stream_out): New method. (ipa_polymorphic_call_context::stream_in): New method. (noncall_stmt_may_be_vtbl_ptr_store): Add forgotten static. * ipa-prop.c (ipa_analyze_indirect_call_uses): Do not care about OUTER_TYPE. (ipa_analyze_call_uses): Simplify. (update_indirect_edges_after_inlining): Do not care about outer_type. (ipa_write_indirect_edge_info): Update. (ipa_write_indirect_edge_info): Likewise. * cgraph.c (cgraph_node::create_indirect_edge): Simplify. (dump_edge_flags): Break out from ... (cgraph_node::dump): ... here; dump indirect edges. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215575 138bc75d-0d04-0410-961f-82ee72b054a4
* * ipa-utils.h (polymorphic_call_context): Addhubicka2014-09-241-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | metdhos dump, debug and clear_outer_type. (ipa_polymorphic_call_context::ipa_polymorphic_call_context): Simplify. (ipa_polymorphic_call_context::clear_outer_type): New method. * ipa-prop.c (ipa_analyze_call_uses): Do not overwrite offset. * ipa-devirt.c (types_odr_comparable): New function. (types_must_be_same_for_odr): New function. (odr_subtypes_equivalent_p): Simplify. (possible_placement_new): Break out from ... (ipa_polymorphic_call_context::restrict_to_inner_type): ... here; be more cuatious about returning false in cases the context may be valid in derived type or via placement new. (contains_type_p): Clear maybe_derived_type (ipa_polymorphic_call_context::dump): New method. (ipa_polymorphic_call_context::debug): New method. (ipa_polymorphic_call_context::set_by_decl): Cleanup comment. (ipa_polymorphic_call_context::set_by_invariant): Simplify. (ipa_polymorphic_call_context::ipa_polymorphic_call_context): Simplify. (possible_polymorphic_call_targets): Trust context.restrict_to_inner_class to suceed on all valid cases; remove confused sanity check. (dump_possible_polymorphic_call_targets): Simplify. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215569 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-09-24 Martin Jambor <mjambor@suse.cz>jamborm2014-09-241-0/+15
| | | | | | | | | | * ipa-prop.c (ipa_edge_duplication_hook): Update controlled_use_count when duplicating a PASS_THROUGH jump function when creating a speculative edge. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215560 138bc75d-0d04-0410-961f-82ee72b054a4
* * tree-ssa-ccp.c (prop_value_d): Rename to ...hubicka2014-09-221-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (ccp_prop_value_t): ... this one to avoid ODR violation; update uses. * ipa-prop.c (struct type_change_info): Rename to ... (prop_type_change_info): ... this; update uses. * ggc-page.c (globals): Rename to ... (static struct ggc_globals): ... this; update uses. * tree-ssa-loop-im.c (mem_ref): Rename to ... (im_mem_ref): ... this; update uses. * ggc-common.c (loc_descriptor): Rename to ... (ggc_loc_descriptor): ... this; update uses. * lra-eliminations.c (elim_table): Rename to ... (lra_elim_table): ... this; update uses. * bitmap.c (output_info): Rename to ... (bitmap_output_info): ... this; update uses. * gcse.c (expr): Rename to ... (gcse_expr) ... this; update uses. (occr): Rename to ... (gcse_occr): .. this; update uses. * tree-ssa-copy.c (prop_value_d): Rename to ... (prop_value_t): ... this. * predict.c (block_info_def): Rename to ... (block_info): ... this; update uses. (edge_info_def): Rename to ... (edge_info): ... this; update uses. * profile.c (bb_info): Rename to ... (bb_profile_info): ... this; update uses. * alloc-pool.c (output_info): Rename to ... (pool_output_info): ... this; update uses. * ipa-cp.c (topo_info): Rename to .. (ipa_topo_info): ... this; update uses. * tree-nrv.c (nrv_data): Rename to ... (nrv_data_t): ... this; update uses. * ipa-split.c (bb_info): Rename to ... (split_bb_info): ... this one. * profile.h (edge_info): Rename to ... (edge_profile_info): ... this one; update uses. * dse.c (bb_info): Rename to ... (dse_bb_info): ... this one; update uses. * cprop.c (occr): Rename to ... (cprop_occr): ... this one; update uses. (expr): Rename to ... (cprop_expr): ... this one; update uses. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215480 138bc75d-0d04-0410-961f-82ee72b054a4
* * ipa-utils.h (ipa_polymorphic_call_context): Turn into class; add ctors.hubicka2014-09-201-11/+8
| | | | | | | | | | | | | | | | | | | (possible_polymorphic_call_targets, dump_possible_polymorphic_call_targets, possible_polymorphic_call_target_p, possible_polymorphic_call_target_p): Simplify. (get_dynamic_type): Remove. * ipa-devirt.c (ipa_dummy_polymorphic_call_context): Remove. (clear_speculation): Bring to ipa-deivrt.h (get_class_context): Rename to ... (ipa_polymorphic_call_context::restrict_to_inner_class): ... this one. (contains_type_p): Update. (get_dynamic_type): Rename to ... ipa_polymorphic_call_context::get_dynamic_type(): ... this one. (possible_polymorphic_call_targets): UPdate. * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Update. * ipa-prop.c (ipa_analyze_call_uses): Update. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215418 138bc75d-0d04-0410-961f-82ee72b054a4
* PR ipa/63166hubicka2014-09-101-2/+2
| | | | | | | | | | * ipa-prop.c (compute_known_type_jump_func): Fix conditional. * g++.dg/lto/pr63166_0.ii: New testcase. * g++.dg/lto/pr63166_1.ii: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215105 138bc75d-0d04-0410-961f-82ee72b054a4
* IPA C++ refactoring 4/Nmarxin2014-08-251-14/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * cgraph.h (symtab_node): (bool needed_p (void)): created from decide_is_symbol_needed (bool referred_to_p (void)): created from referred_to_p (static cgraph_node *get_for_asmname (tree asmname)): created from symtab_node_for_asm * cgraph.h (cgraph_node): (void assemble_thunks_and_aliases (void)): created from assemble_thunks_and_aliases (void expand (void)): created from expand_function (static void finalize_function (tree, bool)): created from cgraph_finalize_function (static cgraph_local_info *local_info (tree decl)): created from cgraph_local_info (static cgraph_global_info *global_info (tree)): created from cgraph_global_info (static cgraph_rtl_info *rtl_info (tree)): created from cgraph_rtl_info * cgraph.h (varpool_node): (static void add (tree decl): created from varpool_add_new_variable * cgraph.h (cgraph_edge): void remove (void); (void remove_caller (void)): created from cgraph_edge_remove_caller (void remove_callee (void)): created from cgraph_edge_remove_callee (void set_call_stmt (gimple new_stmt, bool update_speculative = true)): created from cgraph_set_call_stmt (void redirect_callee (cgraph_node *n)): created from cgraph_redirect_edge_callee (cgraph_edge *make_direct (cgraph_node *callee)): created from cgraph_make_edge_direct (cgraph_edge *make_speculative (cgraph_node *n2, gcov_type direct_count, gimple redirect_call_stmt_to_callee (void)): created from cgraph_turn_edge_to_speculative (void speculative_call_info (cgraph_edge *&direct, cgraph_edge *&indirect, ipa_ref *&reference)): created from cgraph_speculative_call_info (cgraph_edge * clone (cgraph_node *n, gimple call_stmt, unsigned stmt_uid, gcov_type count_scale, int freq_scale, bool update_original)): created from cgraph_clone_edge (cgraph_edge *resolve_speculation (tree callee_decl)): created from cgraph_resolve_speculation (bool cannot_lead_to_return_p (void)): created from cannot_lead_to_return_p (bool recursive_p (void)): created from cgraph_edge_recursive_p (bool maybe_hot_p (void)): created from cgraph_maybe_hot_edge_p (static unsigned int rebuild_edges (void)): created from rebuild_cgraph_edges (static void rebuild_references (void)): created from cgraph_rebuild_references * cgraph.h (symbol_table): (create_reference): renamed from add_reference (maybe_create_reference): renamed from maybe_add_reference (void register_symbol (symtab_node *node)): new function (void clear_asm_symbols (void)): new function (void unregister (symtab_node *node)): new function (void release_symbol (cgraph_node *node, int uid)): new function (cgraph_node * allocate_cgraph_symbol (void)): new function (void initialize (void)): created from cgraph_init (symtab_node *first_symbol (void)):new function (asm_node *first_asm_symbol (void)):new function (symtab_node *first_defined_symbol (void)):new function (varpool_node *first_variable (void)):new function (varpool_node *next_variable (varpool_node *node)):new function (varpool_node *first_static_initializer (void)):new function (varpool_node *next_static_initializer (varpool_node *node)):new function (varpool_node *first_defined_variable (void)):new function (varpool_node *next_defined_variable (varpool_node *node)):new function (cgraph_node *first_defined_function (void)):new function (cgraph_node *next_defined_function (cgraph_node *node)):new function (cgraph_node *first_function (void)):new function (cgraph_node *next_function (cgraph_node *node)):new function (cgraph_node *first_function_with_gimple_body (void)):new function (asm_node *finalize_toplevel_asm (tree asm_str)): created from add_asm_node (bool remove_unreachable_nodes (bool before_inlining_p, FILE *file)): created from symtab_remove_unreachable_nodes (void remove_unreferenced_decls (void)): created from varpool_remove_unreferenced_decls (void process_new_functions (void)): created from cgraph_process_new_functions (void process_same_body_aliases (void)): created from cgraph_process_same_body_aliases (bool output_variables (void)): created from varpool_node::output_variables (void output_asm_statements (void)): created from output_asm_statements (void finalize_compilation_unit (void)): created from finalize_compilation_unit (void compile (void)): created from compile (void output_weakrefs (void)): created from output_weakrefs (cgraph_node *create_empty (void)): created from cgraph_node::create_empty (cgraph_edge *create_edge (cgraph_node *caller, cgraph_node *callee, gimple call_stmt, gcov_type count, int freq, bool indir_unknown_callee)): created from cgraph_node::create_edge (void free_edge (cgraph_edge *e)): created from cgraph_free_edge (cgraph_node *next_function_with_gimple_body (cgraph_node *node)): created from cgraph_next_function_with_gimple_body (void remove_edge_removal_hook (cgraph_edge_hook_list *)): created from cgraph_remove_edge_removal_hook (cgraph_node_hook_list *add_cgraph_removal_hook (cgraph_node_hook, void *)): created from cgraph_add_node_removal_hook (void remove_cgraph_removal_hook (cgraph_node_hook_list *)): created from cgraph_remove_node_removal_hook (varpool_node_hook_list *add_varpool_removal_hook (varpool_node_hook, void *)): created from varpool_add_node_removal_hook (void remove_varpool_removal_hook (varpool_node_hook_list *)): created from varpool_remove_node_removal_hook (cgraph_node_hook_list *add_cgraph_insertion_hook (cgraph_node_hook, void *)): created from cgraph_add_function_insertion_hook (void remove_cgraph_insertion_hook (cgraph_node_hook_list *)): created from cgraph_remove_function_insertion_hook (varpool_node_hook_list *add_varpool_insertion_hook (varpool_node_hook, void *)): created from varpool_add_variable_insertion_hook (void remove_varpool_insertion_hook (varpool_node_hook_list *)): created from varpool_remove_variable_insertion_hook (cgraph_2edge_hook_list *add_edge_duplication_hook (cgraph_2edge_hook, void *)): created from cgraph_add_edge_duplication_hook (void remove_edge_duplication_hook (cgraph_2edge_hook_list *)): created from cgraph_remove_edge_duplication_hook (cgraph_2node_hook_list *add_cgraph_duplication_hook (cgraph_2node_hook, void *)): created from cgraph_add_node_duplication_hook (void remove_cgraph_duplication_hook (cgraph_2node_hook_list *)): created from cgraph_remove_node_duplication_hook (void call_edge_removal_hooks (cgraph_edge *e)): created from cgraph_call_edge_removal_hooks (void call_cgraph_insertion_hooks (cgraph_node *node)): created from call_function_insertion_hooks (void call_cgraph_removal_hooks (cgraph_node *node)): created from cgraph_call_node_removal_hooks (void call_cgraph_duplication_hooks (cgraph_node *node, cgraph_node *node2)): created from cgraph_node::call_duplication_hooks (void call_edge_duplication_hooks (cgraph_edge *cs1, cgraph_edge *cs2)): created from cgraph_call_edge_duplication_hooks (void call_varpool_removal_hooks (varpool_node *node)): created from varpool_call_node_removal_hooks (void call_varpool_insertion_hooks (varpool_node *node)): created from varpool_call_variable_insertion_hooks (void insert_to_assembler_name_hash (symtab_node *node, bool with_clones)): created from insert_to_assembler_name_hash (void unlink_from_assembler_name_hash (symtab_node *node, bool with_clones)): created from unlink_from_assembler_name_hash (void symtab_prevail_in_asm_name_hash (symtab_node *node)): created from symtab_prevail_in_asm_name_hash (void symtab_initialize_asm_name_hash (void)): created from symtab_initialize_asm_name_hash (void change_decl_assembler_name (tree decl, tree name)): created from change_decl_assembler_name (void materialize_all_clones (void)): created from cgraph_materialize_all_clones (static hashval_t decl_assembler_name_hash (const_tree asmname)): created from decl_assembler_name_hash (static bool decl_assembler_name_equal (tree decl, const_tree asmname)): created from decl_assembler_name_equal (static hashval_t hash_node_by_assembler_name (const void *p)): created from hash_node_by_assembler_name (static int eq_assembler_name (const void *p1, const void *p2)): created from eq_assembler_name git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214422 138bc75d-0d04-0410-961f-82ee72b054a4
* * ipa-utils.h (ipa_polymorphic_call_context): Turn into class; add ctors.hubicka2014-08-161-3/+3
| | | | | | | | | | | | | | | | | | | (possible_polymorphic_call_targets, dump_possible_polymorphic_call_targets, possible_polymorphic_call_target_p, possible_polymorphic_call_target_p): Simplify. (get_dynamic_type): Remove. * ipa-devirt.c (ipa_dummy_polymorphic_call_context): Remove. (clear_speculation): Bring to ipa-deivrt.h (get_class_context): Rename to ... (ipa_polymorphic_call_context::restrict_to_inner_class): ... this one. (contains_type_p): Update. (get_dynamic_type): Rename to ... ipa_polymorphic_call_context::get_dynamic_type(): ... this one. (possible_polymorphic_call_targets): UPdate. * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Update. * ipa-prop.c (ipa_analyze_call_uses): Update. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214060 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-08-08 Richard Biener <rguenther@suse.de>rguenth2014-08-081-6/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lto-streamer.h (struct lto_input_block): Make it a class with a constructor. (LTO_INIT_INPUT_BLOCK, LTO_INIT_INPUT_BLOCK_PTR): Remove. (struct lto_function_header, struct lto_simple_header, struct lto_simple_header_with_strings, struct lto_decl_header, struct lto_function_header): Make a simple inheritance hieararchy. Remove unused fields. (struct lto_asm_header): Remove. * lto-streamer-out.c (produce_asm): Adjust. (lto_output_toplevel_asms): Likewise. (produce_asm_for_decls): Likewise. * lto-section-out.c (lto_destroy_simple_output_block): Likewise. * data-streamer-in.c (string_for_index): Likewise. * ipa-inline-analysis.c (inline_read_section): Likewise. * ipa-prop.c (ipa_prop_read_section): Likewise. (read_replacements_section): Likewise. * lto-cgraph.c (input_cgraph_opt_section): Likewise. * lto-section-in.c (lto_create_simple_input_block): Likewise. (lto_destroy_simple_input_block): Likewise. * lto-streamer-in.c (lto_read_body_or_constructor): Likewise. (lto_input_toplevel_asms): Likewise. lto/ * lto.c (lto_read_decls): Adjust for lto_input_block changes. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213759 138bc75d-0d04-0410-961f-82ee72b054a4
* * ipa-devirt.c: Include gimple-pretty-print.hhubicka2014-08-071-1/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | (referenced_from_vtable_p): Exclude DECL_EXTERNAL from further tests. (decl_maybe_in_construction_p): Fix conditional on cdtor check (get_polymorphic_call_info): Fix return value (type_change_info): New sturcture based on ipa-prop variant. (noncall_stmt_may_be_vtbl_ptr_store): New predicate based on ipa-prop variant. (extr_type_from_vtbl_ptr_store): New function based on ipa-prop variant. (record_known_type): New function. (check_stmt_for_type_change): New function. (get_dynamic_type): New function. * ipa-prop.c (ipa_analyze_call_uses): Use get_dynamic_type. * tree-ssa-pre.c: ipa-utils.h (eliminate_dom_walker::before_dom_children): Use ipa-devirt machinery; sanity check with ipa-prop devirtualization. * trans-mem.c (ipa_tm_insert_gettmclone_call): Clear polymorphic flag. * g++.dg/ipa/devirt-35.C: New testcase. * g++.dg/ipa/devirt-36.C: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213739 138bc75d-0d04-0410-961f-82ee72b054a4
* IPA ICF pass 1/Nmarxin2014-08-011-1/+1
| | | | | | | | | | | | | | | | * gimple-iterator.h (gsi_next_nonvirtual_phi): New function. * ipa-prop.h (count_formal_params): Global function created from static. * ipa-prop.c (count_formal_params): Likewise. * ipa-utils.c (ipa_merge_profiles): Be more tolerant if we merge profiles for semantically equivalent functions. * passes.c (do_per_function): If we load body of a function during WPA, this condition should behave same. * varpool.c (ctor_for_folding): More tolerant assert for variable aliases created during WPA. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213417 138bc75d-0d04-0410-961f-82ee72b054a4
* * cgraph.c (cgraph_node::create_indirect_edge): Copy speculative data.hubicka2014-07-291-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | * cgraph.h (cgraph_indirect_call_info): Add speculative data. * gimple-fold.c (fold_gimple_assign): Fix check for virtual call. * ipa-devirt.c (ipa_dummy_polymorphic_call_context): Update (contains_type_p): Forward declare. (polymorphic_call_target_hasher::hash): Hash speculative info. (polymorphic_call_target_hasher::equal): Compare speculative info. (get_class_context): Handle speuclation. (contains_type_p): Update. (get_polymorphic_call_info_for_decl): Update. (walk_ssa_copies): Break out from ... (get_polymorphic_call_info): ... here; set speculative context before giving up. * ipa-prop.c (ipa_write_indirect_edge_info, ipa_read_indirect_edge_info): Stream speculative context. * ipa-utils.h (ipa_polymorphic_call_context): Add speculative info (SPECULATIVE_OFFSET, SPECULATIVE_OUTER_TYPE, SPECULATIVE_MAYBE_DERIVED_TYPE). (possible_polymorphic_call_targets overriders): Update. (dump_possible_polymorphic_call_targets overriders): Update. (dump_possible_polymorphic_call_target_p overriders): Update. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213152 138bc75d-0d04-0410-961f-82ee72b054a4
* IPA C++ refactoring 1/Nmarxin2014-07-241-27/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * cgraph.h (symtab_node): (void register_symbol (void)): created from symtab_register_node (void remove (void)): created from symtab_remove_node (void dump (FILE *f)): created from dump_symtab_node (void DEBUG_FUNCTION debug (void)): created from debug_symtab_node (void DEBUG_FUNCTION verify (void)): created from verify_symtab_node (struct ipa_ref *add_reference (symtab_node *referred_node, enum ipa_ref_use use_type)): created from add_reference (struct ipa_ref *add_reference (symtab_node *referred_node, enum ipa_ref_use use_type, gimple stmt)): created from add_reference (struct ipa_ref *maybe_add_reference (tree val, enum ipa_ref_use use_type, gimple stmt)): created from maybe_add_reference (bool semantically_equivalent_p (symtab_node *target)): created from symtab_semantically_equivalent_p (void remove_from_same_comdat_group (void)): created from remove_from_same_comdat_group (void add_to_same_comdat_group (symtab_node *old_node)): created from symtab_add_to_same_comdat_group (void dissolve_same_comdat_group_list (void)): created from symtab_dissolve_same_comdat_group_list (bool used_from_object_file_p (void)): created from symtab_used_from_object_file_p (symtab_node *ultimate_alias_target (enum availability *avail = NULL)): created from symtab_alias_ultimate_target (inline symtab_node *next_defined_symbol (void)): created from symtab_next_defined_symbol (bool resolve_alias (symtab_node *target)): created from symtab_resolve_alias (bool call_for_symbol_and_aliases (bool (*callback) (symtab_node *, void *), void *data, bool include_overwrite)): created from symtab_for_node_and_aliases (symtab_node *noninterposable_alias (void)): created from symtab_nonoverwritable_alias (inline symtab_node *get_alias_target (void)): created from symtab_alias_target (void set_section (const char *section)): created from set_section_1 (enum availability get_availability (void)): created from symtab_node_availability (void make_decl_local (void)): created from symtab_make_decl_local (bool real_symbol_p (void)): created from symtab_read_node (can_be_discarded_p (void)): created from symtab_can_be_discarded (inline bool comdat_local_p (void)): created from symtab_comdat_local_p (inline bool in_same_comdat_group_p (symtab_node *target)): created from symtab_in_same_comdat_p; (bool address_taken_from_non_vtable_p (void)): created from address_taken_from_non_vtable_p (static inline symtab_node *get (const_tree decl)): created from symtab_get_node (static void dump_table (FILE *)): created from dump_symtab (static inline DEBUG_FUNCTION void debug_symtab (void)): created from debug_symtab (static DEBUG_FUNCTION void verify_symtab_nodes (void)): created from verify_symtab (static bool used_from_object_file_p_worker (symtab_node *node)): created from symtab_used_from_object_file_p (void dump_base (FILE *)): created from dump_symtab_base (bool DEBUG_FUNCTION verify_base (void)): created from verify_symtab_base (void unregister (void)): created from symtab_unregister_node (struct symbol_priority_map *priority_info (void)): created from symtab_priority_info (static bool set_implicit_section (symtab_node *n, void *)): created from set_implicit_section (static bool noninterposable_alias (symtab_node *node, void *data)): created from symtab_nonoverwritable_alias_1 * cgraph.h (cgraph_node): (bool remove_symbol_and_inline_clones (cgraph_node *forbidden_node = NULL)): created from cgraph_remove_node_and_inline_clones (void record_stmt_references (gimple stmt)): created from ipa_record_stmt_references (void set_call_stmt_including_clones (gimple old_stmt, gimple new_stmt, bool update_speculative = true)): created from cgraph_set_call_stmt_including_clones (cgraph_node *function_symbol (enum availability *avail = NULL)): created from cgraph_function_node (cgraph_node *create_clone (tree decl, gcov_type count, int freq, bool update_original, vec<cgraph_edge *> redirect_callers, bool call_duplication_hook, struct cgraph_node *new_inlined_to, bitmap args_to_skip)): created from cgraph_create_clone (cgraph_node *create_virtual_clone (vec<cgraph_edge *> redirect_callers, vec<ipa_replace_map *, va_gc> *tree_map, bitmap args_to_skip, const char * suffix)): created from cgraph_create_virtual_clone (cgraph_node *find_replacement (void)): created from cgraph_find_replacement_node (cgraph_node *create_version_clone (tree new_decl, vec<cgraph_edge *> redirect_callers, bitmap bbs_to_copy)): created from cgraph_copy_node_for_versioning (cgraph_node *create_version_clone_with_body (vec<cgraph_edge *> redirect_callers, vec<ipa_replace_map *, va_gc> *tree_map, bitmap args_to_skip, bool skip_return, bitmap bbs_to_copy, basic_block new_entry_block, const char *clone_name)): created from cgraph_function_version_info (struct cgraph_function_version_info *insert_new_function_version (void)): created from insert_new_cgraph_node_version (struct cgraph_function_version_info *function_version (void)): created from get_cgraph_node_version (void analyze (void)): created from analyze_function (cgraph_node * create_thunk (tree alias, tree, bool this_adjusting, HOST_WIDE_INT fixed_offset, HOST_WIDE_INT virtual_value, tree virtual_offset, tree real_alias) cgraph_add_thunk (inline cgraph_node *get_alias_target (void)): created from cgraph_alias_target (cgraph_node *ultimate_alias_target (availability *availability = NULL)): created from cgraph_function_or_thunk_node (bool expand_thunk (bool output_asm_thunks, bool force_gimple_thunk)): created from expand_thunk (void reset (void)): created from cgraph_reset_node (void create_wrapper (cgraph_node *target)): created from cgraph_make_wrapper (void DEBUG_FUNCTION verify_node (void)): created from verify_cgraph_node (void remove (void)): created from cgraph_remove_node (void dump (FILE *f)): created from dump_cgraph_node (void DEBUG_FUNCTION debug (void)): created from debug_cgraph_node (bool get_body (void)): created from cgraph_get_body (void release_body (void)): created from cgraph_release_function_body (void unnest (void)): created from cgraph_unnest_node (void make_local (void)): created from cgraph_make_node_local (void mark_address_taken (void)): created from cgraph_mark_address_taken_node (struct cgraph_edge *create_edge (cgraph_node *callee, gimple call_stmt, gcov_type count, int freq)): created from cgraph_create_edge (struct cgraph_edge *create_indirect_edge (gimple call_stmt, int ecf_flags, gcov_type count, int freq)): created from cgraph_create_indirect_edge (void create_edge_including_clones (struct cgraph_node *callee, gimple old_stmt, gimple stmt, gcov_type count, int freq, cgraph_inline_failed_t reason)): created from cgraph_create_edge_including_clones (cgraph_edge *get_edge (gimple call_stmt)): created from cgraph_edge (vec<cgraph_edge *> collect_callers (void)): created from collect_callers_of_node (void remove_callers (void)): created from cgraph_node_remove_callers (void remove_callees (void)): created from cgraph_node_remove_callees (enum availability get_availability (void)): created from cgraph_function_body_availability (void set_nothrow_flag (bool nothrow)): created from cgraph_set_nothrow_flag (void set_const_flag (bool readonly, bool looping)): created from cgraph_set_const_flag (void set_pure_flag (bool pure, bool looping)): created from cgraph_set_pure_flag (void call_duplication_hooks (cgraph_node *node2)): created from cgraph_call_node_duplication_hooks (bool call_for_symbol_and_aliases (bool (*callback) (cgraph_node *, void *), void *data, bool include_overwritable)): created from cgraph_for_node_and_aliases (bool call_for_symbol_thunks_and_aliases (bool (*callback) (cgraph_node *node, void *data), void *data, bool include_overwritable)): created from cgraph_for_node_thunks_and_aliases (void call_function_insertion_hooks (void)): created from cgraph_call_function_insertion_hooks (inline void mark_force_output (void)): created from cgraph_mark_force_output_node (bool local_p (void)): created from cgraph_local_node (bool can_be_local_p (void)): created from cgraph_node_can_be_local_p (bool cannot_return_p (void)): created from cgraph_node_cannot_return (bool only_called_directly_p (void)): created from cgraph_only_called_directly_p (inline bool only_called_directly_or_aliased_p (void)): created from cgraph_only_called_directly_or_aliased_p (bool will_be_removed_from_program_if_no_direct_calls_p (void)): created from cgraph_will_be_removed_from_program_if_no_direct_calls (bool can_remove_if_no_direct_calls_and_refs_p (void)): created from cgraph_can_remove_if_no_direct_calls_and_refs_p (bool can_remove_if_no_direct_calls_p (void)): created from cgraph_can_remove_if_no_direct_calls_p (inline bool has_gimple_body_p (void)): created from cgraph_function_with_gimple_body_p (bool optimize_for_size_p (void)): created from cgraph_optimize_for_size_p (static void dump_cgraph (FILE *f)): created from dump_cgraph (static inline void debug_cgraph (void)): created from debug_cgraph (static void record_function_versions (tree decl1, tree decl2)): created from record_function_versions (static void delete_function_version (tree decl)): created from delete_function_version (static void add_new_function (tree fndecl, bool lowered)): created from cgraph_add_new_function (static inline cgraph_node *get (const_tree decl)): created from cgraph_get_node (static cgraph_node * create (tree decl)): created from cgraph_create_node (static cgraph_node * create_empty (void)): created from cgraph_create_empty_node (static cgraph_node * get_create (tree)): created from cgraph_get_create_node (static cgraph_node *get_for_asmname (tree asmname)): created from cgraph_node_for_asm (static cgraph_node * create_same_body_alias (tree alias, tree decl)): created from cgraph_same_body_alias (static bool used_from_object_file_p_worker (cgraph_node *node, void *): new function (static bool non_local_p (cgraph_node *node, void *)): created from cgraph_non_local_node_p_1 (static void DEBUG_FUNCTION verify_cgraph_nodes (void)): created from verify_cgraph (static bool make_local (cgraph_node *node, void *)): created from cgraph_make_node_local (static cgraph_node *create_alias (tree alias, tree target)): created from cgraph_create_function_alias (static cgraph_edge * create_edge (cgraph_node *caller, cgraph_node *callee, gimple call_stmt, gcov_type count, int freq, bool indir_unknown_callee)): created from cgraph_create_edge_1 * cgraph.h (varpool_node): (void remove (void)): created from varpool_remove_node (void dump (FILE *f)): created from dump_varpool_node git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212982 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-07-24 Richard Biener <rguenther@suse.de>rguenth2014-07-241-1/+2
| | | | | | | | | | | | | | * tree-inline.h (estimate_move_cost): Add speed_p parameter. * tree-inline.c (estimate_move_cost): Add speed_p parameter and adjust MOVE_RATIO query accordingly. (estimate_num_insns): Adjust callers. * ipa-prop.c (ipa_populate_param_decls): Likewise. * ipa-cp.c (gather_context_independent_values, estimate_local_effects): Likewise. * ipa-split.c (consider_split): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212970 138bc75d-0d04-0410-961f-82ee72b054a4
* * vapool.c: Include tree-ssa-alias.h, gimple.h and lto-streamer.hhubicka2014-07-111-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (varpool_get_constructor): New function. (varpool_ctor_useable_for_folding_p): Break out from ... (ctor_for_folding): ... here; use varpool_get_constructor. (varpool_assemble_decl): Likewise. * lto-streamer.h (struct output_block): Turn cgraph_node to symbol filed. (lto_input_variable_constructor): Declare. * ipa-visibility.c (function_and_variable_visibility): Use varpool_get_constructor. * cgraph.h (varpool_get_constructor): Declare. (varpool_ctor_useable_for_folding_p): New function. * lto-streamer-out.c (get_symbol_initial_value): Take encoder parameter; return error_mark_node for non-trivial constructors. (lto_write_tree_1, DFS_write_tree): UPdate use of get_symbol_initial_value. (output_function): Update initialization of symbol. (output_constructor): New function. (copy_function): Rename to .. (copy_function_or_variable): ... this one; handle vars too. (lto_output): Output variable sections. * lto-streamer-in.c (input_constructor): New function. (lto_read_body): Rename from ... (lto_read_body_or_constructor): ... this one; handle vars too. (lto_input_variable_constructor): New function. * ipa-prop.c (ipa_prop_write_jump_functions, ipa_prop_write_all_agg_replacement): Update. * lto-cgraph.c (compute_ltrans_boundary): Use it. (output_cgraph_opt_summary): Set symbol to NULL. * lto-partition.c (add_references_to_partition): Use varpool_ctor_useable_for_folding_p. * lto.c (lto_read_in_decl_state): Update sanity check. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212467 138bc75d-0d04-0410-961f-82ee72b054a4
* * ipa-prop.c (ipa_binfo_from_known_type_jfunc): In LTO do not walkhubicka2014-07-111-0/+13
| | | | | | | | | | non-polymorphic types. * ipa-cp.c (ipa_get_jf_ancestor_result): Likewise. * ipa-devirt.c (types_same_for_odr): Do not explode when one of types is not polymorphic. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212466 138bc75d-0d04-0410-961f-82ee72b054a4
* * tree-ssa-alias.c (walk_aliased_vdefs_1): Add FUNCTION_ENTRY_REACHEDhubicka2014-07-081-3/+8
| | | | | | | | | | | parameter. (walk_aliased_vdefs): Likewise. * tree-ssa-alias.h (walk_aliased_vdefs): Likewise. * ipa-prop.c (stmt_may_be_vtbl_ptr_store): Skip clobbers (detect_type_change_from_memory_writes): Check if entry was reached. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212351 138bc75d-0d04-0410-961f-82ee72b054a4
* * cgraph.c (cgraph_create_indirect_edge): Update call ofhubicka2014-07-051-26/+108
| | | | | | | | | | | | | | | | | | | | | | | | | | | get_polymorphic_call_info. * ipa-utils.h (get_polymorphic_call_info): Add parameter CALL. (possible_polymorphic_call_targets): Add parameter call. (decl_maybe_in_construction_p): New predicate. (get_polymorphic_call_info): Add parameter call; use decl_maybe_in_construction_p. * gimple-fold.c (fold_gimple_assign): Update use of possible_polymorphic_call_targets. (gimple_fold_call): Likewise. * ipa-prop.c: Inlcude calls.h (ipa_binfo_from_known_type_jfunc): Check that known type is record. (param_type_may_change_p): New predicate. (detect_type_change_from_memory_writes): Break out from ... (detect_type_change): ... this one; use param_type_may_change_p. (detect_type_change_ssa): Use param_type_may_change_p. (compute_known_type_jump_func): Use decl_maybe_in_construction_p. * g++.dg/ipa/devirt-26.C: Update testcase. * g++.dg/ipa/imm-devirt-1.C: Update testcase. * g++.dg/ipa/imm-devirt-2.C: Update testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212304 138bc75d-0d04-0410-961f-82ee72b054a4
* * ipa-utils.h (method_class_type, vtable_pointer_value_to_binfo,hubicka2014-07-021-25/+30
| | | | | | | | | | | | | | | | | | vtable_pointer_value_to_vtable): Constify. (contains_polymorphic_type_p): Declare. * ipa-devirt.c (method_class_type, vtable_pointer_value_to_binfo, vtable_pointer_value_to_vtable): Constify. (contains_polymorphic_type_p): New predicate. * ipa-prop.c (ipa_set_jf_known_type): Allow types containing polymorphic types. (ipa_set_ancestor_jf): Likewise. (detect_type_change): Return false in easy cases. (compute_complex_assign_jump_func): Require type to contain polymorphic type. (compute_known_type_jump_func): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212222 138bc75d-0d04-0410-961f-82ee72b054a4
* * ipa-prop.c (ipa_set_jf_known_type): Record always the main varianthubicka2014-06-281-4/+15
| | | | | | | | | | | of the type. (ipa_set_ancestor_jf) Likewise. (check_stmt_for_type_change): Check that we work on main variant. (detect_type_change): Look into main variant. (compute_known_type_jump_func): Check that main variant has BINFO. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212108 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix for devirtualization dump functionsmarxin2014-06-271-22/+9
| | | | | | | | | | | | | | | * gimple.h (gimple_location_safe): New function introduced. * cgraphunit.c (walk_polymorphic_call_targets): Usage of gimple_location_safe replaces gimple_location. (gimple_fold_call): Likewise. * ipa-devirt.c (ipa_devirt): Likewise. * ipa-prop.c (ipa_make_edge_direct_to_target): Likewise. * ipa.c (walk_polymorphic_call_targets): Likewise. * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212067 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-06-26 Martin Jambor <mjambor@suse.cz>jamborm2014-06-261-6/+6
| | | | | | | | | | | | | | | | | * ipa-prop.c (ipa_impossible_devirt_target): No longer static, renamed to ipa_impossible_devirt_target. Fix typo. * ipa-prop.h (ipa_impossible_devirt_target): Declare. * ipa-cp.c (ipa_get_indirect_edge_target_1): Use ipa_impossible_devirt_target. testsuite/ * g++.dg/ipa/pr60600.C: Fix typo. * g++.dg/ipa/devirt-25.C: Likewise. * g++.dg/ipa/pr61540.C: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212028 138bc75d-0d04-0410-961f-82ee72b054a4
* IPA REF refactoringmarxin2014-06-251-13/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Makefile.in: Removed header file (ipa-ref-inline.h). * cgraph.c (cgraph_turn_edge_to_speculative): New IPA REF function called. (cgraph_speculative_call_info): Likewise. (cgraph_for_node_thunks_and_aliases): Likewise. (cgraph_for_node_and_aliases): Likewise. (verify_cgraph_node): Likewise. * cgraph.h: Batch of IPA REF functions become member functions of symtab_node: add_reference, maybe_add_reference, clone_references, clone_referring, clone_reference, find_reference, remove_stmt_references, remove_all_references, remove_all_referring, dump_references, dump_referring, has_alias_p, iterate_reference, iterate_referring. * cgraphbuild.c (record_reference): New IPA REF function used. (record_type_list): Likewise. (record_eh_tables): Likewise. (mark_address): Likewise. (mark_load): Likewise. (mark_store): Likewise. (pass_build_cgraph_edges): Likewise. (rebuild_cgraph_edge): Likewise. (cgraph_rebuild_references): Likewise. (pass_remove_cgraph_callee_edges): Likewise. * cgraphclones.c (cgraph_clone_node): Likewise. (cgraph_create_virtual_clone): Likewise. (cgraph_materialize_clone): Likewise. (cgraph_materialize_all_clones): Likewise. * cgraphunit.c (cgraph_reset_node): Likewise. (cgraph_reset_node): Likewise. (analyze_function): Likewise. (assemble_thunks_and_aliases): Likewise. (expand_function): Likewise. * ipa-comdats.c (propagate_comdat_group): Likewise. (enqueue_references): Likewise. * ipa-cp.c (ipcp_discover_new_direct_edges): Likewise. (create_specialized_node): Likewise. * ipa-devirt.c (referenced_from_vtable_p): Likewise. * ipa-inline-transform.c (can_remove_node_now_p_1): Likewise. * ipa-inline.c (reset_edge_caches): Likewise. (update_caller_keys): Likewise. (execute): Likewise. * ipa-prop.c (remove_described_reference): Likewise. (propagate_controlled_uses): Likewise. (ipa_edge_duplication_hook): Likewise. (ipa_modify_call_arguments): Likewise. * ipa-pure-const.c (propagate_pure_const): Likewise. * ipa-ref-inline.h: Header file removed, functions moved to symtab_node class. * ipa-ref.c (remove_reference): New class member function. (cannot_lead_to_return): New class member function. (referring_ref_list): Likewise. (referred_ref_list): Likewise. Rest of functions moved to symtab_node class. * ipa-ref.h: New member functions remove_reference, cannot_lead_to_return, referring_ref_list, referred_ref_list added to ipa_ref class. ipa_ref_list class has new member functions: first_reference, first_referring, clear, nreferences. * ipa-reference.c (analyze_function): New IPA REF function used. (write_node_summary_p): Likewise. (ipa_reference_write_optimization_summary): Likewise. * ipa-split.c (split_function): Likewise. * ipa-utils.c (ipa_reverse_postorder): Likewise. * ipa-visibility.c (cgraph_non_local_node_p_1): Likewise. (function_and_variable_visibility): Likewise. * ipa.c (has_addr_references_p): Likewise. (process_references): Argument type changed. (symtab_remove_unreachable_nodes): New IPA REF function used. (process_references): Likewise. (set_writeonly_bit): Likewise. * lto-cgraph.c: Implementation of new symtab_node member functions that uses new IPA REF functions. * lto-streamer-in.c (fixup_call_stmt_edges_1): New IPA REF function used. * lto-streamer-out.c (output_symbol_p): Likewise. * lto-streamer.h (referenced_from_this_partition_p): Argument type changed. * lto/lto-partition.c (add_references_to_partition): New IPA REF function used. (add_symbol_to_partition_1): Likewise. (lto_balanced_map): Likewise. * lto/lto-symtab.c (lto_cgraph_replace_node): Likewise. * symtab.c: Implementation of new IPA REF API. * trans-mem.c (ipa_tm_create_version_alias): New IPA REF function used. (ipa_tm_create_version): Likewise. (ipa_tm_execute): Likewise. * tree-emutls.c (gen_emutls_addr): Likewise. * tree-inline.c (copy_bb): Likewise. (delete_unreachable_blocks_update_callgraph): Likewise. * varpool.c (varpool_remove_unreferenced_decls): Likewise. (varpool_for_node_and_aliases): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211987 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-06-20 Martin Jambor <mjambor@suse.cz>jamborm2014-06-201-17/+27
| | | | | | | | | | | | | | PR ipa/61540 * ipa-prop.c (impossible_devirt_target): New function. (try_make_edge_direct_virtual_call): Use it, also instead of asserting. testsuite/ * g++.dg/ipa/pr61540.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211847 138bc75d-0d04-0410-961f-82ee72b054a4
* PR ipa/61462marxin2014-06-121-10/+24
| | | | | | | | | * ipa-prop.c (ipa_make_edge_direct_to_target): Check that gimple call statement is reachable. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211490 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-06-06 Martin Jambor <mjambor@suse.cz>jamborm2014-06-061-54/+72
| | | | | | | | | | | | * ipa-prop.c (get_place_in_agg_contents_list): New function. (build_agg_jump_func_from_list): Likewise. (determine_known_aggregate_parts): Renamed to determine_locally_known_aggregate_parts. Moved some functionality to the two functions above, removed bound checks. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211315 138bc75d-0d04-0410-961f-82ee72b054a4
* * expr.h: Remove prototypes of functions defined in builtins.c.amacleod2014-06-021-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * tree.h: (build_call_expr_*, build_string_literal): Add prototypes. Remove prototypes of functions defined in builtins.c. * builtins.h: Update prototype list to include all exported functions. * builtins.c: (default_libc_has_function, gnu_libc_has_function, no_c99_libc_has_function): Move to targhooks.c (build_string_literal, build_call_expr_loc_array, build_call_expr_loc_vec, build_call_expr_loc, build_call_expr): Move to tree.c. (expand_builtin_object_size, fold_builtin_object_size): Make static. * targhooks.c (default_libc_has_function, gnu_libc_has_function, no_c99_libc_has_function): Relocate from builtins.c. * tree.c: Include builtins.h. (build_call_expr_loc_array, build_call_expr_loc_vec, build_call_expr_loc, build_call_expr, build_string_literal): Relocate from builtins.c. * fold-const.h (fold_fma): Move prototype to builtins.h. * realmpfr.h (do_mpc_arg2): Move prototype to builtins.h. * fortran/trans.c (trans_runtime_error_vararg): Call fold_build_call_array_loc instead of fold_builtin_call_array. * asan.c: Include builtins.h. * cfgexpand.c: Likewise. * convert.c: Likewise. * emit-rtl.c: Likewise. * except.c: Likewise. * expr.c: Likewise. * fold-const.c: Likewise. * gimple-fold.c: Likewise. * gimple-ssa-strength-reduction.c: Likewise. * gimplify.c: Likewise. * ipa-inline.c: Likewise. * ipa-prop.c: Likewise. * lto-streamer-out.c: Likewise. * stmt.c: Likewise. * tree-inline.c: Likewise. * tree-object-size.c: Likewise. * tree-sra.c: Likewise. * tree-ssa-ccp.c: Likewise. * tree-ssa-forwprop.c: Likewise. * tree-ssa-loop-ivcanon.c: Likewise. * tree-ssa-loop-ivopts.c: Likewise. * tree-ssa-math-opts.c: Likewise. * tree-ssa-reassoc.c: Likewise. * tree-ssa-threadedge.c: Likewise. * tree-streamer-in.c: Likewise. * tree-vect-data-refs.c: Likewise. * tree-vect-patterns.c: Likewise. * tree-vect-stmts.c: Likewise. c * c-decl.c: Include builtins.h. * c-parser.c: Likewise. cp * decl.c: Include builtins.h. * semantics.c: Likewise. go * go-gcc.cc: Include builtins.h. lto * lto-symtab.c: Include builtins.h. config * aarch64/aarch64.c: Include builtins.h. * alpha/alpha.c: Likewise. * arc/arc.c: Likewise. * arm/arm.c: Likewise. * avr/avr.c: Likewise. * bfin/bfin.c: Likewise. * c6x/c6x.c: Likewise. * cr16/cr16.c: Likewise. * cris/cris.c: Likewise. * epiphany/epiphany.c: Likewise. * fr30/fr30.c: Likewise. * frv/frv.c: Likewise. * h8300/h8300.c: Likewise. * i386/i386.c: Likewise. * i386/winnt.c: Likewise. * ia64/ia64.c: Likewise. * iq2000/iq2000.c: Likewise. * lm32/lm32.c: Likewise. * m32c/m32c.c: Likewise. * m32r/m32r.c: Likewise. * m68k/m68k.c: Likewise. * mcore/mcore.c: Likewise. * mep/mep.c: Likewise. * microblaze/microblaze.c: Likewise. * mips/mips.c: Likewise. * mmix/mmix.c: Likewise. * mn10300/mn10300.c: Likewise. * moxie/moxie.c: Likewise. * msp430/msp430.c: Likewise. * nds32/nds32.c: Likewise. * pa/pa.c: Likewise. * pdp11/pdp11.c: Likewise. * picochip/picochip.c: Likewise. * rl78/rl78.c: Likewise. * rs6000/rs6000.c: Likewise. * rx/rx.c: Likewise. * s390/s390.c: Likewise. * score/score.c: Likewise. * sh/sh.c: Likewise. * sparc/sparc.c: Likewise. * spu/spu.c: Likewise. * stormy16/stormy16.c: Likewise. * tilegx/tilegx.c: Likewise. * tilepro/tilepro.c: Likewise. * v850/v850.c: Likewise. * vax/vax.c: Likewise. * xtensa/xtensa.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211145 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-05-23 Martin Jambor <mjambor@suse.cz>jamborm2014-05-231-301/+499
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR tree-optimization/53787 * params.def (PARAM_IPA_MAX_AA_STEPS): New param. * ipa-prop.h (ipa_node_params): Rename uses_analysis_done to analysis_done, update all uses. * ipa-prop.c: Include domwalk.h (param_analysis_info): Removed. (param_aa_status): New type. (ipa_bb_info): Likewise. (func_body_info): Likewise. (ipa_get_bb_info): New function. (aa_overwalked): Likewise. (find_dominating_aa_status): Likewise. (parm_bb_aa_status_for_bb): Likewise. (parm_preserved_before_stmt_p): Changed to use new param AA info. (load_from_unmodified_param): Accept func_body_info as a parameter instead of parms_ainfo. (parm_ref_data_preserved_p): Changed to use new param AA info. (parm_ref_data_pass_through_p): Likewise. (ipa_load_from_parm_agg_1): Likewise. Update callers. (compute_complex_assign_jump_func): Changed to use new param AA info. (compute_complex_ancestor_jump_func): Likewise. (ipa_compute_jump_functions_for_edge): Likewise. (ipa_compute_jump_functions): Removed. (ipa_compute_jump_functions_for_bb): New function. (ipa_analyze_indirect_call_uses): Likewise, moved variable declarations down. (ipa_analyze_virtual_call_uses): Accept func_body_info instead of node and info, moved variable declarations down. (ipa_analyze_call_uses): Accept and pass on func_body_info instead of node and info. (ipa_analyze_stmt_uses): Likewise. (ipa_analyze_params_uses): Removed. (ipa_analyze_params_uses_in_bb): New function. (ipa_analyze_controlled_uses): Likewise. (free_ipa_bb_info): Likewise. (analysis_dom_walker): New class. (ipa_analyze_node): Handle node-specific forbidden analysis, initialize and free func_body_info, use dominator walker. (ipcp_modif_dom_walker): New class. (ipcp_transform_function): Create and free func_body_info, use ipcp_modif_dom_walker, moved a lot of functionality there. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210864 138bc75d-0d04-0410-961f-82ee72b054a4
* add dbgcnt support for devirtdavidxl2014-05-201-4/+21
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210657 138bc75d-0d04-0410-961f-82ee72b054a4
* use templates instead of gengtype for typed allocation functionstbsaunde2014-05-171-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gcc/ChangeLog: * alias.c (record_alias_subset): Adjust. * bitmap.c (bitmap_element_allocate): Likewise. (bitmap_gc_alloc_stat): Likewise. * cfg.c (init_flow): Likewise. (alloc_block): Likewise. (unchecked_make_edge): Likewise. * cfgloop.c (alloc_loop): Likewise. (flow_loops_find): Likewise. (rescan_loop_exit): Likewise. * cfgrtl.c (init_rtl_bb_info): Likewise. * cgraph.c (insert_new_cgraph_node_version): Likewise. (cgraph_allocate_node): Likewise. (cgraph_create_edge_1): Likewise. (cgraph_allocate_init_indirect_info): Likewise. * cgraphclones.c (cgraph_clone_edge): Likewise. * cgraphunit.c (add_asm_node): Likewise. (init_lowered_empty_function): Likewise. * config/aarch64/aarch64.c (aarch64_init_machine_status): Likewise. * config/alpha/alpha.c (alpha_init_machine_status): Likewise. (alpha_use_linkage): Likewise. * config/arc/arc.c (arc_init_machine_status): Likewise. * config/arm/arm.c (arm_init_machine_status): Likewise. * config/avr/avr.c (avr_init_machine_status): Likewise. * config/bfin/bfin.c (bfin_init_machine_status): Likewise. * config/c6x/c6x.c (c6x_init_machine_status): Likewise. * config/cris/cris.c (cris_init_machine_status): Likewise. * config/darwin.c (machopic_indirection_name): Likewise. (darwin_build_constant_cfstring): Likewise. (darwin_enter_string_into_cfstring_table): Likewise. * config/epiphany/epiphany.c (epiphany_init_machine_status): * Likewise. * config/frv/frv.c (frv_init_machine_status): Likewise. * config/i386/i386.c (get_dllimport_decl): Likewise. (ix86_init_machine_status): Likewise. (assign_386_stack_local): Likewise. * config/i386/winnt.c (i386_pe_record_external_function): Likewise. (i386_pe_maybe_record_exported_symbol): Likewise. (i386_pe_record_stub): Likewise. * config/ia64/ia64.c (ia64_init_machine_status): Likewise. * config/iq2000/iq2000.c (iq2000_init_machine_status): Likewise. * config/m32c/m32c.c (m32c_init_machine_status): Likewise. (m32c_note_pragma_address): Likewise. * config/mep/mep.c (mep_init_machine_status): Likewise. (mep_note_pragma_flag): Likewise. * config/mips/mips.c (mflip_mips16_use_mips16_p): Likewise. (mips16_local_alias): Likewise. (mips_init_machine_status): Likewise. * config/mmix/mmix.c (mmix_init_machine_status): Likewise. * config/moxie/moxie.c (moxie_init_machine_status): Likewise. * config/msp430/msp430.c (msp430_init_machine_status): Likewise. * config/nds32/nds32.c (nds32_init_machine_status): Likewise. * config/nios2/nios2.c (nios2_init_machine_status): Likewise. * config/pa/pa.c (pa_init_machine_status): Likewise. (pa_get_deferred_plabel): Likewise. * config/rl78/rl78.c (rl78_init_machine_status): Likewise. * config/rs6000/rs6000.c (builtin_function_type): Likewise. (rs6000_init_machine_status): Likewise. (output_toc): Likewise. * config/s390/s390.c (s390_init_machine_status): Likewise. * config/score/score.c (score_output_external): Likewise. * config/sparc/sparc.c (sparc_init_machine_status): Likewise. * config/spu/spu.c (spu_init_machine_status): Likewise. * config/tilegx/tilegx.c (tilegx_init_machine_status): Likewise. * config/tilepro/tilepro.c (tilepro_init_machine_status): * Likewise. * config/xtensa/xtensa.c (xtensa_init_machine_status): Likewise. * coverage.c (coverage_end_function): Likewise. * dbxout.c (dbxout_init): Likewise. * doc/gty.texi: Don't mention variable_size attribute. * dwarf2cfi.c (new_cfi): Adjust. (new_cfi_row): Likewise. (copy_cfi_row): Likewise. (create_cie_data): Likewise. * dwarf2out.c (dwarf2out_alloc_current_fde): Likewise. (new_loc_descr): Likewise. (find_AT_string_in_table): Likewise. (add_addr_table_entry): Likewise. (new_die): Likewise. (add_var_loc_to_decl): Likewise. (clone_die): Likewise. (clone_as_declaration): Likewise. (break_out_comdat_types): Likewise. (new_loc_list): Likewise. (add_loc_descr_to_each): Likewise. (add_location_or_const_value_attribute): Likewise. (add_linkage_name): Likewise. (lookup_filename): Likewise. (dwarf2out_var_location): Likewise. (new_line_info_table): Likewise. (dwarf2out_init): Likewise. (mem_loc_descriptor): Likewise. (loc_descriptor): Likewise. (add_const_value_attribute): Likewise. (tree_add_const_value_attribute): Likewise. (comp_dir_string): Likewise. (dwarf2out_vms_debug_main_pointer): Likewise. (string_cst_pool_decl): Likewise. * emit-rtl.c (set_mem_attrs): Likewise. (get_reg_attrs): Likewise. (start_sequence): Likewise. (init_emit): Likewise. (init_emit_regs): Likewise. * except.c (init_eh_for_function): Likewise. (gen_eh_region): Likewise. (gen_eh_region_catch): Likewise. (gen_eh_landing_pad): Likewise. (add_call_site): Likewise. * function.c (add_frame_space): Likewise. (insert_temp_slot_address): Likewise. (assign_stack_temp_for_type): Likewise. (get_hard_reg_initial_val): Likewise. (allocate_struct_function): Likewise. (prepare_function_start): Likewise. (types_used_by_var_decl_insert): Likewise. * gengtype.c (variable_size_p): Remove function. (enum alloc_quantity): Remove enum. (write_typed_alloc_def): Remove function. (write_typed_struct_alloc_def): Likewise. (write_typed_typedef_alloc_def): Likewise. (write_typed_alloc_defns): Likewise. (main): Adjust. * ggc-common.c (ggc_cleared_alloc_htab_ignore_args): Adjust. (ggc_cleared_alloc_ptr_array_two_args): Likewise. * ggc.h (ggc_alloc): new function. (ggc_cleared_alloc): Likewise. (ggc_vec_alloc): Template on type of vector element, and remove element size argument. (ggc_cleared_vec_alloc): Likewise. * gimple.c (gimple_build_omp_for): Adjust. (gimple_copy): Likewise. * ipa-cp.c (get_replacement_map): Likewise. (find_aggregate_values_for_callers_subset): Likewise. (known_aggs_to_agg_replacement_list): Likewise. * ipa-devirt.c (get_odr_type): Likewise. * ipa-prop.c (ipa_node_duplication_hook): Likewise. (read_agg_replacement_chain): Likewise. * loop-iv.c (get_simple_loop_desc): Likewise. * lto-cgraph.c (input_node_opt_summary): Likewise. * lto-section-in.c (lto_new_in_decl_state): Likewise. * lto-streamer-in.c (lto_input_eh_catch_list): Likewise. (input_eh_region): Likewise. (input_eh_lp): Likewise. (input_cfg): Likewise. * optabs.c (set_optab_libfunc): Likewise. (init_tree_optimization_optabs): Likewise. (set_conv_libfunc): Likewise. * passes.c (do_per_function_toporder): Likewise. * rtl.h: Don't use variable_size gty attribute. * sese.c (if_region_set_false_region): Adjust. * stringpool.c (gt_pch_save_stringpool): Likewise. * target-globals.c (save_target_globals): Likewise. * toplev.c (general_init): Likewise. * trans-mem.c (record_tm_replacement): Likewise. (split_bb_make_tm_edge): Likewise. * tree-cfg.c (move_sese_region_to_fn): Likewise. * tree-data-ref.h (lambda_vector_new): Likewise. * tree-eh.c (add_stmt_to_eh_lp_fn): Likewise. * tree-iterator.c (tsi_link_before): Likewise. (tsi_link_after): Likewise. * tree-scalar-evolution.c (new_scev_info_str): Likewise. * tree-ssa-loop-niter.c (record_estimate): Likewise. * tree-ssa-operands.c (ssa_operand_alloc): Likewise. * tree-ssa-operands.h: Don't use variable_size gty attribute. * tree-ssa.c (init_tree_ssa): Adjust. * tree-ssanames.c (set_range_info): Likewise. (get_ptr_info): Likewise. (duplicate_ssa_name_ptr_info): Likewise. (duplicate_ssa_name_range_info): Likewise. * tree-streamer-in.c (unpack_ts_real_cst_value_fields): Likewise. (unpack_ts_fixed_cst_value_fields): Likewise. * tree.c (build_fixed): Likewise. (build_real): Likewise. (build_string): Likewise. (decl_priority_info): Likewise. (decl_debug_expr_insert): Likewise. (decl_value_expr_insert): Likewise. (decl_debug_args_insert): Likewise. (type_hash_add): Likewise. (build_omp_clause): Likewise. * ubsan.c (decl_for_type_insert): Likewise. * varasm.c (get_unnamed_section): Likewise. (get_noswitch_section): Likewise. (get_section): Likewise. (get_block_for_section): Likewise. (create_block_symbol): Likewise. (build_constant_desc): Likewise. (create_constant_pool): Likewise. (force_const_mem): Likewise. (record_tm_clone_pair): Likewise. * varpool.c (varpool_create_empty_node): Likewise. gcc/c/ChangeLog: * c-decl.c (finish_struct): Adjust. (finish_enum): Likewise. (bind): Adjust. (record_inline_static): Likewise. (push_scope): Likewise. (make_label): Likewise. (lookup_label_for_goto): Likewise. (finish_struct): Likewise. (finish_enum): Likewise. (store_parm_decls): Likewise. (c_push_function_context): Likewise. * c-lang.h: Remove usage of variable_size gty attribute. * c-parser.c (c_parse_init): Adjust. (c_parse_file): Likewise. gcc/java/ChangeLog: * class.c (add_method_1): Adjust. (java_treetreehash_new): Likewise. * constants.c (set_constant_entry): Likewise. (cpool_for_class): Likewise. * decl.c (make_binding_level): Likewise. (java_dup_lang_specific_decl): Likewise. * expr.c (add_type_assertion): Likewise. * java-tree.h (MAYBE_CREATE_VAR_LANG_DECL_SPECIFIC): Likewise. (lang_decl): don't use variable_size gty attribute. (MAYBE_CREATE_TYPE_TYPE_LANG_SPECIFIC): Adjust. (lang_type): Don't use variable_size gty attribute. * jcf-parse.c (java_parse_file): Adjust. (process_zip_dir): Likewise. * jcf.h: Remove usage of variable_size gty attribute. * jcf-reader.c (jcf_parse_constant_pool): Adjust. (jcf_parse_bootstrap_methods): Likewise. gcc/objc/ChangeLog: * objc-act.c (objc_build_string_object): Adjust. (continue_class): Likewise. * objc-act.h (ALLOC_OBJC_TYPE_LANG_SPECIFIC): Likewise. * objc-map.c (objc_map_alloc_ggc): Likewise. (objc_map_private_resize): Likewise. * objc-next-runtime-abi-02.c (objc_next_runtime_abi_02_init): Likewise. (hash_name_enter): Likewise. gcc/cp/ChangeLog: * class.c (sorted_fields_type_new): Adjust. * cp-cilkplus.c (cilk_install_body_with_frame_cleanup): Likewise. * cp-objcp-common.c (decl_shadowed_for_var_insert): Likewise. * cp-tree.h: Remove usage of variable_size gty attribute. * decl.c (make_label_decl): Adjust. (check_goto): Likewise. (start_preparsed_function): Likewise. (save_function_data): Likewise. * lex.c (init_reswords): Likewise. (retrofit_lang_decl): Likewise. (cxx_dup_lang_specific_decl): Likewise. (copy_lang_type): Likewise. (cxx_make_type): Likewise. * name-lookup.c (binding_entry_make): Likewise. (binding_table_construct): Likewise. (binding_table_new): Likewise. (cxx_binding_make): Likewise. (pushdecl_maybe_friend_1): Likewise. (begin_scope): Likewise. (push_to_top_level): Likewise. * parser.c (cp_lexer_alloc): Likewise. (cp_lexer_new_from_tokens): Likewise. (cp_token_cache_new): Likewise. (cp_parser_context_new): Likewise. (cp_parser_new): Likewise. (cp_parser_nested_name_specifier_opt): Likewise. (cp_parser_template_id): Likewise. * pt.c (maybe_process_partial_specialization): Likewise. (register_specialization): Likewise. (add_pending_template): Likewise. (lookup_template_class_1): Likewise. (push_tinst_level): Likewise. * semantics.c (register_constexpr_fundef): Likewise. (cxx_eval_call_expression): Likewise. * typeck2.c (abstract_virtuals_error_sfinae): Likewise. gcc/fortran/ChangeLog: * f95-lang.c (pushlevel): Adjust. * trans-decl.c (gfc_allocate_lang_decl): Adjust. (gfc_find_module): Likewise. * trans-types.c (gfc_get_nodesc_array_type): Likewise. (gfc_get_array_type_bounds): Likewise. (gfc_nonrestricted_type): Likewise. * trans.h: Don't use variable_size gty attribute. gcc/ada/ChangeLog: * gcc-interface/ada-tree.h: Remove usage of variable_size gty annotation. * gcc-interface/decl.c (annotate_value): Adjust. * gcc-interface/trans.c (Attribute_to_gnu): Likewise. (push_range_check_info): Likewise. (Loop_Statement_to_gnu): Likewise. (Subprogram_Body_to_gnu): Likewise. (Compilation_Unit_to_gnu): Likewise. (start_stmt_group): Likewise. * gcc-interface/utils.c (init_gnat_utils): Likewise. (gnat_pushlevel): Likewise. (maybe_pad_type): Likewise. gcc/go/ChangeLog: * go-lang.c (struct GTY): Don't use variable_size gty attribute. gcc/c-family/ChangeLog: * c-common.h (sorted_fields_type): Remove variable_size GTY attribute. * c-pragma.c (push_alignment): Adjust. (handle_pragma_push_options): Likewise. gcc/lto/ChangeLog: * lto-tree.h: Don't use variable_size gty attribute. * lto.c (lto_read_in_decl_state): Adjust. (create_subid_section_table): Likewise. (lto_flatten_files): Likewise. (read_cgraph_and_symbols): Likewise. gcc/objcp/ChangeLog: * objcp-decl.h: Adjust. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210566 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-05-15 Martin Jambor <mjambor@suse.cz>jamborm2014-05-151-4/+8
| | | | | | | | | | | | | PR ipa/61085 * ipa-prop.c (update_indirect_edges_after_inlining): Check type_preserved flag when the indirect edge is polymorphic. testsuite/ * g++.dg/ipa/pr61085.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210477 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-05-14 Martin Jambor <mjambor@suse.cz>jamborm2014-05-141-0/+1
| | | | | | | | | PR ipa/60897 * ipa-prop.c (ipa_modify_formal_parameters): Reset DECL_LANG_SPECIFIC. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210426 138bc75d-0d04-0410-961f-82ee72b054a4