1. 25 Jan, 2003 1 commit
    • stmt.c (emit_case_bit_tests): New routine to implement suitable switch… · 9bb231fd
      stmt.c (emit_case_bit_tests): New routine to implement suitable switch statements using the equivalent of "if...
      
      
      	* stmt.c (emit_case_bit_tests): New routine to implement suitable
      	switch statements using the equivalent of "if ((1<<x) & cst) ... ".
      	(case_bit_test_cmp): New comparison function for "qsort" to order
      	case_bit_tests by decreasing number of destination nodes.
      	(lshift_cheap_p): New function to determine if "1 << x" is cheap.
      	(expand_end_case_type): Use emit_case_bit_tests to implement
      	suitable switch statments.
      	(CASE_USE_BIT_TESTS): New target macro to disable the above.
      	* Makefile.in (stmt.o): Add dependency on optab.h.
      	* doc/tm.texi (CASE_USE_BIT_TESTS): Document new target macro.
      
      	* gcc.c-torture/execute/switch-1.c: New test case.
      
      From-SVN: r61784
      Roger Sayle committed
  2. 24 Jan, 2003 2 commits
    • emit-rtl.c (reg_attrs_htab): New static variable. · a560d4d4
      	* emit-rtl.c (reg_attrs_htab): New static variable.
      	(reg_attrs_htab_hash, reg_attrs_htab_eq, get_reg_attrs): New static
      	functions.
      	(reg_rtx): Do not maintain regno_decl.
      	(gen_rtx_REG_offset, set_reg_attrs_from_mem, set_delc_rtx,
      	set_mem_attrs_from_reg): New global function.
      	(init_emit): Do not initialize regno_decl.
      	(init_emit_once): initialize reg_attrs_htab.
      	* final.c (alter_subreg): Do not replace REG by SUBREG.
      	(gen_mem_expr_from_op): Improve output.
      	(output_asm_operands): Likewise.
      	* function.c (assign_params): Do not set REGNO_DECL.
      	* function.h (struct function): Kill regno_decl.
      	(REGNO_DECL): Kill.
      	* gengtype.c (adjust_field_rtx_def): Handle new field of reg.
      	* print_rtl.c (print_rtx): Output REG information.
      	* regclass.c (reg_scan_mark_refs): Update attrs.
      	* reload1.c (alter_reg): Likewise.
      	* simplify_rtx.c (simplify_subreg): Likewise.
      	* stmt.c (expand_decl): Likewise.
      	* rtl.def (REG): Add new field.
      	* rtl.h (struct reg_attrs): New.
      	(rtunion_def): At rtreg.
      	(X0MEMATTR): Add checking.
      	(X0REGATTR, REG_ATTRS, REG_EXPR, REG_OFFSET): New macro.
      	(set_reg_attrs_from_mem, set_mem_attrs_from_reg, gen_rtx_REG_offset):
      	Declare.
      	* tree.h (SET_DECL_RTL): Call set_decl_rtl.
      
      From-SVN: r61741
      Jan Hubicka committed
    • Rename -W to -Wextra. · 65ca2d60
      2003-01-24  Phil Edwards  <pme@gcc.gnu.org>
      
      	Rename -W to -Wextra.
      	* c-decl.c:  Update comments.
      	* c-typeck.c:  Likewise.
      	* flags.h:  Likewise.
      	* function.c:  Likewise.
      	* stmt.c:  Likewise.
      	* toplev.c:  Update comments.
      	(W_options):  Add 'extra'.
      	(display_help):  Remove '-W'.
      	(decode_W_option):  Special warn_uninitialized treatment in the case
      	of -Wextra.
      	* doc/invoke.texi:  Update with new entries.
      
      From-SVN: r61696
      Phil Edwards committed
  3. 21 Jan, 2003 2 commits
    • stmt.c (same_case_target_p): New function to determine whether two case labels… · 100e3acb
      stmt.c (same_case_target_p): New function to determine whether two case labels branch to the same target.
      
      
      	* stmt.c (same_case_target_p): New function to determine whether
      	two case labels branch to the same target.  Split out from...
      	(group_case_nodes): ... here.  Use same_case_target_p instead.
      	(strip_default_case_nodes): Remove explicit case nodes
      	that branch to the default destination.
      	(expand_end_case_type): Call strip_default_case_nodes after
      	group_case_nodes, to simplify the case-list before we count it.
      	Only generate table_label RTX when actually needed.  Try to share
      	thiscase->exit_label and thiscase->data.case_stmt.default_label
      	when a switch has no explicit default case.  Simplify test for
      	constant index.
      
      From-SVN: r61570
      Roger Sayle committed
    • re PR rtl-optimization/7507 (ICE (segfault) with -O2) · 5b50aa9d
              PR opt/7507
              * stmt.c (expand_asm_operands): Validize memory operands.
      	* gcc.dg/20030120-1.c: New.
      
      From-SVN: r61535
      Richard Henderson committed
  4. 16 Jan, 2003 1 commit
    • arm.h (CONDITIONAL_REGISTER_USAGE): Avoid signed/unsigned warning. · fc555370
      	* arm.h (CONDITIONAL_REGISTER_USAGE): Avoid signed/unsigned
      	warning.
      	* emit-rtl.c (gen_rtx_REG, set_mem_attributes_minus_bitpos,
      	init_emit_once): Likewise.
      	* flow.c (mark_regs_live_at_end, calculate_global_regs_live):
      	Likewise.
      	* function.c (assign_stack_temp_for_type): Likewise.
      	* loop.c (loop_invariant_p): Likewise.
      	* recog.c (push_operand): Likewise.
      	* regclass.c (init_reg_sets_1): Likewise.
      	* reload.c (update_auto_inc_notes): Likewise.
      	* reload1.c (reload_as_needed, emit_input_reload_insns): Likewise.
      	* stmt.c (expand_asm_operands): Likewise.
      	* stor-layout.c (start_record_layout): Likewise.
      
      cp:
      	* class.c (layout_virtual_bases): Avoid signed/unsigned warning.
      
      java:
      	* jcf-write.c (generate_bytecode_insns): Avoid signed/unsigned
      	warning.
      
      From-SVN: r61389
      Kaveh R. Ghazi committed
  5. 13 Jan, 2003 1 commit
  6. 09 Jan, 2003 2 commits
    • defaults.h (EXTRA_MEMORY_CONSTRAINT): Add STR argument. · 97488870
      	* defaults.h (EXTRA_MEMORY_CONSTRAINT): Add STR argument.
      	(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.
      
      From-SVN: r61119
      J"orn Rennecke committed
    • re PR inline-asm/8832 (traditional "asm volatile" code is illegally optimized) · 4c46ea23
      	PR inline-asm/8832
      	* tree.h (expand_asm): New prototype.
      	* stmt.c (expand_asm): Set the MEM_VOLATILE_P flag if instructed
      	to do so.
      	* c-semantics (genrtl_asm_stmt): Pass the RID_VOLATILE qualifier
      	down to expand_asm.
      	* c-typeck.c (simple_asm_stmt): Set the RID_VOLATILE qualifier.
      	* rtlanal.c (volatile_insn_p) [ASM_INPUT]: Test the MEM_VOLATILE_P flag.
      	(volatile_refs_p) [ASM_INPUT]: Likewise.
      	(side_effects_p) [ASM_INPUT]: Likewise.
      
      From-SVN: r61099
      Eric Botcazou committed
  7. 24 Dec, 2002 1 commit
    • regmove.c: Fix comment typos. · 14b493d6
      	* regmove.c: Fix comment typos.
      	* reload.c: Likewise.
      	* reload1.c: Likewise.
      	* resource.c: Likewise.
      	* rtl.def: Likewise.
      	* rtl.h: Likewise.
      	* rtlanal.c: Likewise.
      	* sched-deps.c: Likewise.
      	* sched-rgn.c: Likewise.
      	* sibcall.c: Likewise.
      	* simplify-rtx.c: Likewise.
      	* ssa-ccp.c: Likewise.
      	* ssa.c: Likewise.
      	* stmt.c: Likewise.
      	* stor-layout.c: Likewise.
      	* system.h: Likewise.
      	* tlink.c: Likewise.
      	* toplev.c: Likewise.
      	* tracer.c: Likewise.
      	* tree-inline.c: Likewise.
      	* tree.c: Likewise.
      	* tree.h: Likewise.
      	* unroll.c: Likewise.
      	* varasm.c: Likewise.
      
      From-SVN: r60473
      Kazu Hirata committed
  8. 19 Dec, 2002 2 commits
    • re PR target/8340 (ICE on x86 inline asm w/ -fPIC) · e54b4cae
      	PR target/8340
      	* stmt.c (expand_asm_operands): Produce an error when
      	the PIC register is clobbered.
      
      From-SVN: r60313
      Eric Botcazou committed
    • ChangeLog: Follow spelling conventions. · 272d0bee
      	* ChangeLog: Follow spelling conventions.
      	* ChangeLog.2: Likewise.
      	* ChangeLog.4: Likewise.
      	* ChangeLog.5: Likewise.
      	* cppexp.c: Likewise.
      	* df.c: Likewise.
      	* gcov.c: Likewise.
      	* gengtype.c: Likewise.
      	* reload1.c: Likewise.
      	* sched-rgn.c: Likewise.
      	* stmt.c: Likewise.
      	* stor-layout.c: Likewise.
      	* timevar.c: Likewise.
      	* toplev.c: Likewise.
      	* tree.h: Likewise.
      	* varasm.c: Likewise.
      	* config/fr30/fr30.md: Likewise.
      	* config/i386/i386.c: Likewise.
      	* config/ia64/ia64.c: Likewise.
      	* config/pa/pa.c: Likewise.
      
      From-SVN: r60281
      Kazu Hirata committed
  9. 16 Dec, 2002 1 commit
  10. 13 Dec, 2002 1 commit
    • c-decl.c: Fix a comment typo. · 09da1532
      	* c-decl.c: Fix a comment typo.
      	* cfg.c: Likewise.
      	* cfgcleanup.c: Likewise.
      	* cfglayout.c: Likewise.
      	* cfgrtl.c: Likewise.
      	* c-typeck.c: Likewise.
      	* dominance.c: Likewise.
      	* dwarf2asm.c: Likewise.
      	* dwarfout.c: Likewise.
      	* expmed.c: Likewise.
      	* expr.c: Likewise.
      	* final.c: Likewise.
      	* flow.c: Likewise.
      	* function.c: Likewise.
      	* gcc.c: Likewise.
      	* genautomata.c: Likewise.
      	* integrate.c: Likewise.
      	* loop.c: Likewise.
      	* loop.h: Likewise.
      	* output.h: Likewise.
      	* profile.c: Likewise.
      	* ra.h: Likewise.
      	* reload1.c: Likewise.
      	* reload.c: Likewise.
      	* sched-rgn.c: Likewise.
      	* stmt.c: Likewise.
      	* tree.h: Likewise.
      	* vmsdbgout.c: Likewise.
      
      From-SVN: r60085
      Kazu Hirata committed
  11. 09 Dec, 2002 1 commit
    • tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition. · 9ac3e73b
      	* doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
      	* defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
      	* calls.c (store_unaligned_arguments_into_pseudos) Remove
      	FUNCTION_ARG_REG_LITTLE_ENDIAN.
      	* stmt.c (expand_return): Ditto.
      	* expr.c (move_block_from_reg): Ditto.
      	(copy_blkmode_from_reg): Ditto.
      	* expmed.c (store_bit_field): Ditto.
      
      From-SVN: r59962
      Steve Ellcey committed
  12. 11 Nov, 2002 1 commit
  13. 14 Oct, 2002 2 commits
  14. 27 Sep, 2002 1 commit
    • LANGUAGES: Follow spelling conventions. · 0e9e1e0a
      	* LANGUAGES: Follow spelling conventions.
      	* rtl.def: Likewise.
      	* sbitmap.c: Likewise.
      	* sched-int.h: Likewise.
      	* sched-rgn.c: Likewise.
      	* sibcall.c: Likewise.
      	* simplify-rtx.c: Likewise.
      	* ssa.c: Likewise.
      	* stab.def: Likewise.
      	* stmt.c: Likewise.
      	* stor-layout.c: Likewise.
      	* target.h: Likewise.
      	* timevar.c: Likewise.
      	* toplev.c: Likewise.
      	* tree-dump.c: Likewise.
      	* tree-inline.c: Likewise.
      	* tree.c: Likewise.
      	* tree.def: Likewise.
      	* tree.h: Likewise.
      	* unroll.c: Likewise.
      	* varasm.c: Likewise.
      	* vmsdbgout.c: Likewise.
      	* treelang/treelang.texi: Likewise.
      	* treelang/treetree.c: Likewise.
      
      From-SVN: r57587
      Kazu Hirata committed
  15. 23 Sep, 2002 1 commit
    • extend.texi (Extended Asm): Clarify that overlap between asm-declared register… · acb5d088
      extend.texi (Extended Asm): Clarify that overlap between asm-declared register variables used in an asm and...
      
      	* doc/extend.texi (Extended Asm): Clarify that overlap between
      	asm-declared register variables used in an asm and the asm clobber
      	list is not allowed.
      	* stmt.c (decl_conflicts_with_clobbers_p): New function.
      	(expand_asm_operands): Keep track of clobbered registers.  Call
      	decl_conflicts_with_clobbers_p for each input and output operand.
      	If no conflicts found before, also do conflict sanity check when
      	emitting clobbers.
      
      From-SVN: r57437
      Hans-Peter Nilsson committed
  16. 14 Aug, 2002 1 commit
    • reload.c (find_reloads): Handle constraint letters marked by EXTRA_ADDRESS_CONSTRAINT and... · ccfc6cc8
      	* reload.c (find_reloads): Handle constraint letters marked by
      	EXTRA_ADDRESS_CONSTRAINT and EXTRA_MEMORY_CONSTRAINT.
      	(alternative_allows_memconst): Likewise.
      	* reload1.c (maybe_fix_stack_asms): Likewise.
      	* recog.c (asm_operand_ok, preprocess_constraints,
      	constrain_operands): Likewise.
      	* regclass.c (record_operand_costs, record_reg_classes): Likewise.
      	* local-alloc.c (block_alloc, requires_inout): Likewise.
      	* stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
      
      	* defaults.h (EXTRA_MEMORY_CONSTRAINT): Provide a default.
      	(EXTRA_ADDRESS_CONSTRAINT): Likewise.
      	* doc/tm.texi: Document these two new target macros.
      
      	* config/s390/s390.c (s390_expand_plus_operand): Accept already
      	valid operands.
      	(q_constraint): New function.
      	config/s390/s390-protos.h (q_constraint): Declare it.
      	config/s390/s390.h (EXTRA_CONSTRAINT): Use it.
      	(EXTRA_MEMORY_CONSTRAINT): New macro.
      
      	* config/s390/s390.md: Throughout the machine description,
      	replace all instances of the constraint combinations 'Qo'
      	or 'oQ' with simply 'Q'.
      
      From-SVN: r56291
      Ulrich Weigand committed
  17. 05 Aug, 2002 1 commit
    • Index: ChangeLog · b3426eb9
      2002-08-05  Geoffrey Keating  <geoffk@redhat.com>
      
      	* attribs.c: Don't include obstack.h.
      	* builtins.c: Likewise.
      	* cfganal.c: Likewise.
      	* cfgbuild.c: Likewise.
      	* cfgcleanup.c: Likewise.
      	* emit-rtl.c: Likewise.
      	* loop.c: Likewise.
      	* stmt.c: Likewise.
      
      Index: cp/ChangeLog
      2002-08-05  Geoffrey Keating  <geoffk@redhat.com>
      
      	* class.c: Don't include obstack.h.
      	(popclass):
      	* decl2.c: Delete bogus comment.
      	* error.c: Don't include obstack.h.
      	* except.c: Likewise.
      	(dump_type): Correct comment.
      	* method.c: Don't include obstack.h.
      	* tree.c: Likewise.
      
      Index: java/ChangeLog
      2002-08-05  Geoffrey Keating  <geoffk@redhat.com>
      
      	* mangle_name.c: Don't include obstack.h twice.
      	* xref.c: Don't include obstack.h.
      
      From-SVN: r56055
      Geoffrey Keating committed
  18. 11 Jun, 2002 1 commit
    • Delete SEQUENCE rtl usage outside of reorg and ssa passes. · 2f937369
      2002-06-05  David S. Miller  <davem@redhat.com>
      
      	Delete SEQUENCE rtl usage outside of reorg and ssa passes.
      	* rtl.h (gen_sequence, emit_insns, emit_insns_before,
      	emit_insns_before_scope, emit_insns_after,
      	emit_insns_after_scope): Delete declaration.
      	* ada/misc.c (insert_code_for): Use emit_insn* instead of
      	emit_insns_foo.
      	* config/alpha/alpha.c (alpha_set_memflags_1): Abort on SEQUENCE.
      	(alpha_set_memflags): Fix comment.
      	(set_frame_related_p): Use get_insns instead of gen_sequence.
      	* config/alpha/alpha.md (setjmp receiver splitter): Avoid
      	emitting no insns.
      	* config/arm/arm.c (arm_finalize_pic): Use get_insns instead of
      	gen_sequence.
      	(arm_gen_load_multiple, arm_gen_store_multiple): Likewise.
      	* config/fr30/fr30.c (fr30_move_double): Likewise.
      	* config/i386/i386.c (ix86_expand_int_movcc, ix86_expand_movstr):
      	Likewise.
      	* config/ia64/ia64.c (spill_restore_mem): Likewise.
      	* config/ia64/ia64.md (conditional move spliiter): Avoid emitting
      	no insns.
      	* config/m32r/m32r.c (gen_split_move_double): Use get_insns
      	instead of gen_sequence.
      	* config/mips/mips.c (embedded_pic_fnaddr_reg): Likewise.
      	(mips_expand_prologue, mips16_gp_pseudo_reg): Likewise.
      	* config/sh/sh.c (sh_need_epilogue): Likewise.
      	* config/sparc/sparc.md (current_function_calls_alloca, flat): New
      	attributes.
      	(setjmp pattern and split): Use them to avoid splitter which emits
      	no RTL.
      	* genattrtab.c (main): Emit include of function.h
      	* config/stormy16/stormy16.c (xstormy16_split_cbranch): Use
      	get_insns instead of gen_sequence.
      	* config/cris/cris.c (cris_split_movdx): Likewise.
      	* emit-rtl.c (emit_insns*): Kill.
      	(try_split): Expect insn list instead of SEQUENCE.
      	(make_jump_insn_raw, make_call_insn_raw): Fix comments.
      	(emit_*insn*): Reimplement to work with INSN lists and PATTERNs.
      	Make them abort if a SEQUENCE is given and RTL checking is
      	enabled.
      	(emit_*_scope): Don't forget to set scope on final insn.
      	(gen_sequence): Move from here...
      	* ssa.c (gen_sequence): To here as private function.
      	* builtins.c (expand_builtin_apply_args): Use emit_insn_foo, fix
      	comments.
      	(expand_builtin_return, expand_builtin_mathfn): Likewise.
      	(expand_builtin_strlen): Use get_insns instead of gen_sequence.
      	(expand_builtin_saveregs): Use emit_insn_foo, fix comments.
      	(expand_builtin_expect_jump): Use get_insns and fix comments.
      	* calls.c (try_to_integrate): Use emit_insn_foo.
      	(expand_call, emit_library_call_value_1): Likewise.
      	* expr.c (emit_queue): Handle insn lists instead of SEQUENCE.
      	(emit_move_insn_1): Use get_insns instead of gen_sequence.
      	(expand_expr): Use emit_insn_foo.
      	* cfgrtl.c (commit_one_edge_insertion): Use emit_insn_foo.
      	* except.c (build_post_landing_pads): Likewise.
      	* flow.c (attempt_auto_inc): Likewise.
      	* stmt.c (expand_fixup, fixup_gotos, expand_nl_handler_label,
      	expand_nl_goto_receivers, expand_decl_cleanup): Likewise.
      	* function.c (fixup_var_refs_insn): Use get_insns instead of
      	gen_sequence.
      	(fixup_var_refs_1): Likewise and expect insn list from gen_foo.
      	(fixup_memory_subreg): Use get_insns instead of gen_sequence.
      	(fixup_stack_1, purge_addressof_1, expand_main_function,
      	get_arg_pointer_save_area): Likewise.
      	(optimize_bit_field, instantiate_virtual_regs_1, assign_parms,
      	expand_function_end): Use emit_insn_foo.
      	(record_insns, keep_stack_depressed): Work with insn list instead
      	of SEQUENCE, fix comments.
      	* ifcvt.c (noce_emit_store_flag, noce_try_store_flag,
      	noce_try_store_flag_constants, noce_try_store_flag_inc,
      	noce_try_store_flag_mask, noce_emit_cmove, noce_try_cmove_arith,
      	noce_try_minmax, noce_try_abs): Use emit_insn_foo.
      	(noce_process_if_block): Use get_insns instead of gen_sequence.
      	* optabs.c (add_equal_note): Work with insn list, fix comments.
      	(expand_binop): Expect insn list from GEN_FCN(), use emit_insn_foo.
      	(expand_unop, expand_complex_abs, expand_unop_insn,
      	expand_no_conflict_block): Likewise.
      	(gen_move_insn): Use get_insns instead of gen_sequence.
      	(gen_cond_trap): Likewise.
      	* integrate.c (copy_rtx_and_substitute): Likewise.
      	(emit_initial_value_sets): Use emit_insn_foo.
      	* reload1.c (emit_output_reload_insns, emit_reload_insns): Likewise.
      	(fixup_abnormal_edges): Avoid losing REG_NOTES more intelligently
      	now that RTL generators give insn lists.
      	* sibcall.c (replace_call_placeholder): Use emit_insn_foo.
      	* doloop.c (doloop_modify, doloop_modify_runtime): Use get_insns
      	instead of gen_sequence.
      	(doloop_optimize): Work with insn lists instead of SEQUENCE rtl.
      	* explow.c (emit_stack_save, emit_stack_restore): Use get_insns
      	instead of gen_sequence.
      	* loop.c (move_movables, emit_prefetch_instructions,
      	gen_add_mult, check_dbra_loop, gen_load_of_final_value):
      	Likewise.
      	(loop_regs_update): Work with insn list instead of SEQUENCE rtl.
      	(product_cheap_p): Likewise, and add commentary about RTL wastage
      	here.
      	* lcm.c (optimize_mode_switching): Use get_insns instead of
      	gen_sequence.
      	* profile.c (gen_edge_profiler): Likewise.
      	* regmove.c (copy_src_to_dest): Likewise.
      	* reg-stack.c (compensate_edge): Likewise and fix comment.
      	* gcse.c (process_insert_insn): Likewise.
      	(insert_insn_end_bb): Work with insn list instead of SEQUENCE rtl.
      	* jump.c (delete_prior_computation): Update comment.
      	* genemit.c (gen_expand, gen_split, main): Use get_insns instead
      	of gen_sequence, update comments to match.
      	* recog.c (peephole2_optimize): Work with insn lists instead of
      	SEQUENCE rtl.
      	* sched-vis.c (print_pattern): Abort on SEQUENCE.
      	* unroll.c (unroll_loop, find_splittable_givs, final_giv_value):
      	Use get_insns instead of gen_sequence.
      	(copy_loop_body): Likewise and don't emit dummy NOTE.
      	* genrecog.c: Don't mention SEQUENCE rtl in comments.
      	* combine.c (try_combine): Expect insn lists from split generator.
      	* reorg.c (relax_delay_slots): Emit SEQUENCE into insn list by
      	hand.
      
      From-SVN: r54497
      David S. Miller committed
  19. 04 Jun, 2002 1 commit
  20. 09 May, 2002 1 commit
    • sbitmap.c: Fix formatting. · 786de7eb
      	* sbitmap.c: Fix formatting.
      	* scan.c: Likewise.
      	* scan-decls.c: Likewise.
      	* sched-deps.c: Likewise.
      	* sched-ebb.c: Likewise.
      	* sched-rgn.c: Likewise.
      	* sched-vis.c: Likewise.
      	* sdbout.c: Likewise.
      	* sibcall.c: Likewise.
      	* simplify-rtx.c: Likewise.
      	* ssa.c: Likewise.
      	* ssa-ccp.c: Likewise.
      	* ssa-dce.c: Likewise.
      	* stmt.c: Likewise.
      	* stor-layout.c: Likewise.
      	* stringpool.c: Likewise.
      
      From-SVN: r53324
      Kazu Hirata committed
  21. 08 May, 2002 1 commit
    • cfglayout.c (function_tail_eff_head): Rename to ... · 969d70ca
      	* cfglayout.c (function_tail_eff_head): Rename to ...
      	(function_footer): ... this one.
      	(unlink_insn_chain): New functions.
      	(label_for_bb): Only call block_label and emit debug message.
      	(record_effective_endpoints): Actually unlink the headers and footers.
      	(fixup_reorder_cahin): Re-insert the unlinked sequences.
      	(cfg_layout_duplicate_bb): Use duplicate_insn_chain.
      	* cfglayout.h (struct reorder_block_def): New fields footer/header;
      	remove eff_head/eff_end.
      	* rtl.h (set_first_insn): Declare.
      	* emit-rtl.c (set_first_insn): New function.
      
      	* cfglayout.c (fixup_reorder_chain): Dump duplicated
      	(cfg_layout_can_duplicate_bb_p, cfg_layout_rerirect_edge,
      	cfg_layout_duplicate_bb): New global function.
      	(duplicate_insn_chain): New static function.
      	* cfglayout.h (cfg_layout_can_duplicate_bb_p, cfg_layout_rerirect_edge,
      	cfg_layout_duplicate_bb): Declare.
      	(struct reorder_block_def): Add "original" field.
      	* emit-rtl.c (emit_copy_of_insn_after): New function.
      	* rtl.h (emit_copy_of_insn_after): Declare.
      
      	* cfglayout.c (fixup_fallthru_exit_predecessor): Kill.
      	(fixup_reorder_chain): properly handle edges to exit block.
      
      Wed May  8 11:10:31 CEST 2002  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
      			       Jan Hubicka  <jh@suse.cz>
      
      	* basic-block.h (note_prediction_to_br_prob): declare.
      	* c-semantics.c: Inlucde predit.h
      	(expand_stmt): predict GOTO_STMT as not taken.
      	* cfgcleanup.c: (delete_unreachable_blocks): Make global.
      	(cleanup_cfg): Do not free tail_recursion_list.
      	* cfgrtl.c (can_delete_note_p): Delete NOTE_INSN_PREDICTION.
      	(flow_delete_block): Kill predictions past end of basic block.
      	* output.h (delete_unreachable_blocks): Declare.
      	* predict.c (predicted_by_p, process_note_predictions,
      	process_note_prediction, last_block_p): New function.
      	(estimate_probability): Bypass loop on PRED_CONTINUE;
      	do not handle noreturn heuristics; kill PRED_RETURN; add
      	PRED_EARLY_RETURN.
      	* predict.def (PRED_CONTINUE, PRED_EARLY_RETURN, PRED_GOTO,
      	PRED_CONST_RETURN, PRED_NEGATIVE_RETURN, PRED_NULL_RETURN): New.
      	* predict.h (IS_TAKEN): New constant.
      	* print-rtl.c (print_rtx): Pretty print NOTE_INSN_PREDICTION.
      	* rtl.c (NOTE_INSN_PREDICTION): New.
      	* rtl.h (NOTE_PREDICTION, NOTE_PREDICTION_ALG, NOTE_PREDICTION_FLAGS):
      	New macro.
      	(insn_note): add NOTE_INSN_PREDICTION.
      	* sibcall.c (optimize_sibling_and_tail_recursive_call): Do not build
      	CFG; free tail_recursion_label_list.
      	* stmt.c: Include predict.h;
      	(return_prediction): New.
      	(expand_value_return): Use it.
      	* toplev.c: Lower NOTE_INSN_PREDICTION before sibcall.
      
      From-SVN: r53285
      Jan Hubicka committed
  22. 02 May, 2002 1 commit
  23. 17 Apr, 2002 1 commit
    • c-common.h (STMT_EXPR_NO_SCOPE): New macro. · b2123dc0
      	* c-common.h (STMT_EXPR_NO_SCOPE): New macro.
      	* c-common.c (c_expand_expr): Respect STMT_EXPR_NO_SCOPE.
      	* tree.h (expand_start_stmt_expr): Update prototype.
      	* stmt.c (expand_start_stmt_expr): Add has_scope parameter.
      	* tree-inline.c (expand_call_inline): Set STMT_EXPR_NO_SCOPE
      	on the STMT_EXPR created for the inline function.
      
      	* trans.c (tree_transform): Add has_scope argument to
      	expand_start_stmt_expr.
      
      	* com.c (ffecom_expr_power_integer): Add has_scope argument to
      	call to expand_start_stmt_expr.
      
      	* init.c (begin_init_stmts): Remove commented out code.
      	(finish_init_stmts): Set STMT_EXPR_NO_SCOPE.
      	* semantics.c (begin_gobal_stmt_expr): Adjust call to
      	expand_start_stmt_expr.
      
      From-SVN: r52395
      Mark Mitchell committed
  24. 13 Apr, 2002 1 commit
  25. 08 Apr, 2002 1 commit
  26. 04 Apr, 2002 3 commits
    • re PR inline-asm/5099 (m68k-aout/3.0.2/cc1 aborts on asm("movw sr,%0":"=hd"(a));) · ecc114f7
              PR middle-end/5099
              * stmt.c (expand_asm_operands): Validate outputs vs asm_operand_ok.
              Support copies into and out of memory.  Don't accept allows_reg
              and allows_mem as gospel.
      
      From-SVN: r51884
      Richard Henderson committed
    • c-common.c (truthvalue_conversion): Rename, update. · 78ef5b89
      	* c-common.c (truthvalue_conversion): Rename, update.
      	* c-common.h (c_common_truthvalue_conversion): New.
      	* c-convert.c (convert): Update.
      	* c-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
      	* c-parse.in (expr_no_commas, if_prefix, select_or_iter_stmt): Update.
      	* c-typeck.c (build_binary_op, build_unary_op,
      	build_conditional_expr): Update.
      	* fold-const.c (constant_boolean_node, fold): Use langhook.
      	* langhooks-def.h (LANGHOOK_INITIALIZER): Update.
      	* langhooks.h (struct lang_hooks): New hook.
      	* stmt.c (expand_decl_cleanup): Use langhook.
      	* tree.h (truthvalue_conversion): Remove.
      ada:
      	* gigi.h (truthvalue_conversion): Rename.
      	* misc.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
      	* trans.c (tree_transform): Update.
      	* utils2.c (truthvalue_conversion): Rename, update.
      	(build_binary_op, build_unary_op): Update.
      cp:
      	* cp-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
      	* cvt.c: Update comment.
      	* init.c (expand_cleanup_for_base): Update.
      	* semantics.c (finish_parenthesized_expr): Update.
      	* typeck.c (cp_truthvalue_conversion): Update.
      f:
      	* com.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
      	(truthvalue_conversion): Rename.  Update.  Make static.
      	(ffecom_truth_value): Update.
      java:
      	* expr.c (truthvalue_conversion): Rename.  Update.
      	(expand_compare): Update.
      	* java-tree.h (java_truthvalue_conversion): New.
      	* lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
      objc:
      	* objc-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
      
      From-SVN: r51880
      Neil Booth committed
    • re PR c++/5636 (gcc-3.0.3, memory leakage: function that take a string as… · 659e5a7a
      re PR c++/5636 (gcc-3.0.3, memory leakage: function that take a string as parameter will not call local variable destructors if exception is thrown.)
      
              PR c++/5636
              * tree.h (CLEANUP_EH_ONLY): New macro.
              * stmt.c (expand_decl_cleanup_eh): New fn.
              (expand_cleanups): Check CLEANUP_EH_ONLY.
              * c-semantics.c (genrtl_decl_cleanup): Just take the CLEANUP_STMT.
              Use expand_decl_cleanup_eh.
              (expand_stmt): Adjust.
              * c-common.h: Adjust prototype.
              * cp/semantics.c (nullify_returns_r): Just set CLEANUP_EH_ONLY on
              cleanup for nrv.
      
              * except.c (struct eh_status): Remove protect_list.
              (begin_protect_partials, end_protect_partials): Remove.
              (add_partial_entry): Remove.
              * except.h: Remove prototypes.
      
              * expr.c (expand_expr) [WITH_CLEANUP_EXPR, TARGET_EXPR]: Use
              expand_decl_cleanup_eh.
      
      cp/:
              * semantics.c (finish_eh_cleanup): New fn.
              * cp-tree.h: Add prototype.
              * init.c (perform_member_init, expand_cleanup_for_base): Use
              finish_eh_cleanup.
              * cp-tree.def (SUBOBJECT, CTOR_STMT): Remove.
              * cp-tree.h: Remove references.
              * decl.c (begin_constructor_body, end_constructor_body): Likewise.
              * dump.c (cp_dump_tree): Likewise.
              * pt.c (tsubst_expr): Likewise.
              * semantics.c (genrtl_ctor_stmt, genrtl_subobject): Remove.
              (cp_expand_stmt): Remove handling of CTOR_STMT and SUBOBJECT.
              * tree.c (cp_statement_code_p): Likewise.
      
              * init.c (build_new_1): Set CLEANUP_EH_ONLY on deleting cleanup.
      
      From-SVN: r51827
      Jason Merrill committed
  27. 03 Apr, 2002 1 commit
  28. 01 Apr, 2002 1 commit
    • c-decl.c (grokdeclarator): Update. · dffd7eb6
      	* c-decl.c (grokdeclarator): Update.
      	* c-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
      	* c-tree.h (c_mark_addressable): New.
      	* c-typeck.c (default_function_array_conversion, build_unary_op,
      	build_array_ref, convert_for_assignment): Update.
      	(mark_addressable): Rename.
      	* calls.c (try_to_integrate, expand_call): Use langhook.
      	* expr.c (expand_expr): Use langhook.
      	* langhooks-def.h (LANG_HOOKS_INITIALIZER): Update.
      	* langhooks.h (struct lang_hooks): New hook.
      	* stmt.c (expand_asm_operands): Use langhook.
      	* tree.h (mark_addressable): Remove.
      ada:
      	* decl.c (gnat_to_gnu_entity): Update.
      	* gigi.h (mark_addressable): Rename.
      	* misc.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
      	* trans.c (tree_transform): Update.
      	* utils.c (create_var_decl): Update.
      	* util2.c (build_binary_op, build_unary_op,
      	fill_vms_descriptor): Update.
      	(mark_addressable): Rename, update.
      cp:
      	* call.c (build_addr_func): Update.
      	* class.c (resolve_address_of_overloaded_function): Update.
      	* cp-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
      	* cp-tree.h (cxx_mark_addressable): New.
      	* decl.c (register_dtor_fn, cxx_maybe_build_cleanup): Update.
      	* decl2.c (build_cleanup): Update.
      	* except.c (build_throw): Update.
      	* init.c (resolve_offset_ref): Update.
      	* pt.c (convert_nontype_argument): Update.
      	* semantics.c (finish_asm_stmt, simplify_affr_init_exprs_r): Update.
      	* typeck.c (decay_conversion, build_array_ref, build_unary_op,
      	unary_complex_lvalue): Update.
      	(mark_addressable): Rename.
      f:
      	* com.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
      	(mark_addressable): Rename.
      	(ffecom_arrayref_, ffecom_1): Update.
      java:
      	* java-tree.h (java_mark_addressable): New.
      	* lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
      	* typeck.c (mark_addressable): Rename, update.
      objc:
      	* objc-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
      
      From-SVN: r51705
      Neil Booth committed
  29. 31 Mar, 2002 1 commit
    • builtins.c (expand_builtin_va_arg): Give warnings not errors for promoted… · 9602f5a0
      builtins.c (expand_builtin_va_arg): Give warnings not errors for promoted argument types; build trap.
      
              * builtins.c (expand_builtin_va_arg): Give warnings not errors for
              promoted argument types; build trap.
              (expand_builtin_trap): New.
              (expand_builtin): Use it.
              * stmt.c (expand_nl_goto_receivers): Likewise.
              * expr.h (expand_builtin_trap): Declare.
              * libfuncs.h (LTI_abort, abort_libfunc): New.
              * optabs.c (init_optabs): Init abort_libfunc.
      
              * gcc.dg/va-arg-1.c: Expect warnings, not errors.
      
      From-SVN: r51643
      Richard Henderson committed
  30. 29 Mar, 2002 1 commit
    • Makefile.in (convert.o, [...]): Update. · b0c48229
      	* Makefile.in (convert.o, calls.o, expmed.o): Update.
      	* attribs.c (handle_mode_attribute, handle_vector_size_attribute):
      	Use new hooks.
      	* builtin-types.def (BT_PTRMODE): Update.
      	* c-common.c (type_for_size): Rename c_common_type_for_size.
      	(type_for_mode): Similarly.
      	(shorten_compare, pointer_int_sum, c_common_nodes_and_builtins):
      	Use new hook.
      	* c-bommon.h (c_common_type_for_size, c_common_type_for_mode): New.
      	* c-decl.c (finish_enum, build_enumerator): Use new hooks.
      	* c-lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIZE):
      	Redefine.
      	* c-typeck.c (common_type, comptypes, default_conversion):
      	Use new hooks.
      	* calls.c: Include langhooks.h.
      	(emit_library_call_value_1): Use new hooks.  Avoid redundant
      	calls.
      	* convert.c: Include langhooks.h
      	(convert_to_pointer, convert_to_integer): Use new hooks.
      	* except.c (init_eh): Similarly.
      	* expmed.c: Include langhooks.h.
      	(expand_mult_add): Use new hooks.
      	* expr.c (store_expr, store_constructor, expand_expr, do_jump,
      	try_casesi): Similarly.
      	* fold-const.c (optimize_bit_field_compare, make_range,
      	decode_field_reference, fold_truthop, fold): Similarly.
      	* function.c (assign_stack_local_1, assign_stack_temp_for_type,
      	put_var_into_stack): Similarly.
      	* langhooks-def.h (LANG_HOOKS_TYPE_FOR_MODE,
      	LANG_HOOKS_TYPE_FOR_SIZE): New.
      	(LANG_HOOKS_TYPES_INITIALIZER): Update.
      	* langhooks.h (lang_hooks_for_types): New hooks.
      	* stmt.c (expand_decl_cleanup, emit_case_nodes): Use new hooks.
      	* tree.c (get_unwidened, get_narrower): Similarly.
      	* tree.h (type_for_mode, type_for_size): Remove.
      	* varasm.c (force_const_mem): Use new hooks.
      ada:
      	* gigi.h (type_for_size, type_for_mode): Rename.
      	* misc.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIZE):
      	Redefine.
      	* trans.c (tree_transform): Update.
      	* utils.c (gnat_init_decl_processing, init_gigi_decls,
      	builtin_function, float_type_for_size, signed_or_unsigned_type,
      	build_vms_descriptor, unchecked_convert): Update.
      	(type_for_mode, type_for_size): Rename.
      	* utils2.c (nonbinary_modular_operation): Update.
      cp:
      	* cp-lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIZE):
      	Redefine.
      	* cvt.c (cp_convert_to_pointer, type_promotes_to): Use new hooks.
      	* decl.c (finish_enum): Similarly.
      	* error.c (dump_type): Similarly.
      	* lex.c (cxx_init): Similarly.
      	* mangle.c (write_builtin_type): Similarly.
      	* typeck.c (comptypes): Similarly.
      f:
      	* com.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIZE):
      	Redefine.
      	(type_for_mode, type_for_size): Rename.
      	(signed_or_unsigned_type, signed_type, truthvalue_conversion,
      	unsigned_type):	Use new hooks.
      java:
      	* Make-lang.in (builtins.o): Update.
      	* boehm.c (get_boehm_type_descriptor): Update.
      	* builtins.c: Include langhooks.h.
      	* decl.c (java_init_decl_processing): Update.
      	* java-tree.h (java_type_for_mode, java_type_for_size): New.
      	* lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIaZE):
      	Redefine.
      	* typeck.c (type_for_mode, type_for_size): Update.
      objc:
      	* objc-act.c (handle_impent): Update.
      	* objc-lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIaZE):
      	Redefine.
      
      From-SVN: r51571
      Neil Booth committed
  31. 26 Mar, 2002 1 commit
  32. 24 Mar, 2002 1 commit
  33. 23 Mar, 2002 1 commit
    • [multiple changes] · d6961341
      2002-03-23  Andrew Cagney  <ac131313@redhat.com>
      
      	* doc/invoke.texi (Option Summary): Mention -Wswitch-default.
      	(Warning Options): Document -Wswitch-default.
      	* toplev.c (W_options): Add -Wswitch-default.  Update comment on
      	-Wswitch.
      	(warn_switch_default): Define variable.
      	(warn_switch): Update comment.
      	* flags.h (warn_switch_default): Declare variable.
      	(warn_switch): Update comment.
      	* stmt.c (expand_end_case): Check for and, when
      	warn_switch_no_default, warn of a missing default case.
      
      Index: f/ChangeLog
      Sat Mar 23 11:18:17 2002  Andrew Cagney  <ac131313@redhat.com>
      
      	* invoke.texi (Warning Options): Mention -Wswitch-default.
      
      Index: testsuite/ChangeLog
      2002-03-23  Andrew Cagney  <ac131313@redhat.com>
      
      	* gcc.dg/Wswitch-default.c: New test.
      
      From-SVN: r51238
      Andrew Cagney committed