1. 02 Aug, 1999 1 commit
  2. 23 Jul, 1999 1 commit
    • explow.c (trunc_int_for_mode): New function. · 7e4ce834
              * explow.c (trunc_int_for_mode): New function.
              (plus_constant_wide): Use it.
              * combine.c (simplify_and_const_int): Likewise.
              (merge_outer_ops): Likewise.
              (simplify_shift_const): Likewise.
              * cse.c (simplify_unary_operation): Likewise.
              (simplify_binary_operation): Likewise.
              * emit-rtl.c (operand_subword): Likewise.
              * rtl.h: Declare it.
      
      From-SVN: r28222
      Richard Henderson committed
  3. 16 Jun, 1999 1 commit
  4. 17 May, 1999 1 commit
  5. 09 Apr, 1999 1 commit
    • cse.c (flush_hash_table): New function. · 01e752d3
              * cse.c (flush_hash_table): New function.
              (cse_insn): Flush the hash table when we encounter a volatile asm.
              (cse_basic_block): Use flush_hash_table instead of doing it
              inline.
              * reload1.c (reload_cse_regs_1): Flush known register values if
              we encounter a volatile asm.
      
      From-SVN: r26304
      Jeffrey A Law committed
  6. 30 Mar, 1999 1 commit
    • alias.c (alias_set_compare): Remove. · 30f72379
      	* alias.c (alias_set_compare): Remove.
      	(record_alias_subset): Use splay_tree_compare_ints instaed of
      	alias_set_compare.
      	(init_alias_once): Likewise.
      	* cse.c: Include splay-tree.h.
      	(reg_qty): Remove.
      	(reg_tick): Likewise.
      	(reg_table): Likewise.
      	(cse_reg_info): New structure.
      	(cse_reg_info_free_list): New variable.
      	(cse_reg_info_tree): Likewise.
      	(cached_regno): Likewise.
      	(cached_cse_reg_info): Likewise.
      	(all_minus_one): Remove.
      	(consec_ints): Likewise.
      	(GET_CSE_REG_INFO): New macro.
      	(REG_TICK): Likewise.  Use throughout instead of reg_tick.
      	(REG_IN_TABLE): Likewise.  Use throughout instead of reg_in_table.
      	(REG_QTY): Likewise.  Use throughout instead of reg_qty.
      	(get_cse_reg_info): New function.
      	(free_cse_reg_info): Likewise.
      	(new_basic_block): Reinitialize cse_reg_info_tree instead of
      	reg_tick, all_minus_one, and consec_ints.
      	* Makefile.in (cse.o): Depend on splay-tree.h
      	* splay-tree.h (splay_tree_compare_ints): Declare.
      	* splay-tree.c (splay_tree_compare_ints): Define.
      
      From-SVN: r26069
      Mark Mitchell committed
  7. 22 Mar, 1999 1 commit
  8. 14 Mar, 1999 1 commit
    • cse.c (check_fold_consts): New static function. · 1a87eea2
              * cse.c (check_fold_consts): New static function.
              (cfc_args): New struct.
              (simplify_relational_operation): Use them in call to
              `do_float_handler'.
              * toplev.c (do_float_handler): New function to wrap calls to
              setjmp/set_float_handler.
              * toplev.h (do_float_handler): Add extern prototype.
              * tree.c (build_real_from_int_cst_1): New static function.
              (brfic_args): New struct.
              (build_real_from_int_cst): Use them in call to
              `do_float_handler'.
      
      From-SVN: r25768
      Kaveh R. Ghazi committed
  9. 07 Mar, 1999 1 commit
  10. 02 Mar, 1999 1 commit
  11. 25 Feb, 1999 2 commits
  12. 22 Feb, 1999 1 commit
    • cse.c (dump_class): New function. · a4c6502a
      	* cse.c (dump_class): New function.
      	(invalidate_memory): Fix typo in comment.
      	* function.c (temp_slot): Add an alias set field.
      	(assign_stack_temp): Only reuse slots if they will have the
      	same alias set as before.
      	(combine_temp_slots): Don't combine if -fstrict-aliasing;
      	that's unsafe.
      	* rtl.c (copy_rtx): Copy all the flags (in particular,
      	MEM_SCALAR_P).
      
      From-SVN: r25372
      Mark Mitchell committed
  13. 27 Jan, 1999 1 commit
  14. 21 Jan, 1999 1 commit
    • cse.c (fold_rtx): Revert 29 Dec change. · ee5332b8
              * cse.c (fold_rtx): Revert 29 Dec change.
              (cse_insn): Revert 12 Jan change.
              * expr.c (expand_builtin): Don't emit CONST around CONSTANT_P_RTX.
              * regclass.c (reg_scan_mark_refs): Revert 29 Dec change.
              * rtl.def: Likewise.
              * rtl.h (CONSTANT_P): Likewise.
              * expr.c (emit_move_insn): Never try to flush CONSTANT_P_RTX
              to memory.
              * recog.c (immediate_operand): Accept CONSTANT_P_RTX.
              * alpha.c (input_operand): Likewise.
              * c4x.c (const_operand): Likewise.
              * explow.c (allocate_dynamic_stack_space): Use register_operand
              instead of arith_operand, which does not exist.
              * 1750a.h: Fix comment closure.
              * a29k.c (a29k_set_memflags): Fix typo in 19 Jan change.
              * arc.md (one_cmplsi2_set_cc_insn): Fix set mode mismatch.
              * arm.h (TARGET_SWITCHES): Fix typo.
              * i370.md (anon mult and div patterns): Fix set mode mismatch.
              * i860.c (output_delayed_branch): Fix operands to constrain_operands.
              (output_delay_insn): Likewise.
              * m88k.md (anon rotate insns): Fix set mode mismatch.
              (anon BLKmode moves): Commonize and fix set mode mismatches.
              * ns32k.md (udivmoddi[shq]i4_internal): Fix mode mismatch.
              * romp.md (movdf): Fix typo.
      
      From-SVN: r24796
      Richard Henderson committed
  15. 19 Jan, 1999 2 commits
    • Update copyrights · 747215f1
      From-SVN: r24765
      Mark Mitchell committed
    • rtl.h (rtx_def): Update documentation. · c6df88cb
      	* rtl.h (rtx_def): Update documentation.
      	(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.
      
      From-SVN: r24759
      Mark Mitchell committed
  16. 12 Jan, 1999 1 commit
  17. 30 Dec, 1998 1 commit
  18. 29 Dec, 1998 1 commit
    • Richard Kenner <kenner@vlsi1.ultra.nyu.edu>: · 185ebd6c
              * rtl.def (CONSTANT_P_RTX): Clarify commentary.
              * expr.c (expand_builtin, case BUILT_IN_CONSTANT_P): Rework to
              consider constant CONSTRUCTOR constant and to defer some cases
              to cse.
              * cse.c (fold_rtx, case CONST): Add handling for CONSTANT_P_RTX.
              * regclass.c (reg_scan_mark_refs, case CONST): Likewise.
      Richard Henderson  <rth@cygnus.com>
              * expr.c (init_expr_once): Kill can_handle_constant_p recognition.
              * cse.c (fold_rtx, case 'x'): Remove standalone CONSTANT_P_RTX code.
      
      From-SVN: r24439
      Richard Henderson committed
  19. 23 Dec, 1998 1 commit
    • Warning fixes: · 973838fd
              * 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
      
      From-SVN: r24403
      Kaveh R. Ghazi committed
  20. 10 Dec, 1998 1 commit
    • Fix alpha-x-m32r-elf bugs. · 737e7965
      	* cse.c (simplify_unary_operation): Sign-extend constants when
      	they have the most significant bit set for the target.
      	* real.c (endian): Sign-extend 32 bit output values on a 64 bit
      	host.
      	* m32r/m32r.c (m32r_expand_prologue): Store pretend_size in
      	HOST_WIDE_INT temporary before negating it.
      	* m32r/m32r.md (movsi_insn+1): Use ~0xffff instead of 0xffff0000.
      
      From-SVN: r24254
      Jim Wilson committed
  21. 24 Nov, 1998 1 commit
    • cse.c (fold_rtx): Make autoincrement addressing mode tests be runtime selectable. · 940da324
              * cse.c (fold_rtx): Make autoincrement addressing mode tests be
              runtime selectable.
              * expr.c (move_by_pieces): Similarly.
              (move_by_pieces_1, clear_by_pieces, clear_by_pieces_1): Similarly.
              * flow.c (find_auto_inc): Similarly.
              (try_pre_increment): Similarly.
              * loop.c (strength_reduce): Similarly.
              * regclass.c (auto_inc_dec_reg_p): Similarly.
              * regmove.c (try_auto_increment): Similarly.
              (fixup_match_1): Similarly.
              * rtl.h (HAVE_PRE_INCREMENT): Define if not already defined.
              (HAVE_PRE_DECREMENT): Similarly.
              (HAVE_POST_INCREMENT, HAVE_POST_DECREMENT): Similarly.
              sponding changes to all target header files.
      
      From-SVN: r23837
      Jeffrey A Law committed
  22. 17 Oct, 1998 1 commit
    • Warning fixes: · 79c9824e
              * Makefile.in (flow.o): Depend on recog.h.
              * cpplib.h (directive_table): Add missing initializiers.
              (finclude): Change type of variable `bsize' to size_t.
              * cse.c (rtx_cost): Mark parameter `outer_code' with ATTRIBUTE_UNUSED.
              * dwarfout.h (dwarfout_label): Wrap prototype in macro RTX_CODE.
              * fix-header.c (lookup_std_proto): Cast the result of `strlen' to
              `int' when comparing against one.
              (cpp_file_line_for_message): Mark parameter `pfile' with
              ATTRIBUTE_UNUSED.
              (cpp_fatal): Mark parameter `pfile' with ATTRIBUTE_UNUSED.
              * flow.c: Include recog.h.
              (sbitmap_copy): Cast arguments 1 & 2 of `bcopy' to (PTR).
              * function.c (thread_prologue_and_epilogue_insns): Mark parameter
              `f' with ATTRIBUTE_UNUSED.
              (reposition_prologue_and_epilogue_notes): Likewise.
              * genopinit.c (gen_insn): Cast argument of ctype functions to
              `unsigned char'.
              * haifa-sched.c: Include recog.h.
              (blockage_range): Cast result of UNIT_BLOCKED macro to (int) when
              comparing against one.
              * libgcc2.a (__throw): Revert ATTRIBUTE_UNUSED change for now.
              * mips-tfile.c (parse_end): Cast the argument of ctype function to
              `unsigned char'.
              (parse_ent): Likewise.
              (parse_input): Likewise.
              * optabs.c (init_libfuncs): Likewise.
              * protoize.c (find_rightmost_formals_list): Likewise.
              * recog.h (const_double_operand): Fix typo in prototype.
              * tlink.c (scan_linker_output): Cast the argument of ctype
              function to `unsigned char'.
              * toplev.c (check_lang_option): Cast the result of `strlen' to
              `int' when comparing against one.
      
      From-SVN: r23155
      Kaveh R. Ghazi committed
  23. 16 Oct, 1998 1 commit
  24. 13 Oct, 1998 1 commit
  25. 06 Oct, 1998 1 commit
  26. 24 Sep, 1998 1 commit
    • expr.c (store_constructor): When initializing a field that is smaller than a word... · 34c73909
      	* expr.c (store_constructor): When initializing a field that is smaller
      	than a word, at the start of a word, try to widen it to a full word.
      	* cse.c (cse_insn): When we are about to change a register,
      	remove any invalid references to it.
      	(remove_invalid_subreg_refs): New function.
      	(mention_regs): Special treatment for SUBREGs.
      	(insert_regs): Don't strip SUBREG for call to mention_regs.
      	Check if reg_tick needs to be bumped up before that call.
      	(lookup_as_function): Try to match known word_mode constants when
      	looking for a norrower constant.
      	(canon_hash): Special treatment for SUBREGs.
      
      From-SVN: r22567
      J"orn Rennecke committed
  27. 14 Aug, 1998 1 commit
  28. 28 Jul, 1998 1 commit
  29. 08 Jul, 1998 1 commit
  30. 07 Jul, 1998 1 commit
  31. 06 Jul, 1998 1 commit
  32. 05 Jul, 1998 2 commits
  33. 01 Jul, 1998 1 commit
  34. 30 Jun, 1998 1 commit
    • rtl.def (CONSTANT_P_RTX): New. · cff48d8f
              * rtl.def (CONSTANT_P_RTX): New.
              * rtl.h (CONSTANT_P): Recognize it.
              * cse.c (fold_rtx): Eliminate it.
              * expr.c (can_handle_constant_p): New variable.
              (init_expr_once): Initialize it.
              (expand_builtin): Generate CONSTANT_P_RTX if the expression is not
              immediately recognizable as a constant.
      
      From-SVN: r20846
      Richard Henderson committed
  35. 29 Jun, 1998 1 commit
  36. 17 Jun, 1998 1 commit
  37. 08 Jun, 1998 1 commit
    • Warning fixes: · 50b2596f
      	* Makefile.in (varasm.o): Depend on dbxout.h.
      	(cse.o): Depend on toplev.h and output.h.
      	(gcse.o): Depend on output.h.
      	* mips.c: Include system.h and toplev.h and remove redundant code.
      	Include output.h after tree.h so all its prototypes get activated.
      	* mips.md (table_jump): Remove unused variable `dest'.
      	* sparc.h: Add prototype for `v8plus_regcmp_op'.
      	* crtstuff.c (fini_dummy, init_dummy): Mark function definitions
      	with __attribute__ ((__unused__)).
      	(__frame_dummy): Provide prototype before use, wrap it with
      	EH_FRAME_SECTION_ASM_OP.
      	* cse.c: Move inclusion of <setjmp.h> above local headers.
        	Include toplev.h and output.h.
      	* dbxout.h: Add prototype for `dbxout_begin_function'.
      	* final.c (final_scan_insn): Wrap variable `max_skip' in macro
      	ASM_OUTPUT_MAX_SKIP_ALIGN.
      	* gcse.c: Include system.h and output.h.
      	(dump_cuid_table, dump_rd_table, dump_cprop_data, dump_pre_data):
      	Make extern instead of static.
      	(compute_can_copy): Only declare variables `reg' and `insn' when
       	AVOID_CCMODE_COPIES is not defined.
      	(record_set_info): Mark parameter `setter' with ATTRIBUTE_UNUSED.
      	(hash_scan_clobber): Likewise for `x' and `insn'.
      	(hash_scan_call): Likewise.
      	(record_last_set_info): Likewise for `setter'.
      	(mark_call): Likewise for `pat'.
      	(pre_insert_insn): Wrap variable `note' in macro HAVE_cc0.
      	* libgcc2.c (__bb_init_prg): Replace bzero with memset and fix the
       	length parameter so that it multiplies the number of elements by
       	the sizeof(element).
      	* output.h: Add prototype for `weak_finish'.
      	* recog.h: Likewise for `validate_replace_src'.
      	* rtl.h: Likewise for `optimize_save_area_alloca',
       	`fix_sched_param', `purge_addressof', `gcse_main',
       	`regmove_optimize', `dbr_schedule', `branch_prob' and
       	`end_branch_prob'.
      	* toplev.h: Likewise for `set_float_handler' and
       	`output_quoted_string'.
      	* varasm.c: Include dbxout.h.
      
      From-SVN: r20351
      Kaveh R. Ghazi committed