summaryrefslogtreecommitdiffstats
path: root/gcc/regrename.c
Commit message (Collapse)AuthorAgeFilesLines
...
* * cpplex.c: Fix comment formatting.kazu2002-04-301-1/+1
| | | | | | | | | | | | * function.c: Likewise. * integrate.c: Likewise. * regrename.c: Likewise. * sibcall.c: Likewise. * simplify-rtx.c: Likewise. * tree-inline.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@52972 138bc75d-0d04-0410-961f-82ee72b054a4
* * regrename.c (build_def_use): Move recog_memoizedjakub2002-03-251-1/+1
| | | | | | | before extract_insn. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@51313 138bc75d-0d04-0410-961f-82ee72b054a4
* * regrename.c (build_def_use): Share RTL between MATCH_OPERATOR andjakub2002-03-251-1/+10
| | | | | | | | | corresponding MATCH_DUP. * gcc.c-torture/compile/20020323-1.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@51305 138bc75d-0d04-0410-961f-82ee72b054a4
* 2002-02-19 Aldy Hernandez <aldyh@redhat.com>aldyh2002-02-191-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * config/i386/i386.md ("mmx_uavgv8qi3"): Use const_vector. ("mmx_uavgv4hi3"): Same. ("pmulhrwv4hi3"): Same. * tree-inline.c (walk_tree): Handle vectors. * c-common.c (constant_expression_warning): Handle vectors. (overflow_warning): Same. * sched-deps.c (sched_analyze_2): Handle vectors. * rtlanal.c (rtx_unstable_p): Handle vectors. (rtx_varies_p): Same. (count_occurrences): Same. (regs_set_between_p): Same. (modified_between_p): Same. (modified_in_p): Same. (volatile_insn_p): Same. (volatile_refs_p): Same. (side_effects_p): Same. (may_trap_p): Same. (inequality_comparisons_p): Same. (replace_regs): Same. (computed_jump_p_1): Same. * rtl.c (DEF_MACHMODE): Change all definitions to accept 8th argument. (inner_mode_array): New. (copy_rtx): Handle vectors. (copy_most_rtx): Same. (rtx_equal_p): Same. (get_mode_alignment): Adjust for vectors. * resource.c (mark_referenced_resources): Handle vectors. (mark_set_resources): Same. * reload1.c (eliminate_regs): Handle vectors. (elimination_effects): Same. (scan_paradoxical_subregs): Same. * reload.c (subst_reg_equivs): Handle vectors. * regrename.c (scan_rtx): Handle vectors. * regclass.c (reg_scan_mark_refs): Handle vectors. * recog.c (find_single_use_1): Handle vectors. * local-alloc.c (equiv_init_varies_p): Handle vectors. (contains_replace_regs): Same. (memref_referenced_p): Same. * integrate.c (copy_rtx_and_substitute): Handle vectors. (subst_constants): Same. * genattrtab.c (attr_copy_rtx): Handle vectors. (encode_units_mask): Same. (clear_struct_flag): Same. (count_sub_rtxs): Same. * gcse.c (want_to_gcse_p): Handle vectors. (oprs_unchanged_p): Same. (hash_expr_1): Same. (oprs_not_set_p): Same. (expr_killed_p): Same. (compute_transp): Same. (store_ops_ok): Same. * function.c (purge_addressof_1): Do not allow paradoxical subregs of vectors. (fixup_var_refs_1): Same. (instantiate_virtual_regs_1): Same. * fold-const.c (operand_equal_p): Handle vectors. (fold): Same. (rtl_expr_nonnegative_p): Same. * flow.c (mark_used_regs): Handle vectors. * df.c (df_uses_record): Handle vectors. * cselib.c (cselib_subst_to_values): Handle vectors. (cselib_mem_conflict_p): Same. (hash_rtx): Same. * cse.c (canon_reg): Handle vectors. (fold_rt): Same. (cse_process_notes): Same. (count_reg_usage): Same. (canon_hash): Same. * alias.c (nonlocal_mentioned_p): Add case for CONST_VECTOR. * combine.c (mark_used_regs_combine): Add case for CONST_VECTOR. * emit-rtl.c (init_emit_once): Generate const0_rtx for vectors. (gen_rtx): Handle CONST_VECTOR. (gen_const_vector_0): New. (copy_rtx_if_shared): CONST_VECTORs can be shared. (reset_used_flags): Same. (copy_insn_1): Same. (initializer_constant_valid_p): Handle VECTOR_CST. * doc/c-tree.texi (Expression trees): Document VECTOR_CST. * doc/rtl.texi (Constants): Document const_vector. (CONST0_RTX): Update for vectors. (RTL sharing): Same. * print-tree.c (print_node): Add case for VECTOR_CST. * tree.h (TREE_VECTOR_CST_ELTS): New. (struct tree_vector): New. (union tree_node): Add vector node. (build_vector): Add prototype. * tree.def (VECTOR_CST): New. * tree.c (build_vector): New. * expmed.c (make_tree): Handle CONST_VECTOR. * rtl.h (CONSTANT_P): CONST_VECTORs are constants too. (CONST_VECTOR_ELT): New. (CONST_VECTOR_NUNITS): New. * machmode.h (GET_MODE_INNER): New. (DEF_MACHMODE): Accept 8th arg. * machmode.def: Add 8th argument for vector inner mode. Add inner vector modes for vectors. * rtl.def (VEC_CONST): Remove. (CONST_VECTOR): New. * expr.c (clear_storage): Allow vectors. (is_zeros_p): Handle VECTOR_CST. * varasm.c (output_constant_pool): Handle vectors. (rtx_const): Add veclo and vechi fields. (kind): Add RTX_VECTOR. (decode_rtx_const): Add case for vector. * config/rs6000/rs6000-protos.h: Add zero_constant. * config/rs6000/rs6000.c (rs6000_emit_move): Handle vector constants. Force easy vector constants into memory. (easy_vector_constant): New. (emit_easy_vector_constant): New. (rs6000_legitimize_reload_address): Do not generate bad reloads on darwin. * config/rs6000/rs6000.md ("altivec_lvx"): Reflect what instruction does. ("altivec_lvxl"): Same. (altivec_lvebx): Same. (altivec_lvehx): Same. (altivec_lvewx): Same. ("*movv4si_const0"): New. ("*movv4sf_const0"): New. ("*movv8hi_const0"): New. ("*movv16qi_const0"): New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@49853 138bc75d-0d04-0410-961f-82ee72b054a4
* * regrename.c (kill_set_value): Handle subregs properly.hubicka2002-02-181-2/+3
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@49838 138bc75d-0d04-0410-961f-82ee72b054a4
* * regmove.c (kill_value): Handle subregs.hubicka2002-02-131-0/+8
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@49748 138bc75d-0d04-0410-961f-82ee72b054a4
* * regrename.c (regrename_optimize): Don't accept aaoliva2002-02-111-1/+6
| | | | | | | | part-clobbered register if the replaced register is not part clobbered. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@49676 138bc75d-0d04-0410-961f-82ee72b054a4
* 2002-01-22 Aldy Hernandez <aldyh@redhat.com>aldyh2002-01-221-1/+1
| | | | | | | * regrename.c (kill_value): Fix typo. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@49082 138bc75d-0d04-0410-961f-82ee72b054a4
* * regrename.c (find_oldest_value_reg): Fix typo in mode change check.rth2002-01-101-2/+3
| | | | | | | (copyprop_hardreg_forward_1): Likewise. Use mode_change_ok. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@48715 138bc75d-0d04-0410-961f-82ee72b054a4
* * read-rtl.c: Fix formatting.kazu2002-01-101-1/+1
| | | | | | | | | | | | | * real.c: Likewise. * regclass.c: Likewise. * regrename.c: Likewise. * reg-stack.c: Likewise. * reload1.c: Likewise. * reload.c: Likewise. * rtl.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@48704 138bc75d-0d04-0410-961f-82ee72b054a4
* * regrename.c (copy_value): Ignore the copy if the source registerrth2002-01-091-0/+6
| | | | | | | is present in the value chain with a narrower mode. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@48689 138bc75d-0d04-0410-961f-82ee72b054a4
* * regrename.c (find_oldest_value_reg): Use gen_rtx_raw_REG.rth2002-01-091-2/+2
| | | | | | | (copyprop_hardreg_forward_1): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@48676 138bc75d-0d04-0410-961f-82ee72b054a4
* * regrename.c (copy_value): Ignore overlapping copies.rth2002-01-091-0/+8
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@48669 138bc75d-0d04-0410-961f-82ee72b054a4
* * regrename.c (find_oldest_value_reg): Ignore the value chain ifrth2002-01-081-1/+25
| | | | | | | | | | | | the original register was copied in a mode with a fewer number of hard registers than the desired mode. (copyprop_hardreg_forward_1): Likewise. (debug_value_data): Fix loop test. * toplev.c (parse_options_and_default_flags): Reenable -fcprop-registers at -O1. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@48624 138bc75d-0d04-0410-961f-82ee72b054a4
* * regrename.c (build_def_use): Don't rename asm operands thatrth2001-12-311-14/+61
| | | | | | | | | | | | were originally hard registers. (copyprop_hardreg_forward_1): Likewise. (find_oldest_value_reg): Copy ORIGINAL_REGNO from source. * varasm.c (make_decl_rtl): Use gen_rtx_raw_REG. Set ORIGINAL_REGNO. * gcc.dg/asm-5.c: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@48435 138bc75d-0d04-0410-961f-82ee72b054a4
* Implement MODE_BASE_REG_CLASSnickc2001-12-171-6/+10
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@48104 138bc75d-0d04-0410-961f-82ee72b054a4
* * regrename.c (copyprop_hardreg_forward): Do not keep registeruweigand2001-12-151-0/+1
| | | | | | | value data live across abnormal call or eh egdes. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@48043 138bc75d-0d04-0410-961f-82ee72b054a4
* * builtins.c (expand_builtin_memcmp): Mark parameter withghazi2001-12-151-1/+1
| | | | | | | | | | ATTRIBUTE_UNUSED. * cfgcleanup.c (insns_match_p): Likewise. * regrename.c (mode_change_ok): Likewise. * gcc.c (execute): Const-ify. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@48033 138bc75d-0d04-0410-961f-82ee72b054a4
* * regrename.c (mode_change_ok): New.rth2001-12-151-2/+24
| | | | | | | (find_oldest_value_reg): Use it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@48029 138bc75d-0d04-0410-961f-82ee72b054a4
* * regrename.c (struct value_data): Add max_value_regs.rth2001-12-151-4/+46
| | | | | | | | | | | | (init_value_data): Initialize it. (kill_value): Kill values that overlap the dying register. (set_value_regno): New. (kill_set_value, kill_autoinc_value, copy_value): Use it. (copyprop_hardreg_forward_1): Kill earlyclobber operands before looking at inputs. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@48028 138bc75d-0d04-0410-961f-82ee72b054a4
* * regrename.c (kill_value_regno): Simplify chain removal.rth2001-12-141-29/+24
| | | | | | | | | | | (kill_value): Kill all of HARD_REGNO_NREGS. (kill_set_value): Use kill_value not kill_value_regno. (kill_autoinc_value): Likewise. (copyprop_hardreg_forward): Don't collect refresh_blocks. Call delete_noop_moves. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47992 138bc75d-0d04-0410-961f-82ee72b054a4
* * regrename.c (copyprop_hardreg_forward): New optimization.rth2001-12-121-0/+740
| | | | | | | | | | | | | | | | | (kill_value_regno, kill_value, init_value_data, kill_clobbered_value, kill_set_value, kill_autoinc_value, copy_value, find_oldest_value_reg, replace_oldest_value_reg, replace_oldest_value_addr, replace_oldest_value_mem, copyprop_hardreg_forward_1, debug_value_data, validate_value_data): New. * rtl.h (copyprop_hardreg_forward): Declare. * toplev.c (flag_cprop_registers): New. (f_options): Add -fcprop-registers (rest_of_compilation): Invoke it. (parse_options_and_default_flags): Set it at -O1. * doc/invoke.texi: Document it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47951 138bc75d-0d04-0410-961f-82ee72b054a4
* * reload.c (find_reloads): Mark new USE insns with QImode.aoliva2001-09-291-0/+10
| | | | | | | | | | | | | | (find_reloads_toplev, find_reloads_address, subst_reg_equivs, find_reloads_subreg_address): Likewise. * regrename.c (note_sets, clear_dead_regs): Abort if pseudos are encountered. * reload1.c (reload_combine_note_use): Likewise, inside USEs and CLOBBERs. (reload): Make sure there are no USEs with mode other than VOIDmode. At the end, remove those marked with QImode. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45889 138bc75d-0d04-0410-961f-82ee72b054a4
* * Makefile.in, alias.c, basic-block.h, bb-reorder.c, bitmap.c,gerald2001-08-221-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bitmap.h, builtin-types.def, builtins.c, builtins.def, c-aux-info.c, c-common.c, c-common.def, c-common.h, c-convert.c, c-decl.c, c-dump.c, c-dump.h, c-errors.c, c-format.c, c-lang.c, c-lex.c, c-lex.h, c-parse.in, c-pragma.c, c-pragma.h, c-semantics.c, c-tree.h, c-typeck.c, caller-save.c, calls.c, collect2.c, collect2.h, combine.c, conditions.h, config.gcc, configure.frag, configure.in, conflict.c, convert.c, convert.h, cppspec.c, crtstuff.c, cse.c, cselib.c, cselib.h, dbxout.c, dbxout.h, defaults.h, dependence.c, df.c, df.h, diagnostic.c, diagnostic.h, doloop.c, dominance.c, dwarf.h, dwarf2.h, dwarf2asm.c, dwarf2asm.h, dwarf2out.c, dwarf2out.h, dwarfout.c, emit-rtl.c, errors.c, errors.h, except.c, except.h, exgettext, explow.c, expmed.c, expr.c, expr.h, final.c, fixproto, flags.h, flow.c, fold-const.c, fp-test.c, function.c, function.h, gbl-ctors.h, gcc.c, gcc.h, gcc.hlp, gccspec.c, gcov-io.h, gcse.c, genattr.c, genattrtab.c, gencheck.c, gencodes.c, genconfig.c, genemit.c, genextract.c, genflags.c, gengenrtl.c, genmultilib, genopinit.c, genoutput.c, genpeep.c, genrecog.c, gensupport.c, gensupport.h, ggc-callbacks.c, ggc-common.c, ggc-none.c, ggc-page.c, ggc-simple.c, ggc.h, global.c, graph.c, graph.h, gthr-aix.h, gthr-dce.h, gthr-posix.h, gthr-rtems.h, gthr-single.h, gthr-solaris.h, gthr-vxworks.h, gthr-win32.h, gthr.h, haifa-sched.c, halfpic.c, halfpic.h, hard-reg-set.h, hwint.h, ifcvt.c, input.h, insn-addr.h, integrate.c, integrate.h, jump.c, lcm.c, libgcc2.c, libgcc2.h, lists.c, local-alloc.c, loop.c, loop.h, machmode.def, machmode.h, main.c, mbchar.c, mbchar.h, mips-tdump.c, mips-tfile.c, mklibgcc.in, mkmap-flat.awk, mkmap-symver.awk, optabs.c, output.h, params.c, params.def, params.h, predict.c, predict.def, predict.h, prefix.c, prefix.h, print-rtl.c, print-tree.c, profile.c, protoize.c, read-rtl.c, real.c, real.h, recog.c, recog.h, reg-stack.c, regclass.c, regmove.c, regrename.c, regs.h, reload.c, reload.h, reload1.c, reorg.c, resource.c, resource.h, rtl.c, rtl.def, rtl.h, rtlanal.c, sbitmap.c, sbitmap.h, sched-deps.c, sched-ebb.c, sched-int.h, sched-rgn.c, sched-vis.c, sdbout.c, sdbout.h, sibcall.c, simplify-rtx.c, ssa-ccp.c, ssa-dce.c, ssa.c, ssa.h, stmt.c, stor-layout.c, stringpool.c, system.h, timevar.c, timevar.def, timevar.h, tlink.c, toplev.c, toplev.h, tree.c, tree.def, tree.h, tsystem.h, unroll.c, unwind-dw2-fde.c, unwind-dw2-fde.h, unwind-dw2.c, unwind-pe.h, unwind-sjlj.c, unwind.h, unwind.inc, varasm.c, varray.c, varray.h, xcoffout.c, xcoffout.h: replace "GNU CC" with "GCC". git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45105 138bc75d-0d04-0410-961f-82ee72b054a4
* * regrename.c (regrename_optimize): Compute nregs for eachrth2001-07-221-4/+4
| | | | | | | potential target register. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@44234 138bc75d-0d04-0410-961f-82ee72b054a4
* * regrename.c (regrename_optimize): frame pointer register candenisc2001-05-191-3/+8
| | | | | | | use a few hardregs. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@42305 138bc75d-0d04-0410-961f-82ee72b054a4
* * regrename.c (regrename_optimize): Do not rename registers tommitchel2001-05-141-0/+6
| | | | | | | leaf registers. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@42066 138bc75d-0d04-0410-961f-82ee72b054a4
* Some tidyups for ia64 problemsbernds2001-01-041-2/+9
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@38682 138bc75d-0d04-0410-961f-82ee72b054a4
* Introduce ORIGINAL_REGNO macrobernds2000-12-291-1/+3
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@38546 138bc75d-0d04-0410-961f-82ee72b054a4
* Renamer improvements.bernds2000-12-221-75/+164
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@38463 138bc75d-0d04-0410-961f-82ee72b054a4
* * regrename.c (scan_rtx_reg): Terminate the chain rather thanrth2000-11-221-15/+25
| | | | | | | abort on mark_read with NO_REGS. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37644 138bc75d-0d04-0410-961f-82ee72b054a4
* * regrename.c (scan_rtx_rtx): Skip to the next chain ongrahams2000-11-151-48/+61
| | | | | | | encountering a terminated chain. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37473 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix REG_INC note handling in register renamer.bernds2000-11-101-3/+8
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37364 138bc75d-0d04-0410-961f-82ee72b054a4
* * regrename.c (scan_rtx_address): Frob action, not class,rth2000-10-291-1/+3
| | | | | | | when trying to disable optimization. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37117 138bc75d-0d04-0410-961f-82ee72b054a4
* * regrename.c (regrename_optimize): Verify that all registers ofrth2000-10-281-20/+29
| | | | | | | | | a multiple register mode are available. (scan_rtx_address): Accept the mode of the address; all callers changed. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37109 138bc75d-0d04-0410-961f-82ee72b054a4
* * regrename.c: Rewrite to handle multi-register modes andrth2000-10-271-907/+644
| | | | | | | | | | cond_exec instructions. * Makefile.in (regrename.o): Update dependancies. * recog.h (struct operand_alternative): Add is_address. * recog.c (preprocess_constraints) [case 'p']: Set it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37089 138bc75d-0d04-0410-961f-82ee72b054a4
* * regrename.c (rr_replace_reg): Rewrite to use recog_data torth2000-10-201-112/+58
| | | | | | | perform substitutions, and apply_change_group to see if it worked. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@36971 138bc75d-0d04-0410-961f-82ee72b054a4
* * alias.c (mark_constant_function): Use INSN_P.law2000-08-041-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (init_alias_analysis): Likewise. * combine.c (combine_instructions): Use INSN_P. (can_combine_p): Likewise. (try_combine): Likewise. (distribute_notes): Likewise. (distribute_links): Likewise. * cse.c (cse_around_loop): Use INSN_P. (invalidate_skipped_block): Likewise. (cse_set_around_loop): Likewise. (cse_end_of_basic_block): Likewise. (delete_trivially_dead_insns): Likewise. * emit-rtl.c (unshare_all_rtl_again): Use INSN_P. (unshare_all_rtl_1): Likewise. (next_cc0_user): Likewise. (try_split make_insn_raw): Likewise. (remove_unnecessary_notes): Likewise. * final.c (shorten_branches): Use INSN_P. (leaf_renumber_regs): Likewise. (leaf_renumber_regs_insn): Likewise. * flow.c (find_label_refs): Use INSN_P. (verify_wide_reg): Likewise. (notice_stack_pointer_modification): Likewise. (count_or_remove_death_notes): Likewise. (verify_flow_info): Likewise. (clear_log_links): Likewise. * function.c (fixup_var_refs_insns): Use INSN_P. (compute_insns_for_mem): Likewise. * gcse.c (alloc_gcse_mem): Use INSN_P. (compute_sets): Likewise. (compute_hash_table): Likewise. (classic_gcse): Likewise. (cprop): Likewise. (insert_insn_end_bb): Likewise. (delete_null_pointer_checks_1): Likewise. * global.c (expand_preferences): Use INSN_P. (build_insn_chain): Likewise. * graph.c (node_data): Use INSN_P. * haifa-sched.c (priority): Use INSN_P. (rm_line_notes): Likewise. (rm_other_notes): Likewise. (find_insn_reg_weight): Likewise. (init_target_units): Likewise. (schedule_block): Likewise. (compute_block_forward_dependences): Likewise. (debug_dependencies): Likewise. (set_priorities): Likewise. * integrate.c (function_cannot_inline_p): Use INSN_P. (save_parm_insns): Likewise. (copy_insn_list): Likewise. * jump.c (mark_all_labels): Use INSN_P. (never_reached_warning): Likewise. * lcm.c (optimize_mode_switching): Use INSN_P. * local-alloc.c (validate_equiv_mem): Use INSN_P. (memref_used_between_p): Likewise. (update_equiv_regs): Likewise. (block_alloc): Likewise. (no_conflict_p): Likewise. * loop.c (scan_loop): Use INSN_P. (find_and_verify_loops): Likewise. (count_loop_regs_set): Likewise. (loop_reg_used_before_p): Likewise. (strength_reduce): Likewise. (recombine_givs): Likewise. (check_dbra_loop): Likewise. (load_mems): Likewise. (try_copy_prop): Likewise. * print-rtl.c (print_rtx): Use INSN_P. * recog.c (find_single_use): Use INSN_P. * reg-stack.c (stack_regs_mentioned): Use INSN_P. (next_flags_user): Likewise. (swap_rtx_condition): Likewise. * regmove.c (mark_flags_life_zones): Use INSN_P. (optimize_reg_copy_1): Likewise. (optimize_reg_copy_2): Likewise. (optimize_reg_copy_3): Likewise. (reg_is_remote_constant_p): Likewise. (fixup_match_2): Likewise. (regmove_optimize): Likewise. (fixup_match_1): Likewise. * regrename.c (build_def_use): Use INSN_P. (replace_reg_in_block): Likewise. (consider_use): Likewise. * reload.c (find_equiv_reg): Use INSN_P. * reload1.c (reload): Use INSN_P. (maybe_fix_stack_asms): Likewise. (calculate_needs_all_insns): Likewise. (reload_as_needed): Likewise. (emit_output_reload_insns): Likewise. (delete_address_reloads_1): Likewise. (reload_cse_regs_1): Likewise. (reload_combine): Likewise. (reload_cse_move2add): Likewise. * reorg.c (redundant_insn): Use INSN_P. (dbr_schedule): Likewise. * resource.c (find_dead_or_set_registers): Use INSN_P. (mark_target_live_regs): Likewise. * rtlanal.c (reg_used_between_p): Use INSN_P. (reg_referenced_between_p): Likewise. (reg_set_between_p): Likewise. (reg_set_p): Likewise. (single_set): Likewise. (multiple_sets): Likewise. (find_last_value): Likewise. (reg_set_last): Likewise. (find_reg_note): Likewise. (find_regno_note): Likewise. * sibcall.c (sequence_uses_addressof): Use INSN_P. * simplify-rtx.c (cselib_process_insn): Use INSN_P. * ssa.c (find_evaluations): Use INSN_P. (rename_block): Likewise. (rename_equivalent_regs): Likewise. * unroll.c (loop_find_equiv_value): Use INSN_P. (set_dominates_use): Likewise. * varasm.c (mark_constant_pool): Use INSN_P. (mark_constants): Likewise. * config/alpha/alpha.c (alpha_does_function_need_gp): Use INSN_P. (alphaev4_next_group): Likewise. (alphaev5_next_group): Likewise. * config/c4x/c4x.c (c4x_process_after_reload): Use INSN_P. (c4x_rptb_rpts_p): Likewise. * config/mips/mips.c (mips16_optimize_gp): Use INSN_P. * config/rs6000/rs6000.c (uses_TOC): Use INSN_P. (rs6000_adjust_priority): Likewise. * config/sh/sh.c (sh_loop_align): Use INSN_P. (machine_dependent_reorg): Likewise. (split_branches): Likewise. * config/tahoe/tahoe.c (tahoe_cmp_check): Use INSN_P. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@35494 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-common.h: Prototype min_precision and c_build_qualified_type here...zack2000-08-021-20/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * c-tree.h: ... not here. * errors.h: Prototype fancy_abort. * emit-rtl.c (gen_lowpart_common): Move variable 'c' into HOST_BITS_PER_WIDE_INT == 64 ifdef block. * regrename.c (regrename_optimize): Make control flow explicit. (replace_reg_in_block): Initialize reg_use to 0. * i386.c (legitimate_address_p): Rename error label to report_error to avoid namespace clash. cp: * cp-tree.h: Don't prototype min_precision here. (my_friendly_assert): Cast expression to void. * semantics.c (do_poplevel): Initialize scope_stmts. f: * expr.c (ffeexpr_finished_): Cast signed side of ?: expression to bool. java: * class.c (build_dtable_decl): Initialize dummy. intl: * dcgettext.c (find_msg): Initialize act before loop. (guess_category_value): Add dummy uses of both parameters. * localealias.c (read_alias_file): Cast arg of strchr to char *. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@35427 138bc75d-0d04-0410-961f-82ee72b054a4
* Warning fixes:ghazi2000-06-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * bb-reorder.c (build_scope_forest): Initialize variable `curr_scope'. * calls.c (expand_call): Likewise for variables `save_pending_stack_adjust' and `save_stack_pointer_delta'. * i386.c (function_arg_advance, function_arg): Cast to avoid signed/unsigned warnings. * i386.h (MEMORY_MOVE_COST): Likewise. * ifcvt.c (cond_exec_process_if_block): Initialize variables `else_start' and `else_end'. * libgcc2.h (__eh_alloc, __eh_free): Prototype. * regrename.c (rr_replace_reg): Initialize variable `dest_subregno'. ch: * Makefile.in (EXPR_H): New dependency variable. (actions.o, expr.o): Use EXPR_H. (lang.o): Depend on RTL_H and EXPR_H. * lang.c: Include rtl.h and expr.h. (lang_get_alias_set): Mark parameter with ATTRIBUTE_UNUSED. cp: * decl2.c (compare_options): Don't needlessly cast away const-ness. f: * com.c (lang_get_alias_set): Mark parameter with ATTRIBUTE_UNUSED. java: * decl.c (create_primitive_vtable): Prototype. * jcf-write.c (generate_bytecode_insns): Initialize variable `saved_context'. * lang.c (lang_get_alias_set): Mark parameter with ATTRIBUTE_UNUSED. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34490 138bc75d-0d04-0410-961f-82ee72b054a4
* * cse.c (cse_basic_block): Only call find_reg_note if REG_NOTES not 0.kenner2000-05-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * reload.c (find_equiv_reg): Likewise. * alias.c (init_alias_analysis): Likewise. Only call prologue_epilogue_contains on insns. * basic-block.h (REG_SET_TO_HARD_REG_SET): Call new function. * bb-reorder.c (hard-reg-set.h): Include earlier. * haifa-sched.c (hard-reg-set.h): Likewise. * ifcvt.c (hard-reg-set.h): Likewise. * local-alloc.c (hard-reg-set.h): Likewise. * loop.c (hard-reg-set.h): Likewise. * predict.c (hard-reg-set.h): Likewise. * regrename.c (hard-reg-set.h): Likewise. * flow.c (hard-reg-set.h): Likewise. (reg_set_to_hard_reg_set): New function. * bitmap.c (regs.h, basic-block.h): No longer include. (bitmap.h): Now include. * conflict.c (hard-reg-set.h): Include. * profile.c (hard-reg-set.h): Likewise. * print-rtl.c (hard-reg-set.h): Likewise. * sbitmap.c (hard-reg-set.h): Likewise. * toplev.c (hard-reg-set.h): Likewise. * unroll.c (hard-reg-set.h, basic-block.h): Likewise. * hard-reg-set.h (reg_names): Now constant. * regs.h (reg_names): Likewise. * regclass.c (reg_names): Likewise. * loop.h (basic-block.h): No longer include. (bitmap.h): Now include. * reload1.c (order_regs_for_reload): Avoid loop over reg sets. * Makefile.in (LOOP_H, sbitmap.o, profile.o): Reflect above changes. (toplev.o, print-rtl.o, conflict.o, unroll.o, bitmap.o): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34039 138bc75d-0d04-0410-961f-82ee72b054a4
* * regrename.c (replace_reg_in_block): Improve REG_DEAD handling.scox2000-05-111-15/+64
| | | | | | | | * timevar.def (TV_RENAME_REGISTERS): Move before TV_SCHED2. * toplev.c (rest_of_compilation): Call regrename_optimize before sched2. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@33845 138bc75d-0d04-0410-961f-82ee72b054a4
* * regrename.c: Minor cleanups, including changing some variableskenner2000-04-101-226/+249
| | | | | | | to unsigned int. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@33053 138bc75d-0d04-0410-961f-82ee72b054a4
* * regrename.c (regrename_optimize): Handle no REG_ALLOC_ORDER.scox2000-04-061-0/+4
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@32969 138bc75d-0d04-0410-961f-82ee72b054a4
* * regrename.c (regno_first_use_in): Wrap prototype in PARAMS.ghazi2000-04-051-55/+55
| | | | | | | | | (regrename_optimize): Rename variables `def_uses' and `ext_basic_blocks' to avoid conflicts with similarly named typedefs in traditional C. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@32921 138bc75d-0d04-0410-961f-82ee72b054a4
* * regrename.c (consider_available): Test fixed_regs notrth2000-04-051-3/+4
| | | | | | | PIC_OFFSET_TABLE_REGNUM. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@32919 138bc75d-0d04-0410-961f-82ee72b054a4
* * Makefile.in: Add rules for regrename.oscox2000-04-051-0/+1050
* regrename.c: New file. * rtl.h (regrename_optimize): Add prototype. * toplev.c (rename_registers_dump, flag_rename_registers): New variables (compile_file, decode_d_option): Add support for -frename-registers. (rest_of_compilation): Call regrename_optimize. * config/ia64/ia64.h (HARD_REGNO_RENAME_OK, RENAME_EXTENDED_BLOCKS): New macros. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@32916 138bc75d-0d04-0410-961f-82ee72b054a4
OpenPOWER on IntegriCloud