1. 03 Dec, 2003 1 commit
  2. 27 Nov, 2003 1 commit
  3. 18 Oct, 2003 1 commit
  4. 11 Oct, 2003 1 commit
    • cse.c (constant_pool_entries_regcost): New global variable to hold the register… · dd0ba281
      cse.c (constant_pool_entries_regcost): New global variable to hold the register cost component of...
      
      
      	* cse.c (constant_pool_entries_regcost): New global variable to
      	hold the register cost component of constant_pool_entries_cost.
      	(fold_rtx): Calculate constant_pool_entries_regcost at the same
      	time as constant_pool_entries_cost.
      	(cse_insn): Set both src_folded_cost and src_folded_regcost from
      	constant_pool_entries_cost and constant_pool_entries_regcost.
      	(cse_main): Initialize constant_pool_entries_regcost to zero.
      
      	* optabs.c (expand_unop): Attach a REG_EQUAL note describing
      	the semantics of the sequence of bit operations used to negate
      	a floating-point value.
      	(expand_abs_nojump): Likewise attach a REG_EQUAL note describing
      	the semantics of the bit operations used to abs a floating point
      	value.
      
      From-SVN: r72326
      Roger Sayle committed
  5. 08 Oct, 2003 1 commit
    • re PR rtl-optimization/12142 (-fnon-call-exceptions generates incorrect code) · 9ab81df2
      	PR optimization/12142
      	* cse.c (count_reg_usage): In a SET with a REG SET_DEST, count the
      	uses of the register in the SET_SRC.  Remove unnecessary argument.
      	* pa.c (legitimize_pic_address): Before reload, use a scratch register
      	for the intermediate result in loading the address of a SYMBOL_REF.
      	Set the MEM_NOTRAP_P flag for the MEM.  Add a REG_EQUAL to the insn
      	which loads the SYMBOL_REF address.
      
      From-SVN: r72234
      John David Anglin committed
  6. 06 Oct, 2003 1 commit
  7. 26 Jul, 2003 1 commit
  8. 19 Jul, 2003 1 commit
    • alias.c [...]: Remove unnecessary casts. · 703ad42b
      	* alias.c alloc-pool.c bitmap.c bitmap.h bt-load.c builtins.c
      	c-common.c c-decl.c c-incpath.c c-lex.c c-opts.c c-parse.in
      	c-pragma.c c-typeck.c calls.c cfg.c cfganal.c cfgloop.c cfgrtl.c
      	collect2.c combine.c conflict.c coverage.c cppexp.c cppfiles.c
      	cpphash.c cppinit.c cpplex.c cpplib.c cppmacro.c cppspec.c
      	cpptrad.c cse.c cselib.c dbxout.c defaults.h df.c dominance.c
      	dwarf2out.c dwarfout.c emit-rtl.c except.c expmed.c expr.c final.c
      	fix-header.c flow.c fold-const.c function.c gcc.c gccspec.c gcov.c
      	gcse.c genattr.c genattrtab.c genautomata.c genconditions.c
      	genemit.c genextract.c genoutput.c genrecog.c gensupport.c
      	ggc-page.c ggc-simple.c global.c graph.c haifa-sched.c hashtable.c
      	integrate.c jump.c langhooks.c lcm.c line-map.c local-alloc.c
      	loop.c mips-tdump.c mips-tfile.c mkdeps.c optabs.c params.c
      	postreload.c prefix.c print-tree.c protoize.c ra-build.c
      	ra-colorize.c ra-rewrite.c ra.c recog.c reg-stack.c regclass.c
      	regmove.c regrename.c reload.c reload1.c reorg.c resource.c
      	sbitmap.c sched-deps.c sched-rgn.c sched-vis.c sdbout.c
      	simplify-rtx.c ssa-ccp.c ssa.c stmt.c stor-layout.c timevar.c
      	tlink.c toplev.c tree-dump.c tree.c unroll.c unwind-dw2-fde.c
      	varasm.c varray.c vmsdbgout.c xcoffout.c: Remove unnecessary
      	casts.
      
      From-SVN: r69587
      Kaveh R. Ghazi committed
  9. 18 Jul, 2003 1 commit
  10. 01 Jul, 2003 1 commit
    • combine.c (distribute_notes): Don't bother REG_WAS_0. · 6001794d
      	* combine.c (distribute_notes): Don't bother REG_WAS_0.
      	* cse.c (cse_insn): Likewise.
      	* final.c (final_scan_insn): Likewise.
      	* jump.c (duplicate_loop_exit_test): Likewise.
      	* rtl.c (reg_note_name): Remove REG_WAS_0.
      	* rtl.h (REG_WAS_0): Remove.
      	* unroll.c (final_reg_note_copy): Don't bother REG_WAS_0.
      	* config/avr/avr.c (output_movqi): Don't use reg_was_0.
      	(output_movhi): Likewise.
      	(output_movsisf): Likewise.
      	(reg_was_0): Remove.
      	* config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Don't use
      	REG_WAS_0.
      	(m68hc11_gen_movqi): Likewise.
      	* config/vax/vax-protos.h: Remove the prototype for
      	reg_was_0_p.
      	* config/vax/vax.c (follows_p): Remove.
      	(reg_was_0_p): Likewise.
      	* config/vax/vax.md (movsi): Don't use reg_was_0_p.
      	(movhi): Likewise.
      	(movqi): Likewise.
      	* doc/rtl.texi (REG_WAS_0): Remove.
      
      From-SVN: r68753
      Kazu Hirata committed
  11. 29 Jun, 2003 2 commits
    • cse.c: Convert prototypes to ISO C90. · 7080f735
      	* cse.c: Convert prototypes to ISO C90.
      	* cselib.c: Likewise.
      	* cselib.h: Likewise.
      	* dbxout.c: Likewise.
      	* debug.c: Likewise.
      	* df.c: Likewise.
      	* df.h: Likewise.
      	* dojump.c: Likewise.
      	* doloop.c: Likewise.
      	* dominance.c: Likewise.
      	* dwarf2asm.c: Likewise.
      	* dwarf2out.c: Likewise.
      	* dwarf2out.h: Likewise.
      	* dwarfout.c: Likewise.
      
      From-SVN: r68673
      Andreas Jaeger committed
    • alloc-pool.c: Fix comment formatting. · f9da5064
      	* alloc-pool.c: Fix comment formatting.
      	* bitmap.c: Likewise.
      	* bitmap.h: Likewise.
      	* bt-load.c: Likewise.
      	* builtins.c: Likewise.
      	* caller-save.c: Likewise.
      	* cfganal.c: Likewise.
      	* cfgrtl.c: Likewise.
      	* collect2.c: Likewise.
      	* cse.c: Likewise.
      	* df.c: Likewise.
      	* diagnostic.c: Likewise.
      	* dwarf2out.c: Likewise.
      	* dwarfout.c: Likewise.
      	* expmed.c: Likewise.
      	* final.c: Likewise.
      	* flags.h: Likewise.
      	* fold-const.c: Likewise.
      	* gcc.c: Likewise.
      	* gcov-io.h: Likewise.
      	* gcov.c: Likewise.
      	* genattrtab.c: Likewise.
      	* genautomata.c: Likewise.
      	* libgcov.c: Likewise.
      	* mips-tfile.c: Likewise.
      	* optabs.c: Likewise.
      	* prefix.c: Likewise.
      	* rtlanal.c: Likewise.
      	* stmt.c: Likewise.
      	* stor-layout.c: Likewise.
      	* toplev.c: Likewise.
      	* varasm.c: Likewise.
      	* vmsdbgout.c: Likewise.
      
      From-SVN: r68672
      Kazu Hirata committed
  12. 27 Jun, 2003 1 commit
  13. 04 Jun, 2003 2 commits
  14. 30 May, 2003 1 commit
    • cse.c (cse_insn): Simplify REG_EQUAL note on libcalls when making a substitution. · 0c19a26f
      	* cse.c (cse_insn): Simplify REG_EQUAL note on libcalls when
      	making a substitution.
      	(dead_libcall_p): If directly replacing a libcall with a
      	constant value produces an invalid instruction, also try forcing
      	the constant into the constant pool.
      	* expr.c (emit_move_insn): Add a REG_EQUAL note when it is not
      	obvious that the source is a constant.
      	(compress_float_constant): Use set_unique_reg_note to place
      	REG_EQUAL notes on instructions.
      
      From-SVN: r67247
      Roger Sayle committed
  15. 23 May, 2003 1 commit
  16. 03 May, 2003 1 commit
    • emit-rtl.c (last_call_insn, [...]): New functions. · ee960939
      	* emit-rtl.c (last_call_insn, add_function_usage_to): New functions.
      	* rtl.h (last_call_insn, add_function_usage_to): New prototypes.
      	* builtins.c (expand_builtin_apply): Use the new emit-rtl functions.
      	* calls.c (emit_call_1): Likewise.
      	(expand_call): For calls initializing constant memory, replace
      	emission of standalone mem /u clobber with function usage entry.
      	* expr.c (emit_block_move_via_libcall): Likewise.
      	* cse.c (count_reg_usage, case EXPR_LIST): New case.
      	* flow.c (propagate_one_insn): Pass entire operand of
      	CALL_INSN_FUNCTION_USAGE to mark_used_regs.
      	* integrate.c (try_constants): For CALL_INSNs, substitute constants
      	within the FUNCTION_USAGE also.
      	* loop.c (prescan_loop): Note clobbers of const mem mentioned in
      	FUNCTION_USAGE lists.
      	* reload1.c (replace_pseudos_in): Renamed.
      	(reload): Use it for clobbers surviving until the end of the reload.
      
      From-SVN: r66429
      Olivier Hainque committed
  17. 10 Apr, 2003 1 commit
    • regrename.c (struct du_chain): Use a bitfield for reg_class. · 496324d0
      2003-04-09  Dan Nicolaescu  <dann@ics.uci.edu>
      	    Zack Weinberg  <zack@codesourcery.com>
      
      	* regrename.c (struct du_chain): Use a bitfield for reg_class.
      	* cse.c (struct qty_table_elem, struct table_elt, struct set):
      	Use bitfields for fields holding enum rtx_code or
      	enum machine_mode values.  Add comments explaining size choices.
      
      From-SVN: r65419
      Dan Nicolaescu committed
  18. 04 Apr, 2003 1 commit
  19. 30 Mar, 2003 1 commit
    • cfgbuild.c (make_edges): Use tablejump_p. · e1233a7d
              * cfgbuild.c (make_edges): Use tablejump_p.
              * cfgcleanup.c (label_is_jump_target_p): Likewise.
              * cfglayout.c (cfg_layout_can_duplicate_bb_p): Likewise.
              * cfgrtl.c (flow_delete_block_noexpunge): Likewise.
              (try_redirect_by_replacing_jump): Likewise.
              (redirect_edge_and_branch): Likewise.
              * cse.c (fold_rtx): Likewise.
              * jump.c (delete_related_insns): Likewise.
              * rtlanal.c (get_jump_table_offset): Likewise.
              * ssa-ccp.c (ssa_ccp_df_delete_unreachable_insns): Likewise.
      
      From-SVN: r65054
      Richard Henderson committed
  20. 14 Mar, 2003 1 commit
    • cselib.c (clear_table): Do not take argument; always clear just used slots. · cd648cec
      	* cselib.c (clear_table): Do not take argument; always clear just
      	used slots.
      	(cselib_process_insn):  Update call of clear_table
      	(cselib_init): Do not call clear_table.
      	(cselib_finish): Clear table.
      
      	* cse.c (count_reg_usage): Do not check side_effects_p.
      	* rtlanal.c (set_noop_p): Check side_effects_p only when set looks
      	like noop.
      	(find_reg_equal_equiv_note): Do not use find_reg_note.
      
      From-SVN: r64369
      Jan Hubicka committed
  21. 26 Feb, 2003 2 commits
    • cse.c (count_reg_usage): Fix handling of REG_EQUAL notes. · b17d5d7c
      	* cse.c (count_reg_usage): Fix handling of REG_EQUAL notes.
      
      	* Makefile.in (loop-unroll.o): New.
      	* cfgloop.h (UAP_PEEL, UAP_UNROLL, UAP_UNROLL_ALL): New.
      	(unroll_and_peel_loops): Declare.
      	* alias.c (init_alias_analysis): Flag_unroll_loops renamed to
      	flag_old_unroll_loops.
      	* loop.c (loop_invariant_p): Ditto.
      	* unroll.c (unroll_loop): Flag_unroll_all_loops renamed to
      	flag_old_unroll_all_loops.
      	* flags.h (flag_unroll_loops): Renamed to flag_old_unroll_loops.
      	(flag_unroll_all_loops): Renamed to flag_old_unroll_all_loops.
      	* params.def (PARAM_MAX_UNROLLED_INSNS): Default value changed.
      	(PARAM_MAX_AVERAGE_UNROLLED_INSNS, PARAM_MAX_UNROLL_TIMES,
      	PARAM_MAX_PEELED_INSNS, PARAM_MAX_PEEL_TIMES,
      	PARAM_MAX_COMPLETELY_PEELED_INSNS, PARAM_MAX_COMPLETELY_PEEL_TIMES,
      	PARAM_MAX_ONCE_PEELED_INSNS): New.
      	* toplev.h (flag_old_unroll_loops, flag_old_unroll_all_loops): New.
      	(flag_unroll_loops, flag_unroll_all_loops): Used for new unroller
      	instead of old one.
      	(flag_peel_loops): New.
      	(lang_independent_options): The new flags added.
      	(rest_of_compilation): Call new unroller.
      	(process_options): Setup flags for coexistence of old and new unroller.
      	* doc/invoke.texi: Document new options.
      	* doc/passes.texi: Document new unroller pass.
      
      From-SVN: r63462
      Zdenek Dvorak committed
    • combine.c (combine_simplify_rtx, [...]): Use CC0_P. · 8beccec8
      	* combine.c (combine_simplify_rtx, simplfy_comparison):  Use CC0_P.
      	* cse.c (invalidate_skipped_set):  Likewise.
      	* integrate.c (subst_constants):  Likewise.
      	* jump.c (reversed_comparison_code_parts):  Likewise.
      	* loop.c (canonicalize_condition):  Likewise.
      	* simplify-rtx.c (simplify_relational_operation):  Likewise.
      
      From-SVN: r63446
      Roger Sayle committed
  22. 28 Jan, 2003 4 commits
    • * cse.c (find_best_addr): Kill !ADDRESS_COST code. · e37135f7
      From-SVN: r62008
      Richard Henderson committed
    • target.h (targetm.address_cost): New. · dcefdf67
      	* target.h (targetm.address_cost): New.
      	* target-def.h (TARGET_ADDRESS_COST): New.
      	(TARGET_RTX_COSTS): Uncomment.  Oops.
      	* cse.c (address_cost): Use new target hook.
      	(default_address_cost): New.
      	* output.h (default_address_cost): Declare.
      	* hooks.c (hook_int_rtx_0): New.
      	* hooks.h (hook_int_rtx_0): Declare.
      	* loop.c (combine_givs_p): Remove if 0 code.
      	* system.h (ADDRESS_COST): Poison.
      
      	* config/alpha/alpha.c, config/alpha/alpha.h, config/d30v/d30v.c,
      	config/d30v/d30v.h, config/ia64/ia64.c, config/ia64/ia64.h,
      	config/m32r/m32r.c, config/m32r/m32r.h, config/mcore/mcore.c,
      	config/mcore/mcore.h, config/mmix/mmix.c, config/mmix/mmix.h,
      	config/rs6000/rs6000.c, config/rs6000/rs6000.h, config/sparc/sparc.c,
      	config/sparc/sparc.h, config/v850/v850.c, config/v850/v850.h,
      	config/xtensa/xtensa.c, config/xtensa/xtensa.h
      	(TARGET_ADDRESS_COST): Define as hook_int_rtx_0.
      	(ADDRESS_COST): Remove.
      
      	* config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
      	config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
      	config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
      	config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c,
      	config/dsp16xx/dsp16xx.h, config/i386/i386-protos.h,
      	config/i386/i386.c, config/i386/i386.h, config/i960/i960-protos.h,
      	config/i960/i960.c, config/i960/i960.h, config/ip2k/ip2k-protos.h,
      	config/ip2k/ip2k.c, config/ip2k/ip2k.h, config/mips/mips-protos.h,
      	config/mips/mips.c, config/mips/mips.h,
      	config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
      	config/m68hc11/m68hc11.h, config/ns32k/ns32k-protos.h,
      	config/ns32k/ns32k.c, config/ns32k/ns32k.h, config/pa/pa-protos.h,
      	config/pa/pa.c, config/pa/pa.h, config/s390/s390-protos.h,
      	config/s390/s390.c, config/s390/s390.h, config/vax/vax-protos.h,
      	config/vax/vax.c, config/vax/vax.h
      	(foo_address_cost): Make static.
      	(TARGET_ADDRESS_COST): New.
      	(ADDRESS_COST): Remove.
      
      	* config/arm/arm.h, config/arm/arm.c, config/m88k/m88k.h,
      	config/m88k/m88k.c, config/romp/romp.h, config/romp/romp.c,
      	config/sh/sh.c, config/sh/sh.h, config/stormy16/stormy16.c,
      	config/stormy16/stormy16.h
      	(ADDRESS_COST): Move code ...
      	(foo_address_cost): ... here.
      	(TARGET_ADDRESS_COST): New.
      
      	* config/m32r/m32r.c (m32r_address_cost): Remove.
      	* config/m32r/m32r-protos.h: Update.
      
      	* config/mmix/mmix.c (mmix_address_cost): Remove.
      	* config/mmix/mmix-protos.h: Update.
      
      	* config/mn10300/mn10300.c (mn10300_address_cost_1): Rename from
      	mn10300_address_cost; move unsig allocation ...
      	(mn10300_address_cost): ... here.
      	(TARGET_ADDRESS_COST): New.
      	* config/mn10300/mn10300-protos.h: Update.
      	* config/mn10300/mn10300.h (ADDRESS_COST): Remove.
      
      From-SVN: r61988
      Richard Henderson committed
    • * cse.c (cse_insn): Avoid redundant REG_EQUAL notes. · a77b7e32
      From-SVN: r61971
      Roger Sayle committed
    • Makefile.in (cse.o): Depend on TARGET_H. · 3c50106f
      	* Makefile.in (cse.o): Depend on TARGET_H.
      	* cse.c (rtx_cost): Use targetm.rtx_costs.
      	* system.h (CONST_COSTS RTX_COSTS DEFAULT_RTX_COSTS): Poison.
      	* doc/tm.texi: Update.
      
      	* target.h (targetm.rtx_costs): New.
      	* target-def.h (TARGET_RTX_COSTS): New.
      	* hooks.c (hook_bool_rtx_int_int_intp_false): New.
      	* hooks.h: Update.
      
      	* config/alpha/alpha.c (alpha_rtx_cost_data): New.
      	(alpha_rtx_costs, TARGET_RTX_COSTS): New.
      	* config/alpha/alpha.h (PROCESSOR_MAX): New.
      	(CONST_COSTS, RTX_COSTS): Remove.
      
      	* config/arc/arc.c, config/arc/arc.h, config/c4x/c4x.c,
      	config/c4x/c4x.h, config/cris/cris.c, config/cris/cris.h,
      	config/d30v/d30v.c, config/d30v/d30v.h, config/dsp16xx/dsp16xx.c,
      	config/dsp16xx/dsp16xx.h, config/frv/frv.c, config/frv/frv.h,
      	config/h8300/h8300.c, config/h8300/h8300.h, config/i370/i370.c,
      	config/i370/i370.h, config/i386/i386.c, config/i386/i386.h,
      	config/i960/i960.c, config/i960/i960.h, config/ia64/ia64.c,
      	config/ia64/ia64.h, config/m32r/m32r.c, config/m32r/m32r.h,
      	config/m68k/m68k.c, config/m68k/m68k.h, config/m88k/m88k.c,
      	config/m88k/m88k.h, config/mcore/mcore.c, config/mcore/mcore.h,
      	config/mips/mips.c, config/mips/mips.h, config/mn10200/mn10200.c,
      	config/mn10200/mn10200.h, config/mn10300/mn10300.c,
      	config/mn10300/mn10300.h, config/ns32k/ns32k.c, config/ns32k/ns32k.h,
      	config/pa/pa.c, config/pa/pa.h, config/pdp11/pdp11.c,
      	config/pdp11/pdp11.h, config/romp/romp.c, config/romp/romp.h,
      	config/rs6000/rs6000.c, config/rs6000/rs6000.h, config/s390/s390.c,
      	config/s390/s390.h, config/sh/sh.c, config/sh/sh.h,
      	config/stormy16/stormy16.c, config/stormy16/stormy16.h,
      	config/v850/v850.c, config/v850/v850.h,
      	config/xtensa/xtensa.c, config/xtensa/xtensa.h
      	(CONST_COSTS, RTX_COSTS): Move code ...
      	(foo_rtx_costs, TARGET_RTX_COSTS): ... here.
      
      	* config/arm/arm.c (arm_rtx_costs_1): Rename from arm_rtx_costs.
      	(arm_rtx_costs, TARGET_RTX_COSTS): New.
      	* config/arm/arm-protos.h: Update.
      	* config/arm/arm.h (DEFAULT_RTX_COSTS): Remove.
      
      	* config/avr/avr.h (CONST_COSTS): Move code ...
      	* config/avr/avr.c (avr_rtx_costs): ... here.
      	(default_rtx_costs): Make static.
      	* config/avr/avr-protos.h: Update.
      
      	* config/h8300/h8300.c (const_costs): Make static.
      	(h8300_and_costs, h8300_shift_costs): Likewise.
      	* config/h8300/h8300-protos.h: Update.
      
      	* config/ip2k/ip2k.h (DEFAULT_RTX_COSTS): Remove.
      	(CONST_COSTS): Move code ...
      	* config/ip2k/ip2k.c (ip2k_rtx_costs): ... here.  Rename from
      	default_rtx_costs; update for signature change.
      	* config/ip2k/ip2k-protos.h: Update.
      
      	* config/m68hc11/m68hc11.h (RTX_COSTS): Remove.
      	(CONST_COSTS): Move code ...
      	* config/m68hc11/m68hc11.c (m68hc11_rtx_costs): ... here.
      	(TARGET_RTX_COSTS): New.
      	(m68hc11_rtx_costs_1): Rename from m68hc11_rtx_costs; make static.
      	* config/m68hc11/m68hc11-protos.h: Update.
      
      	* config/m68k/m68k.c (const_int_cost): Make static.
      	* config/m68k/m68k-protos.h: Update.
      
      	* config/mcore/mcore.c (mcore_const_costs): Make static.
      	(mcore_and_cost, mcore_ior_cost): Likewise.
      	* config/mcore/mcore-protos.h: Update.
      
      	* config/mmix/mmix.c (mmix_rtx_costs, TARGET_RTX_COSTS): New.
      	(mmix_rtx_cost_recalculated): Remove.
      	* config/mmix/mmix.h (DEFAULT_RTX_COSTS): Remove.
      	* config/mmix/mmix-protos.h: Update.
      
      	* config/sh/sh.c (shiftcosts): Make static.
      	(addsubcosts, andcosts, multcosts): Likewise.
      	* config/sh/sh-protos.h: Update.
      
      	* config/sparc/sparc.c (TARGET_RTX_COSTS): New.
      	(sparc_rtx_costs): Make static; update for change in signature.
      	* config/sparc/sparc.h (RTX_COSTS_CASES, RTX_COSTS): Remove.
      	* config/sparc/sparc-protos.h: Update.
      
      	* config/v850/v850.c (const_costs): Make static.
      	* config/v850/v850-protos.h: Update.
      
      	* config/vax/vax.h (RTX_COSTS): Remove.
      	(CONST_COSTS): Move code ...
      	* config/vax/vax.c (vax_rtx_costs_1): ... here; rename
      	from vax_rtx_cost.
      	(vax_rtx_costs, TARGET_RTX_COSTS): New.
      
      From-SVN: r61954
      Richard Henderson committed
  23. 25 Jan, 2003 2 commits
  24. 23 Jan, 2003 1 commit
    • re PR rtl-optimization/8423 (CSE1 not propagating __builtin_constant_p enough) · 34ee7f82
      	PR optimization/8423
      	* cse.c (fold_rtx): Only eliminate a CONSTANT_P_RTX to 1 when
      	its argument is constant, or 0 if !flag_gcse.
      	* simplify-rtx.c (simplify_rtx): Convert CONSTANT_P_RTX to 1
      	if it's argument is constant.
      	* gcse.c (want_to_gcse_p): Ignore CONSTANT_P_RTX nodes.
      	(hash_scan_set): Don't record CONSTANT_P_RTX expressions.
      	(do_local_cprop): Don't propagate CONSTANT_P_RTX constants.
      	* builtins.c (purge_builtin_constant_p): New function to force
      	instantiation of any remaining CONSTANT_P_RTX nodes.
      	* rtl.h (purge_builtin_constant_p): Prototype here.
      	* toplev.c (rest_of_compilation): Invoke purge_builtin_constant_p
      	pass after GCSE and before loop.
      	(flag_gcse): No longer static.
      	* flags.h (flag_gcse): Prototype here.
      
      From-SVN: r61642
      Roger Sayle committed
  25. 21 Jan, 2003 1 commit
  26. 16 Dec, 2002 1 commit
  27. 10 Dec, 2002 1 commit
  28. 28 Oct, 2002 1 commit
  29. 12 Oct, 2002 1 commit
  30. 10 Oct, 2002 2 commits
  31. 09 Oct, 2002 1 commit
  32. 01 Oct, 2002 1 commit