summaryrefslogtreecommitdiffstats
path: root/gcc/loop.c
Commit message (Collapse)AuthorAgeFilesLines
...
* Basic block renumbering removal.rth2002-05-161-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@53522 138bc75d-0d04-0410-961f-82ee72b054a4
* * loop.c: (PREFETCH_EXTREME_DIFFERENCE, PREFETCH_BEFORE_LOOP): New.janis2002-05-101-69/+131
| | | | | | | | | | | (PREFETCH_CONDITIONAL): Renamed from PREFETCH_NOT_ALWAYS. (struct prefetch_info): Fix spelling of member bytes_accessed. (emit_prefetch_instructions): Make dump messages more regular; restructure code to add more dump messages; use new macros for heuristics. (There are no code generation changes in any of this). git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@53371 138bc75d-0d04-0410-961f-82ee72b054a4
* * loop.c (load_mems): Don't change the interface of called functions.amylaar2002-04-241-4/+17
| | | | | | | | * calls.c (expand_call): Take current_function_pretend_args_size into account when setting argblock for sibcalls. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@52745 138bc75d-0d04-0410-961f-82ee72b054a4
* * loop.c (canonicalize_condition): Use gen_int_mode.hubicka2002-04-241-4/+4
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@52715 138bc75d-0d04-0410-961f-82ee72b054a4
* * i386.c (ix86_output_addr_diff_elt): Avoid x86_64 binutils bughubicka2002-04-231-6/+24
| | | | | | | | | | | | workaround. (ix86_expand_int_movcc): Avoid x86_64 compilation chrash. (ix86_expand_clrstr): Fix typo. * loop.c (gen_load_of_final_value): New. (loop_givs_rescan, strength_reduce, check_dbra_loop): Use it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@52664 138bc75d-0d04-0410-961f-82ee72b054a4
* PR optimization/6233amodra2002-04-101-0/+2
| | | | | | | | | | * rtlanal.c (pure_call_p): New function. * rtl.h (pure_call_p): Declare. * loop.c (prescan_loop): Use it to set has_nonconst_call. * gcse.c (store_killed_in_insn): Use pure_call_p here too. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@52110 138bc75d-0d04-0410-961f-82ee72b054a4
* * basic-block.h (flow_delete_block_noexpunge): Declare.rth2002-04-101-18/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (expunge_block_nocompact): Declare. * cfg.c (expunge_block_nocompact): Split out from ... (expunge_block): ... here. * cfgrtl.c (can_delete_label_p): Don't use exception_handler_labels. (flow_delete_block_noexpunge): Split out from ... (flow_delete_block): ... here. * cfgcleanup.c (delete_unreachable_blocks): Compact while removing dead blocks. * except.c (exception_handler_labels): Remove. (exception_handler_label_map): New. (struct eh_region): Add aka member. (mark_ehl_map_entry, mark_ehl_map, free_region): New. (ehl_hash, ehl_eq, ehl_free, add_ehl_entry): New. (for_each_eh_label, for_each_eh_label_1): New. (init_eh): Register exception_handler_label_map. (free_eh_status): Use free_region. (find_exception_handler_labels): Use the map, not the list. (remove_exception_handler_label): Likewise. (maybe_remove_eh_handler): Likewise. (remove_eh_handler): Use the region aka bitmap. * except.h (exception_handler_labels): Remove. (for_each_eh_label): Declare. * jump.c (rebuild_jump_labels): Don't check exception_handler_labels. * loop.c (invalidate_loops_containing_label): New. (find_and_verify_loops): Use it. Use for_each_eh_label. * sched-rgn.c (is_cfg_nonregular): Use current_function_has_exception_handlers. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@52100 138bc75d-0d04-0410-961f-82ee72b054a4
* PR opt/4311rth2002-04-031-1/+2
| | | | | | | | | * loop.h (LOOP_FIRST_PASS): New. * loop.c (strength_reduce): Mind it when deciding to unroll. * toplev.c (rest_of_compilation): Set it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@51798 138bc75d-0d04-0410-961f-82ee72b054a4
* * loop.c (combine_movables): Do allow combination of pseudos.rth2002-03-291-4/+5
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@51581 138bc75d-0d04-0410-961f-82ee72b054a4
* * loop.c (basic_induction_var): Don't call convert_modes if modejakub2002-03-131-3/+4
| | | | | | | | | classes are different. * gcc.c-torture/compile/20020309-2.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@50721 138bc75d-0d04-0410-961f-82ee72b054a4
* * loop.c (strength_reduce): Compute number of iterations asrth2002-03-101-6/+6
| | | | | | | unsigned HOST_WIDE_INT. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@50550 138bc75d-0d04-0410-961f-82ee72b054a4
* * loop.c (prescan_loop): Handle PARALLEL.grahams2002-02-271-4/+5
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@50101 138bc75d-0d04-0410-961f-82ee72b054a4
* PR optimization/5747jakub2002-02-231-1/+19
| | | | | | | | | | * loop.c (scan_loop): Update reg info if move_movables created new pseudos. * gcc.dg/20020222-1.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@49989 138bc75d-0d04-0410-961f-82ee72b054a4
* * expr.c (store_expr): When converting expression to promotedkenner2002-02-221-7/+7
| | | | | | | | | | | | | equivalent type, allow using SUBREG_REG of TARGET as the target of the expansion of EXP. * loop.c (basic_induction_var, case SUBREG): Always look inside. * config/alpha/alpha.c (rtx_equiv_function_matters): Delete decl. (alpha_emit_set_const): Handle SImode when can't make new pseudos. (alpha_emit_set_const_1, alpha_sa_mask): Use no_new_pseudos. * config/alpha/alpha.md (addsi3, subsi3): Don't use if optimizing. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@49972 138bc75d-0d04-0410-961f-82ee72b054a4
* * loop.c (strength_reduce): Sink final_value when notrth2002-02-081-0/+5
| | | | | | | eliminating a biv. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@49606 138bc75d-0d04-0410-961f-82ee72b054a4
* * alias.c (find_base_value): Recall base values for fixed hard regs.rth2002-02-071-3/+3
| | | | | | | * loop.c (loop_regs_update): Don't use single_set on non-insns. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@49570 138bc75d-0d04-0410-961f-82ee72b054a4
* * loop.c (remove_constant_addition): Avoid clobbering a sharedjanis2002-02-061-1/+12
| | | | | | | CONST expression. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@49556 138bc75d-0d04-0410-961f-82ee72b054a4
* PR fortran/3393rth2002-02-051-3/+3
| | | | | | | | * loop.c (loop_iv_add_mult_emit_before): Copy multiplier as well. (loop_iv_add_mult_sink, loop_iv_add_mult_hoist): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@49521 138bc75d-0d04-0410-961f-82ee72b054a4
* * loop.c (loop_invariant_p): Special case pic_offset_table_rtx.rth2002-01-311-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@49355 138bc75d-0d04-0410-961f-82ee72b054a4
* * emit-rtl.c (gen_rtx_REG): Check that the PIC_OFFSET_TABLE_REGNUMdanglin2002-01-291-0/+3
| | | | | | | | | is a fixed register before returning pic_offset_table_rtx. * loop.c (scan_loop): Don't hoist insns that set pic_offset_table_rtx when PIC_OFFSET_TABLE_REG_CALL_CLOBBERED is defined. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@49304 138bc75d-0d04-0410-961f-82ee72b054a4
* 2002-01-24 Aldy Hernandez <aldyh@redhat.com>aldyh2002-01-251-1/+2
| | | | | | | | | | * loop.c (emit_prefetch_instructions): Use the prefetch insn's mode, not Pmode. * builtins.c (expand_builtin_prefetch): Same. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@49200 138bc75d-0d04-0410-961f-82ee72b054a4
* * loop.c [!HAVE_prefetch] (CODE_FOR_prefetch): Define to 0.hp2002-01-231-0/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@49129 138bc75d-0d04-0410-961f-82ee72b054a4
* * Makefile.in (loop.o): Depend on OPTABS_H.janis2002-01-221-0/+5
| | | | | | | | * loop.c (expand_builtin_prefetch): Check the prefetch operand against the predicate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@49095 138bc75d-0d04-0410-961f-82ee72b054a4
* * builtins.c: Fix formatting.kazu2002-01-031-12/+12
| | | | | | | | | | * c-typeck.c: Likewise. * combine.c: Likewise. * expr.c: Likewise. * loop.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@48512 138bc75d-0d04-0410-961f-82ee72b054a4
* 2002-01-02 Eric Christopher <echristo@redhat.com>echristo2002-01-031-2/+2
| | | | | | | | | | * final.c (final_scan_insn): Change 0 -> NULL_RTX in FIND_REG_INC_NOTE call. Update copyright. * loop.c (canonicalize_condition): Ditto. * reorg.c (delete_scheduled_jump): Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@48506 138bc75d-0d04-0410-961f-82ee72b054a4
* * except.c: Fix comment typos.kazu2002-01-031-2/+2
| | | | | | | | | * loop.c: Likewise. * varasm.c: Likewise. * doc/tm.texi: Fix a typo. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@48488 138bc75d-0d04-0410-961f-82ee72b054a4
* * loop.c (check_dbra_loop): Fix last change: examine bothrth2001-12-311-1/+3
| | | | | | | has_multiple_exit_targets and exit_count. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@48404 138bc75d-0d04-0410-961f-82ee72b054a4
* * loop.c (prescan_loop): Set has_multiple_exit_targets for exceptionrth2001-12-291-55/+72
| | | | | | | | | | | edges. Rearrange jump interpretation code to use pc_set. (check_dbra_loop): Examine has_multiple_exit_targets not exit_count. * sched-deps.c (sched_analyze_insn): Set scheduling barrier for all insns that can throw, not just if flag_non_call_exceptions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@48377 138bc75d-0d04-0410-961f-82ee72b054a4
* * loop.c (scan_loop, move_movables, count_one_set): Do notdje2001-12-231-21/+42
| | | | | | | overlook hard registers when computing statistics. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@48280 138bc75d-0d04-0410-961f-82ee72b054a4
* Update whitespace.kenner2001-12-131-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47974 138bc75d-0d04-0410-961f-82ee72b054a4
* * loop.c (remove_constant_addition): Fix prototype and whitespace.kenner2001-12-131-49/+77
| | | | | | | | (emit_prefetch_instructions): Remove warnings and whitespace changes. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47972 138bc75d-0d04-0410-961f-82ee72b054a4
* * predict.c (estimate_probability): Reorganize opcode heuristics.hubicka2001-12-131-0/+593
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * predict.def (PRED_OPCODE_POSITIVE, PRED_OPCODE_NONEQUAL, PRED_FPOPCODE): New. * i386.c (override_options): Recognize various CPU variants and set SSE/MMX/3dNOW flags accordingly. * i386.h (MASK_MMX_SET, MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET, MASK_3DNOW_A_SET): New. (MASK_ACCUMULATE_OUTGOING_ARGS_SET): New. (MASK_NO_ACCUMULATE_OUTGOING_ARGS): Delete. (MASK_*): Renumber. (TARGET_FLAGS): Use new masks. (CPP_CPU_SPECS): Recognize new CPU variants. * invoke.texi (-mcpu): Update documentation. * flags.h (flag_prefetch_loop_arrays): Declare. * loop.h (LOOP_PREFETCH): Define new constant. * loop.c (strength_reduce): Call emit_prefetch_instructions. (MAX_PREFETCHES, PREFETCH_BLOCKS_BEFORE_LOOP_MAX, PREFETCH_BLOCKS_BEFORE_LOOP_MIN, PREFETCH_BLOCKS_IN_LOOP_MIN): New constants. (check_store_data): New structure. (check_store, emit_prefetch_instructions, rtx_equal_for_prefetch_p): New functions. * toplev.c: Include insn-flags.h. (flag_prefetch_loop_arrays): New global variable. (lang_independent_option): Add -fprefetch-loop-arrays. (rest_of_compilation) Pass LOOP_PREFETCH when flag_prefetch_loop_arrays is set. * Makefile.in (toplev.c): Depend on insn-flags.h. * invoke.texi (-fprefetch-loop-arrays): Document. * predict.c (estimate_probability): Distribute the loop exit probability according to number of exit edges. * cfgcleanup.c (insns_match_p): Break out from ...; (flow_find_cross_jump): ... here; (outgoing_edges_match): Add parameter MODE; attempt to match everything except for tablejumps. (try_crossjump_to_edge): Accept complex edges. (try_crossjump_bb): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47969 138bc75d-0d04-0410-961f-82ee72b054a4
* * alias.c (nonoverlapping_memrefs): Use REGNO_PTR_FRAME_P.kenner2001-11-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * emit-rtl.c (change_address): Fix typo in default alignment. (adjust_address_1): Use mode of NEW, not MODE, when setting size. * expr.c (highest_pow2_factor, case WITH_RECORD_EXPR): New case. * rtl.h (REGNO_PTR_FRAME_P): New macro. * expr.c (store_field): Pass tree instead of max size; callers changed. Change handling of alignment. Only copy to_rtx if is TARGET. (expand_expr_unaligned): Delete; callers now use expand_expr. (emit_cmp_insn): No longer take ALIGN parm; all callers changed. (expand_assignment): Change handling of alignment. Only copy to_rtx if was original. (get_inner_reference): No longer return alginment; callers changed. (expand_expr, case COMPONENT_REF): Change handling of alignment. (expand_expr, case ADDR_EXPR): Make copy if not sufficiently aligned. (compare_from_rtx): Delete ALIGN parm; all callers changed. (do_compare_rtx_and_jump): Likewise. * expr.h: Reflect above changes. * tree.h: Likewise. * dwarf2out.c (loc_descriptor_from_tree): Remove ALIGN parameter to get_inner_reference. * except.c: Remove ALIGN parameter in call to emit_cmp_and_jump_insns. * explow.c: Likewise. * loop.c: Likewise. * optabs.c: Likewise. (prepare_cmp_insn): Now static; remove ALIGN parm. Callers changed. (emit_cmp_and_jump_insns): Remove ALIGN parm; all callers changed. * fold-const.c: Remove PALIGN in calls to get_inner_reference. * function.c (assign_stack_temp_for_type): No longer static. * optabs.h (emit_cmp_insn): Remove ALIGN parm. (prepare_cmp_insn): Delete declaration. * rtl.h (assign_stack_temp_for_type): Add declaration. * config/d30v/d30v.c: Reflect above changes. * config/i860/i860.c, config/ia64/ia64.c: Likewise. * config/rs6000/rs6000.c, config/sh/sh.c: Likewise. * ada/trans.c, ada/utils2.c: Remove PALIGN parameter to get_inner_reference. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47075 138bc75d-0d04-0410-961f-82ee72b054a4
* * jump.c (squeeze_notes): Return true if no real insns were found.jakub2001-11-151-1/+2
| | | | | | | | | | | | | | | | * rtl.h (squeeze_notes): Adjust prototype. * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): If squeeze_notes finds no real instructions, abort. (merge_blocks_move_successor_nojumps): Likewise. * loop.c (find_and_verify_loops): Likewise. * stmt.c (expand_end_case): Likewise. * ifcvt.c (dead_or_predicable): Return TRUE if squeeze_notes doesn't find any real instructions. * gcc.c-torture/compile/20011114-4.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47048 138bc75d-0d04-0410-961f-82ee72b054a4
* * loop.c (combine_movables): Turn off combination untilrth2001-11-141-1/+4
| | | | | | | move_movables validation bugs are fixed. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@46995 138bc75d-0d04-0410-961f-82ee72b054a4
* * loop.c (loop_regs_scan): Don't invalidate PIC register.rth2001-11-071-5/+12
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@46817 138bc75d-0d04-0410-961f-82ee72b054a4
* * emit-rtl.c (set_unique_reg_note): Don't create REG_EQUAL orjakub2001-10-301-10/+6
| | | | | | | | | | | | | | | | | REG_EQUIV notes for ASM_OPERANDS. Return the new note (if any). * rtl.h (set_unique_reg_note): Change return value. * gcse.c (try_replace_reg): Use set_unique_reg_note. * cse.c (cse_insn): Likewise. * expr.c (emit_move_insn): Likewise. * explow.c (force_reg): Likewise. * local-alloc (update_equiv_regs): Likewise. * loop.c (move_moveables, load_mems): Likewise. * reload (find_reloads): Likewise. * gcc.dg/20011029-2.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@46636 138bc75d-0d04-0410-961f-82ee72b054a4
* * loop.h (struct induction): Rename ext_dependant tojsm282001-10-291-15/+15
| | | | | | | | | | | ext_dependent. * loop.c: Change all uses. (check_ext_dependant_givs): Rename to check_ext_dependent_givs. All callers changed. * timevar.c (DEFTIMEVAR): Fix spelling of identifier__ parameter. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@46620 138bc75d-0d04-0410-961f-82ee72b054a4
* * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,jsm282001-10-281-4/+4
| | | | | | | | | | | | | ChangeLog.5, ChangeLog, FSFChangeLog.10, FSFChangeLog.11, c-common.c, c-common.h, c-parse.in, c-typeck.c, cfg.c, config.gcc, configure, configure.in, except.c, except.h, flow.c, function.c, gcc.c, gcse.c, genrecog.c, libgcc2.c, loop.c, loop.h, params.def, predict.def, predict.h, reg-stack.c, regmove.c, sched-deps.c, sched-int.h, sibcall.c, ssa.c, stringpool.c, toplev.c, tree.c, unroll.c: Fix spelling errors. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@46595 138bc75d-0d04-0410-961f-82ee72b054a4
* 2001-10-10 Stan Shebs <shebs@apple.com>shebs2001-10-111-50/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * alias.c: Remove uses of "register" specifier in declarations of arguments and local variables. * c-common.c: Ditto. * c-convert.c: Ditto. * c-decl.c: Ditto. * c-format.c: Ditto. * c-semantics.c: Ditto. * c-typeck.c: Ditto. * caller-save.c: Ditto. * calls.c: Ditto. * cfg.c: Ditto. * cfgbuild.c: Ditto. * cfgrtl.c: Ditto. * collect2.c: Ditto. * combine.c: Ditto. * convert.c: Ditto. * cppexp.c: Ditto. * cppfiles.c: Ditto. * cse.c: Ditto. * dbxout.c: Ditto. * defaults.h: Ditto. * df.c: Ditto. * dwarf2out.c: Ditto. * dwarfout.c: Ditto. * emit-rtl.c: Ditto. * explow.c: Ditto. * expmed.c: Ditto. * expr.c: Ditto. * final.c: Ditto. * fix-header.c: Ditto. * floatlib.c: Ditto. * flow.c: Ditto. * fold-const.c: Ditto. * function.c: Ditto. * gcc.c: Ditto. * gcse.c: Ditto. * gen-protos.c: Ditto. * genattrtab.c: Ditto. * gencheck.c: Ditto. * genconfig.c: Ditto. * genemit.c: Ditto. * genextract.c: Ditto. * genflags.c: Ditto. * gengenrtl.c: Ditto. * genoutput.c: Ditto. * genpeep.c: Ditto. * genrecog.c: Ditto. * gensupport.c: Ditto. * global.c: Ditto. * gmon.c: Ditto. * graph.c: Ditto. * haifa-sched.c: Ditto. * hard-reg-set.h: Ditto. * hash.c: Ditto. * integrate.c: Ditto. * jump.c: Ditto. * lists.c: Ditto. * local-alloc.c: Ditto. * loop.c: Ditto. * mips-tdump.c: Ditto. * mips-tfile.c: Ditto. * optabs.c: Ditto. * prefix.c: Ditto. * print-rtl.c: Ditto. * read-rtl.c: Ditto. * real.c: Ditto. * recog.c: Ditto. * reg-stack.c: Ditto. * regclass.c: Ditto. * regmove.c: Ditto. * reload.c: Ditto. * reload1.c: Ditto. * reorg.c: Ditto. * resource.c: Ditto. * rtl.c: Ditto. * rtlanal.c: Ditto. * scan.c: Ditto. * sched-deps.c: Ditto. * sched-rgn.c: Ditto. * sdbout.c: Ditto. * simplify-rtx.c: Ditto. * stmt.c: Ditto. * stor-layout.c: Ditto. * toplev.c: Ditto. * tradcif.y: Ditto. * tradcpp.c: Ditto. * tree.c: Ditto. * unroll.c: Ditto. * varasm.c: Ditto. * xcoffout.c: Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@46173 138bc75d-0d04-0410-961f-82ee72b054a4
* * calls.c: Fix formatting.kazu2001-10-101-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * c-decl.c: Likewise. * cfgcleanup.c: Likewise. * combine.c: Likewise. * cppfiles.c: Likewise. * cpplib.c: Likewise. * cppmacro.c: Likewise. * crtstuff.c: Likewise. * cse.c: Likewise. * dwarf2out.c: Likewise. * expmed.c: Likewise. * expr.c: Likewise. * fold-const.c: Likewise. * function.c: Likewise. * gcse.c: Likewise. * genattrtab.c: Likewise. * ggc-page.c: Likewise. * integrate.c: Likewise. * libgcc2.c: Likewise. * loop.c: Likewise. * optabs.c: Likewise. * profile.c: Likewise. * protoize.c: Likewise. * real.c: Likewise. * recog.c: Likewise. * reload1.c: Likewise. * reload.c: Likewise. * reorg.c: Likewise. * resource.c: Likewise. * sched-rgn.c: Likewise. * sdbout.c: Likewise. * stmt.c: Likewise. * toplev.c: Likewise. * varasm.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@46145 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-common.c: Fix comment typos.kazu2001-10-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * cfgrtl.c: Likewise. * collect2.c: Likewise. * cpplex.c: Likewise. * doloop.c: Likewise. * dwarf2out.c: Likewise. * dwarfout.c: Likewise. * expr.c: Likewise. * fold-const.c: Likewise. * gcc.c: Likewise. * gcov.c: Likewise. * gcse.c: Likewise. * global.c: Likewise. * ifcvt.c: Likewise. * loop.c: Likewise. * optabs.c: Likewise. * protoize.c: Likewise. * regclass.c: Likewise. * reorg.c: Likewise. * rtl.h: Likewise. * stmt.c: Likewise. * tree.h: Likewise. * doc/cpp.texi: Likewise. * doc/c-tree.texi: Likewise. * doc/extend.texi: Likewise. * doc/invoke.texi: Likewise. * doc/objc.texi: Likewise. * doc/tm.texi: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@46114 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcse.c (replace_store_insn): Use delete_insn.hubicka2001-09-281-14/+12
| | | | | | | | | | | * loop.c (move_movables): Likewise; avoid delete_insn from clobbering notes moved elsewhere. (check_dbra_loop): Use delete_insn. * ssa.c (convert_from_ssa): Likewise. * cse.c (cse_insn): Use delete_insn. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45859 138bc75d-0d04-0410-961f-82ee72b054a4
* * Makefile.in (cfgrtl.o): Add.hubicka2001-09-251-5/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks, free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges, free_aux_for_edge): Declare. * cfg.c (HAVE_return): Undefine. * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks, free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges, free_aux_for_edge): New global functions. (first_delete_block): New static variable. (init_flow): Clear first_delete_block. (basic_block_for_insn, label_value_list, tail_recursion_label_list, can_delete_note_p, can_delete_label_p, commit_one_edge_insertion, try_redirect_by_replacing_jump, last_loop_beg_note, back_edge_of_syntactic_loop_p, force_nonfallthru_and_redirect, delete_insn, delete_insn_chain, create_basic_block_structure, create_basic_block, flow_delete_block, compute_bb_for_insn, free_bb_for_insn, update_bb_for_insn, set_block_for_insn, set_block_for_new_insns, split_block, merge_blocks_nomove, block_label, try_redirect_by_replacing_jump, last_loop_beg_note, redirect_edge_and_branch, force_nonfallthru_and_redirect, force_nonfallthru, redirect_edge_and_branch_force, tidy_fallthru_edge, tidy_fallthru_edges, split_edge, insert_insn_on_edge, commit_one_edge_insertion, commit_edge_insertions, dump_bb, debug_bb, debug_bb_n, print_rtl_with_bb, verify_flow_info, purge_dead_edges, purge_all_dead_edges): Move to .... * cfgrtl.c: New file; .... Here. * bb-reorder.c (fixup_reorder_chain): Use alloc_aux_for_block. (reroder_basic_block): Use alloc_aux_for_blocks. * predict.c (estimate_bb_frequencies): Likewise; use alloc_aux_for_edges. * profile.c (compute_branch_probabilities): Likewise. (branch_prob): Likewise. * reg-stack.c (reg_to_stack): Likewise. * emit-rtl.c (emit_insns_after): Never return NULL. * basic-block.h (set_block_for_new_insns): Delete. * cfgrtl.c (set_block_for_new_insns): Delete. * cfgcleanup.c (try_optimize_cfg): Add fake exit edges for noreturn calls when crossjumping. * cfgcleanup.c (try_simplify_condjump): Cleanup invert_jump call. * unroll.c (copy_loop_body): Use delete_insn. * final.c (final, final_scan_insn): Use delete_insn/delete_note. * function.c (fixup_var_refs_insn, fixup_var_refs_1, keep_stack_depressed): Likewise. * gcse.c (cprop_cc0_jump): Likewise. * local-alloc.c (update_equiv_regs): Likewise. * loop.c (scan_loop, loop_delete_insns): Likewise. * regmove.c (try_auto_increment, fixup_match_1): Likewise. * reload1.c (reload, calculate_needs_all_insns, reload_as_needed, delete_output_reload, delete_address_reloads_1, reload_cse_delete_noop_set, reload_combine, reload_cse_move2add): Likewise. * sibcall.c (replace_call_placeholder): Likewise. * cse.c (cse_insn): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45807 138bc75d-0d04-0410-961f-82ee72b054a4
* * basic-block.h (flow_delete_insn, flow_delete_insn_chain): Kill.hubicka2001-09-211-13/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * cfg.c (delete_insn): Rename from ....; use remove_insn; do not remove some labels. (flow_delete_insn): This one. (delete_insn_chain): Rename from ...; do not care labels. (flow_delete_insn_chain): ... this one. (flow_delete_block): Remove the insns one BB has been expunged. (merge_blocks_nomove): Likewise. (try_redirect_by_replacing_jump): Use delete_insn[_chain]; do not care updating BB boundaries. (tidy_fallthru_edge): Likewise. (commit_one_edge_insertion): Likewise. * cfgbuild.c (find_basic_block): Likewise. (find_basic_blocks_1): Likewise. * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Likewise. (try_crossjump_to_edge): Likewise. (try_optimize_cfg): Likewise. * cse.c (delete_trivially_dead_insns): Likewise. * df.c (df_insn_delete): Likewise. * doloop.c (doloop_modify): Use delete_related_insns. * emit-rtl.c (try_split): Likewise. (remove_insn): Update BB boundaries. * expect.c (connect_post_landing_pads): Use delete_related_insns. * flow.c (delete_dead_jumptables): Use delete_insn[_chain]; do not care updating BB boundaries. (propagate_block_delete_insn): Likewise. (propagate_block_delete_libcall): Likewise. * function.c (delete_handlers): Use delete_related_insns. (thread_prologue_and_epilogue_insns): Likewise. * gcse.c (delete_null_pointer_checks): Use delete_related_insns. * genpeep.c (gen_peephole): Use delete_related_insns. * ifcvt.c (noce_process_if_block): Use delete_insn; do not care updating BB boundaries. (find_cond_trap): Likewise. * integrate.c (save_for_inline): Use delete_related_insns. (copy_insn_list): Likewise. * jump.c (pruge_linie_number_notes): Likewise. (duplicate_loop_exit_test): Likewise. (delete_computation): Likewise. (delete_related_insn): Rename from ...; use delete_insn (delete_insn): ... this one. (redirect_jump): Use delete_related_insns. * loop.c (scan_loop): Likewise. (move_movables): Likewise. (find_and_verify_loops): Likewise. (check_dbra_loop): Likewise. * recog.c (peephole2_optimize): Likewise. * reg-stack.c (delete_insn_for_stacker): Remove. (move_for_stack_reg): Use delete_insn. * regmove.c (combine_stack_adjustments_for_block): Likewise. * reload1.c (delete_address_reloads): Use delete_related_insns. (fixup_abnormal_edges): Use delete_insn. * recog.c (emit_delay_sequence): Use delete_related_insns. (delete_from-delay_slot): Likewise. (delete_scheduled_jump): likewise. (optimize_skip): Likewise. (try_merge_delay_insns): Likewise. (full_simple_delay_slots): Likewise. (fill_slots_from_thread): Likewise. (relax_delay_slots): Likewise. (make_return_insns): Likewise. (dbr_schedule): Likewise. * rtl.h (delete_insn): Rename to delete_related_insns. (delete_insn, delete_insn_chain): New prototypes. * ssa-ccp (sse_fast_dce): Remove deleting of DEF, as it is done by df_insn_delete already. * ssa-dce.c (delete_insn_bb): Use delete_insn. * ssa.c (convert_from_ssa): Use delete_related_insns. * unroll.c (unroll_loop): Likewise. (calculate_giv_inc): Likewise. (copy_loop_body): Likewise. * i386-protos.h (ix86_libcall_value, ix86_function_value, ix86_function_arg_regno_p, ix86_function_arg_boundary, ix86_return_in_memory, ix86_function_value): Declare. * i386.c (x86_64_int_parameter_registers, x86_64_int_return_registers): new static valurables. (x86_64_reg_class): New enum (x86_64_reg_class_name): New array. (classify_argument, examine_argument, construct_container, merge_classes): New static functions. (optimization_options): Enable flag_omit_frame_pointer and disable flag_pcc_struct_return on 64bit. (ix86_libcall_value, ix86_function_value, ix86_function_arg_regno_p, ix86_function_arg_boundary, ix86_return_in_memory, ix86_function_value): New global functions. (init_cumulative_args): Refuse regparm on x86_64, set maybe_vaarg. (function_arg_advance): Handle x86_64 passing conventions. (function_arg): Likewise. * i386.h (FUNCTION_ARG_BOUNDARY): New macro. (RETURN_IN_MEMORY): Move offline. (FUNCTION_VALUE, LIBCALL_VALUE): Likewise. (FUNCTION_VALUE_REGNO_P): New macro. (FUNCTION_ARG_REGNO_P): Move offline. (struct ix86_args): Add maybe_vaarg. * next.h (FUNCTION_VALUE_REGNO_P): Delete. * unix.h (FUNCTION_VALUE_REGNO_P): Delete. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45726 138bc75d-0d04-0410-961f-82ee72b054a4
* * dbxout.c (dbxout_parms): Fix typo in comment.hp2001-09-111-2/+2
| | | | | | | | | | | * unroll.c (loop_find_equiv_value): Ditto. * toplev.c (rest_of_compilation): Ditto. * loop.c (scan_loop): Ditto. (scan_loop): Ditto. * dwarf2out.c (struct dw_fde_struct): Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45531 138bc75d-0d04-0410-961f-82ee72b054a4
* * loop.c (combine_givs): Fix computing of benefit once giv is combined.hubicka2001-09-091-0/+7
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45494 138bc75d-0d04-0410-961f-82ee72b054a4
* * loop.c (record_giv): Avoid simplifying MULT to ASHIFT.rth2001-09-071-3/+9
| | | | | | | | | | | | | | | | | (express_from_1): Wrap lines. * rtlanal.c (commutative_operand_precedence): Rename from operand_preference; export. * rtl.h: Declare it. * simplify-rtx.c (simplify_gen_binary): Tidy +/- const_int handling. (simplify_binary_operation): Invoke simplify_plus_minus on (CONST (PLUS ...)) as well. (struct simplify_plus_minus_op_data): New. (simplify_plus_minus_op_data_cmp): New. (simplify_plus_minus): Use them. Avoid infinite recursion with simplify_binary_operation wrt CONST. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45473 138bc75d-0d04-0410-961f-82ee72b054a4
* * loop.c (express_from_1): Fix CONSTANT_P(a) case.jakub2001-09-031-1/+1
| | | | | | | * gcc.c-torture/compile/20010903-1.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45365 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcse.c (add_label_notes): REG_LABEL is an INSN_LIST.aj2001-08-311-72/+72
| | | | | | | | | * loop.c (add_label_notes): Likewise. * reload.c (find_reloads): Likewise. * config/sh/sh.c (machine_dependent_reorg): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45320 138bc75d-0d04-0410-961f-82ee72b054a4
OpenPOWER on IntegriCloud