1. 28 Jul, 2011 1 commit
    • rtlanal.c (tablejump_p): False for returns. · dc0ff1c8
      	* rtlanal.c (tablejump_p): False for returns.
      	* reorg.c (first_active_target_insn): New static function.
      	(find_end_label): Set JUMP_LABEL for a new returnjump.
      	(optimize_skip, get_jump_flags, rare_destination,
      	mostly_true_jump, get_branch_condition,
      	steal_delay_list_from_target, own_thread_p,
      	fill_simple_delay_slots, follow_jumps, fill_slots_from_thread,
      	fill_eager_delay_slots, relax_delay_slots, make_return_insns,
      	dbr_schedule): Adjust to handle ret_rtx in JUMP_LABELs.
      	* jump.c (delete_related_insns): Likewise.
      	(jump_to_label_p): New function.
      	(redirect_target): New static function.
      	(redirect_exp_1): Use it.  Adjust to handle ret_rtx in JUMP_LABELS.
      	(redirect_jump_1): Assert that the new label is nonnull.
      	(redirect_jump): Likewise.
      	(redirect_jump_2): Check for ANY_RETURN_P rather than NULL labels.
      	* ifcvt.c (find_if_case_1): Take care when redirecting jumps to the
      	exit block.
      	(dead_or_predicable): Change NEW_DEST arg to DEST_EDGE.  All callers
      	changed.  Ensure that the right label is passed to redirect_jump.
      	* function.c (emit_return_into_block,
      	thread_prologue_and_epilogue_insns): Ensure new returnjumps have
      	ret_rtx in their JUMP_LABEL.
      	* print-rtl.c (print_rtx): Handle ret_rtx in a JUMP_LABEL.
      	* emit-rtl.c (skip_consecutive_labels): Allow the caller to
      	pass ret_rtx as label.
      	* cfglayout.c (fixup_reorder_chain): Use
      	force_nonfallthru_and_redirect rather than force_nonfallthru.
      	(duplicate_insn_chain): Copy JUMP_LABELs for returns.
      	* rtl.h (ANY_RETURN_P): New macro.
      	(jump_to_label_p): Declare.
      	* resource.c (find_dead_or_set_registers): Handle ret_rtx in
      	JUMP_LABELs.
      	(mark_target_live_regs): Likewise.
      	* basic-block.h (force_nonfallthru_and_redirect): Declare.
      	* cfgrtl.c (force_nonfallthru_and_redirect): No longer static.
      	* config/alpha/alpha.c (alpha_tablejump_addr_vec,
      	alpha_tablejump_best_label): Remove functions.
      	* config/alpha/alpha-protos.c (alpha_tablejump_addr_vec,
      	alpha_tablejump_best_label): Remove declarations.
      	* config/sh/sh.c (barrier_align, split_branches): Adjust for
      	ret_rtx in JUMP_LABELs.
      	* config/arm/arm.c (is_jump_table): Likewise.
      
      From-SVN: r176881
      Bernd Schmidt committed
  2. 22 Jul, 2011 1 commit
  3. 14 Jun, 2011 1 commit
  4. 03 May, 2011 1 commit
    • gengenrtl.c (special_rtx): PC, CC0 and RETURN are special. · 3810076b
      	* gengenrtl.c (special_rtx): PC, CC0 and RETURN are special.
      	* genemit.c (gen_exp): Handle RETURN.
      	* emit-rtl.c (verify_rtx_sharing): Likewise.
      	(init_emit_regs): Create pc_rtx, ret_rtx and cc0_rtx specially.
      	* rtl.c (copy_rtx): RETURN is shared.
      	* rtl.h (enum global_rtl_index): Add GR_RETURN.
      	(ret_rtx): New.
      	* jump.c (redirect_exp_1): Don't use gen_rtx_RETURN.
      	* config/s390/s390.c (s390_emit_epilogue): Likewise.
      	* config/rx/rx.c (gen_rx_rtsd_vector): Likewise.
      	* config/cris/cris.c (cris_expand_return): Likewise.
      	* config/m68k/m68k.c (m68k_expand_epilogue): Likewise.
      	* config/rs6000/rs6000.c (rs6000_make_savres_rtx,
      	rs6000_emit_epilogue, rs6000_output_mi_thunk): Likewise.
      	* config/picochip/picochip.c (picochip_expand_epilogue): Likewise.
      	* config/h8300/h8300.c (h8300_push_pop, h8300_expand_epilogue):
      	Likewise.
      	* config/v850/v850.c (expand_epilogue): Likewise.
      	* config/bfin/bfin.c (bfin_expand_call): Likewise.
      	* config/arm/arm.md (epilogue): Likewise.
      	* config/mn10300/mn10300.c (mn10300_expand_epilogue): Likewise.
      	* config/sparc/sparc.c (sparc_struct_value_rtx): Rename ret_rtx
      	variable to ret_reg.
      
      From-SVN: r173300
      Bernd Schmidt committed
  5. 08 Apr, 2011 1 commit
  6. 31 Mar, 2011 1 commit
    • tree-ssa-forwprop.c (forward_propagate_into_cond): Avoid typo potentially… · e16b6fd0
      tree-ssa-forwprop.c (forward_propagate_into_cond): Avoid typo potentially leading to null pointer dereference.
      
      
      	* tree-ssa-forwprop.c (forward_propagate_into_cond): Avoid 
      	typo potentially leading to null pointer dereference.
      
      	* caller-save.c (new_saved_hard_reg): Eliminate return value.
      	(setup_save_areas): Corresponding changes to avoid useless
      	assignments.
      
      	* jump.c (reversed_comparison_code_parts): Avoid successive return
      	statements when REVERSE_CONDITION is defined.
      
      	* expr.c (expand_assignment): Avoid useless assignments.
      	(expand_expr_real_1): Likewise.
      	(expand_expr_real_2): Avoid useless statements.
      
      	* tree-ssa-phiopt.c (minmax_replacement): Avoid useless statement.
      
      	* cfgexpand.c (expand_gimple_basic_block): Avoid useless assignment.
      
      	* tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Avoid useless
      	statements.
      
      	* stmt.c (expand_expr_stmt): Avoid useless assignment.
      
      From-SVN: r171780
      Jeff Law committed
  7. 13 Dec, 2010 1 commit
  8. 10 Dec, 2010 1 commit
    • re PR rtl-optimization/46865 (Using -save-temps (or ccache, distcc) produces… · fee45723
      re PR rtl-optimization/46865 (Using -save-temps (or ccache, distcc) produces different results with multiline macros containing asm code)
      
      	PR rtl-optimization/46865
      	* rtl.c (rtx_equal_p_cb, rtx_equal_p): For last operand of
      	ASM_OPERANDS and ASM_INPUT if integers are different,
      	call locator_eq.
      	* jump.c (rtx_renumbered_equal_p): Likewise.
      
      	* gcc.target/i386/pr46865-1.c: New test.
      	* gcc.target/i386/pr46865-2.c: New test.
      
      From-SVN: r167686
      Jakub Jelinek committed
  9. 30 Nov, 2010 1 commit
    • diagnostic-core.h: Include bversion.h. · 7c475d11
      	* diagnostic-core.h: Include bversion.h.
      	* toplev.h: Don't include input.h or bversion.h.
      	(parse_optimize_options): Don't declare here.
      	* alias.c, auto-inc-dec.c, c-aux-info.c, c-convert.c, c-parser.c,
      	caller-save.c, cfg.c, cfganal.c, cfgbuild.c, cfgcleanup.c,
      	combine-stack-adj.c, config/arm/pe.c, config/darwin-c.c,
      	config/host-darwin.c, config/i386/host-cygwin.c,
      	config/i386/host-mingw32.c, config/i386/msformat-c.c,
      	config/i386/netware.c, config/i386/nwld.c,
      	config/i386/winnt-cxx.c, config/i386/winnt-stubs.c,
      	config/ia64/ia64-c.c, config/m32c/m32c-pragma.c,
      	config/mep/mep-pragma.c, config/microblaze/microblaze-c.c,
      	config/rs6000/host-darwin.c, config/rs6000/rs6000-c.c,
      	config/score/score3.c, config/score/score7.c,
      	config/sh/symbian-base.c, config/sh/symbian-c.c,
      	config/sh/symbian-cxx.c, config/sol2-c.c, config/sol2.c,
      	config/v850/v850-c.c, config/vxworks.c, convert.c, cppbuiltin.c,
      	cselib.c, dbgcnt.c, ddg.c, dfp.c, dominance.c, emit-rtl.c,
      	fixed-value.c, fwprop.c, ggc-common.c, gimple.c, gimplify.c,
      	graphite-blocking.c, graphite-clast-to-gimple.c,
      	graphite-dependences.c, graphite-flattening.c,
      	graphite-interchange.c, graphite-poly.c,
      	graphite-scop-detection.c, graphite.c, haifa-sched.c,
      	implicit-zee.c, integrate.c, ipa-pure-const.c, ipa-reference.c,
      	ira-build.c, ira-conflicts.c, ira-costs.c, ira-lives.c, jump.c,
      	lists.c, loop-doloop.c, loop-iv.c, lto-cgraph.c, lto-compress.c,
      	lto-opts.c, lto-section-in.c, lto-section-out.c,
      	lto-streamer-out.c, lto-symtab.c, modulo-sched.c, optabs.c,
      	params.c, postreload-gcse.c, postreload.c, predict.c, profile.c,
      	regcprop.c, reginfo.c, regmove.c, reorg.c, resource.c,
      	sched-deps.c, sched-ebb.c, sched-rgn.c, sdbout.c,
      	sel-sched-dump.c, sel-sched-ir.c, sese.c, stmt.c, targhooks.c,
      	tree-cfgcleanup.c, tree-mudflap.c, tree-nomudflap.c,
      	tree-object-size.c, tree-outof-ssa.c, tree-phinodes.c,
      	tree-profile.c, tree-sra.c, tree-ssa-ccp.c, tree-ssa-coalesce.c,
      	tree-ssa-live.c, tree-ssa-loop-prefetch.c, tree-ssa-loop.c,
      	tree-ssa-operands.c, tree-ssa-structalias.c, tree-ssa-uninit.c,
      	tree-vect-patterns.c, value-prof.c, var-tracking.c, web.c: Don't
      	include toplev.h.
      	* Makefile.in (TOPLEV_H): Remove.  All uses changed to use
      	toplev.h.  Dependencies for above files and c-family files changed
      	to remove $(TOPLEV_H) or toplev.h.
      	(C_TREE_H): Don't include $(TOPLEV_H).
      	(DIAGNOSTIC_CORE_H): Use $(INPUT_H) instead of input.h.  Add
      	bversion.h.
      	* config/arm/t-pe, config/arm/t-wince-pe, config/i386/t-cygming,
      	config/ia64/t-ia64, config/mep/t-mep, config/score/t-score-elf,
      	config/t-darwin, config/t-sol2,
      	config/t-vxworks, config/v850/t-v850, config/v850/t-v850e:
      	Dependencies for above files changed to remove $(TOPLEV_H) or
      	toplev.h.
      
      c-family:
      	* c-common.h (parse_optimize_options): Declare.
      	* c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
      	c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
      
      cp:
      	* cp-gimplify.c, cp-lang.c, cvt.c, cxx-pretty-print.c, error.c,
      	except.c, expr.c, friend.c, init.c, mangle.c, name-lookup.c,
      	optimize.c, parser.c, rtti.c, tree.c, typeck2.c: Don't include
      	toplev.h.
      	* Make-lang.in: Dependencies for above files changed to remove
      	toplev.h.
      
      java:
      	* expr.c, lang.c, mangle.c, mangle_name.c, typeck.c,
      	verify-glue.c: Don't include toplev.h.
      	* Make-lang.in: Dependencies for above files changed to remove
      	toplev.h.
      
      lto:
      	* Make-lang.in (lto/lto-object.o): Depend on toplev.h instead of
      	$(TOPLEV_H).
      
      From-SVN: r167293
      Joseph Myers committed
  10. 27 May, 2010 1 commit
    • diagnostic-core.h: New. · 1da2ed5f
      	* diagnostic-core.h: New.  Contents moved from diagnostic.h and
      	toplev.h.
      	* diagnostic.c: Don't include toplev.h.
      	(progname): Define.  Moved from toplev.c.
      	(seen_error): New function.
      	* diagnostic.h: Include diagnostic-core.h.
      	(diagnostic_t, emit_diagnostic): Don't declare here.
      	* toplev.c (progname): Move to toplev.c.
      	(emit_debug_global_declarations, compile_file, finalize,
      	do_compile, toplev_main): Use seen_error.
      	* toplev.h: Include diagnostic-core.h.
      	(trim_filename, GCC_DIAG_STYLE, ATTRIBUTE_GCC_DIAG,
      	internal_error, warning, warning_at, error, error_n, error_at,
      	fatal_error, pedwarn, permerror, sorry, inform, inform_n,
      	verbatim, fnotice, progname): Move to diagnostic-core.h.
      	* builtins.c: Include diagnostic-core.h instead of diagnostic.h.
      	(expand_builtin_expect): Use seen_error.
      	* c-decl.c: Include diagnostic-core.h instead of diagnostic.h.
      	(c_make_fname_decl, c_write_global_declarations): Use seen_error.
      	* c-format.c: Include diagnostic-core.h instead of diagnostic.h.
      	* c-gimplify.c: Include diagnostic-core.h instead of diagnostic.h.
      	* c-lang.c: Include diagnostic-core.h instead of diagnostic.h.
      	* c-lex.c (c_lex_with_flags, interpret_float): Don't increment
      	errorcount for errors.
      	* c-opts.c (c_common_finish): Use seen_error.
      	* cgraph.c: Include diagnostic-core.h instead of diagnostic.h.
      	* cgraphunit.c (verify_cgraph_node, verify_cgraph,
      	cgraph_output_pending_asms, cgraph_optimize): Use seen_error.
      	* coverage.c: Include diagnostic-core.h instead of diagnostic.h.
      	(get_coverage_counts): Use seen_error.
      	* dwarf2out.c (dwarf2out_finish): Use seen_error.
      	* gimplify.c (gimplify_var_or_parm_decl, gimple_push_cleanup,
      	gimplify_body): Use seen_error.
      	* ipa-inline.c (cgraph_early_inlining): Use seen_error.
      	* ipa-pure-const.c (gate_pure_const): Use seen_error.
      	* ipa-reference.c (gate_reference): Use seen_error.
      	* jump.c: Include diagnostic-core.h instead of diagnostic.h.
      	* lambda-code.c: Include diagnostic-core.h instead of
      	diagnostic.h.
      	* lto-cgraph.c: Include diagnostic-core.h instead of diagnostic.h.
      	* lto-compress.c: Include diagnostic-core.h instead of
      	diagnostic.h.
      	* lto-section-in.c: Include diagnostic-core.h instead of
      	diagnostic.h.
      	* lto-streamer-out.c: Include diagnostic-core.h instead of
      	diagnostic.h.
      	* lto-streamer.c: Include diagnostic-core.h instead of
      	diagnostic.h.
      	(gate_lto_out): Use seen_error.
      	* matrix-reorg.c: Include diagnostic-core.h instead of
      	diagnostic.h.
      	* omega.c: Include diagnostic-core.h instead of diagnostic.h.
      	* omp-low.c: Include diagnostic-core.h instead of diagnostic.h.
      	(gate_expand_omp, lower_omp_1): Use seen_error.
      	* passes.c: Include diagnostic-core.h instead of diagnostic.h.
      	(rest_of_decl_compilation, rest_of_type_compilation,
      	gate_rest_of_compilation, ipa_write_summaries): Use seen_error.
      	* tree-cfg.c (label_to_block_fn): Use seen_error.
      	* tree-inline.c (optimize_inline_calls): Use seen_error.
      	* tree-mudflap.c (mudflap_finish_file): Use
      	seen_error.
      	* tree-optimize.c (gate_all_optimizations,
      	gate_all_early_local_passes, gate_all_early_optimizations): Use
      	seen_error.
      	* tree-ssa-structalias.c (gate_ipa_pta): Use seen_error.
      	* varpool.c: Include diagnostic-core.h instead of diagnostic.h.
      	(varpool_remove_unreferenced_decls,
      	varpool_assemble_pending_decls): Use seen_error.
      	* Makefile.in (DIAGNOSTIC_CORE_H): Define.
      	(TOPLEV_H, DIAGNOSTIC_H): Update.
      	(c-decl.o, c-lang.o, c-format.o, lto-compress.o, lto-cgraph.o,
      	lto-streamer-out.o, lto-section-in.o, lto-streamer.o,
      	c-gimplify.o, omp-low.o, omega.o, diagnostic.o, passes.o,
      	builtins.o, jump.o, cgraph.o, varpool.o, matrix-reorg.o,
      	coverage.o, lambda-code.o): Update dependencies.
      
      cp:
      	* call.c: Include diagnostic-core.h instead of diagnostic.h.
      	* cp-lang.c: Don't include diagnostic.h
      	* name-lookup.c: Include diagnostic-core.h instead of
      	diagnostic.h.
      	(cp_emit_debug_info_for_using): Use seen_error.
      	* optimize.c: Include diagnostic-core.h instead of diagnostic.h.
      	* parser.c: Include diagnostic-core.h instead of diagnostic.h.
      	* pt.c (iterative_hash_template_arg): Use seen_error.
      	* repo.c: Include diagnostic-core.h instead of diagnostic.h.
      	* typeck2.c: Include diagnostic-core.h instead of diagnostic.h.
      	* Make-lang.in (cp/cp-lang.o, cp/typeck2.o, cp/call.o, cp/repo.o,
      	cp/optimize.o, cp/parser.o, cp/name-lookup.o): Update
      	dependencies.
      
      lto:
      	* lto.c: Include diagnostic-core.h instead of diagnostic.h.
      	(read_cgraph_and_symbols, lto_main): Use seen_error.
      	* Make-lang.in (lto/lto.o): Update dependencies.
      
      objc:
      	* objc-act.c: Include diagnostic-core.h instead of diagnostic.h.
      	* Make-lang.in (objc/objc-act.o): Update dependencies.
      
      From-SVN: r159947
      Joseph Myers committed
  11. 23 May, 2010 1 commit
    • regs.h: Do not include obstack.h, basic-block.h. · 2d1a4cc1
      	* regs.h: Do not include obstack.h, basic-block.h.
      	Include machmode.h.
      	* jump.c: Include basic-block.h.
      	* profile.c: Likewise.
      	* tree-profile.c: Likewise.
      	* coverage.c: Likewise.
      	* basic-block.h (optimize_function_for_size_p): Move to function.h.
      	(optimize_function_for_speed_p): Likewise.
      	* function.h (optimize_function_for_size_p,
      	optimize_function_for_speed_p): Moved here from basic-block.h.
      
      From-SVN: r159761
      Steven Bosscher committed
  12. 21 May, 2010 1 commit
    • tree.h: Include real.h and fixed-value.h as basic datatypes. · 40013784
      gcc/ChangeLog:
      	* tree.h: Include real.h and fixed-value.h as basic datatypes.
      	* dfp.c, convert.c, reload1.c, reginfo.c, tree-flow.h,
      	tree-ssa-threadedge.c, tree-ssanames.c, tree-loop-linear.c,
      	tree-into-ssa.c, tree-vect-generic.c, tree-ssa-structalias.c,
      	tree-ssa-loop-im.c, tree-dump.c, tree-complex.c, tree-ssa-uninit.c,
      	genrecog.c, tree-ssa-threadupdate.c, tree-ssa-loop-niter.c,
      	tree-pretty-print.c, tree-loop-distribution.c,
      	tree-ssa-loop-unswitch.c, c-lex.c, optabs.c, postreload-gcse.c,
      	tree-ssa-loop-manip.c, postreload.c, tree-ssa-loop-ch.c,
      	tree-tailcall.c, tree.c, reload.c, tree-scalar-evolution.c, rtlanal.c,
      	tree-phinodes.c, builtins.c, final.c, genoutput.c, fold-const.c,
      	tree-ssa-dse.c, genautomata.c, tree-ssa-uncprop.c, toplev.c,
      	tree-chrec.c, genemit.c, c-cppbuiltin.c, tree-ssa-sccvn.c,
      	tree-ssa-ccp.c, tree-ssa-loop-ivopts.c, mode-switching.c,
      	tree-call-cdce.c, cse.c, genpeep.c, tree-ssa-math-opts.c,
      	tree-ssa-dom.c, tree-nrv.c, tree-ssa-propagate.c, tree-ssa-alias.c,
      	tree-ssa-sink.c, jump.c, ifcvt.c, dwarf2out.c, expr.c, genattrtab.c,
      	genconditions.c, tree-ssa-loop-ivcanon.c, tree-ssa-loop.c,
      	tree-parloops.c, recog.c, tree-ssa-address.c, lcm.c, tree-eh.c,
      	gimple-pretty-print.c, c-pretty-print.c, print-rtl.c, gcse.c,
      	tree-if-conv.c, tree-data-ref.c, tree-affine.c, gimplify.c,
      	tree-ssa-phiopt.c, implicit-zee.c, expmed.c, tree-dfa.c, emit-rtl.c,
      	store-motion.c, cselib.c, tree-cfgcleanup.c, simplify-rtx.c,
      	tree-ssa-pre.c, genpreds.c, tree-mudflap.c, print-tree.c,
      	tree-ssa-copy.c, tree-ssa-forwprop.c, tree-ssa-dce.c, varasm.c,
      	tree-nested.c, tree-ssa.c, tree-ssa-loop-prefetch.c, rtl.c,
      	tree-inline.c, integrate.c, tree-optimize.c, tree-ssa-phiprop.c,
      	fixed-value.c, combine.c, tree-profile.c, c-common.c, sched-vis.c,
      	tree-cfg.c, passes.c, tree-ssa-reassoc.c, config/alpha/alpha.c,
      	config/frv/frv.c, config/s390/s390.c, config/m32c/m32c.c,
      	config/spu/spu.c, config/sparc/sparc.c, config/mep/mep.c,
      	config/m32r/m32r.c, config/rx/rx.c, config/i386/i386.c,
      	config/sh/sh.c, config/pdp11/pdp11.c, config/avr/avr.c,
      	config/crx/crx.c, config/xtensa/xtensa.c, config/stormy16/stormy16.c,
      	config/fr30/fr30.c, config/lm32/lm32.c, config/moxie/moxie.c,
      	config/m68hc11/m68hc11.c, config/cris/cris.c, config/iq2000/iq2000.c,
      	config/mn10300/mn10300.c, config/ia64/ia64.c, config/m68k/m68k.c,
      	config/rs6000/rs6000.c, config/picochip/picochip.c, config/darwin.c,
      	config/arc/arc.c, config/mcore/mcore.c, config/score/score3.c,
      	config/score/score7.c, config/score/score.c, config/arm/arm.c,
      	config/pa/pa.c, config/mips/mips.c, config/vax/vax.c,
      	config/h8300/h8300.c, config/v850/v850.c, config/mmix/mmix.c,
      	config/bfin/bfin.c:
      	Clean up redundant includes.
      	* Makefile.in: Update accordingly.
      
      java/ChangeLog:
      	* typeck.c, decl.c, jcf-parse.c, except.c, expr.c:
      
      cp/Changelog:
      	* error.c, tree.c, typeck2.c, cxx-pretty-print.c, mangle.c:
      	Clean up redundant includes.
      
      fortran/ChangeLog:
      	* trans-const.c, trans-types.c, trans-intrinsic.c:
      	Clean up redundant includes.
      
      From-SVN: r159663
      Steven Bosscher committed
  13. 25 Nov, 2009 1 commit
    • Remove trailing white spaces. · b8698a0f
      2009-11-25  H.J. Lu  <hongjiu.lu@intel.com>
      
      	* alias.c: Remove trailing white spaces.
      	* alloc-pool.c: Likewise.
      	* alloc-pool.h: Likewise.
      	* attribs.c: Likewise.
      	* auto-inc-dec.c: Likewise.
      	* basic-block.h: Likewise.
      	* bb-reorder.c: Likewise.
      	* bt-load.c: Likewise.
      	* builtins.c: Likewise.
      	* builtins.def: Likewise.
      	* c-common.c: Likewise.
      	* c-common.h: Likewise.
      	* c-cppbuiltin.c: Likewise.
      	* c-decl.c: Likewise.
      	* c-format.c: Likewise.
      	* c-lex.c: Likewise.
      	* c-omp.c: Likewise.
      	* c-opts.c: Likewise.
      	* c-parser.c: Likewise.
      	* c-pretty-print.c: Likewise.
      	* c-tree.h: Likewise.
      	* c-typeck.c: Likewise.
      	* caller-save.c: Likewise.
      	* calls.c: Likewise.
      	* cfg.c: Likewise.
      	* cfganal.c: Likewise.
      	* cfgexpand.c: Likewise.
      	* cfghooks.c: Likewise.
      	* cfghooks.h: Likewise.
      	* cfglayout.c: Likewise.
      	* cfgloop.c: Likewise.
      	* cfgloop.h: Likewise.
      	* cfgloopmanip.c: Likewise.
      	* cfgrtl.c: Likewise.
      	* cgraph.c: Likewise.
      	* cgraph.h: Likewise.
      	* cgraphbuild.c: Likewise.
      	* cgraphunit.c: Likewise.
      	* cif-code.def: Likewise.
      	* collect2.c: Likewise.
      	* combine.c: Likewise.
      	* convert.c: Likewise.
      	* coverage.c: Likewise.
      	* crtstuff.c: Likewise.
      	* cse.c: Likewise.
      	* cselib.c: Likewise.
      	* dbgcnt.c: Likewise.
      	* dbgcnt.def: Likewise.
      	* dbgcnt.h: Likewise.
      	* dbxout.c: Likewise.
      	* dce.c: Likewise.
      	* ddg.c: Likewise.
      	* ddg.h: Likewise.
      	* defaults.h: Likewise.
      	* df-byte-scan.c: Likewise.
      	* df-core.c: Likewise.
      	* df-problems.c: Likewise.
      	* df-scan.c: Likewise.
      	* df.h: Likewise.
      	* dfp.c: Likewise.
      	* diagnostic.c: Likewise.
      	* diagnostic.h: Likewise.
      	* dominance.c: Likewise.
      	* domwalk.c: Likewise.
      	* double-int.c: Likewise.
      	* double-int.h: Likewise.
      	* dse.c: Likewise.
      	* dwarf2asm.c: Likewise.
      	* dwarf2asm.h: Likewise.
      	* dwarf2out.c: Likewise.
      	* ebitmap.c: Likewise.
      	* ebitmap.h: Likewise.
      	* emit-rtl.c: Likewise.
      	* et-forest.c: Likewise.
      	* except.c: Likewise.
      	* except.h: Likewise.
      	* expmed.c: Likewise.
      	* expr.c: Likewise.
      	* expr.h: Likewise.
      	* final.c: Likewise.
      	* flags.h: Likewise.
      	* fold-const.c: Likewise.
      	* function.c: Likewise.
      	* function.h: Likewise.
      	* fwprop.c: Likewise.
      	* gcc.c: Likewise.
      	* gcov-dump.c: Likewise.
      	* gcov-io.c: Likewise.
      	* gcov-io.h: Likewise.
      	* gcov.c: Likewise.
      	* gcse.c: Likewise.
      	* genattr.c: Likewise.
      	* genattrtab.c: Likewise.
      	* genautomata.c: Likewise.
      	* genchecksum.c: Likewise.
      	* genconfig.c: Likewise.
      	* genflags.c: Likewise.
      	* gengtype-parse.c: Likewise.
      	* gengtype.c: Likewise.
      	* gengtype.h: Likewise.
      	* genmddeps.c: Likewise.
      	* genmodes.c: Likewise.
      	* genopinit.c: Likewise.
      	* genpreds.c: Likewise.
      	* gensupport.c: Likewise.
      	* ggc-common.c: Likewise.
      	* ggc-page.c: Likewise.
      	* ggc-zone.c: Likewise.
      	* ggc.h: Likewise.
      	* gimple-iterator.c: Likewise.
      	* gimple-low.c: Likewise.
      	* gimple-pretty-print.c: Likewise.
      	* gimple.c: Likewise.
      	* gimple.def: Likewise.
      	* gimple.h: Likewise.
      	* gimplify.c: Likewise.
      	* graphds.c: Likewise.
      	* graphite-clast-to-gimple.c: Likewise.
      	* gthr-nks.h: Likewise.
      	* gthr-posix.c: Likewise.
      	* gthr-posix.h: Likewise.
      	* gthr-posix95.h: Likewise.
      	* gthr-single.h: Likewise.
      	* gthr-tpf.h: Likewise.
      	* gthr-vxworks.h: Likewise.
      	* gthr.h: Likewise.
      	* haifa-sched.c: Likewise.
      	* hard-reg-set.h: Likewise.
      	* hooks.c: Likewise.
      	* hooks.h: Likewise.
      	* hosthooks.h: Likewise.
      	* hwint.h: Likewise.
      	* ifcvt.c: Likewise.
      	* incpath.c: Likewise.
      	* init-regs.c: Likewise.
      	* integrate.c: Likewise.
      	* ipa-cp.c: Likewise.
      	* ipa-inline.c: Likewise.
      	* ipa-prop.c: Likewise.
      	* ipa-pure-const.c: Likewise.
      	* ipa-reference.c: Likewise.
      	* ipa-struct-reorg.c: Likewise.
      	* ipa-struct-reorg.h: Likewise.
      	* ipa-type-escape.c: Likewise.
      	* ipa-type-escape.h: Likewise.
      	* ipa-utils.c: Likewise.
      	* ipa-utils.h: Likewise.
      	* ipa.c: Likewise.
      	* ira-build.c: Likewise.
      	* ira-color.c: Likewise.
      	* ira-conflicts.c: Likewise.
      	* ira-costs.c: Likewise.
      	* ira-emit.c: Likewise.
      	* ira-int.h: Likewise.
      	* ira-lives.c: Likewise.
      	* ira.c: Likewise.
      	* jump.c: Likewise.
      	* lambda-code.c: Likewise.
      	* lambda-mat.c: Likewise.
      	* lambda-trans.c: Likewise.
      	* lambda.h: Likewise.
      	* langhooks.c: Likewise.
      	* lcm.c: Likewise.
      	* libgcov.c: Likewise.
      	* lists.c: Likewise.
      	* loop-doloop.c: Likewise.
      	* loop-init.c: Likewise.
      	* loop-invariant.c: Likewise.
      	* loop-iv.c: Likewise.
      	* loop-unroll.c: Likewise.
      	* lower-subreg.c: Likewise.
      	* lto-cgraph.c: Likewise.
      	* lto-compress.c: Likewise.
      	* lto-opts.c: Likewise.
      	* lto-section-in.c: Likewise.
      	* lto-section-out.c: Likewise.
      	* lto-streamer-in.c: Likewise.
      	* lto-streamer-out.c: Likewise.
      	* lto-streamer.c: Likewise.
      	* lto-streamer.h: Likewise.
      	* lto-symtab.c: Likewise.
      	* lto-wpa-fixup.c: Likewise.
      	* matrix-reorg.c: Likewise.
      	* mcf.c: Likewise.
      	* mode-switching.c: Likewise.
      	* modulo-sched.c: Likewise.
      	* omega.c: Likewise.
      	* omega.h: Likewise.
      	* omp-low.c: Likewise.
      	* optabs.c: Likewise.
      	* optabs.h: Likewise.
      	* opts-common.c: Likewise.
      	* opts.c: Likewise.
      	* params.def: Likewise.
      	* params.h: Likewise.
      	* passes.c: Likewise.
      	* plugin.c: Likewise.
      	* postreload-gcse.c: Likewise.
      	* postreload.c: Likewise.
      	* predict.c: Likewise.
      	* predict.def: Likewise.
      	* pretty-print.c: Likewise.
      	* pretty-print.h: Likewise.
      	* print-rtl.c: Likewise.
      	* print-tree.c: Likewise.
      	* profile.c: Likewise.
      	* read-rtl.c: Likewise.
      	* real.c: Likewise.
      	* recog.c: Likewise.
      	* reg-stack.c: Likewise.
      	* regcprop.c: Likewise.
      	* reginfo.c: Likewise.
      	* regmove.c: Likewise.
      	* regrename.c: Likewise.
      	* regs.h: Likewise.
      	* regstat.c: Likewise.
      	* reload.c: Likewise.
      	* reload1.c: Likewise.
      	* resource.c: Likewise.
      	* rtl.c: Likewise.
      	* rtl.def: Likewise.
      	* rtl.h: Likewise.
      	* rtlanal.c: Likewise.
      	* sbitmap.c: Likewise.
      	* sched-deps.c: Likewise.
      	* sched-ebb.c: Likewise.
      	* sched-int.h: Likewise.
      	* sched-rgn.c: Likewise.
      	* sched-vis.c: Likewise.
      	* sdbout.c: Likewise.
      	* sel-sched-dump.c: Likewise.
      	* sel-sched-dump.h: Likewise.
      	* sel-sched-ir.c: Likewise.
      	* sel-sched-ir.h: Likewise.
      	* sel-sched.c: Likewise.
      	* sel-sched.h: Likewise.
      	* sese.c: Likewise.
      	* sese.h: Likewise.
      	* simplify-rtx.c: Likewise.
      	* stack-ptr-mod.c: Likewise.
      	* stmt.c: Likewise.
      	* stor-layout.c: Likewise.
      	* store-motion.c: Likewise.
      	* stringpool.c: Likewise.
      	* stub-objc.c: Likewise.
      	* sync-builtins.def: Likewise.
      	* target-def.h: Likewise.
      	* target.h: Likewise.
      	* targhooks.c: Likewise.
      	* targhooks.h: Likewise.
      	* timevar.c: Likewise.
      	* tlink.c: Likewise.
      	* toplev.c: Likewise.
      	* toplev.h: Likewise.
      	* tracer.c: Likewise.
      	* tree-affine.c: Likewise.
      	* tree-affine.h: Likewise.
      	* tree-browser.def: Likewise.
      	* tree-call-cdce.c: Likewise.
      	* tree-cfg.c: Likewise.
      	* tree-cfgcleanup.c: Likewise.
      	* tree-chrec.c: Likewise.
      	* tree-chrec.h: Likewise.
      	* tree-complex.c: Likewise.
      	* tree-data-ref.c: Likewise.
      	* tree-data-ref.h: Likewise.
      	* tree-dfa.c: Likewise.
      	* tree-dump.c: Likewise.
      	* tree-dump.h: Likewise.
      	* tree-eh.c: Likewise.
      	* tree-flow-inline.h: Likewise.
      	* tree-flow.h: Likewise.
      	* tree-if-conv.c: Likewise.
      	* tree-inline.c: Likewise.
      	* tree-into-ssa.c: Likewise.
      	* tree-loop-distribution.c: Likewise.
      	* tree-loop-linear.c: Likewise.
      	* tree-mudflap.c: Likewise.
      	* tree-nested.c: Likewise.
      	* tree-nomudflap.c: Likewise.
      	* tree-nrv.c: Likewise.
      	* tree-object-size.c: Likewise.
      	* tree-optimize.c: Likewise.
      	* tree-outof-ssa.c: Likewise.
      	* tree-parloops.c: Likewise.
      	* tree-pass.h: Likewise.
      	* tree-phinodes.c: Likewise.
      	* tree-predcom.c: Likewise.
      	* tree-pretty-print.c: Likewise.
      	* tree-profile.c: Likewise.
      	* tree-scalar-evolution.c: Likewise.
      	* tree-ssa-address.c: Likewise.
      	* tree-ssa-alias.c: Likewise.
      	* tree-ssa-ccp.c: Likewise.
      	* tree-ssa-coalesce.c: Likewise.
      	* tree-ssa-copy.c: Likewise.
      	* tree-ssa-copyrename.c: Likewise.
      	* tree-ssa-dce.c: Likewise.
      	* tree-ssa-dom.c: Likewise.
      	* tree-ssa-dse.c: Likewise.
      	* tree-ssa-forwprop.c: Likewise.
      	* tree-ssa-ifcombine.c: Likewise.
      	* tree-ssa-live.c: Likewise.
      	* tree-ssa-live.h: Likewise.
      	* tree-ssa-loop-ch.c: Likewise.
      	* tree-ssa-loop-im.c: Likewise.
      	* tree-ssa-loop-ivcanon.c: Likewise.
      	* tree-ssa-loop-ivopts.c: Likewise.
      	* tree-ssa-loop-manip.c: Likewise.
      	* tree-ssa-loop-niter.c: Likewise.
      	* tree-ssa-loop-prefetch.c: Likewise.
      	* tree-ssa-loop-unswitch.c: Likewise.
      	* tree-ssa-loop.c: Likewise.
      	* tree-ssa-math-opts.c: Likewise.
      	* tree-ssa-operands.c: Likewise.
      	* tree-ssa-operands.h: Likewise.
      	* tree-ssa-phiopt.c: Likewise.
      	* tree-ssa-phiprop.c: Likewise.
      	* tree-ssa-pre.c: Likewise.
      	* tree-ssa-propagate.c: Likewise.
      	* tree-ssa-reassoc.c: Likewise.
      	* tree-ssa-sccvn.c: Likewise.
      	* tree-ssa-sink.c: Likewise.
      	* tree-ssa-structalias.c: Likewise.
      	* tree-ssa-ter.c: Likewise.
      	* tree-ssa-threadedge.c: Likewise.
      	* tree-ssa-threadupdate.c: Likewise.
      	* tree-ssa-uncprop.c: Likewise.
      	* tree-ssa.c: Likewise.
      	* tree-ssanames.c: Likewise.
      	* tree-switch-conversion.c: Likewise.
      	* tree-tailcall.c: Likewise.
      	* tree-vect-data-refs.c: Likewise.
      	* tree-vect-generic.c: Likewise.
      	* tree-vect-loop-manip.c: Likewise.
      	* tree-vect-loop.c: Likewise.
      	* tree-vect-patterns.c: Likewise.
      	* tree-vect-slp.c: Likewise.
      	* tree-vect-stmts.c: Likewise.
      	* tree-vectorizer.c: Likewise.
      	* tree-vectorizer.h: Likewise.
      	* tree-vrp.c: Likewise.
      	* tree.c: Likewise.
      	* tree.def: Likewise.
      	* tree.h: Likewise.
      	* treestruct.def: Likewise.
      	* unwind-compat.c: Likewise.
      	* unwind-dw2-fde-glibc.c: Likewise.
      	* unwind-dw2.c: Likewise.
      	* value-prof.c: Likewise.
      	* value-prof.h: Likewise.
      	* var-tracking.c: Likewise.
      	* varasm.c: Likewise.
      	* varpool.c: Likewise.
      	* vec.c: Likewise.
      	* vec.h: Likewise.
      	* vmsdbgout.c: Likewise.
      	* web.c: Likewise.
      	* xcoffout.c: Likewise.
      
      From-SVN: r154645
      H.J. Lu committed
  14. 26 Oct, 2009 1 commit
    • extend.texi (Named Address Spaces): New section. · 09e881c9
      2009-10-26  Ben Elliston  <bje@au.ibm.com>
      	    Michael Meissner  <meissner@linux.vnet.ibm.com>
      	    Ulrich Weigand  <uweigand@de.ibm.com>
      
      	* doc/extend.texi (Named Address Spaces): New section.
      	* coretypes.h (addr_space_t): New type.
      	(ADDR_SPACE_GENERIC): New define.
      	(ADDR_SPACE_GENERIC_P): New macro.
      
      	* doc/tm.texi (Named Address Spaces): New section.
      	(TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Document.
      	(TARGET_ADDR_SPACE_LEGITIMIZE_ADDRESS): Document.
      	(TARGET_ADDR_SPACE_SUBSET_P): Document.
      	(TARGET_ADDR_SPACE_CONVERT): Document.
      	* target.h (struct gcc_target): Add addr_space substructure.
      	* target-def.h (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Define.
      	(TARGET_ADDR_SPACE_LEGITIMIZE_ADDRESS): Likewise.
      	(TARGET_ADDR_SPACE_SUBSET_P): Likewise.
      	(TARGET_ADDR_SPACE_CONVERT): Likewise.
      	(TARGET_ADDR_SPACE_HOOKS): Likewise.
      	(TARGET_INITIALIZER): Initialize addr_space hooks.
      	* targhooks.c (default_addr_space_legitimate_address_p): New function.
      	(default_addr_space_legitimize_address): Likewise.
      	(default_addr_space_subset_p): Likewise.
      	(default_addr_space_convert): Likewise.
      	* targhooks.h (default_addr_space_legitimate_address_p): Add prototype.
      	(default_addr_space_legitimize_address): Likewise.
      	(default_addr_space_subset_p): Likewise.
      	(default_addr_space_convert): Likewise.
      
      	* doc/rtl.texi (MEM_ADDR_SPACE): Document.
      	* rtl.h (mem_attrs): Add ADDRSPACE memory attribute.
      	(MEM_ADDR_SPACE): New macro.
      	* emit-rtl.c (get_mem_attrs): Add ADDRSPACE argument and set
      	address space memory attribute.
      	(mem_attrs_htab_hash): Handle address space memory attribute.
      	(mem_attrs_htab_eq): Likewise.
      	(set_mem_attributes_minus_bitpos): Likewise.
      	(set_mem_alias_set): Likewise.
      	(set_mem_align): Likewise.
      	(set_mem_expr): Likewise.
      	(set_mem_offset): Likewise.
      	(set_mem_size): Likewise.
      	(adjust_address_1): Likewise.
      	(offset_address): Likewise.
      	(widen_memoy_address): Likewise.
      	(get_spill_slot_decl): Likewise.
      	(set_mem_attrs_for_spill): Likewise.
      	(set_mem_addr_space): New function.
      	* emit-rtl.h (set_mem_addr_space): Add prototype.
      	* print-rtl.c (print_rtx): Print address space memory attribute.
      	* expr.c (expand_assignment): Set address space memory attribute
      	of generated MEM RTXes as appropriate.
      	(expand_expr_real_1): Likewise.
      	* cfgexpand.c (expand_debug_expr): Likewise.
      	* tree-ssa-loop-ivopts.c (produce_memory_decl_rtl): Likewise.
      
      	* tree.h (struct tree_base): Add address_space bitfield.  Reduce
      	size of "spare" bitfield.
      	(TYPE_ADDR_SPACE): New macro.
      	(ENCODE_QUAL_ADDR_SPACE): Likewise.
      	(DECODE_QUAL_ADDR_SPACE): Likewise.
      	(CLEAR_QUAL_ADDR_SPACE): Likewise.
      	(KEEP_QUAL_ADDR_SPACE): Likewise.
      	(TYPE_QUALS): Encode type address space.
      	(TYPE_QUALS_NO_ADDR_SPACE): New macro.
      	* tree.c (set_type_quals): Set type address space.
      	(build_array_type): Inherit array address space from element type.
      	* print-tree.c (print_node_brief): Print type address space.
      	(print_node): Likewise.
      	* tree-pretty-print.c (dump_generic_node): Likewise.
      
      	* explow.c (memory_address): Rename to ...
      	(memory_address_addr_space): ... this.  Add ADDRSPACE argument.
      	Use address-space aware variants of memory address routines.
      	* recog.c (memory_address_p): Rename to ...
      	(memory_address_addr_space_p): ... this.  Add ADDSPACE argument.
      	Use address-space aware variants of memory address routines.
      	(offsettable_address_p): Rename to ...
      	(offsettable_address_addr_space_p): ... this.  Add ADDRSPACE argument.
      	Use address-space aware variants of memory address routines.
      	* reload.c (strict_memory_address_p): Rename to ...
      	(strict_memory_address_addr_space_p): ... this.  Add ADDSPACE argument.
      	Use address-space aware variants of memory address routines.
      	(maybe_memory_address_p): Rename to ...
      	(maybe_memory_address_addr_space_p): ... this.  Add ADDSPACE argument.
      	Use address-space aware variants of memory address routines.
      	* expr.h (memory_address_addr_space): Add prototype.
      	(memory_address): Define as macro.
      	* recog.h (memory_address_addr_space_p): Add prototype.
      	(memory_address_p): Define as macro.
      	(offsettable_address_addr_space_p): Add prototype.
      	(offsettable_address_p): Define as macro.
      	(strict_memory_address_addr_space_p): Add prototype.
      	(strict_memory_address_p): Define as macro.
      
      	* combine.c (find_split_point): Use address-space aware variants
      	of memory address routines.
      	* emit-rtl.c (operand_subword): Likewise.
      	(change_address_1): Likewise.
      	(adjust_address_1): Likewise.
      	(offset_address): Likewise.
      	* expr.c (emit_move_insn): Likewise.
      	(expand_assignment): Likewise.
      	(expand_expr_real_1): Likewise.
      	* recog.c (verify_changes): Likewise.
      	(general_operand): Likewise.
      	(offsettable_memref_p): Likewise.
      	(offsettable_nonstrict_memref_p): Likewise.
      	(constrain_operands): Likewise.
      	* reload.c (get_secondary_mem): Likewise.
      	(find_reloads_toplev): Likewise.
      	(find_reloads_address): Likewise.
      	(find_reloads_subreg_address): Likewise.
      	* reload1.c (reload): Likewise.
      	* rtlhooks.c (gen_lowpart_if_possible): Likewise.
      	* rtl.h (address_cost): Add ADDRSPACE argument.
      	* rtlanal.c (address_cost): Add ADDRSPACE argument.  Use address-space
      	aware variant of memory address routines.
      	* loop-invariant.c (create_new_invariant): Update address_cost call.
      	* tree-ssa-loop-ivopts.c (computation_cost): Likewise.
      	* fwprop.c (should_replace_address): Add ADDRSPACE argument.
      	Use address-space aware variant of memory address routines.
      	(propagate_rtx_1): Update call to should_replace_address.
      	* tree-flow.h (multiplier_allowed_in_address_p): Add ADDRSPACE
      	argument.
      	* tree-ssa-loop-ivopts.c (multiplier_allowed_in_address_p): Add
      	ADDRSPACE argument.  Use per-address-space instead of global cache.
      	Use address-space aware variant of memory address routines.
      	(get_address_cost): Likewise.
      	(get_computation_cost_at): Update calls.
      	* tree-ssa-address.c (valid_mem_ref_p): Add ADDRSPACE argument.
      	Use address-space aware variant of memory address routines.
      	(create_mem_ref_raw): Update call to valid_mem_ref_p.
      	(most_expensive_mult_to_index): Update call to
      	multiplier_allowed_in_address_p.
      
      	* dwarf2out.c (modified_type_die): Output DW_AT_address_class
      	attribute to indicate named address spaces.
      
      	* varasm.c (get_variable_section): DECLs in named address spaces
      	cannot be "common".
      
      	* reload.c (find_reloads_address): Do not use LEGITIMIZE_RELOAD_ADDRESS
      	for addresses in a non-generic address space.
      
      	* expr.c (emit_block_move_hints): Do not use libcalls for
      	memory in non-generic address spaces.
      	(clear_storage_hints): Likewise.
      	(expand_assignment): Likewise.
      
      	* fold-const.c (operand_equal_p): Expressions refering to different
      	address spaces are not equivalent.
      
      	* rtl.c (rtx_equal_p_cb): MEMs refering to different address
      	spaces are not equivalent.
      	(rtx_equal_p): Likewise.
      	* cse.c (exp_equiv_p): Likewise.
      	* jump.c (rtx_renumbered_equal_p): Likewise.
      	* reload.c (operands_match_p): Likewise.
      
      	* alias.c (nonoverlapping_memrefs_p): MEMs refering to different
      	address spaces may alias.
      	(true_dependence): Likewise.
      	(canon_true_dependence): Likewise.
      	(write_dependence_p): Likewise.
      
      	* dse.c (canon_address): Handle named address spaces.
      	* ifcvt.c (noce_try_cmove_arith): Likewise.
      
      	* tree.def (ADDR_SPACE_CONVERT_EXPR): New tree code.
      	* expr.c (expand_expr_real_2): Expand ADDR_SPACE_CONVERT_EXPR.
      	* convert.c (convert_to_pointer): Generate ADDR_SPACE_CONVERT_EXPR
      	to handle conversions between different address spaces.
      	* fold-const.c (fold_convert_loc): Likewise.
      	(fold_unary_loc): Handle ADDR_SPACE_CONVERT_EXPR.
      	* tree-pretty-print.c (dump_generic_node): Likewise.
      	* gimple-pretty-print.c (dump_unary_rhs): Likewise.
      	* tree-cfg.c (verify_gimple_assign_unary): Likewise.
      	* tree-inline.c (estimate_operator_cost): Likewise.
      	* tree-ssa.c (useless_type_conversion_p): Conversions between pointers
      	to different address spaces are not useless.
      
      Co-Authored-By: Michael Meissner <meissner@linux.vnet.ibm.com>
      Co-Authored-By: Ulrich Weigand <uweigand@de.ibm.com>
      
      From-SVN: r153572
      Ben Elliston committed
  15. 14 Sep, 2009 1 commit
    • builtins.c (expand_builtin_synchronize): Use gimple_build_asm_vec. · 1c384bf1
      	* builtins.c (expand_builtin_synchronize): Use gimple_build_asm_vec.
      	* cfgbuild.c (make_edges): Handle asm goto.
      	* cfglayout.c (fixup_reorder_chain): Likewise.
      	* cfgrtl.c (patch_jump_insn): Likewise.
      	* gimple-pretty-print.c (dump_gimple_asm): Likewise.
      	* gimple.c (gimple_build_asm_1): Add and use nlabels parameter.
      	(gimple_build_asm_vec): Add and use labels parameter.
      	(gimple_build_asm): Remove.
      	(walk_gimple_asm): Walk labels too.
      	* gimple.def (GIMPLE_ASM): Update docs.
      	* gimple.h: Update decls.
      	(struct gimple_statement_asm): Change nc to use unsigned char;
      	add nl member.
      	(gimple_asm_nlabels): New.
      	(gimple_asm_label_op, gimple_asm_set_label_op): New.
      	* gimplify.c (gimplify_asm_expr): Copy labels from ASM_EXPR
      	into gimple_build_asm_vec.
      	* jump.c (mark_jump_label_asm): New.
      	(mark_jump_label): Use it.
      	(redirect_jump_1): Handle asm goto.
      	(invert_jump_1): Soft fail if X is null.
      	* recog.c (extract_asm_operands): New.
      	(asm_noperands): Use it; handle asm labels.
      	(decode_asm_operands): Use extract_asm_operands.
      	(asm_operand_ok): Properly handle empty string.
      	* reg-stack.c (get_asm_operands_in_out): Rename from
      	get_asm_operand_n_inputs; use extract_asm_operands; return both
      	inputs and outputs by reference; update all callers.
      	* rtl.def (ASM_OPERANDS): Add label vector as operand 6.
      	* rtl.h (ASM_OPERANDS_LABEL_VEC): New.
      	(ASM_OPERANDS_LABEL_LENGTH, ASM_OPERANDS_LABEL): New.
      	(ASM_OPERANDS_SOURCE_LOCATION): Renumber.
      	(extract_asm_operands): Declare.
      	* stmt.c (expand_asm_operands): Add and use labels parameter.
      	(check_unique_operand_names): Likewise.
      	(resolve_asm_operand_names, resolve_operand_name_1): Likewise.
      	(expand_asm_stmt): Handle asm labels.
      	* tree-cfg.c (make_gimple_asm_edges): New.
      	(make_edges): Use it.
      	(cleanup_dead_labels): Handle asm labels.
      	(is_ctrl_altering_stmt): Likewise.
      	(gimple_redirect_edge_and_branch): Likewise.
      	* tree.def (ASM_EXPR): Add 5th operand.
      	* tree.h (ASM_LABELS): New.
      	(resolve_asm_operand_names): Update decl.
      
      	* c-parser.c (c_parser_asm_statement): Parse asm goto.
      	(c_parser_asm_goto_operands): New.
      	* c-tree.h (build_asm_expr): Update decl.
      	* c-typeck.c (build_asm_expr): Add and use labels parameter.
      	* doc/extend.texi: Document asm goto.
      
      gcc/ada/
      	* gcc-interface/trans.c (Pragma_to_gnu): Use build5 for ASM_EXPR.
      
      gcc/cp/
      	* cp-tree.h (finish_asm_stmt): Update decl.
      	* parser.c (cp_parser_asm_definition): Parse asm goto.
      	(cp_parser_asm_label_list): New.
      	* pt.c (tsubst_copy_asm_operands): Don't recurse on labels.
      	(tsubst_expr): Handle asm labels.
      	* semantics.c (finish_asm_stmt): Add and use labels parameter.
      
      gcc/testsuite/
      	* c-c++-common/asmgoto-1.c, c-c++-common/asmgoto-2.c,
      	c-c++-common/asmgoto-3.c, gcc.c-torture/compile/asmgoto-1.c,
      	gcc.dg/tree-ssa/asmgoto-1.c: New files.
      
      Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
      
      From-SVN: r151701
      Richard Henderson committed
  16. 01 Jul, 2009 1 commit
  17. 22 Jun, 2009 1 commit
    • alias.c: Use REG_P... · 481683e1
      2009-06-22  Shujing Zhao  <pearly.zhao@oracle.com>
      
      	* alias.c: Use REG_P, MEM_P, CONST_INT_P, LABEL_P, CALL_P, NOTE_P and
      	JUMP_TABLE_DATA_P predicates where applicable.
      	* auto-inc-dec.c: Ditto.
      	* builtins.c: Ditto.
      	* caller-save.c: Ditto.
      	* calls.c: Ditto.
      	* cfgcleanup.c: Ditto.
      	* cfglayout.c: Ditto.
      	* cfgrtl.c: Ditto.
      	* combine.c: Ditto.
      	* combine-stack-adj.c: Ditto.
      	* cse.c: Ditto.
      	* cselib.c: Ditto.
      	* dbxout.c: Ditto.
      	* df-scan.c: Ditto.
      	* dse.c: Ditto.
      	* dwarf2asm.c: Ditto.
      	* dwarf2out.c: Ditto.
      	* emit-rtl.c: Ditto.
      	* except.c: Ditto.
      	* explow.c: Ditto.
      	* expmed.c: Ditto.
      	* expr.c: Ditto.
      	* final.c: Ditto.
      	* function.c: Ditto.
      	* fwprop.c: Ditto.
      	* gcse.c: Ditto.
      	* genpreds.c: Ditto.
      	* genrecog.c: Ditto.
      	* ifcvt.c: Ditto.
      	* ira-costs.c: Ditto.
      	* ira-lives.c: Ditto.
      	* jump.c: Ditto.
      	* loop-iv.c: Ditto.
      	* lower-subreg.c: Ditto.
      	* modulo-sched.c: Ditto.
      	* optabs.c: Ditto.
      	* postreload.c: Ditto.
      	* print-rtl.c: Ditto.
      	* recog.c: Ditto.
      	* reginfo.c: Ditto.
      	* regmove.c: Ditto.
      	* reload1.c: Ditto.
      	* reload.c: Ditto.
      	* reorg.c: Ditto.
      	* rtlanal.c: Ditto.
      	* rtl.c: Ditto.
      	* sched-vis.c: Ditto.
      	* sdbout.c: Ditto.
      	* sel-sched-ir.c: Ditto.
      	* simplify-rtx.c: Ditto.
      	* targhooks.c: Ditto.
      	* var-tracking.c: Ditto.
      	* vmsdbgout.c: Ditto.
      
      From-SVN: r148786
      Shujing Zhao committed
  18. 17 Jun, 2009 1 commit
  19. 08 Jun, 2009 1 commit
  20. 30 May, 2009 1 commit
    • cfgcleanup.c (try_crossjump_to_edge): Only skip past NOTE_INSN_BASIC_BLOCK. · cd9c1ca8
      	* cfgcleanup.c (try_crossjump_to_edge): Only skip past
      	NOTE_INSN_BASIC_BLOCK.
      	* cfglayout.c (duplicate_insn_chain): Copy epilogue insn marks.
      	Duplicate NOTE_INSN_EPILOGUE_BEG notes.
      	* cfgrtl.c (can_delete_note_p): Allow NOTE_INSN_EPILOGUE_BEG
      	to be deleted.
      	* dwarf2out.c (struct cfa_loc): Change indirect field to bitfield,
      	add in_use field.
      	(add_cfi): Disable check redefining cfa away from drap.
      	(lookup_cfa_1): Add remember argument; handle remember/restore.
      	(lookup_cfa): Pass remember argument.
      	(cfa_remember): New.
      	(compute_barrier_args_size_1): Remove sibcall check.
      	(dwarf2out_frame_debug_def_cfa): New.
      	(dwarf2out_frame_debug_adjust_cfa): New.
      	(dwarf2out_frame_debug_cfa_offset): New.
      	(dwarf2out_frame_debug_cfa_register): New.
      	(dwarf2out_frame_debug_cfa_restore): New.
      	(dwarf2out_frame_debug): Handle REG_CFA_* notes.
      	(dwarf2out_begin_epilogue): New.
      	(dwarf2out_frame_debug_restore_state): New.
      	(dw_cfi_oprnd1_desc): Handle DW_CFA_remember_state,
      	DW_CFA_restore_state.
      	(output_cfi_directive): Likewise.
      	(convert_cfa_to_fb_loc_list): Likewise.
      	(dw_cfi_oprnd1_desc): Handle DW_CFA_restore.
      	* dwarf2out.h: Update.
      	* emit-rtl.c (try_split): Don't split RTX_FRAME_RELATED_P.
      	(copy_insn_1): Early out for null.
      	* final.c (final_scan_insn): Call dwarf2out_begin_epilogue
      	and dwarf2out_frame_debug_restore_state.
      	* function.c (prologue, epilogue, sibcall_epilogue): Remove.
      	(prologue_insn_hash, epilogue_insn_hash): New.
      	(free_after_compilation): Adjust freeing accordingly.
      	(record_insns): Create hash table if needed; push insns into
      	hash instead of array.
      	(maybe_copy_epilogue_insn): New.
      	(contains): Search hash table instead of array.
      	(sibcall_epilogue_contains): Remove.
      	(thread_prologue_and_epilogue_insns): Split eh_return insns
      	and mark them as epilogues.
      	(reposition_prologue_and_epilogue_notes): Rewrite epilogue
      	scanning in terms of basic blocks.
      	* insn-notes.def (CFA_RESTORE_STATE): New.
      	* jump.c (returnjump_p_1): Accept EH_RETURN.
      	(eh_returnjump_p_1, eh_returnjump_p): New.
      	* reg-notes.def (CFA_DEF_CFA, CFA_ADJUST_CFA, CFA_OFFSET,
      	CFA_REGISTER, CFA_RESTORE): New.
      	* rtl.def (EH_RETURN): New.
      	* rtl.h (eh_returnjump_p, maybe_copy_epilogue_insn): Declare.
      
      	* config/bfin/bfin.md (UNSPEC_VOLATILE_EH_RETURN): Remove.
      	(eh_return_internal): Use eh_return rtx; split w/ epilogue.
      
      	* config/i386/i386.c (gen_push): Update cfa state.
      	(pro_epilogue_adjust_stack): Add set_cfa argument.  When true,
      	add a CFA_ADJUST_CFA note.
      	(ix86_dwarf_handle_frame_unspec): Remove.
      	(ix86_expand_prologue): Update cfa state.
      	(ix86_emit_restore_reg_using_pop): New.
      	(ix86_emit_restore_regs_using_pop): New.
      	(ix86_emit_leave): New.
      	(ix86_emit_restore_regs_using_mov): Add CFA_RESTORE notes.
      	(ix86_expand_epilogue): Add notes for unwinding the epilogue.
      	* config/i386/i386.h (struct machine_cfa_state): New.
      	(ix86_cfa_state): New.
      	* config/i386/i386.md (UNSPEC_EH_RETURN): Remove.
      	(eh_return_internal): Merge from eh_return_<mode>,
      	use eh_return rtx, split w/ epilogue.
      
      From-SVN: r147995
      Richard Henderson committed
  21. 17 Apr, 2009 1 commit
    • df.h: Include "timevar.h". · 7072a650
      	* df.h: Include "timevar.h".
      	(struct df_problem): Change tv_id field to timevar_id_t.
      	* tree-pass.h: Include "timevar.h".
      	(struct opt_pass): Change tv_id field to timevar_id_t.
      	* timevar.h (timevar_id_t): Define TV_NONE.
      	* passes.c (execute_one_ipa_transform_pass): Check for tv_id !=
      	TV_NONE rather than tv_id != 0.
      	(execute_one_pass): Likewise.
      	* Makefile.in (DF_H): Add $(TIMEVAR_H).
      	(TREE_PASS_H): Define.  Change all instances of tree-pass.h in
      	dependencies to $(TREE_PASS_H).
      	* bt-load.c (pass_branch_target_load_optimize1): Set tv_id field
      	to TV_NONE.
      	(pass_branch_target_load_optimize2): Likewise.
      	* cfglayout.c (pass_into_cfg_layout_mode): Likewise.
      	(pass_outof_cfg_layout_mode): Likewise.
      	* cgraphbuild.c (pass_remove_cgraph_callee_edges): Likewise.
      	(pass_rebuild_cgraph_edges): Likewise.
      	(pass_remove_cgraph_callee_edges): Likewise.
      	* df-core.c (pass_df_initialize_opt): Likewise.
      	(pass_df_initialize_no_opt): Likewise.
      	(pass_df_finish): Likewise.
      	* emit-rtl.c (pass_unshare_all_rtl): Likewise.
      	* except.c (pass_set_nothrow_function_flags): Likewise.
      	(pass_convert_to_eh_region_ranges): Likewise.
      	* final.c (pass_compute_alignments): Likewise.
      	* function.c (pass_instantiate_virtual_regs): Likewise.
      	(pass_init_function): Likewise.
      	(pass_leaf_regs): Likewise.
      	(pass_match_asm_constraints): Likewise.
      	* gimple-low.c (pass_lower_cf): Likewise.
      	(pass_mark_used_blocks): Likewise.
      	* init-regs.c (pass_initialize_regs): Likewise.
      	* integrate.c (pass_initial_value_sets): Likewise.
      	* ira.c (pass_ira): Likewise.
      	* jump.c (pass_cleanup_barriers): Likewise.
      	* omp-low.c (pass_expand_omp): Likewise.
      	(pass_lower_omp): Likewise.
      	* matrix-reorg.c (pass_ipa_matrix_reorg): Likewise.
      	* recog.c (pass_split_all_insns): Likewise.
      	(pass_split_after_reload): Likewise.
      	(pass_split_before_regstack): Likewise.
      	(pass_split_before_sched2): Likewise.
      	(pass_split_for_shorten_branches): Likewise.
      	* reginfo.c (pass_reginfo_init): Likewise.
      	(pass_subregs_of_mode_init): Likewise.
      	(pass_subregs_of_mode_finish): Likewise.
      	* passes.c (pass_postreload): Likewise.
      	* stack-ptr-mod.c (pass_stack_ptr_mod): Likewise.
      	* tree-cfg.c (pass_remove_useless_stmts): Likewise.
      	(pass_warn_function_return): Likewise.
      	(pass_warn_function_noreturn): Likewise.
      	* tree-complex.c (pass_lower_complex): Likewise.
      	(pass_lower_complex_O0): Likewise.
      	* tree-if-conv.c (pass_if_conversion): Likewise.
      	* tree-into-ssa.c (pass_build_ssa): Likewise.
      	* tree-mudflap.c (pass_mudflap_1): Likewise.
      	(pass_mudflap_2): Likewise.
      	* tree-nomudflap.c (pass_mudflap_1): Likewise.
      	(pass_mudflap_2): Likewise.
      	* tree-nrv.c (pass_return_slot): Likewise.
      	* tree-object-size.c (pass_object_sizes): Likewise.
      	* tree-optimize.c (pass_all_optimizations): Likewise.
      	(pass_early_local_passes): Likewise.
      	(pass_all_early_optimizations): Likewise.
      	(pass_cleanup_cfg): Likewise.
      	(pass_cleanup_cfg_post_optimizing): Likewise.
      	(pass_free_datastructures): Likewise.
      	(pass_free_cfg_annotations): Likewise.
      	(pass_fixup_cfg): Likewise.
      	(pass_init_datastructures): Likewise.
      	* tree-ssa.c (pass_early_warn_uninitialized): Likewise.
      	(pass_late_warn_uninitialized): Likewise.
      	(pass_update_address_taken): Likewise.
      	* tree-ssa-ccp.c (pass_fold_builtins): Likewise.
      	* tree-ssa-math-opts.c (pass_cse_reciprocals): Likewise.
      	(pass_cse_sincos): Likewise.
      	(pass_convert_to_rsqrt): Likewise.
      	* tree-ssa-structalias.c (pass_build_alias): Likewise.
      	* tree-stdarg.c (pass_stdarg): Likewise.
      	* tree-tailcall.c (pass_tail_recursion): Likewise.
      	(pass_tail_calls): Likewise.
      	* tree-vect-generic.c (pass_lower_vector): Likewise.
      	(pass_lower_vector_ssa): Likewise.
      	* tree-vectorizer.c (pass_ipa_increase_alignment): Likewise.
      
      From-SVN: r146222
      Ian Lance Taylor committed
  22. 27 Mar, 2009 1 commit
    • jump.c (rtx_renumbered_equal_p): Use subreg_get_info. · c619e982
      2009-03-27  H.J. Lu  <hongjiu.lu@intel.com>
      
      	* jump.c (rtx_renumbered_equal_p): Use subreg_get_info.
      	(true_regnum): Likewise.
      
      	* rtlanal.c (subreg_info): Moved to ...
      	* rtl.h (subreg_info): Here.  New.
      	(subreg_get_info): New.
      
      	* rtlanal.c (subreg_get_info): Make it extern.
      
      From-SVN: r145134
      H.J. Lu committed
  23. 25 Feb, 2009 1 commit
  24. 20 Feb, 2009 1 commit
  25. 26 Aug, 2008 1 commit
  26. 06 Aug, 2008 1 commit
  27. 02 Jul, 2008 1 commit
    • rtlanal.c (add_reg_note): New function. · 65c5f2a6
      	* rtlanal.c (add_reg_note): New function.
      	* rtl.h (add_reg_note): Declare.
      	* auto-inc-dec.c (attempt_change): Use add_reg_note.
      	* bb-reorder.c (add_reg_crossing_jump_notes): Likewise.
      	* builtins.c (expand_builtin_longjmp): Likewise.
      	(expand_builtin_nonlocal_goto): Likewise.
      	* calls.c (emit_call_1, expand_call): Likewise.
      	* cfgexpand.c (add_reg_br_prob_note): Likewise.
      	* cfglayout.c (fixup_reorder_chain): Likewise.
      	* cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
      	(commit_one_edge_insertion): Likewise.
      	* combine.c (move_deaths, distribute_notes): Likewise.
      	* df-problems.c (df_set_note): Likewise.
      	* emit-rtl.c (link_cc0_insns, try_split): Likewise.
      	(set_unique_reg_note): Likewise.
      	(emit_copy_of_insn_after): Likewise.
      	* expr.c (expand_expr_real): Likewise.
      	* gcse.c (add_label_notes): Likewise.
      	* haifa-sched.c (create_check_block_twin): Likewise.
      	* jump.c (mark_jump_label_1): Likewise.
      	* loop-doloop.c (add_test, doloop_modify): Likewise.
      	* loop-unswitch.c (compare_and_jump_seq): Likewise.
      	* lower-subreg.c (move_eh_region_note): Likewise.
      	* optabs.c (emit_libcall_block): Likewise.
      	* predict.c (predict_insn): Likewise.
      	(combine_predictions_for_insn): Likewise.
      	* recog.c (peephole2_optimize): Likewise.
      	* regmove.c (try_auto_increment): Likewise.
      	* reg-stack.c (emit_pop_insn, move_for_stack_reg): Likewise.
      	* reload.c (find_reloads): Likewise.
      	* reload1.c (fixup_eh_region_note): Likewise.
      	(reload_as_needed, add_auto_inc_notes, copy_eh_notes): Likewise.
      	* reorg.c (delete_prior_computation): Likewise.
      	(delete_computation, dbr_schedule): Likewise.
      	* config/pa/pa.c (legitimize_pic_address): Likewise.
      	* config/sh/sh.c (sh_reorg): Likewise.
      
      From-SVN: r137374
      Ian Lance Taylor committed
  28. 18 Jun, 2008 1 commit
  29. 19 Mar, 2008 1 commit
    • re PR other/35094 (RTL dump file letters hosed and partly undocumented) · 8ddbbcae
      	* gcc.dg/20050811-2.c: Update dumping flags.
      	* gcc.dg/sms-2.c: Update dumping flags.
      	* gcc.dg/var-expand1.c: Update dumping flags.
      	* gcc.dg/var-expand3.c: Update dumping flags.
      	* gcc.dg/pr30957-1.c: Update dumping flags.
      	* gcc.dg/20050811-1.c: Update dumping flags.
      	* gcc.dg/cpp/cmdlne-dI-M.C: Do not xfail.
      	* gcc.dg/cpp/cmdlne-dM-M.C: Do not xfail.
      
      	PR other/35094
      	* toplev.c (decode_d_option): Handle all CPP flags.
      	* tree-vrp.c: Update tree_pass descriptors.
      	* regrename.c: Update tree_pass descriptors.
      	* fwprop.c: Update tree_pass descriptors.
      	* doc/invoke.texi: Remove documentation of dropped -d? flags.
      	* tree-into-ssa.c: Update tree_pass descriptors.
      	* tree-dump.c: Update tree_pass descriptors.
      	* tree-complex.c: Update tree_pass descriptors.
      	* tree-dump.h: Update tree_pass descriptors.
      	* see.c: Update tree_pass descriptors.
      	* cgraphbuild.c: Update tree_pass descriptors.
      	* tracer.c: Update tree_pass descriptors.
      	* tree-loop-distribution.c: Update tree_pass descriptors.
      	* cgraph.c: Update tree_pass descriptors.
      	* postreload-gcse.c: Update tree_pass descriptors.
      	* postreload.c: Update tree_pass descriptors.
      	* tree-ssa-loop-ch.c: Update tree_pass descriptors.
      	* tree-tailcall.c: Update tree_pass descriptors.
      	* tree-pass.h (tree_opt_pass): Rename to ...
      	(opt_pass) ... this one; add "type" field and remove letter field.
      	(gimple_opt_pass, rtl_opt_pass, simple_ipa_opt_pass): New.
      	(execute_pass_list, execute_ipa_pass_list, all_passes, all_ipa_passes,
      	all_lowering_passes): Update declaration.
      	* ipa-cp.c: Update tree_pass descriptors.
      	* final.c: Update tree_pass descriptors.
      	* omp-low.c: Update tree_pass descriptors.
      	* tree-ssa-dse.c: Update tree_pass descriptors.
      	* ipa-reference.c: Update tree_pass descriptors.
      	* tree-ssa-uncprop.c: Update tree_pass descriptors.
      	* auto-inc-dec.c: Update tree_pass descriptors.
      	* reorg.c: Update tree_pass descriptors.
      	* cgraphunit.c: Update tree_pass descriptors.
      	* tree-ssa-copyrename.c: Update tree_pass descriptors.
      	* tree-ssa-ccp.c: Update tree_pass descriptors.
      	* df-core.c: Update tree_pass descriptors.
      	* mode-switching.c: Update tree_pass descriptors.
      	* tree-nomudflap.c: Update tree_pass descriptors.
      	* modulo-sched.c: Update tree_pass descriptors.
      	* ipa-pure-const.c: Update tree_pass descriptors.
      	* cse.c: Update tree_pass descriptors.
      	* web.c: Update tree_pass descriptors.
      	* tree-stdarg.c: Update tree_pass descriptors.
      	* tree-ssa-math-opts.c: Update tree_pass descriptors.
      	* tree-ssa-dom.c: Update tree_pass descriptors.
      	* tree-nrv.c: Update tree_pass descriptors.
      	* tree-ssa-alias.c: Update tree_pass descriptors.
      	* loop-init.c: Update tree_pass descriptors.
      	* gimple-low.c: Update tree_pass descriptors.
      	* ipa-inline.c: Update tree_pass descriptors.
      	* tree-ssa-sink.c: Update tree_pass descriptors.
      	* global.c: Update tree_pass descriptors.
      	* ifcvt.c: Update tree_pass descriptors.
      	* jump.c: Update tree_pass descriptors.
      	* predict.c: Update tree_pass descriptors.
      	* tree-ssa-loop.c: Update tree_pass descriptors.
      	* recog.c: Update tree_pass descriptors.
      	* dse.c: Update tree_pass descriptors.
      	* tree-ssa-ifcombine.c: Update tree_pass descriptors.
      	* tree-eh.c: Update tree_pass descriptors.
      	* regmove.c: Update tree_pass descriptors.
      	* local-alloc.c
      	* function.c: Update tree_pass descriptors.
      	* tree-vectorizer.c: Update tree_pass descriptors.
      	* gcse.c: Update tree_pass descriptors.
      	* ipa-type-escape.c: Update tree_pass descriptors.
      	* tree-if-conv.c: Update tree_pass descriptors.
      	* init-regs.c: Update tree_pass descriptors.
      	* ipa.c: Update tree_pass descriptors.
      	* tree-ssa-phiopt.c: Update tree_pass descriptors.
      	* rtl-factoring.c: Update tree_pass descriptors.
      	* lower-subreg.c: Update tree_pass descriptors.
      	* bt-load.c: Update tree_pass descriptors.
      	* tree-dfa.c: Update tree_pass descriptors.
      	* except.c: Update tree_pass descriptors.
      	* emit-rtl.c: Update tree_pass descriptors.
      	* cfgexpand.c: Update tree_pass descriptors.
      	* tree-cfgcleanup.c: Update tree_pass descriptors.
      	* cfgcleanup.c: Update tree_pass descriptors.
      	* tree-ssa-pre.c: Update tree_pass descriptors.
      	* tree-sra.c: Update tree_pass descriptors.
      	* tree-mudflap.c: Update tree_pass descriptors.
      	* tree-ssa-copy.c: Update tree_pass descriptors.
      	* cfglayout.c: Update tree_pass descriptors.
      	* tree-ssa-forwprop.c: Update tree_pass descriptors.
      	* tree-ssa-dce.c: Update tree_pass descriptors.
      	* tree-ssa.c: Update tree_pass descriptors.
      	* regclass.c: Update tree_pass descriptors.
      	* integrate.c: Update tree_pass descriptors.
      	* tree-optimize.c: Update tree_pass descriptors.
      	* tree-ssa-phiprop.c: Update tree_pass descriptors.
      	* tree-object-size.c: Update tree_pass descriptors.
      	* combine.c: Update tree_pass descriptors.
      	* tree-outof-ssa.c: Update tree_pass descriptors.
      	* bb-reorder.c: Update tree_pass descriptors.
      	* stack-ptr-mod.c: Update tree_pass descriptors.
      	* var-tracking.c: Update tree_pass descriptors.
      	* tree-profile.c: Update tree_pass descriptors.
      	* tree-vect-generic.c: Update tree_pass descriptors.
      	* reg-stack.c: Update tree_pass descriptors.
      	* sched-rgn.c: Update tree_pass descriptors.
      	* tree-ssa-structalias.c: Update tree_pass descriptors.
      	* tree-cfg.c: Update tree_pass descriptors.
      	* passes.c (current_pass): Update declaration.
      	(finish_optimization_passes): Update.
      	(all_passes, all_ipa_passes, all_lowering_passes): Update declaration.
      	(register_one_dump_file, register_dump_files_1, next_pass_1):
       	Update arguments.
      	(init_optimization_passes): Update handling of new types.
      	(execute_one_pass, execute_pass_list, execute_ipa_pass_list): Update.
      	* ipa-struct-reorg.c: Update tree_pass descriptors.
      	* tree-ssa-reassoc.c: Update tree_pass descriptors.
      	* combine-stack-adj.c: Update tree_pass descriptors.
      	* cfgrtl.c: Update tree_pass descriptors.
      	* dce.c: Update tree_pass descriptors.
      	* tree-ssanames.c: Update tree_pass descriptors.
      
      From-SVN: r133342
      Jan Hubicka committed
  30. 24 Nov, 2007 1 commit
    • rtlanal.c (label_is_jump_target_p): Return true for a matching REG_LABEL_TARGET. · cb2f563b
      	* rtlanal.c (label_is_jump_target_p): Return true for a matching
      	REG_LABEL_TARGET.
      	* reorg.c (fill_slots_from_thread): Correct last change to use
      	NULL_RTX, not NULL.  Outside of REG_NOTES loop, increase and
      	decrease LABEL_NUSES for JUMP_LABEL (trial), not XEXP (note, 0).
      	* jump.c (mark_jump_label_1): Add comment for last change
      	regarding JUMP_LABEL setting.
      	* gcse.c (add_label_notes): Remove conditional that the label is
      	mentioned in insn before adding regnote.
      	* sched-rgn.c (is_cfg_nonregular): Don't return 1 for a
      	single_set insn only feeding a label to a jump through a
      	register that dies there.
      
      From-SVN: r130398
      Hans-Peter Nilsson committed
  31. 14 Oct, 2007 1 commit
    • fixed-bit.c, [...]: Fix comment typos. · 84fbffb2
      	* config/fixed-bit.c, config/i386/cpuid.h, config/i386/i386.c,
      	config/i386/i386.md, config/i386/sse.md, function.c, jump.c,
      	modulo-sched.c, ra-conflict.c, toplev.c, tree-eh.c, tree-sra.c,
      	tree-ssa-dse.c, tree-vect-analyze.c, tree-vect-patterns.c,
      	tree-vect-transform.c: Fix comment typos.
      	* doc/extend.texi: Fix a typo.
      
      From-SVN: r129291
      Kazu Hirata committed
  32. 09 Sep, 2007 1 commit
    • Divide REG_LABEL notes into REG_LABEL_OPERAND and REG_LABEL_TARGET. · cf7c4aa6
      	* doc/rtl.texi (Insns): Specify when a label_ref makes a jump_insn.
      	Similar for what label_refs can go in the JUMP_TARGET field.  Split
      	REG_LABEL documentation into REG_LABEL_TARGET and REG_LABEL_OPERAND.
      	* reload.c (find_reloads): Generate REG_LABEL_OPERAND, not
      	REG_LABEL when replacing an operand with a LABEL_REF for a
      	non-jump insn.
      	(subst_reloads): When replacing a LABEL_REG with a register,
      	instead of generating a REG_LABEL note, assert that there already
      	is one or that the label is a known target for the insn.
      	* rtlanal.c (computed_jump_p): Instead of looking for a REG_LABEL
      	note, check the JUMP_LABEL field.  Remove "else" after return.
      	* reorg.c (emit_delay_sequence): Replace case for REG_LABEL with
      	cases for REG_LABEL_OPERAND and REG_LABEL_TARGET.
      	(fill_slots_from_thread): Handle both REG_LABEL_OPERAND and
      	REG_LABEL_TARGET notes, including the JUMP_TARGET field on JUMP_P
      	insns.  Iterate over all notes; don't assume there's only one.
      	* cse.c (recorded_label_ref): Adjust comment to refer to
      	REG_LABEL_OPERAND.
      	(cse_extended_basic_block): Do LABEL_REF check for all INSN_P
      	insns, not just NONJUMP_INSN_P.
      	(check_for_label_ref): For JUMP_P insns, check that the LABEL_REF
      	isn't a jump target.
      	* jump.c (rebuild_jump_labels): Adjust head comment.
      	(init_label_info): Ditto.  Remove REG_LABEL_OPERAND notes only;
      	don't reset REG_LABEL_TARGET notes, including the JUMP_LABEL field.
      	(mark_all_labels): For JUMP_P insns without a target, check if the
      	the target is noted on the previous nonjump insn.
      	(mark_jump_label_1): New function, guts from mark_jump_label.
      	<case IF_THEN_ELSE>: Handle first operand as a non-target when
      	marking jump target labels.
      	<case LABEL_REF>: Adjust for whether to generate a
      	REG_LABEL_TARGET or a REG_LABEL_OPERAND note.
      	For 'E' format rtl, iterate in descending element order.
      	(delete_related_insns): Handle both REG_LABEL_TARGET and
      	REG_LABEL_OPERAND notes.  For JUMP_P insns with labels with zero
      	reference count, delete and fallthrough.  Move finding-next-
      	non-deleted insn last in the function.  Look at all INSN_P insns
      	for REG_LABEL_OPERAND notes.
      	(redirect_jump_2): Assert that OLABEL equals the old JUMP_LABEL of
      	JUMP.
      	* print-rtl.c (print_rtx): For JUMP_P insns and a non-NULL
      	JUMP_LABEL, output the INSN_UID of it.
      	* gcse.c: Adjust comments as appropriate to say REG_LABEL_OPERAND
      	and/or REG_LABEL_TARGET.
      	(add_label_notes): Only add REG_LABEL_OPERAND notes.  Put in line
      	with jump.c copy by only adding notes for labels actually
      	referenced in the insn.
      	* emit-rtl.c (try_split): Don't assume only NONJUMP_INSN_P need
      	usage count increment; handle all INSN_P trial insns.
      	(emit_copy_of_insn_after): Change to not copy REG_LABEL_OPERAND
      	notes.
      	* rtl.h (struct rtx_def) <volatil>: Adjust to mention
      	REG_LABEL_TARGET and REG_LABEL_OPERAND.
      	(LABEL_REF_NONLOCAL_P): Allow REG_LABEL_TARGET and
      	REG_LABEL_OPERAND.
      	* combine.c (distribute_notes): Adjust for REG_LABEL_TARGET on
      	JUMP_P insns and REG_LABEL_OPERAND everywhere.
      	* sched-rgn.c (is_cfg_nonregular): Check for REG_LABEL_OPERANDS
      	on all INSN_P insns.
      	* reg-notes.def (LABEL_TARGET, LABEL_OPERAND): Split from LABEL.
      	* cfgrtl.c (delete_insn): Adjust to handle REG_LABEL_TARGET and
      	REG_LABEL_OPERAND notes.
      	* reload1.c (calculate_needs_all_insns): Adjust comments.
      	(set_label_offsets): Adjust to look for REG_LABEL_OPERAND notes.
      	* config/alpha/alpha.md (split for load of an address into a
      	four-insn sequence on Unicos/Mk): Adjust to use
      	REG_LABEL_OPERAND.
      	* config/sh/sh.md (sh_reorg, final_prescan_insn): Ditto.
      
      From-SVN: r128287
      Hans-Peter Nilsson committed
  33. 03 Sep, 2007 1 commit
    • system.h (CONST_CAST2, [...]): New macros for type-specific casts. · b1d5455a
      	* system.h (CONST_CAST2, CONST_CAST_TREE, CONST_CAST_RTX,
      	CONST_CAST_BB): New macros for type-specific casts.
      	(CONST_CAST): Add a TYPE parameter and define it in terms of
      	CONST_CAST2.
      
      	* c-decl.c (c_make_fname_decl): Supply a TYPE for CONST_CAST.
      	* c-lex.c (cb_ident, lex_string): Likewise,
      	* c-typeck.c (free_all_tagged_tu_seen_up_to): Likewise,
      	* config/i386/i386.c (ix86_function_regparm,
      	ix86_function_sseregparm): Use CONST_CAST_TREE.
      	* config/mmix/mmix.c (mmix_encode_section_info): Supply a TYPE for
      	CONST_CAST.
      	* gcc.c (set_spec, read_specs, for_each_path, execute, do_spec_1,
      	give_switch, set_multilib_dir): Likewise,
      	* gengtype-parse.c (string_seq, typedef_name): Likewise,
      	* gimple-low.c (block_may_fallthru): Use CONST_CAST_TREE.
      	* jump.c (reversed_comparison_code_parts): Use CONST_CAST_RTX.
      	* passes.c (execute_one_pass): Supply a TYPE for CONST_CAST.
      	* prefix.c (update_path): Likewise,
      	* pretty-print.c (pp_base_destroy_prefix): Likewise,
      	* rtlanal.c (keep_with_call_p): Use CONST_CAST_RTX.
      	* tree-cfg.c (tree_can_merge_blocks_p,
      	tree_block_ends_with_condjump_p): Use CONST_CAST_BB.
      	* tree-eh.c (lookup_stmt_eh_region_fn): USe CONST_CAST_TREE.
      	* tree.c (build_string): Supply a TYPE for CONST_CAST.
      	(attribute_list_contained): Use CONST_CAST_TREE.
      
      cp:
      	* call.c (name_as_c_string): Supply a TYPE for CONST_CAST.
      	* decl.c (cp_make_fname_decl): Likewise,
      	* parser.c (cp_parser_string_literal): Likewise,
      	* tree.c (pod_type_p, zero_init_p): Use CONST_CAST_TREE.
      	* typeck.c (cp_type_quals, cp_type_readonly, cp_has_mutable_p):
      	Likewise,
      
      fortran:
      	* gfortranspec.c (lang_specific_driver): Use CONST_CAST2.
      	* options.c (gfc_post_options): Supply a TYPE for CONST_CAST.
      	* parse.c (parse_omp_structured_block): Likewise,
      	* st.c (gfc_free_statement): Likewise,
      
      java:
      	* jcf-parse.c (read_class, java_parse_file): Supply a TYPE for
      	CONST_CAST.
      	* jcf.h (JCF_FINISH): Likewise.
      
      From-SVN: r128051
      Kaveh R. Ghazi committed
  34. 01 Sep, 2007 1 commit
    • c-common.c (const_strip_array_types): Delete. · 75547801
      	* c-common.c (const_strip_array_types): Delete.
      	* c-common.h (const_strip_array_types): Likewise.
      	* emit-rtl.c (const_next_insn, const_previous_insn,
      	const_next_nonnote_insn, const_prev_nonnote_insn,
      	const_next_real_insn, const_prev_real_insn,
      	const_next_active_insn, const_prev_active_insn, const_next_label,
      	const_prev_label): Delete.
      	* gimple-low.c (block_may_fallthru): Use expr_last.
      	* jump.c (reversed_comparison_code_parts): Use prev_nonnote_insn.
      	* rtl.h (const_previous_insn, const_next_insn,
      	const_prev_nonnote_insn, const_next_nonnote_insn,
      	const_prev_real_insn, const_next_real_insn,
      	const_prev_active_insn, const_next_active_insn, const_prev_label,
      	const_next_label): Delete.
      	* rtlanal.c (keep_with_call_p): Use next_nonnote_insn.
      	* system.h (CONST_CAST): Update comment.
      	* tree-cfg.c (tree_can_merge_blocks_p): Use last_stmt.
      	(const_first_stmt, const_last_stmt): Delete.
      	(tree_block_ends_with_condjump_p): Use last_stmt.
      	* tree-flow.h (const_first_stmt, const_last_stmt): Delete.
      	* tree-iterator.c (const_expr_first, const_expr_last,
      	const_expr_only): Delete.
      	* tree.c (const_lookup_attribute): Likewise.
      	(attribute_list_contained): Use lookup_attribute.
      	* tree.h (const_lookup_attribute, const_expr_first,
      	const_expr_last, const_expr_only): Delete.
      	
      cp:
      	* tree.c (pod_type_p, zero_init_p): Use strip_array_types.
      	* typeck.c (cp_type_quals, cp_type_readonly, cp_has_mutable_p):
      	Likewise.
      
      From-SVN: r128014
      Kaveh R. Ghazi committed
  35. 27 Aug, 2007 1 commit
    • alias.c (memory_modified_1, [...]): Constify. · 9678086d
      	* alias.c (memory_modified_1, memory_modified_in_insn_p):
      	Constify.
      	* basic-block.h (tree_predicted_by_p, rtl_predicted_by_p):
      	Likewise.
      	* bb-reorder.c (copy_bb_p): Likewise.
      	* cfghooks.c (can_remove_branch_p, can_merge_blocks_p,
      	predicted_by_p, can_duplicate_block_p, block_ends_with_call_p,
      	block_ends_with_condjump_p): Likewise.
      	* cfghooks.h (can_remove_branch_p, can_merge_blocks_p,
      	predicted_by_p, can_duplicate_block_p, block_ends_with_call_p,
      	block_ends_with_condjump_p): Likewise.
      	* cfglayout.c (cfg_layout_can_duplicate_bb_p): Likewise.
      	* cfgrtl.c (can_delete_note_p, can_delete_label_p,
      	rtl_can_merge_blocks, cfg_layout_can_merge_blocks_p,
      	rtl_block_ends_with_call_p, rtl_block_ends_with_condjump_p,
      	need_fake_edge_p, rtl_can_remove_branch_p): Likewise.
      	* dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Use
      	debug_true_const_tree instad of debug_true_tree.
      	* debug.c (do_nothing_debug_hooks): Likewise.
      	* debug.h (ignore_block, debug_true_const_tree): Constify.
      	* dwarf2out.c (stack_adjust_offset, clobbers_queued_reg_save,
      	dwarf2out_ignore_block, is_pseudo_reg, is_tagged_type,
      	decl_ultimate_origin, block_ultimate_origin, lookup_decl_loc,
      	same_dw_val_p, add_ranges, is_subrange_type, type_is_enum,
      	dbx_reg_number, is_based_loc, field_type,
      	simple_type_align_in_bits, simple_decl_align_in_bits,
      	simple_type_size_in_bits, field_byte_offset, insert_float,
      	type_tag, member_declared_type, is_redundant_typedef,
      	secname_for_decl, is_inlined_entry_point): Likewise.
      	* emit-rtl.c (const_next_insn, const_previous_insn,
      	const_next_nonnote_insn, const_prev_nonnote_insn,
      	const_next_real_insn, const_prev_real_insn,
      	const_next_active_insn, const_prev_active_insn, const_next_label,
      	const_prev_label): Likewise.
      	* except.h (lookup_stmt_eh_region_fn, lookup_stmt_eh_region):
      	Likewise.
      	* haifa-sched.c (may_trap_exp, haifa_classify_insn,
      	find_set_reg_weight, no_real_insns_p, find_set_reg_weight,
      	sched_insn_is_legitimate_for_speculation_p): Likewise.
      	* jump.c (reversed_comparison_code_parts,
      	reversed_comparison_code, reversed_comparison, condjump_label):
      	Likewise.
      	* predict.c (rtl_predicted_by_p, tree_predicted_by_p): Likewise.
      	* reg-stack.c (stack_regs_mentioned_p, stack_regs_mentioned):
      	Likewise.
      	* rtl.h (const_previous_insn, const_next_insn,
      	const_prev_nonnote_insn, const_next_nonnote_insn,
      	const_prev_real_insn, const_next_real_insn,
      	const_prev_active_insn, const_next_active_insn, const_prev_label,
      	const_next_label, modified_between_p, modified_in_p,
      	const_note_storeskeep_with_call_p, condjump_label,
      	reversed_comparison, reversed_comparison_code,
      	reversed_comparison_code_parts, memory_modified_in_insn_p,
      	stack_regs_mentioned): Likewise.
      	* rtlanal.c (modified_between_p, modified_in_p, const_note_stores,
      	keep_with_call_p): Likewise.
      	* sched-deps.c (deps_may_trap_p, sched_get_condition,
      	conditions_mutex_p, sched_insns_conditions_mutex_psd_next_list,
      	sd_lists_size, sd_lists_empty_p): Likewise.
      	* sched-int.h (sched_insns_conditions_mutex_p,
      	haifa_classify_insn, no_real_insns_p,
      	sched_insn_is_legitimate_for_speculation_p, sd_next_list,
      	sd_lists_size, sd_lists_empty_p): Likewise.
      	* sdbout.c (sdb_debug_hooks): Likewise.
      	* tree-cfg.c (tree_can_merge_blocks_p, is_ctrl_altering_stmt,
      	stmt_ends_bb_p, tree_can_remove_branch_p, tree_can_duplicate_bb_p,
      	-tree_block_ends_with_call_p, tree_block_ends_with_condjump_p):
      	Likewise.
      	* tree-eh.c (lookup_stmt_eh_region_fn, lookup_stmt_eh_region,
      	tree_can_throw_internal): Likewise.
      	* tree-flow-inline.h (phi_nodes): Likewise.
      	* tree-flow.h (phi_nodesstmt_ends_bb_p, is_ctrl_altering_stmt,
      	tree_can_throw_internal, lookup_stmt_eh_region): Likewise.
      	* tree-gimple.c (const_get_call_expr_in): Likewise.
      	* tree-gimple.h (const_get_call_expr_in): Likewise.
      	* tree.c (const_lookup_attribute, attribute_list_equal,
      	attribute_list_contained): Likewise.
      	* tree.h (attribute_list_equal, attribute_list_contained,
      	const_lookup_attribute): Likewise.
      	* vmsdbgout.c (vmsdbgout_ignore_block): Likewise.
      
      From-SVN: r127824
      Kaveh R. Ghazi committed
  36. 24 Aug, 2007 1 commit
    • alpha.c (alpha_mangle_type, [...]): Constify. · 3101faab
      	* config/alpha/alpha.c (alpha_mangle_type, decl_has_samegp,
      	alpha_in_small_data_p, alpha_split_complex_arg,
      	alpha_stdarg_optimize_hook, TARGET_ASM_CAN_OUTPUT_MI_THUNK):
      	Constify.
      	* config/arm/arm-protos.h (arm_mangle_type): Likewise.
      	* config/arm/arm.c (arm_comp_type_attributes, arm_mangle_type):
      	Likewise.
      	* config/bfin/bfin.c (funkind, bfin_comp_type_attributes,
      	TARGET_ASM_CAN_OUTPUT_MI_THUNK): Likewise.
      	* config/darwin-protos.h (darwin_binds_local_p): Likewise.
      	* config/darwin.c (darwin_binds_local_p): Likewise.
      	* config/frv/frv.c (frv_string_begins_with, frv_in_small_data_p):
      	Likewise.
      	* config/i386/i386-protos.h (i386_pe_binds_local_p,
      	i386_pe_valid_dllimport_attribute_p): Likewise.
      	* config/i386/i386.c (ix86_function_regparm,
      	ix86_comp_type_attributes, ix86_ms_bitfield_layout_p,
      	x86_can_output_mi_thunk, ix86_mangle_type,
      	TARGET_USE_BLOCKS_FOR_CONSTANT_P): Likewise.
      	* config/i386/winnt.c (i386_pe_valid_dllimport_attribute_p,
      	i386_pe_binds_local_p): Likewise.
      	* config/ia64/ia64.c
      	(ia64_first_cycle_multipass_dfa_lookahead_guard_spec,
      	ia64_needs_block_p, ia64_in_small_data_p, ia64_mangle_type,
      	ia64_invalid_conversion, ia64_invalid_unary_op,
      	ia64_invalid_binary_op, TARGET_ASM_CAN_OUTPUT_MI_THUNK):
      	Likewise.
      	* config/m32c/m32c.c (m32c_comp_type_attributes): Likewise.
      	* config/m32r/m32r.c (m32r_in_small_data_p): Likewise.
      	* config/m68k/m68k.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Likewise.
      	* config/mips/mips.c (mips_use_blocks_for_constant_p,
      	mips_in_small_data_p, mips_use_anchors_for_symbol_p,
      	mips_comp_type_attributes, TARGET_ASM_CAN_OUTPUT_MI_THUNK,
      	mips_near_type_p, mips_far_type_p, mips_global_symbol_p,
      	mips_symbol_binds_local_p, mips_classify_symbol): Likewise.
      	* config/pa/pa.c (pa_commutative_p): Likewise.
      	* config/rs6000/rs6000-protos.h (rs6000_elf_in_small_data_p):
      	Likewise.
      	* config/rs6000/rs6000.c (rs6000_invalid_within_doloop,
      	rs6000_ms_bitfield_layout_p, rs6000_mangle_type,
      	rs6000_use_blocks_for_constant_p,
      	rs6000_vector_alignment_reachable, rs6000_is_opaque_type,
      	invalid_arg_for_unprototyped_fn, TARGET_ASM_CAN_OUTPUT_MI_THUNK,
      	TARGET_SPLIT_COMPLEX_ARG, rs6000_elf_in_small_data_p): Likewise.
      	* config/s390/s390.c (s390_mangle_type,
      	TARGET_ASM_CAN_OUTPUT_MI_THUNK, TARGET_INVALID_WITHIN_DOLOOP):
      	Likewise.
      	* config/score/score.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK,
      	th_in_small_data_p): Likewise.
      	* config/sh/sh.c (sh_ms_bitfield_layout_p,
      	sh_dwarf_calling_convention, TARGET_ASM_CAN_OUTPUT_MI_THUNK):
      	Likewise.
      	* config/sparc/sparc.c (sparc_can_output_mi_thunk,
      	sparc_mangle_type): Likewise.
      	* config/spu/spu.c (spu_vector_alignment_reachable): Likewise.
      	* config/xtensa/xtensa.c (TARGET_SPLIT_COMPLEX_ARG): Likewise.
      	* emit-rtl.c (const_fixed_htab_hash, const_fixed_htab_eq):
      	Likewise.
      	* hooks.c (hook_bool_mode_const_rtx_false,
      	hook_bool_mode_const_rtx_true,
      	hook_bool_const_tree_hwi_hwi_const_tree_false,
      	hook_bool_const_tree_hwi_hwi_const_tree_true,
      	hook_int_const_tree_0, hook_int_const_tree_const_tree_1,
      	hook_constcharptr_const_tree_null,
      	hook_constcharptr_const_rtx_null,
      	hook_constcharptr_const_tree_const_tree_null,
      	hook_constcharptr_int_const_tree_null,
      	hook_constcharptr_int_const_tree_const_tree_null): New.
      	(hook_bool_mode_rtx_false, hook_bool_mode_rtx_true,
      	hook_bool_tree_hwi_hwi_tree_false,
      	hook_bool_tree_hwi_hwi_tree_true, hook_int_tree_0,
      	hook_int_tree_tree_1, hook_constcharptr_tree_null,
      	hook_constcharptr_rtx_null, hook_constcharptr_tree_tree_null,
      	hook_constcharptr_int_tree_null,
      	hook_constcharptr_int_tree_tree_null): Delete.
      	(default_can_output_mi_thunk_no_vcall): Constify.
      	* hooks.h (hook_bool_mode_rtx_false, hook_bool_mode_rtx_true,
      	hook_bool_tree_hwi_hwi_tree_false,
      	hook_bool_tree_hwi_hwi_tree_true, hook_int_tree_0,
      	hook_int_tree_tree_1, hook_constcharptr_tree_null,
      	hook_constcharptr_rtx_null, hook_constcharptr_tree_tree_null,
      	hook_constcharptr_int_tree_null,
      	hook_constcharptr_int_tree_tree_null): Delete.
      	(hook_bool_mode_const_rtx_false, hook_bool_mode_const_rtx_true,
      	hook_bool_const_tree_hwi_hwi_const_tree_false,
      	hook_bool_const_tree_hwi_hwi_const_tree_true,
      	hook_int_const_tree_0, hook_int_const_tree_const_tree_1,
      	hook_constcharptr_const_tree_null,
      	hook_constcharptr_const_rtx_null,
      	hook_constcharptr_const_tree_const_tree_null,
      	hook_constcharptr_int_const_tree_null,
      	hook_constcharptr_int_const_tree_const_tree_null): New.
      	(default_can_output_mi_thunk_no_vcall): Constify.
      	* integrate.c (function_attribute_inlinable_p): Likewise.
      	* integrate.h (function_attribute_inlinable_p): Likewise.
      	* jump.c (rtx_renumbered_equal_p): Likewise.
      	* output.h (decl_readonly_section, categorize_decl_for_section,
      	default_use_anchors_for_symbol_p, default_binds_local_p,
      	default_binds_local_p_1): Likewise.
      	* rtl.h (rtx_renumbered_equal_p, decl_default_tls_model):
      	Likewise.
      	* target-def.h (TARGET_ASM_CAN_OUTPUT_MI_THUNK,
      	TARGET_VALID_DLLIMPORT_ATTRIBUTE_P, TARGET_VECTOR_OPAQUE_P,
      	TARGET_COMMUTATIVE_P, TARGET_USE_BLOCKS_FOR_CONSTANT_P,
      	TARGET_COMP_TYPE_ATTRIBUTES,
      	TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P,
      	TARGET_MS_BITFIELD_LAYOUT_P, TARGET_MANGLE_TYPE,
      	TARGET_IN_SMALL_DATA_P, TARGET_INVALID_CONVERSION,
      	TARGET_INVALID_UNARY_OP, TARGET_INVALID_BINARY_OP,
      	TARGET_DWARF_CALLING_CONVENTION): Likewise.
      	* target.h (can_output_mi_thunk, needs_block_p,
      	first_cycle_multipass_dfa_lookahead_guard_spec,
      	vector_alignment_reachable, comp_type_attributes,
      	function_attribute_inlinable_p, ms_bitfield_layout_p, mangle_type,
      	commutative_p, use_blocks_for_constant_p,
      	use_anchors_for_symbol_p, in_small_data_p, binds_local_p,
      	vector_opaque_p, dwarf_calling_convention, stdarg_optimize_hook,
      	invalid_within_doloop, valid_dllimport_attribute_p,
      	split_complex_arg, invalid_arg_for_unprototyped_fn,
      	invalid_conversion, invalid_unary_op, invalid_binary_op):
      	Likewise.
      	* targhooks.c (default_invalid_within_doloop,
      	hook_invalid_arg_for_unprototyped_fn,
      	default_builtin_vector_alignment_reachable): Likewise.
      	(hook_bool_rtx_commutative_p): Delete.
      	(hook_bool_const_rtx_commutative_p): New.
      	* targhooks.h (default_invalid_within_doloop,
      	default_builtin_vector_alignment_reachable,
      	hook_invalid_arg_for_unprototyped_fn): Constify.
      	(hook_bool_rtx_commutative_p): Delete.
      	(hook_bool_const_rtx_commutative_p): New.
      	* varasm.c (bss_initializer_p, decl_default_tls_model,
      	categorize_decl_for_section, decl_readonly_section,
      	default_use_anchors_for_symbol_p, default_binds_local_p,
      	default_binds_local_p_1): Constify.
      
      From-SVN: r127785
      Kaveh R. Ghazi committed
  37. 30 Jul, 2007 2 commits
    • alias.c (record_set, [...]): Constify. · 7bc980e1
      	* alias.c (record_set, memory_modified_1): Constify.
      	* bt-load.c (note_btr_set): Likewise.
      	* caller-save.c (mark_set_regs, add_stored_regs): Likewise.
      	* combine.c (set_nonzero_bits_and_sign_copies,
      	expand_field_assignment, record_dead_and_set_regs_1,
      	use_crosses_set_p, reg_dead_at_p_1, can_combine_p,
      	likely_spilled_retval_1): Likewise.
      	* config/frv/frv.c (frv_registers_update_1, frv_io_check_address,
      	frv_io_handle_set): Likewise.
      	* config/mips/mips.c (mips_sim_record_set,
      	vr4130_true_reg_dependence_p_1): Likewise.
      	* config/mt/mt.c (insn_dependent_p_1): Likewise.
      	* config/s390/s390.c (s390_reg_clobbered_rtx): Likewise.
      	* config/sh/sh.c (flow_dependent_p_1): Likewise.
      	* cselib.c (cselib_invalidate_rtx_note_stores): Likewise.
      	* dce.c (mark_nonreg_stores_1, mark_nonreg_stores_2): Likewise.
      	* ddg.c (mark_mem_store): Likewise.
      	* df-problems.c (df_urec_mark_reg_change): Likewise.
      	* function.c (update_epilogue_consts): Likewise.
      	* gcse.c (record_set_info, record_last_set_info,
      	mems_conflict_for_gcse_p, canon_list_insert, reg_set_info,
      	reg_clear_last_set): Likewise.
      	* global.c (mark_reg_store, mark_reg_clobber, reg_becomes_live):
      	Likewise.
      	* jump.c (reversed_comparison_code_parts): Likewise.
      	* local-alloc.c (validate_equiv_mem_from_store, no_equiv,
      	reg_is_set): Likewise.
      	* loop-iv.c (mark_altered): Likewise.
      	* mode-switching.c (reg_becomes_live): Likewise.
      	* optabs.c (no_conflict_move_test): Likewise.
      	* postreload-gcse.c (record_last_set_info, find_mem_conflicts):
      	Likewise.
      	* postreload.c (reload_combine_note_store, move2add_note_store):
      	Likewise.
      	* regmove.c (flags_set_1): Likewise.
      	* regrename.c (note_sets, kill_clobbered_value, kill_set_value):
      	Likewise.
      	* reload1.c (mark_not_eliminable, forget_old_reloads_1):
      	Likewise. 
      	* resource.c (update_live_status): Likewise.
      	* rtl.h (set_of, note_stores): Likewise.
      	* rtlanal.c (set_of_1, parms_set, struct set_of_data, set_of,
      	note_stores, parms_set): Likewise.
      	* sched-rgn.c (sets_likely_spilled_1): Likewise.
      	* stack-ptr-mod.c (notice_stack_pointer_modification_1):
      	Likewise. 
      	* var-tracking.c (count_stores, add_stores): Likewise.
      
      From-SVN: r127065
      Kaveh R. Ghazi committed
    • alias.c (mems_in_disjoint_alias_sets_p, [...]): Constify. · 4f588890
      	* alias.c (mems_in_disjoint_alias_sets_p,
      	fixed_scalar_and_varying_struct_p, aliases_everything_p,
      	nonoverlapping_component_refs_p, nonoverlapping_memrefs_p,
      	write_dependence_p, mems_in_disjoint_alias_sets_p,
      	read_dependence, true_dependence, canon_true_dependence,
      	anti_dependence, output_dependence): Constify.
      	* combine.c (extended_count): Likewise.
      	* cse.c (cse_rtx_varies_p, hash_rtx, exp_equiv_p): Likewise.
      	* cselib.c (get_value_hash, references_value_p,
      	cselib_reg_set_mode, cselib_rtx_varies_p): Likewise.
      	* cselib.h (cselib_reg_set_mode, references_value_p): Likewise.
      	* emit-rtl.c (mem_expr_equal_p, active_insn_p): Likewise.
      	* function.c (contains, prologue_epilogue_contains,
      	sibcall_epilogue_contains): Likewise. 
      	* jump.c (simplejump_p, condjump_p, condjump_in_parallel_p,
      	pc_set, any_uncondjump_p, any_condjump_p, onlyjump_p,
      	only_sets_cc0_p, sets_cc0_p, rtx_renumbered_equal_p, true_regnum,
      	reg_or_subregno): Likewise.
      	* recog.c (asm_noperands): Likewise.
      	* reload1.c (function_invariant_p): Likewise.
      	* rtl.h (mem_expr_equal_p, active_insn_p, rtx_varies_p,
      	rtx_addr_varies_p, asm_noperands, exp_equiv_p, hash_rtx,
      	condjump_p, any_condjump_p, any_uncondjump_p, pc_set,
      	simplejump_p, onlyjump_p, only_sets_cc0_p, sets_cc0_p,
      	true_regnum, reg_or_subregno, condjump_in_parallel_p,
      	extended_count, prologue_epilogue_contains,
      	sibcall_epilogue_contains, function_invariant_p, true_dependence,
      	canon_true_dependence, read_dependence, anti_dependence,
      	output_dependence): Likewise.
      	* rtlanal.c (rtx_varies_p, rtx_addr_varies_p): Likewise.
      
      java:
      	* jcf-io.c (find_class): Fix -Wcast-qual warnings.
      
      From-SVN: r127063
      Kaveh R. Ghazi committed
  38. 26 Jul, 2007 1 commit
  39. 21 May, 2007 1 commit
    • gengtype.c (adjust_field_rtx_def): Use NOTE_KIND instead of NOTE_LINE_NUMBER... · a38e7aa5
      	* gengtype.c (adjust_field_rtx_def): Use NOTE_KIND instead of
      	NOTE_LINE_NUMBER; use NOTE_INSN_BASIC_BLOCK_P when possible.
      	* ddg.c (create_ddg): LIkewise.
      	* final.c (final): Remove hunk moving line numbernotes around since
      	they are no longer present at this stage.
      	(final_scan_insn): Use NOTE_KIND instead of
      	NOTE_LINE_NUMBER; use NOTE_INSN_BASIC_BLOCK_P when possible.
      	(output_asm_label): Likewise.
      	* reorg.c (dbr_schedule): Likewise.
      	* haifa-sched.c (unlink_other_notes): Likewise.
      	* mode-switching.c (optimize_mode_switching): Likewise.
      	* graph.c (start_bb): Likewise.
      	* rtl.def (NOTE): Update description.
      	* jump.c (squeeze_notes): Delete.
      	(mark_jump_label): Use NOTE_KIND instead of NOTE_LINE_NUMBER; use
      	NOTE_INSN_BASIC_BLOCK_P when possible.
      	* ifcvt.c (dead_or_predicable): Remove call of squeeze_notes.
      	* dwarf2out.c (gen_label_die): Use NOTE_KIND instead of
              NOTE_LINE_NUMBER; use NOTE_INSN_BASIC_BLOCK_P when possible.
      	(dwarf2out_var_location): Likewise.
      	* cfgbuild.c (make_edges): Likewise.
      	(find_basic_blocks_1): Likewise.
      	* function.c (reorder_blocks_1): Likewise.
      	(epilogue_done): Likewise.
      	(reposition_prologue_and_epilogue_notes): Likewise.
      	* print-rtl.c (print_rtx): Likewise; drop code for printing line number
      	notes.
      	(print_rtl): Likewise.
      	(print_rtl_single): Likewise.
      	* gcse.c (insert_insn_start_bb): Likewise.
      	* alias.c (init_alias_analysis): Likewise.
      	* calls.c (fixup_tail_calls): Likewise.
      	* except.c (sjlj_emit_function_enter): Likewise.
      	* emit-rtl.c (add_insn_after): Likeiwse.
      	(emit_label_before): Likewise.
      	(emit_label_after): Likewise.
      	(emit_note_before, emit_note_after, emit_note): Update
      	parameter to be enum insn_note; do not deal with source
      	files.
      	* cfgcleanup.c (merge_blocks_move_predecessor_nojumps):
      	Use NOTE_KIND instead of NOTE_LINE_NUMBER; use NOTE_INSN_BASIC_BLOCK_P
      	when possible.
      	(merge_blocks_move_successor_nojumps): Simplify now when
      	we don't have BLOCK notes.
      	(try_optimize_cfg): Likewise.
      	* cfglayout.c (skip_insns_after_block): Likewise.
      	(record_effective_endpoints): Likewise.
      	(duplicate_insn_chain): Likewise.
      	* varasm.c (output_constant_pool_1): Likewise.
      	* sched-deps.c (sched_analyze): Likewise.
      	* rtl.c (NOTE_INSN_MAX_isnt_negative_adjust_NOTE_INSN_BIAS):
      	Exterminate.
      	(note_insn_name): Simplify now when NOTE_INSN_BIAS is gone.
      	* rtl.h (NOTE_SOURCE_LOCATION, NOTE_EXPANDED_LOCATION): Exterminate.
      	(SET_INSN_DELETED): Simplify.
      	(NOTE_LINE_NUMBER): Exterminate.
      	(NOTE_LINE_KIND): New.
      	(NOTE_INSN_BASIC_BLOCK_P): Update.
      	(enum insn_note): Simplify.
      	(GET_NOTE_INSN_NAME) Simplify.
      	(emit_note_before, emit_note_after, emit_note): Update prototype.
      	(squeeze_notes): Remove.
      	* sched-int.h (NOTE_NOT_BB_P): Update.
      	* resource.c (mark_target_live_regs): Update.
      	* sched-rgn.c (debug_dependencies): Update.
      	* sched-vis.c (print_insn): Update.
      	* config/alpha/alpha.c (alpha_handle_trap_shadows): Update.
      	* config/i386/i386.c (ix86_output_function_epilogue): Update.
      	* config/sh/sh.c (sh_adjust_unroll_max): Function dead since gcc 4.0.0.
      	(TARGET_ADJUST_UNROLL_MAX): Likewise.
      	(split_branches): Update.
      	(sh_optimize_target_register_callee_saved): Remove hunk dead since gcc
      	4.0.0.
      	(sh_adjust_unroll_max): Exterminate.
      	* config/c4x/c4x.c (c4x_reorg): Use SET_INSN_DELETED.
      	* config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Likewise.
      	(m68hc11_reorg): Likewise.
      	* config/ia64/ia64.c (emit_insn_group_barriers): Update.
      	(emit_predicate_relation_info): Update.
      	(process_for_unwind_directive): Update.
      	* config/rs6000/rs6000.c (rs6000_output_function_epilogue): Update.
      	(output_call): Update.
      	* config/pa/pa.c (output_lbranch): Update.
      	(output_millicode_call): Update.
      	(output_call): Update.
      	(pa_combine_instructions): Update.
      	* config/mips/mips.c (mips16_gp_pseudo_reg): Update.
      	* config/bfin/bfin.c (gen_one_bundle): Update.
      	* cfgrtl.c (can_delete_note_p): Update.
      	(delete_insn): Update.
      	(rtl_merge_blocks): Update.
      	(commit_one_edge_insertion): Update.
      	(rtl_verify_flow_info): Update.
      	* stmt.c (expand_case): Do not call squeeze_notes.
      
      From-SVN: r124895
      Jan Hubicka committed