summaryrefslogtreecommitdiffstats
path: root/gcc/loop.c
Commit message (Collapse)AuthorAgeFilesLines
...
* * loop.c (check_dbra_loop): Fix debug message.m.hayes1999-03-201-2/+7
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@25868 138bc75d-0d04-0410-961f-82ee72b054a4
* Warning fixes:ghazi1999-03-191-2/+0
| | | | | | | | | | | | | | | | | | | | | | | * cccp.c (create_definition): Cast to U_CHAR* when assigning to one. * cppfiles.c (read_and_prescan): Likewise. Start a #define in column 0. * cpplib.c (cpp_define): Cast to U_CHAR* when assigning to one. (cpp_push_buffer): Likewise for cpp_buffer*. (do_include): Change the type of `fbeg' and `fend' to unsigned char*. (do_endif): Cast to char* when assigning to one. (do_assert): Likewise. (do_unassert): Likewise. (cpp_read_check_assertion): Change the type of `name' to U_CHAR*. Don't do unnecessary cast to char* anymore. * genrecog.c (make_insn_sequence): Cast to char** when assigning to one. Cast the first argument of bzero to PTR. * loop.c (strength_reduce): Remove unused variable `note'. * reload1.c (new_insn_chain): Cast to struct insn_chain* when assigning to one. * rtl.c (copy_rtx): Use memcpy instead of bcopy. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@25860 138bc75d-0d04-0410-961f-82ee72b054a4
* Do not perform pseudo replacements if the loop contains volatile memorynickc1999-03-181-1/+4
| | | | | | | references. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@25841 138bc75d-0d04-0410-961f-82ee72b054a4
* * loop.c (strength_reduce): Don't do biv increment -> DEST_REG givamylaar1999-03-111-3/+36
| | | | | | | conversion if we don't know the lifetime. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@25702 138bc75d-0d04-0410-961f-82ee72b054a4
* * rtl.h (insn_first_p): Don't declare.amylaar1999-02-251-7/+21
| | | | | | | | * rtlanal.c (insn_first_p): Delete. * loop.c (loop_insn_first_p): Faster implementation. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@25436 138bc75d-0d04-0410-961f-82ee72b054a4
* * loop.h (loop_insn_first_p): Declare.amylaar1999-02-241-3/+1
| | | | | | | | | | | | | | * loop.c (loop_insn_first_p): No longer static. * unroll.c (iteration_info) Fix comparison to reg_iv_type->num_elements. Before accessing reg_biv_class, check index against max_reg_before_loop. Fix and enable code for giv iterators. (loop_iterations): Compare with reg_iv_type->num_elements instead of with max_reg_before_loop. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@25401 138bc75d-0d04-0410-961f-82ee72b054a4
* * loop.c (libcall_other_regs): Make extern.amacleod1999-02-221-2/+1
| | | | | | | | | | * rtl.h (find_last_value): Add parameter to prototype. (libcall_other_reg): Add extern declaration. * rtlanal.c (find_last_value): Add another parameter to allow a definition using a hardware register to be found as well. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@25378 138bc75d-0d04-0410-961f-82ee72b054a4
* * rtlanal.c (insn_first_p): Fix return value for insn == reference.amylaar1999-02-191-21/+10
| | | | | | | | * loop.c (strength_reduce, check_final_value, check_dbra_loop): Use loop_insn_first_p. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@25321 138bc75d-0d04-0410-961f-82ee72b054a4
* * loop.c (strength_reduce): Check for intervening jumps whenamylaar1999-02-191-4/+32
| | | | | | | converting biv increment to giv. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@25310 138bc75d-0d04-0410-961f-82ee72b054a4
* * loop.c (strength_reduce): For derived givs, replace theamylaar1999-02-181-5/+14
| | | | | | | | | giv this was derived from with its new_reg. (recombine_givs): Don't set new_reg for derived giv. And don't print it, print SUM instead. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@25289 138bc75d-0d04-0410-961f-82ee72b054a4
* * loop.c (strength_reduce): Don't move giv insn for biv turned givamylaar1999-02-171-0/+1
| | | | | | | below scan_start. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@25264 138bc75d-0d04-0410-961f-82ee72b054a4
* * loop.c (strength_reduce): Calculate maybe_dead beforeamylaar1999-02-161-22/+30
| | | | | | | calling recombine_givs. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@25251 138bc75d-0d04-0410-961f-82ee72b054a4
* * loop.c (strength_reduce): Dump biv increment -> giv conversions.amylaar1999-02-161-0/+5
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@25250 138bc75d-0d04-0410-961f-82ee72b054a4
* law1999-02-151-11/+16
| | | | | | | | * loop.c (mark_loop_jump): Handle LO_SUM. If we encounter something we do not understand, mark the loop and containing loops as invalid. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@25215 138bc75d-0d04-0410-961f-82ee72b054a4
* * loop.c: Disable recent loop changes. Temporary as Joernlaw1999-02-131-3/+5
| | | | | | | continues to fix problems. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@25184 138bc75d-0d04-0410-961f-82ee72b054a4
* * loop.c (combine_givs_used_by_other): Delete.rth1999-02-131-51/+21
| | | | | | | | | (combine_givs_benefit_from): Delete. (combine_givs): Deny combination of givs only used once. Simplify code with the death of combine_givs_benefit_from. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@25183 138bc75d-0d04-0410-961f-82ee72b054a4
* * loop.c (scan_loop): Call reg_in_basic_block_p beforem.hayes1999-02-131-8/+14
| | | | | | | loop_reg_used_before_p. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@25182 138bc75d-0d04-0410-961f-82ee72b054a4
* * loop.c (loop_insn_first_p, biv_elimination_giv_has_0_offset):amylaar1999-02-121-55/+65
| | | | | | | | New functions. (maybe_eliminate_biv_1): Use biv_elimination_giv_has_0_offset. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@25167 138bc75d-0d04-0410-961f-82ee72b054a4
* * loop.c (load_mems): Don't guess how to do a load / store, useamylaar1999-02-121-2/+2
| | | | | | | emit_move_insn. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@25165 138bc75d-0d04-0410-961f-82ee72b054a4
* * loop.c (reg_single_usage): New file-scope variable ...rth1999-02-081-36/+28
| | | | | | | | | | | | | (scan_loop): ... moved out of here. Always initialize. Test loop_has_call instead of reg_single_usage not zero. Free reg_single_usage after strength reduction. (count_loop_regs_set): Assume single_usage non-zero. (combine_givs_used_by_other): Test reg_single_usage. (load_mems_and_recount_loop_regs_set): Remove reg_single_usage as a parameter. Assume non-zero. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@25098 138bc75d-0d04-0410-961f-82ee72b054a4
* * loop.c (check_dbra_loop): A store using an address giv for whichlaw1999-02-061-2/+3
| | | | | | | we have no life information is not reversible. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@25051 138bc75d-0d04-0410-961f-82ee72b054a4
* * loop.c (strength_reduce): Clear not_every_iteration whenlaw1999-02-051-4/+14
| | | | | | | passing the NOTE_INSN_LOOP_CONT note. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@25050 138bc75d-0d04-0410-961f-82ee72b054a4
* * loop.c (first_loop_store_insn): New file-scope variable.amylaar1999-02-041-3/+26
| | | | | | | | | (prescan_loop): Set it. (check_dbra_loop): Check if a store depends on a register that is set after the store. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@25034 138bc75d-0d04-0410-961f-82ee72b054a4
* * loop.c (scan_loop): New argument loop_cont. Changed caller.law1999-02-041-16/+17
| | | | | | | | | (strength_reduce): New argument loop_cont. Changed caller. Before clearing not_every_iteration after a label, check if we are not already past LOOP_CONT. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@25026 138bc75d-0d04-0410-961f-82ee72b054a4
* * loop.h (express_from): Declare.amylaar1999-02-031-7/+6
| | | | | | | | | | | | | | (struct induction): Replace derived flag with derived_from pointer. * loop.c (strength_reduce, record_giv, recombine_givs): Likewise. (express_from): No longer static. * unroll.c (find_splittable_givs): Replace derived with derived_from. When processing an address giv with which another giv has been combined that has also been derived from a third giv, handle like having combined with the third giv. Set splittable_regs_updates appropriately for derived givs. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@25007 138bc75d-0d04-0410-961f-82ee72b054a4
* * loop.c (loop_optimize): Fix value max_uid_for_loop is resetamylaar1999-02-021-2/+3
| | | | | | | to after find_and_verify_loops call. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@24973 138bc75d-0d04-0410-961f-82ee72b054a4
* * (recombine_givs): Don't use a giv that's likely to be dead toamylaar1999-02-021-5/+21
| | | | | | | | | derive others. * loop.c (recombine_givs): Fix test for lifetime overlaps / loop wrap around when deriving givs. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@24967 138bc75d-0d04-0410-961f-82ee72b054a4
* * loop.c (recombine_givs): Dump recombination and derivation data.rth1999-01-311-0/+18
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@24948 138bc75d-0d04-0410-961f-82ee72b054a4
* * loop.c: Disable recent loop changes. Temporary as Joernlaw1999-01-301-1/+5
| | | | | | | continues to fix problems. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@24916 138bc75d-0d04-0410-961f-82ee72b054a4
* * loop.c (strength_reduce): Size reg_map according to reg_iv_type.amylaar1999-01-291-5/+9
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@24910 138bc75d-0d04-0410-961f-82ee72b054a4
* * loop.c (recombine_givs): Don't try to derive givs that have combined.amylaar1999-01-291-7/+4
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@24906 138bc75d-0d04-0410-961f-82ee72b054a4
* * toplev.c (notice, fnotice): Check ANSI_PROTOTYPES, not __STDC__,ghazi1999-01-291-1/+1
| | | | | | | | | when declaring arguments and calling va_arg() to initialize them. * collect2.c (notice): Likewise. * loop.c (find_life_end): Use PROTO() macro in the prototype. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@24905 138bc75d-0d04-0410-961f-82ee72b054a4
* * loop.c (strength_reduce): Fix HAVE_cc0 handling when scanningamylaar1999-01-291-3/+2
| | | | | | | forward from cont dominator. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@24903 138bc75d-0d04-0410-961f-82ee72b054a4
* * loop.c (strength_reduce): Grow set_in_loop / n_times_set /amylaar1999-01-281-4/+22
| | | | | | | | | | may_not_optimize to proper size when converting biv increments into givs. If necessary, reallocate reg_iv_type / reg_iv_info before calling recombine_givs. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@24898 138bc75d-0d04-0410-961f-82ee72b054a4
* * loop.c (recombine_givs): New parameter unroll_p. If set, don'tamylaar1999-01-281-5/+16
| | | | | | | | | generate complex adds. Changed caller. Don't generate adds that cost more than the original one. (strength_reduce): Warning fixes. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@24895 138bc75d-0d04-0410-961f-82ee72b054a4
* * rtl.h (insn_first_p): Declare.amylaar1999-01-271-65/+893
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * rtlanal.c (insn_first_p): New function. * loop.h (varray.h): Include. (struct induction): Change combined_with to unsigned. New members derived, ix and last_use. (reg_iv_type, reg_iv_info): Now varray_type. All references changed. (REG_IV_TYPE, REG_IV_INFO): Define. (first_increment_giv, last_increment_giv): Declare. * loop.c (loop_number_loop_cont): New static variable. (loop_number_cont_dominator): Likewise. (reg_iv_type, reg_iv_info): Now varray_type. (first_increment_giv, last_increment_giv): New variables. (compute_luids, verify_dominator, find_life_end): New functions. (cmp_recombine_givs_stats, recombine_givs): Likewise. (loop_optimize): Allocate loop_number_loop_cont and loop_number_cont_dominator. Use compute_luids. (find_and_verify_loops): Initialize loop_number_loop_cont and loop_number_cont_dominator. (strength_reduce): Try to find bivs that can be expressed as givs of another biv, and to convert biv increments into givs. Call recombine_givs. Handle derived givs. (record_biv): New argument location. All callers changed. (record_giv): Initialize derived and last_use fields. (basic_induction_var): New argument location. All callers changed. (combine_givs): Don't combine a DEST_REG giv with a DEST_ADDR giv. Increment combined_with instead of setting to 1. * unroll.c (derived_regs): New static variable. (unroll_loop): Initialize it. Allocate local_regno according to max_reg_num. (copy_loop_body): Cope with derived givs. (find_splittable_givs): Check for Givs made from biv increments. Set derived_regs for givs. * Makefile.in (stmt.o, loop.o, unroll.o): Depend on loop.h . git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@24889 138bc75d-0d04-0410-961f-82ee72b054a4
* * loop.c (NUM_STORES): Delete.law1999-01-201-37/+23
| | | | | | | | | | | (loop_store_mems): Turn into an EXPR_LIST of MEMs. (prescan_loop): Properly initialize loop_mems_idx. (note_addr_stored): Simplify using list structure instead of fixed sized array. (invariant_p, check_dbra_loop, load_mems): Similarly. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@24782 138bc75d-0d04-0410-961f-82ee72b054a4
* * rtl.h (rtx_def): Update documentation.mmitchel1999-01-191-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (MEM_IN_STRUCT_P): Likewise. (MEM_SCALAR_P): New macro. (MEM_COPY_ATTRIBUTES): Likewise. (MEM_SET_IN_STRUCT_P): Likewise. * rtl.texi (MEM_SCALAR_P): Document. * alias.c (canon_rtx): Use MEM_COPY_ATTRIBUTES. (fixed_scalar_and_varying_struct_p): New function. Use MEM_SCALAR_P rather than !MEM_IN_STRUCT_P. (aliases_everything_p): Likewise. (true_dependence): Use them. (write_dependence_p): New function, containing code common to anti_dependence and output_dependence. (anti_dependence): Use it. (output_dependence): Likewise. * calls.c (save_fixed_argument_area): Don't clear MEM_IN_STRUCT_P. (expand_call): Use MEM_SET_IN_STRUCT_P. (emit_library_call): Don't clear MEM_IN_STRUCT_P. (emit_library_call_value): Likewise. (store_one_arg): Use MEM_SET_IN_STRUCT_P. * combine.c (simplify_rtx): Use MEM_COPY_ATTRIBUTES. (make_extraction): Likewise. (simplify_shift_const): Likewise. (gen_lowpart_for_combine): Likewise. * cse.c (gen_lowpart_if_possible): Use MEM_COPY_ATTRIBUTES. * emit-rtl.c (operand_subword): Likewise. (change_address): Likewise. * explow.c (stabilize): Use MEM_COPY_ATTRIBUTES. * expr.c (protect_from_queue): Use MEM_COPY_ATTRIBUTES. (emit_group_store): Use MEM_SET_IN_STRUCT_P. (copy_blkmode_from_reg): Likewise. (store_field): Likewise. (expand_expr): Remove bogus guesswork setting MEM_IN_STRUCT_P heuristically. Use MEM_SET_IN_STRUCT_P. (get_memory_rtx): Likewise. * final.c (alter_subreg): Use MEM_COPY_ATTRIBUTES. * function.c (assign_stack_temp): Clear MEM_SCALAR_P and MEM_ALIAS_SET on newly returned MEMs. (assign_temp): Use MEM_SET_IN_STRUCT_P. (put_reg_into_stack): Likewise. (fixup_var_refs1): Use MEM_COPY_ATTRIBUTES. (gen_mem_addressof): Use MEM_SET_IN_STRUCT_P. (assign_parms): Likewise. (expand_function): Likewise. * integrate.c (expand_inline_function): Likewise. (copy_rtx_and_substitute): Use MEM_COPY_ATTRIBUTES. * loop.c (note_addr_stored): Remove check on MEM_IN_STRUCT_P. * optabs.c (gen_move_insn): Use MEM_COPY_ATTRIBUTES. * print-rtl.c (print_rtx): Print /f for frame_related. * recog.c (validate_replace_rtx_1): Use MEM_COPY_ATTRIBUTES. * reload1.c (reload): Copy MEM_SCALAR_P as well. * stmt.c (expand_decl): Use MEM_SET_IN_STRUCT_P. (expand_anon_union_decl): Use MEM_COPY_ATTRIBUTES. * varasm.c (make_decl_rtl): Use MEM_SET_IN_STRUCT_P. (output_constant_def): Likewise. * a29k.c (a29k_set_memflags_1): Take scalar_p. Set MEM_SCALAR_P. (a29k_set_memflags): Use it. * alpha.c (get_aligned_mem): Use MEM_COPY_ATTRIBUTES. * c4x.c (c4x_scan_for_ld): Likewise. * h8300.c (fix_bit_operand): Likewise. * m88k.c (legitimize_address): Likewise. (block_move_loop): Likewise. (block_move_no_loop): Likewise. (block_move_sequence): Likewise. (m88k_builtin_saveregs): Use MEM_SET_IN_STRUCT_P. * mips/abi64.h (SETUP_INCOMING_VARARGS): Likewise. * rs6000.c (expand_block_move_insn): Use MEM_COPY_ATTRIBUTES. * sh.c (sh_builtin_saveregs): Use MEM_SET_IN_STRUCT_P. * arm.h (arm_gen_load_multiple): Take scalar_p. (arm_store_load_multiple): Likewise. * arm.c (arm_gen_load_multiple): Likewise. (arm_gen_store_multiple): Likewise. (arm_gen_movstrqi): Treat MEM_SCALAR_P like MEM_IN_STRUCT_P. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@24759 138bc75d-0d04-0410-961f-82ee72b054a4
* Warning fixes:ghazi1999-01-181-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | * loop.c (insert_bct): Hide the definition of variables `increment_direction', `compare_direction', `add_iteration' and `loop_var_mode'. * recog.c (mode_dependent_address_p): Mark parameter `addr' with ATTRIBUTE_UNUSED. Mark label `win' with ATTRIBUTE_UNUSED_LABEL. (mode_independent_operand): Mark label `lose' with ATTRIBUTE_UNUSED_LABEL. * regclass.c (n_occurrences): Remove prototype and definition. * reload.c (find_reloads_address_1): Mark variable `tem' with ATTRIBUTE_UNUSED. * reload1.c (reload): Cast the first two arguments of `bcopy' to PTR. * sbitmap.c (sbitmap_copy): Likewise. * scan-decls.c (scan_decls): Hide label `handle_comma'. * toplev.c (output_lang_identify): Mark prototype with ATTRIBUTE_UNUSED. * tree.c (make_node): Cast the first argument of `bzero' to PTR. (make_tree_vec): Likewise. (build1): Likewise. * varasm.c (assemble_static_space): Mark variable `tem' with ATTRIBUTE_UNUSED. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@24740 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix copyrights.law1999-01-061-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@24529 138bc75d-0d04-0410-961f-82ee72b054a4
* * optabs.c (emit_cmp_insn): Abort if asked to emit non-canonical RTLlaw1999-01-031-4/+3
| | | | | | | | | | | | | for a target with HAVE_cc0 defined. (emit_cmp_and_jump_insns): New function. * expr.h (emit_cmp_and_jump_insns): Prototype it. * loop.c (check_dbra_loop): Use it to replace calls to emit_cmp_insn and emit_jump_insn and to canonicalise the comparison if necessary. * unroll.c (unroll_loop): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@24471 138bc75d-0d04-0410-961f-82ee72b054a4
* * loop.c (check_dbra_loop): While reversing the loop, if thelaw1998-12-301-2/+6
| | | | | | | | comparison value has a VOID mode use the mode of the other operand to compute the mask. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@24444 138bc75d-0d04-0410-961f-82ee72b054a4
* Warning fixes:ghazi1998-12-231-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * alias.c (record_alias_subset): Remove ignored `&'. (init_alias_once): Likewise. * c-lex.c (UNGETC): Cast first argument of comma expression to void. * config/mips/mips.c (mips_asm_file_end): Cast the result of fwrite to `int' when comparing against one. * config/mips/mips.h (CAN_ELIMINATE): Add parens around && within ||. (INITIAL_ELIMINATION_OFFSET): Add braces to avoid ambiguous `else'. * cse.c (rehash_using_reg): Change type of variable `i' to unsigned int. * dwarf2out.c (initial_return_save): Cast -1 to unsigned before assigning it to one. * except.c (duplicate_eh_handlers): Remove unused variable `tmp'. * final.c (final_scan_insn): Likewise for variable `i'. (output_asm_insn): Cast a char to unsigned char when used as an array index. * gcse.c (compute_pre_ppinout): Cast -1 to SBITMAP_ELT_TYPE when assigning it to one. * loop.c (strength_reduce): Remove unused variables `count' and `temp'. * recog.c (preprocess_constraints): Cast a char to unsigned char when used as an array index. * regmove.c (find_matches): Likewise. * reload1.c (calculate_needs): Add default case in switch. (eliminate_regs_in_insn): Initialize variable `offset'. (set_offsets_for_label): Change type of variable `i' to unsigned. (reload_as_needed): Wrap variable `i' in macro check on AUTO_INC_DEC || INSN_CLOBBERS_REGNO_P. * scan-decls.c (scan_decls): Mark parameters `argc' and `argv' with ATTRIBUTE_UNUSED. Cast variable `start_written' to size_t when comparing against one. * stor-layout.c (layout_decl): Cast maximum_field_alignment to unsigned when comparing against one. Likewise for GET_MODE_ALIGNMENT(). (layout_record): Cast record_align to int when comparing against a signed value. (layout_type): Cast TYPE_ALIGN() to int when comparing against a signed value. * tree.c (get_identifier): Cast variable `len' to unsigned when comparing against one. (maybe_get_identifier): Likewise git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@24403 138bc75d-0d04-0410-961f-82ee72b054a4
* * loop.c (combine_givs_used_by_other): Don't depend on n_times_set.amylaar1998-12-171-4/+0
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@24351 138bc75d-0d04-0410-961f-82ee72b054a4
* * loop.c (consec_sets_giv): New argument last_consec_insn.amylaar1998-12-151-16/+9
| | | | | | | (strength_reduce): Provide / use it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@24335 138bc75d-0d04-0410-961f-82ee72b054a4
* * loop.h (loop_info): New field 'vtop'.m.hayes1998-12-151-22/+2
| | | | | | | | | | | | | * loop.c (check_dbra_loop): Use loop_info->vtop rather than scanning loop for vtop. * unroll.c (subtract_reg_term, find_common_reg_term): New functions. (loop_iterations): Use them to determine if loop has a constant number of iterations. Set loop_info->vtop. Don't subtract common reg term from initial_value and final_value if have a do-while loop. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@24333 138bc75d-0d04-0410-961f-82ee72b054a4
* * loop.h (struct induction): Delete times_used member.amylaar1998-12-151-63/+62
| | | | | | | | | | | | * loop.c (n_times_set): Rename to set_in_loop. Changed all users. (n_times_used): Rename to n_times_set. Changed all users. (scan_loop): Free reg_single_usage before strength reduction. (record_giv, combine_givs): Remove handling of times_used member. (combine_givs_used_once): Rename to: (combine_givs_used_by_other) . Changed all callers. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@24324 138bc75d-0d04-0410-961f-82ee72b054a4
* * loop.c (strength_reduce): If scan_start points to the loop exitamylaar1998-12-081-5/+13
| | | | | | | | | | test, be wary of subversive use of gotos inside expression statements. Don't set maybe_multiple for a backward jump that does not include the label under consideration into its range. * unroll.c (biv_total_increment): Make use of maybe_multiple field. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@24196 138bc75d-0d04-0410-961f-82ee72b054a4
* * loop.c (check_dbra_loop): Fix initial_value and initial_equiv_valuelaw1998-12-071-2/+2
| | | | | | | | in the loop_info structure. Should fix -O1 -funroll-loops bootstrap problems. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@24146 138bc75d-0d04-0410-961f-82ee72b054a4
* * loop.c (check_dbra_loop): New argument loop_info. Update fieldslaw1998-12-061-3/+13
| | | | | | | as needed. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@24131 138bc75d-0d04-0410-961f-82ee72b054a4
OpenPOWER on IntegriCloud