summaryrefslogtreecommitdiff
path: root/gcc/ra-build.c
Commit message (Collapse)AuthorAgeFilesLines
* * calls.c: Fix comment formatting.kazu2003-03-081-1/+1
| | | | | | | | | | | | | | | | | * cfgloopanal.c: Likewise. * cfgloopmanip.c: Likewise. * combine.c: Likewise. * dwarf2out.c: Likewise. * ggc-common.c: Likewise. * langhooks.c: Likewise. * loop-unroll.c: Likewise. * loop.c: Likewise. * ra-build.c: Likewise. * sbitmap.c: Likewise. * toplev.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@63966 138bc75d-0d04-0410-961f-82ee72b054a4
* * df.h (enum df_ref_flags.DF_REF_STRIPPED): New.matz2003-03-071-6/+11
| | | | | | | | | | | | | | | | | | | | (DF_FOR_REGALLOC): New. * df.c (df_ref_record): Set DF_REF_STRIPPED. (read_modify_subreg_p): Simplify. (df_def_record_1, df_uses_record): Set DF_REF_MODE_CHANGE more often. Use DF_FOR_REGALLOC. * ra.h (struct web): New member subreg_stripped. (invalid_mode_change_regs): Declare. * ra.c (invalid_mode_change_regs): New. (init_ra): Initialize it. * ra-build.c (init_one_web_common, remember_web_was_spilled): Use it. Use CANNOT_CHANGE_MODE_CLASS as ifdef guard. (reinit_one_web, parts_to_web_1): Deal with subreg_stripped. * ra-colorize.c (colorize_one_web): Use invalid_mode_change_regs. Use CANNOT_CHANGE_MODE_CLASS as ifdef guard. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@63952 138bc75d-0d04-0410-961f-82ee72b054a4
* 2003-02-11 Dale Johannesen <dalej@apple.com>dalej2003-02-111-5/+9
| | | | | | | | | * ra-build.c (compare_and_free_webs): Relax checking. * config/rs6000/darwin.h (HOT_TEXT_SECTION_NAME): Define. (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Define. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@62724 138bc75d-0d04-0410-961f-82ee72b054a4
* * ra-build.c (undef_to_size_word): Avoid `switch' warning.ghazi2003-01-181-24/+21
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@61464 138bc75d-0d04-0410-961f-82ee72b054a4
* * ifcvt.c: Fix comment typos.kazu2003-01-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | * lcm.c: Likewise. * libgcc2.c: Likewise. * local-alloc.c: Likewise. * loop.c: Likewise. * predict.c: Likewise. * ra-build.c: Likewise. * ra.c: Likewise. * ra-colorize.c: Likewise. * ra.h: Likewise. * ra-rewrite.c: Likewise. * regmove.c: Likewise. * reload.h: Likewise. * rtlanal.c: Likewise. * toplev.c: Likewise. * tree.h: Likewise. * unwind-dw2-fde-glibc.c: Likewise. * vmsdbgout.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@61421 138bc75d-0d04-0410-961f-82ee72b054a4
* Add 2003 copyright notices for constraints string patch, also 2002 noticeamylaar2003-01-131-1/+1
| | | | | | | for genoutput.c . git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@61258 138bc75d-0d04-0410-961f-82ee72b054a4
* * defaults.h (EXTRA_MEMORY_CONSTRAINT): Add STR argument.amylaar2003-01-091-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (EXTRA_ADDRESS_CONSTRAINT): Likewise. (CONSTRAINT_LEN): Provide default definition. (CONST_OK_FOR_CONSTRAINT_P): Likewise. (CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Likewise. (EXTRA_CONSTRAINT_STR): Likewise. (REG_CLASS_FROM_CONSTRAINT): Define. * genoutput.c (check_constraint_len, constraint_len): New functions. (validate_insn_alternatives): Check CONSTRAINT_LEN for each constraint / modifier. (gen_insn): Call check_constraint_len. * local-alloc.c (block_alloc): Update to use new macros / pass second argument to EXTRA_{MEMORY,ADDRESS}_CONSTRAINT. * ra-build.c (handle_asm_insn): Likewise. * recog.c (asm_operand_ok, preprocess_constraints): Likewise. (constrain_operands, peep2_find_free_register): Likewise. * regclass.c (record_operand_costs, record_reg_classes): Likewise. * regmove.c (find_matches): Likewise. * reload.c (push_secondary_reload, find_reloads): Likewise. (alternative_allows_memconst): Likewise. * reload1.c (maybe_fix_stack_asms): Likewise. (reload_cse_simplify_operands): Likewise. * stmt.c (parse_output_constraint, parse_input_constraint): Likewise. * doc/tm.texi (CONSTRAINT_LEN, REG_CLASS_FROM_CONSTRAINT): Document. (CONST_OK_FOR_CONSTRAINT_P): Likewise. (CONST_DOUBLE_OK_FOR_CONSTRAINT_P, EXTRA_CONSTRAINT_STR): Likewise. (EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT): Add STR argument. * config/s390/s390.h (EXTRA_MEMORY_CONSTRAINT): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@61119 138bc75d-0d04-0410-961f-82ee72b054a4
* * output.h: Fix comment typos.kazu2002-12-251-16/+16
| | | | | | | | | | | | | | | | | | | * predict.c: Likewise. * print-tree.c: Likewise. * profile.c: Likewise. * ra-build.c: Likewise. * ra-colorize.c: Likewise. * ra-debug.c: Likewise. * ra-rewrite.c: Likewise. * ra.c: Likewise. * ra.h: Likewise. * real.c: Likewise. * recog.c: Likewise. * reg-stack.c: Likewise. * regclass.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@60502 138bc75d-0d04-0410-961f-82ee72b054a4
* Merge basic-improvements-branch to trunkzack2002-12-161-0/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@60174 138bc75d-0d04-0410-961f-82ee72b054a4
* * ra-build.c: Fix a comment typo.kazu2002-12-021-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@59705 138bc75d-0d04-0410-961f-82ee72b054a4
* * basic-block.h: Fix comment formatting.kazu2002-09-081-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * c-common.c: Likewise. * c-common.h: Likewise. * c-lex.c: Likewise. * c-pretty-print.c: Likewise. * cfglayout.c: Likewise. * cfgloop.c: Likewise. * defaults.h: Likewise. * et-forest.c: Likewise. * explow.c: Likewise. * function.h: Likewise. * gcov.c: Likewise. * genattrtab.c: Likewise. * gengtype.c: Likewise. * ifcvt.c: Likewise. * libgcc2.c: Likewise. * loop.c: Likewise. * profile.c: Likewise. * ra-build.c: Likewise. * real.c: Likewise. * rtl.h: Likewise. * tracer.c: Likewise. * tree-inline.c: Likewise. * varasm.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@56952 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-opts.c (lang_flags): Const-ify.ghazi2002-08-141-1/+1
| | | | | | | | * ra-build.c (undef_table): Likewise. * ra.c (eliminables): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@56271 138bc75d-0d04-0410-961f-82ee72b054a4
* * emit-rtl.c (emit_jump_insn_before, emit_call_insn_before,ghazi2002-08-101-1/+1
| | | | | | | | | | | | | | | emit_jump_insn): Fix uninitialized variable. * gcov.c (init_line_info): Likewise. * genautomata.c (transform_3): Add braces around ambiguous else. * ifcvt.c (cond_exec_process_insns): Mark parameter with ATTRIBUTE_UNUSED. * ra-build.c (parts_to_webs_1): Fix uninitialized variable. * regrename.c (copyprop_hardreg_forward): Fix uninitialized variable. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@56182 138bc75d-0d04-0410-961f-82ee72b054a4
* * ra-build.c (check_conflict_numbers): Hide unused function.ghazi2002-07-221-3/+11
| | | | | | | | | | | | | | | | | | (livethrough_conflicts_bb): Avoid automatic aggregate initialization. (parts_to_webs_1): Avoid `U' integer constant modifier. (conflicts_between_webs): Wrap a variable in the macro controlling its usage. * ra-debug.c (ra_debug_msg): Use VA_OPEN/VA_CLOSE. (dump_igraph, dump_graph_cost): Avoid string concatenation (dump_static_insn_cost): Avoid automatic aggregate initialization. * ra-rewrite.c (insert_stores): Avoid automatic aggregate initialization. (dump_cost): Avoid string concatenation git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@55637 138bc75d-0d04-0410-961f-82ee72b054a4
* * ra-build.c: (remember_web_was_spilled): Use GENERAL_REGS.matz2002-07-201-1/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@55612 138bc75d-0d04-0410-961f-82ee72b054a4
* * ra-rewrite.c: #include reload.h, insn-config.hhp2002-07-161-0/+1
| | | | | | | | | * ra-build.c: #include reload.h * Makefile.in: Update ra-rewrite.o, ra-build.o dependencies to depend on reload.h, insn-config.h. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@55483 138bc75d-0d04-0410-961f-82ee72b054a4
* 2002-07-15 Michael Matz <matz@suse.de>,matz2002-07-151-0/+3264
Daniel Berlin <dberlin@dberlin.org>, Denis Chertykov <denisc@overta.ru> Add a new register allocator. * ra.c: New file. * ra.h: New file. * ra-build.c: New file. * ra-colorize.c: New file. * ra-debug.c: New file. * ra-rewrite.c: New file. * Makefile.in (ra.o, ra-build.o, ra-colorize.o, ra-debug.o, (ra-rewrite.o): New .o files for libbackend.a. (GTFILES): Add basic-block.h. * toplev.c (flag_new_regalloc): New. (f_options): New option "new-ra". (rest_of_compilation): Call initialize_uninitialized_subregs() only for the old allocator. If flag_new_regalloc is set, call new allocator, instead of local_alloc(), global_alloc() and friends. * doc/invoke.texi: Document -fnew-ra. * basic-block.h (FOR_ALL_BB): New. * config/rs6000/rs6000.c (print_operand): Write small constants as @l+80. * df.c (read_modify_subreg_p): Narrow down cases for a rmw subreg. (df_reg_table_realloc): Make size at least as large as max_reg_num(). (df_insn_table_realloc): Size argument now is absolute, not relative. Changed all callers. * gengtype.c (main): Add the pseudo-type "HARD_REG_SET". * regclass.c (reg_scan_mark_refs): Ignore NULL rtx's. 2002-06-20 Michael Matz <matz@suse.de> * df.h (struct ref.id): Make unsigned. * df.c (df_bb_reg_def_chain_create): Remove unsigned cast. 2002-06-13 Michael Matz <matz@suse.de> * df.h (DF_REF_MODE_CHANGE): New flag. * df.c (df_def_record_1, df_uses_record): Set this flag for refs involving subregs with invalid mode changes, when CLASS_CANNOT_CHANGE_MODE is defined. 2002-05-07 Michael Matz <matz@suse.de> * reload1.c (fixup_abnormal_edges): Don't insert on NULL edge. 2002-05-03 Michael Matz <matz@suse.de> * sbitmap.c (sbitmap_difference): Accept sbitmaps of different size. Sat Feb 2 18:58:07 2002 Denis Chertykov <denisc@overta.ru> * regclass.c (regclass): Work with all regs which have sets or refs. (reg_scan_mark_refs): Count regs inside (clobber ...). 2002-01-04 Michael Matz <matzmich@cs.tu-berlin.de> * df.c (df_ref_record): Correctly calculate SUBREGs of hardregs. (df_bb_reg_def_chain_create, df_bb_reg_use_chain_create): Only add new refs. (df_bb_refs_update): Don't clear insns_modified here, ... (df_analyse): ... but here. * sbitmap.c (dump_sbitmap_file): New. (debug_sbitmap): Use it. * sbitmap.h (dump_sbitmap_file): Add prototype. 2001-08-07 Daniel Berlin <dan@cgsoftware.com> * df.c (df_insn_modify): Grow the UID table if necessary, rather than assume all emits go through df_insns_modify. 2001-07-26 Daniel Berlin <dan@cgsoftware.com> * regclass.c (reg_scan_mark_refs): When we increase REG_N_SETS, increase REG_N_REFS (like flow does), so that regclass doesn't think a reg is useless, and thus, not calculate a class, when it really should have. 2001-01-28 Daniel Berlin <dberlin@redhat.com> * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP_REV): New macro, needed for dataflow analysis. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@55458 138bc75d-0d04-0410-961f-82ee72b054a4