Commit Graph

148 Commits

Author SHA1 Message Date
Richard Earnshaw
a59a536cdd optabs.c (expand_cmplxdiv_wide): Use expand_abs to get the absolute values.
* optabs.c (expand_cmplxdiv_wide): Use expand_abs to get the absolute
values.

From-SVN: r27426
1999-06-08 05:50:01 +00:00
Kaveh R. Ghazi
f96b337ae4 optabs.c (expand_cmplxdiv_straight, [...]): Change function definitions to K&R style.
* optabs.c (expand_cmplxdiv_straight, expand_cmplxdiv_wide):
        Change function definitions to K&R style.

From-SVN: r27057
1999-05-20 08:29:52 +00:00
Craig Burley
c64f913e00 improve open-coding of complex divide, use new method in g77
From-SVN: r26993
1999-05-17 21:05:14 -04:00
Jeffrey A Law
0ca40216d7 optabs.c (emit_cmp_and_jump_insns): Handle the case where both operands to the comparison are constants.
* optabs.c (emit_cmp_and_jump_insns): Handle the case where both
	operands to the comparison are constants.

From-SVN: r26860
1999-05-10 06:05:24 -06:00
Andrew MacLeod
6af57aae0e rtl.h (REG_EH_REGION): Update comment to indicate a value of -1 indicates no throw and no nonlocal gotos.
Tue Apr 27 19:50:25 EDT 1999  Andrew MacLeod  <amacleod@cygnus.com>
	* rtl.h (REG_EH_REGION): Update comment to indicate a value of -1
	indicates no throw and no nonlocal gotos.
	* optabs.c (emit_libcall_block): Emit REG_EH_REGION with a value
	of -1 instead of 0 to indicate a nonlocal goto won't happen either.
	* flow.c (count_basic_blocks, find_basic_blocks_1): Ignore libcall
	blocks, look for REG_EH_REGION note exclusively.
	(make_edges): Check for REG_EH_REGION > 0 for specified handlers.

From-SVN: r26680
1999-04-27 17:08:37 +00:00
Toshiyasu Morita
07444f1d90 fold-const.c (make_range): Always initialize arg0 and arg1.
* fold-const.c (make_range): Always initialize arg0 and arg1.
        (fold): Simlarly for alt0 and alt1.
        * function.c (fixup_var_refs_insns): Initialize insn_list.
        (instantiate_virtual_regs_1): Initialize offset.
        * optabs.c (expand_binop): Initialize carry_in, carry_out, op0_xhigh
        and op1_xhigh.
        * stmt.c (expand_end_case): Initialize minval and maxval.

From-SVN: r26632
1999-04-25 18:15:54 -06:00
Zack Weinberg
01198c2f1f c-aux-info.c, [...]: Include toplev.h for real declaration of trim_filename.
1999-04-17 20:11 -0400  Zack Weinberg  <zack@rabi.columbia.edu>
	* c-aux-info.c, emit-rtl.c, explow.c, expmed.c, gcse.c,
	haifa-sched.c, optabs.c, reorg.c, resource.c, sched.c: Include
	toplev.h for real declaration of trim_filename.
	* Makefile.in: Update dependencies.

From-SVN: r26523
1999-04-17 17:14:58 +00:00
Andrew Macleod
5fa671cf5b rtl.texi (RTX_FRAME_RELATED_P): Add documentation.
Thu Mar 25 14:04:54 EST 1999  Andrew MacLeod  <amacleod@cygnus.com>
	* rtl.texi (RTX_FRAME_RELATED_P): Add documentation.
	* rtl.h (struct rtx_def): Update comment for frame_related field.
	(set_unique_reg_note): Declare prototype.
	* dwarf2out.c (dwarf2out_frame_debug_expr): Split out from
	'dwarf2out_frame_debug' to handle only expressions, and process
	component parts of a PARALLEL expression.
	(dwarf2out_frame_debug): Process insns only, and call
	new function 'dwarf2out_frame_debug_expr' for patterns.
	* emit-rtl.c (set_unique_reg_note): New function to add a reg note,
	but if there is an existingone, deletes it first.
	* expmed.c (expand_mult, expand_divmod): Use set_unique_reg_note.
	* optabs.c (add_equal_note, expand_binop): Use set_unique_reg_note.
	(emit_no_conflict_block, emit_libcall_block): Use set_unique_reg_note.
	(expand_fix):  Use set_unique_reg_note.

From-SVN: r25980
1999-03-25 12:04:26 +00:00
Kaveh R. Ghazi
91813b2835 Warning fixes:
* calls.c (initialize_argument_information): Mark parameters
        `num_actuals' and `n_named_args' with ATTRIBUTE_UNUSED.
        * dbxout.c (dbxout_start_new_source_file): Likewise for parameter
        `filename'.
        (dbxout_finish): Likewise for parameters `file' and `filename'.
        (dbxout_prepare_symbol): Likewise for parameter `decl'.
        (dbxout_begin_function): Likewise.
        * explow.c (hard_function_value): Likewise for parameter `func'.
        * function.c (locate_and_pad_parm): Likewise for parameter `fndecl'.
        * expmed.c (expand_divmod): Omit unused argument to `expand_abs'.
        * expr.c (expand_expr): Likewise.
        * expr.h (expand_abs): Delete unused argument from prototype.
        * optabs.c (expand_abs): Remove unused parameter `unsignedp'.
        * sdbout.c (sdbout_init): Mark parameter `syms' with ATTRIBUTE_UNUSED.
        (sdbout_end_block): Likewise for parameter `n'.
        * toplev.c (debug_define): Likewise for parameters `lineno' and
        `buffer'.
        (debug_undef): Likewise.
        * varasm.c (named_section): Likewise for parameter 'reloc'.
        (assemble_external): Likewise for parameter `decl'.
        (assemble_alias): Likewise for parameter `target'.

From-SVN: r25858
1999-03-19 08:50:14 +00:00
Kaveh R. Ghazi
dff01034e5 c-aux-info.c (data_type, [...]): Qualify a char* with the `const' keyword.
* c-aux-info.c (data_type, affix_data_type, gen_decl,
        gen_formal_list_for_type, gen_formal_list_for_func_def, gen_type):
        Qualify a char* with the `const' keyword.
        * c-common.c (declare_hidden_char_array, add_attribute, if_elt,
        declare_function_name, decl_attributes, format_char_info,
        check_format_info, binary_op_error): Likewise.
        * cexp.y (yyerror, error, pedwarn, warning, token): Likewise.
        * gcse.c (dump_hash_table): Likewise.
        * integrate.c (function_cannot_inline_p): Likewise
        * optabs.c: Include insn-config.h earlier.
        (init_libfuncs, init_integral_libfuncs, init_floating_libfuncs):
        Qualify a char* with the `const' keyword.
        * real.c (asctoe24, asctoe53, asctoe64, asctoe113, asctoe,
        asctoeg, mtherr, ereal_atof): Likewise.
        * real.h (ereal_atof): Likewise.
        * sbitmap.c (dump_sbitmap_vector): Likewise.
        * sbitmap.h (dump_sbitmap_vector): Likewise.
        * stmt.c (nesting, n_occurrences, expand_start_case): Likewise.
        * toplev.c (rest_of_compilation): Likewise.
        * tree.h (function_cannot_inline_p, expand_start_case): Likewise.

From-SVN: r25614
1999-03-06 05:34:26 +00:00
Jeffrey A Law
c5d5d46141 except.c (start_catch_handler): Use emit_cmp_and_jump_insns.
* except.c (start_catch_handler): Use emit_cmp_and_jump_insns.
        * explow.c (probe_stack_range): Likewise.
        * expmed.c (do_cmp_and_jump): Likewise.
        * expr.c (store_expr, expand_expr, expand_builtin): Likewise.
        (do_tablejump): Likewise.
        * stmt.c (expand_expr_stmt, expand_end_case): Likewise.
        (do_jump_if_equal, emit_case_nodes): Likewise.
        * optabs.c (emit_cmp_and_jump_insns): Clarify comments.  If UNSIGNEDP,
        then convert comparison to an unsigned code before emitting the jump.
        (expand_float, expand_fix): Use emit_cmp_and_jump_insns.

From-SVN: r25205
1999-02-14 13:08:39 -07:00
Mark Mitchell
c6df88cbec rtl.h (rtx_def): Update documentation.
* 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
1999-01-19 10:32:33 +00:00
Andrew MacLeod
b472794d0e optabs.c (emit_libcall_block): Add a REG_EH_REGION reg note to all calls within a libcall block to indicate no...
* optabs.c (emit_libcall_block): Add a REG_EH_REGION reg note to all
	calls within a libcall block to indicate no throws are possible.
	* flow.c (find_basic_blocks, find_basic_blocks_1): Don't look for
	libcall blocks. Don't add edges to exception handlers if we see
	a REG_EH_REGION note with a value of 0.
	(make_edges): Override active_eh_region vector if the call has a note
	indicating the call does not throw.

From-SVN: r24757
1999-01-19 09:39:37 +00:00
Jeff Law
ad83f53748 Fix copyrights.
From-SVN: r24529
1999-01-06 12:48:38 -07:00
Jeffrey A Law
3b0d546a2b optabs.c (emit_cmp_and_jump_insns): Use CONSTANT_P canonicalizing RTL for a compare/jump sequence.
* optabs.c (emit_cmp_and_jump_insns): Use CONSTANT_P canonicalizing
        RTL for a compare/jump sequence.

From-SVN: r24472
1999-01-03 15:03:47 -07:00
Michael Hayes
362cc3d434 optabs.c (emit_cmp_insn): Abort if asked to emit non-canonical RTL for a target with HAVE_cc0 defined.
* optabs.c (emit_cmp_insn): Abort if asked to emit non-canonical RTL
        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.

From-SVN: r24471
1999-01-03 13:43:14 -07:00
Andrew MacLeod
e6cfb550ab See ChangeLog..
Tue Dec  8 15:32:56 EST 1998  Andrew MacLeod  <amacleod@cygnus.com>
See ChangeLog.. These are the files that were changed:
	* eh-common.h (struct eh_context): Add table_index for rethrows.
	* rtl.h (enum reg_note): Add REG_EH_REGION and REG_EH_RETHROW reg notes.
	* rtl.c (reg_note_name): Add strings for new reg_note enums.
	* expr.h (rethrow_libfunc): New library decl.
	* optabs.c (rethrow_libfunc): Initialize.
	* except.h (struct eh_entry): Add new field 'rethrow_label'.
	* except.c (create_rethrow_ref): New function to create a single
	* flow.c (make_edges): Add different edges for rethrow calls,
	* integrate.c (save_for_inline_eh_labelmap): New callback routine to
	* libgcc2.c (find_exception_handler): Generalize to enable it to
        * cp/except.c
        * cp/exception.cc

From-SVN: r24194
1998-12-08 14:04:03 +00:00
Kaveh R. Ghazi
79c9824ecb Warning fixes:
* 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
1998-10-17 20:26:29 +00:00
Kaveh R. Ghazi
c84e271261 Warning fixes:
* Makefile.in (gencheck.o): Depend on gansidecl.h.
	* c-common.c (print_char_table): Add missing initializers.
	(scan_char_table): Likewise.
	(time_char_table): Likewise.
	* c-decl.c (c_decode_option): Mark parameter `argc' with
	ATTRIBUTE_UNUSED.
	(declare_parm_level): Mark parameter `definition_flag' with
	ATTRIBUTE_UNUSED.
	* c-lex.c (readescape): Use `(unsigned)1' in shift.
	(yylex): Likewise.  Cast `sizeof' to an (int) when comparing
	against one.
	* calls.c (store_one_arg): Remove unused parameter `fndecl'.  All
	callers changed.
	(emit_call_1): Mark parameters `fndecl' and `funtype' with
	ATTRIBUTE_UNUSED.
	(expand_call): Cast result of MIN() to (unsigned int) when
	comparing against an unsigned value.
	* cccp.c (pcfinclude): Remove unused parameter `limit'.  All
	callers changed.
	(make_definition): Remove unused parameter `op'.  All callers
	changed.
	(create_definition): Cast REST_EXTENSION_LENGTH to (long) when
	comparing against the result of pointer arithmetic.
	* config/mips/mips.h (FUNCTION_ARG_BOUNDARY): Cast to (unsigned)
	when comparing against one.
	* dwarf2out.c (dwarf2out_frame_debug): Cast REGNO() and
 	HARD_FRAME_POINTER_REGNUM to (unsigned) when comparing against
 	one.
	(output_die): Move variable `i' into the scope in which it is
	used.  Change its type to `unsigned'.
	(output_die): Cast the result of `strlen' to (int) when passing it
	to ASM_OUTPUT_ASCII().
	(output_pubnames): Likewise.
	(output_line_info): Likewise.
	* emit-rtl.c (global_rtl): Add missing initializers.
	* explow.c (promote_mode): Mark parameter `for_call' with
	ATTRIBUTE_UNUSED.
	* expmed.c (expand_shift): Cast the result of GET_MODE_BITSIZE to
 	`unsigned HOST_WIDE_INT' when comparing against one.
	(synth_mult): Change type of variable `cost' to int.
	(emit_store_flag): Use `(unsigned HOST_WIDE_INT) 1' in shift.
	* expr.c (copy_blkmode_from_reg): Cast BITS_PER_WORD to (unsigned)
	when comparing against one.
	(get_inner_reference): Change variable `alignment' to unsigned.
	(expand_expr): Cast the result of GET_MODE_ALIGNMENT to (unsigned
	int) when comparing against one.
	(expand_builtin_setjmp): Change type of variable `i' to size_t.
	* fold-const.c (div_and_round_double): Cast BASE to
	(HOST_WIDE_INT) when comparing against one.
	* gencheck.c: Include gansidecl.h.
	(main): Mark parameter `argv' with ATTRIBUTE_UNUSED.
	* optabs.c (gen_cond_trap): Mark parameters `code', `op2' and
	`tcode' with ATTRIBUTE_UNUSED.
	* real.c (edivm): Cast constant value to (unsigned long) in
	expression compared against an unsigned value.
	* stmt.c (expand_return): Cast BITS_PER_WORD to (unsigned) when
	comparing against one.
	(expand_end_case): Cast CASE_VALUES_THRESHOLD to (unsigned int)
	when comparing against one.
	* stor-layout.c (mode_for_size): Cast MAX_FIXED_MODE_SIZE to
	(unsigned int) when comparing against one.  Likewise for
	GET_MODE_BITSIZE.
	(smallest_mode_for_size): Likewise.
	(save_storage_status): Mark parameter `p' with ATTRIBUTE_UNUSED.
	(restore_storage_status): Likewise.
	* toplev.c (debug_args): Add missing initializer.
	(f_options): Spelling correction.  Add missing initializers.
	(documented_lang_options): Likewise.
	(debug_end_source_file): Mark parameter `lineno' with
	ATTRIBUTE_UNUSED.
	* tree.c (valid_machine_attribute): Mark parameters `attr_args',
	`decl' and `type' with ATTRIBUTE_UNUSED.
	* varasm.c (decode_reg_name): Cast `sizeof' expression to (int)
	when comparing against one.
	(assemble_variable): Mark parameter `top_level' with
	ATTRIBUTE_UNUSED.
	(assemble_external_libcall): Mark parameter `fun' with
	ATTRIBUTE_UNUSED.
	(output_constant_pool): Mark parameters `fnname' and `fndecl' with
	ATTRIBUTE_UNUSED.

From-SVN: r23054
1998-10-13 15:25:25 +00:00
Ken Raeburn
7d384cc0b3 Fine-grained control of -fcheck-memory-usage with new no_check_memory_usage attribute.
Fine-grained control of -fcheck-memory-usage with new no_check_memory_usage
attribute.  Misc minor bugfixes and tests for it too.

From-SVN: r22983
1998-10-11 02:21:54 +00:00
Andrew MacLeod
43566944af expr.h (eh_rtime_match_libfunc): New extern declaration.
Mon Sep 21 17:15:26 EDT 1998  Andrew MacLeod  <amacleod@cygnus.com>
	* expr.h (eh_rtime_match_libfunc): New extern declaration.
	* optabs.c (init_optabs): Set eh_rtime_match_libfunc.
	* except.c (start_catch_handler): Use eh_rtime_match_libfunc.
	* libgcc2.c (__eh_rtime_match): Always return 0 if the matcher is
	NULL. Only include <stdio.h> if inhibit_libc is not defined.

From-SVN: r22532
1998-09-21 14:23:16 +00:00
Ken Raeburn
07417085a1 Function entry/exit profiling instrumentation:
* expr.h (profile_function_entry_libfunc, profile_function_exit_libfunc):
Declare new variables.
* optabs.c: Define them here.
(init_optabs): Initialize them.
* tree.h (struct tree_decl): New flag no_instrument_function_entry_exit.
(DECL_NO_INSTRUMENT_FUNCTION_ENTRY_EXIT): New accessor macro.
* c-decl.c (duplicate_decls): Merge it.
* c-common.c (enum attrs): New value A_NO_INSTRUMENT_FUNCTION.
(init_attributes): Use it for "no_instrument_function".
(decl_attributes): Handle it, for functions that have not yet been compiled.
Set decl flag.
* flags.h (flag_instrument_function_entry_exit): Declare new variable.
* toplev.c (flag_instrument_function_entry_exit): Define it here.
(f_options): New option "instrument-functions".
* function.h (struct function): New field instrument_entry_exit.
* function.c (current_function_instrument_entry_exit): New variable.
(push_function_context_to, pop_function_context_from): Save and restore.
(expand_function_start): Set current_ variable, maybe emit return label and
entry profile call.
(expand_function_end): Maybe emit exit profile call.
Testsuite:
* gcc.c-torture/special/eeprof-1.c: New test, for -finstrument-functions.
* gcc.c-torture/special/special.exp: Run it.

From-SVN: r21495
1998-07-30 10:38:22 +00:00
John Carr
9e6a570365 optabs.c: Use gen_rtx_FOO (...) instead of gen_rtx (FOO, ...).
* optabs.c: Use gen_rtx_FOO (...) instead of gen_rtx (FOO, ...).
	* expr.c: Likewise.
	* explow.c: Likewise.
	* combine.c: Likewise.
	* reload1.c: Likewise.
	* gcse.c: Likewise.

From-SVN: r20701
1998-06-24 14:49:51 +00:00
Kaveh R. Ghazi
b3fb0b5e50 Warning fixes:
* mips.c (gpr_mode): Don't say `static' twice.
        * cpplib.c (cpp_handle_option): Don't pass unneeded NULL to cpp_fatal.
        * objc/objc-act.c (init_selector): Hide prototype and definition.
        * optabs.c (gen_cond_trap): Remove unused variable `icode'.
        * regmove.c (copy_src_to_dest): Likewise for `i'.

From-SVN: r20652
1998-06-22 05:46:35 +00:00
Jeffrey A Law
4ef873c261 * optabs.c (init_traps): Put prototype inside a suitable #ifdef.
From-SVN: r20624
1998-06-19 17:38:06 -06:00
John Carr
e0cd077072 haifa-sched.c (haifa_classify_insn): TRAP_IF is risky.
* haifa-sched.c (haifa_classify_insn): TRAP_IF is risky.
	(sched_analyze_2): Allow scheduling TRAP_IF.
	* reorg.c (mark_referenced_resources): Examine operands of TRAP_IF.
	* rtl.h (TRAP_CODE): New macro.
	* rtl.def (TRAP_IF): Change second operand type to rtx.
	* optabs.c (gen_cond_trap): New function.
	(init_traps): New function.
	(init_optabs): Call init_traps.
	* expr.h: Declare gen_cond_trap.
	* jump.c (jump_optimize): Optimize jumps to and around traps.
	* sparc.md: Define trap instructions.
	* rs6000.md: Define trap instructions.
	* rs6000.c (print_operand): New code 'V' for trap condition.
	(trap_comparison_operator): New function.
	* m88k.md: Update use of TRAP_IF.
	* tree.h (enum built_in_function): New function code BUILT_IN_TRAP.
	* c-decl.c (init_decl_processing): New builtin __builtin_trap.
	* expr.c (expand_builtin): Handle BUILT_IN_TRAP.
	* expr.c (expand_builtin): Error if __builtin_longjmp second argument
	is not 1.

From-SVN: r20543
1998-06-17 16:14:09 +00:00
Jeff Law
38e012594e typo typo fixes fixes
From-SVN: r19601
1998-05-06 15:09:07 -06:00
Jeff Law
e5e809f419 * Check in merge from gcc2. See ChangeLog.11 and ChangeLog.12
for details.

        * haifa-sched.c: Mirror recent changes from gcc2.

From-SVN: r18984
1998-04-04 06:32:39 -07:00
Kaveh R. Ghazi
670ee92097 Major cutover to using system.h:
* Makefile.in (alias.o, bitmap.o, c-aux-info.o, c-common.o,
        c-decl.o, c-iterate.o, c-lang.o, c-lex.o, c-pragma.o, c-typeck.o,
        caller-save.o, calls.o, collect2.o, combine.o, cse.o, dbxout.o,
        dwarf2out.o, dwarfout.o, emit-rtl.o, except.o, explow.o, expmed.o,
        expr.o, final.o, flow.o, function.o, getpwd.o, global.o,
        integrate.o, jump.o, local-alloc.o, loop.o, optabs.o, pexecute.o,
        prefix.o, print-rtl.o, print-tree.o, profile.o, real.o, recog.o,
        reg-stack.o, regclass.o, regmove.o, reload.o, reload1.o, reorg.o,
        rtl.o, rtlanal.o, sdbout.o, stmt.o, stor-layout.o, stupid.o,
        tlink.o, toplev.o, tree.o, unroll.o, varasm.o, xcoffout.o): Depend
        on system.h.
        * alias.c, bitmap.c, c-aux-info.c, c-common.c, c-decl.c,
        c-iterate.c, c-lang.c, c-lex.c, c-pragma.c, c-typeck.c,
        caller-save.c, calls.c, collect2.c, combine.c, cse.c, dbxout.c,
        dwarf2out.c, dwarfout.c, emit-rtl.c, except.c, explow.c, expmed.c,
        expr.c, final.c, flow.c, function.c, gcc.c, getpwd.c, global.c,
        integrate.c, jump.c, local-alloc.c, loop.c, optabs.c, pexecute.c,
        prefix.c, print-rtl.c, print-tree.c, profile.c, real.c, recog.c,
        reg-stack.c, regclass.c, regmove.c, reload.c, reload1.c, reorg.c,
        rtl.c, rtlanal.c, sched.c, sdbout.c, stmt.c, stor-layout.c,
        stupid.c, tlink.c, toplev.c, tree.c, unroll.c, varasm.c,
        xcoffout.c: Include system.h.  Organize include ordering so
        that stdarg/varargs comes before other system headers.  Remove
        spurious casts of functions assured of a prototype in system.h.

From-SVN: r18726
1998-03-20 14:58:42 +00:00
Robert Lipe
2e6a59892b Rats. Forgot to change copyrights on the first commit.
From-SVN: r17902
1998-02-13 05:40:34 +00:00
Robert Lipe
69d4ca36f4 c-lang.c (finish_file): Bracket declaration of static_ctors, static_dtors.
* c-lang.c (finish_file): Bracket declaration of static_ctors,
	static_dtors.
	* calls.c (expand_call): Bracket declaration of 'rtx_before_call',
	'old_stack_arg_under_construction'
	(emit_library_call): Bracket declaration of 'upper_bound',
	'lower_bound', 'i', 'reg_parm_stack_space'
	(emit_library_call_value): Likewise.
	(store_one_arg):
	* collect2.c: include <unistd.h> when appropriate.
	Bracket declaration of 'exportf' and 'full_real_ld_suffix'.
	* emit-rtl.c (prev_cc0_setter): Remove unused variable 'link'.
	* explow.c (plus_constant_for_output_wide): Remove unused variable
	'code'.
	(memory_address): Remove unused variable 'orig_x'.
	* genattrtab.c (make_canonical): Remove unreferenced label 'cond:'.
	(write_const_num_delay_slots): Remove unused variable 'i'.
	* genopinit.c (main): Remove unused variables 'dummy', 'insn_ptr'.
	(gen_insn): Remove unused variable 'obstack_ptr'.
        * libgcc2.c (__bb_exit_func): Remove unused variables 'ret',
        'j', 'tmp', 'i'.
	(__bb_exit_trace_func): Remove unused variable 'e'.
	* optabs.c (expand_binop): remove unused variables 'lhs', 'rhs',
	'funexp'.
	(expand_unop): Remove unused variable 'funexp'.
	(expand_complex_abs): Remove unused variable 'funexp'.
	(init_optabs): Bracket declaration of 'j'.
	(init_complex_libfuncs): Deleted.  Dead static function.
	* profile.c (branch_prob): Remove unused variables 'insn', 'dest'.
	* reg-stack.c: Fix typo in proto for 'get_asm_operand_lengths'
	(reg_to_stack): 'initialized', 'before_function_beg'
	explictly type as ints instead of defaulting.
	(emit_swap_insn): Remove unused variable 'i2'.
	(compare_for_stack_reg): Remove unused variable 'src_note'.
	* rtlanal.c (computed_jump_p): Remove unused variable 'computed_jump'.
	* sched.c (actual_hazard): Bracket declaration of 'this_cost'.
	* stmt.c (add_case_node): Add parens for assignment used as truth.
	(all_cases_count):  Remove unused variable 'count_high'.
	(mark_seen_cases): Remove unused variable 'i'.
	(check_for_full_enumeration_handling): Remove unused variable 't'.
	Bracket declaration of  'all_values', 'l'.
	* tlink.c: Include <stdlib.h>, <unistd.h>, <string.h>/<strings.h>.
	* varasm.c (assemble_string): Remove unused variable 'i'.
	(immed_double_const): Remove unused variable 'in_current_obstack'.
	(immed_real_const_1): Likewise.
	(output_constant_pool): Remove unreferenced label 'done'.
	(output_constant): Remove unused variable 'x'.
        * i386/i386.h (ENCODE_SECTION_INFO): TREE_PUBLIC is an int, not
        a string.
        * i386/sco5.h (ASM_OUTPUT_ASCII): Add parens for assignment used
        as truth.

From-SVN: r17901
1998-02-13 05:30:56 +00:00
Jason Merrill
bb727b5ae3 [multiple changes]
Tue Nov 25 01:26:55 1997  Bruno Haible <haible@ilog.fr>:

	* dwarf2out.c (ASM_OUTPUT_DWARF_DELTA1): Implement.

Mon Nov 24 22:41:55 1997  Jason Merrill  <jason@yorick.cygnus.com>

	* except.c (get_dynamic_handler_chain): Build up a FUNCTION_DECL.
	* optabs.c (init_optabs): Lose get_dynamic_handler_chain_libfunc.
	* expr.h: Likewise.

From-SVN: r16696
1997-11-25 04:30:38 -05:00
Richard Kenner
8960ab1a98 (chkr_{check_addr,set_right}_libfunc): New definitions.
(chkr_{copy_bitmap,check_exec}_libfunc): Likewise.
(init_optabs): Initialize these chkr_*_libfunc.

From-SVN: r14615
1997-08-02 13:18:49 -04:00
Mike Stump
6e6a07d299 except.c (start_dynamic_handler): Fix so that we can use __builtin_setjmp...
* except.c (start_dynamic_handler): Fix so that we can use
 	__builtin_setjmp, and default to using __builtin_setjmp instead of
 	setjmp.
	* expr.c (expand_builtin_setjmp): New routine, split out from
	existing inline code from expand_builtin.
	(expand_builtin): Split out code into expand_builtin_setjmp.
	* expr.h (expand_builtin_setjmp): Add declaration.
	* libgcc2.c (__sjthrow): Default to using __builtin_setjmp instead
 	of setjmp.
	(__sjpopnthrow): Likewise.
	* optabs.c (init_optabs): Likewise.

From-SVN: r14045
1997-05-07 22:50:11 +00:00
Mike Stump
27a367780a Add setjmp/longjmp exception handling.
From-SVN: r13969
1997-04-23 20:11:52 +00:00
Ian Lance Taylor
bd8c4b14b5 Treat ZERO_EXTEND like SIGN_EXTEND in emit_unop_insn
From-SVN: r13262
1996-12-10 20:56:07 +00:00
Richard Kenner
02214a5c14 (emit_libcall_block): Before adding an REG_EQUAL note, check that it will really apply to a single instruction.
(emit_libcall_block): Before adding an REG_EQUAL note, check that it will
really apply to a single instruction.
(expand_binop, expand_fix): Likewise.

From-SVN: r13005
1996-10-23 10:30:26 -04:00
Torbjorn Granlund
2335740444 (expand_binop): Use new function emit_store_flag_force.
From-SVN: r12988
1996-10-21 22:20:06 +00:00
Richard Kenner
5c0bf7476e (expand_abs): When OP0 and TARGET are the same pseudo register, it is
safe to use TARGET.

From-SVN: r12619
1996-08-11 23:12:40 -04:00
Mike Stump
6adb4e3a29 install EH code
From-SVN: r12549
1996-07-23 20:03:47 +00:00
Mike Stump
0f41302f47 formatting tweaks
From-SVN: r12390
1996-07-03 22:07:53 +00:00
Jeff Law
9725066d7d optabs.c (emit_cmp_insn): Immediately copy the return value from the library call into a pseudo register.
* optabs.c (emit_cmp_insn): Immediately copy the return
        value from the library call into a pseudo register.
        (emit_float_lib_cmp): Likewise.

From-SVN: r11398
1996-03-01 16:00:41 -07:00
Richard Kenner
e18c4cfeb8 Update comments.
From-SVN: r11036
1996-01-17 07:28:48 -05:00
Richard Kenner
3e53ea4860 (expand_fix): Don't copy TARGET to TO if same.
From-SVN: r11017
1996-01-16 08:20:15 -05:00
Richard Kenner
8e1e2862ad (emit_unop_insn): Don't do -fforce-mem for SIGN_EXTEND.
From-SVN: r10872
1995-12-27 15:25:01 -05:00
Richard Kenner
45169d1213 (init_optabs): Initialize clrstr_optab.
From-SVN: r10841
1995-12-24 06:36:32 -05:00
Jim Wilson
48aa02a540 (emit_cmp_insn): Likewise for memcmp and bcmp.
From-SVN: r10809
1995-12-18 18:07:48 -08:00
Richard Kenner
2ad79487e4 (expand_float): Emit missing barrier after unconditional jump.
From-SVN: r10494
1995-10-21 18:17:23 -04:00
Richard Kenner
e99215a3b5 Update FSF address.
From-SVN: r9964
1995-06-15 08:04:37 -04:00
Richard Kenner
f96d689c3e (expand_binop): In last change, don't defererence TARGET if it is 0.
From-SVN: r9877
1995-06-05 09:05:09 -04:00