Commit Graph

24989 Commits

Author SHA1 Message Date
Richard Henderson
bc6c134e71 jump.c (jump_optimize_1): Don't try to duplicate the loop exit test if optimizing for size.
* jump.c (jump_optimize_1): Don't try to duplicate the loop exit
        test if optimizing for size.

From-SVN: r30559
1999-11-17 15:28:50 -08:00
Gerald Pfeifer
00f8656751 Change mail address of Per Bothner to per@bothner.com.
Approved/requested by Per himself.

From-SVN: r30558
1999-11-17 20:23:43 +00:00
Craig Burley
afa6a3e0c7 a bit of a brain-dump from earlier this year
From-SVN: r30557
1999-11-17 13:36:40 -05:00
Mark Mitchell
fc99263b01 Makefile.in (toplev.o): Depend on except.h.
* Makefile.in (toplev.o): Depend on except.h.
	(dwarf2out.o,loop.o,flow.o,haifa-sched.o): Likewise.

From-SVN: r30556
1999-11-17 18:13:01 +00:00
Jan Hubicka
40745eecaf i386.md (divmodsi4): Rewrite to expander.
Mon Nov 15 22:45:39 CET 1999  Jan Hubicka  <hubicka@freesoft.cz>
	* i386.md (divmodsi4): Rewrite to expander.
	(*divmodsi4_nocltd): New.
	(*divmodsi4_cltd): New.
	(divmodsi4 splitter): Handle the case when input comes in edx.
	(udivmodhi4): Do not use constraints in exander.
	(ashrsi3_31): Conditionize by TARGET_USE_CLTD.

From-SVN: r30555
1999-11-17 17:39:18 +00:00
Jason Merrill
75e3fbdfe8 dwarf2out.c (push_decl_scope): Still use decl_scope_depth - 1 for the common case.
* dwarf2out.c (push_decl_scope): Still use decl_scope_depth - 1
	for the common case.

From-SVN: r30554
1999-11-17 12:29:36 -05:00
Jan Hubicka
fcd56b611d Add myself into "write after approval"
From-SVN: r30553
1999-11-17 17:27:30 +00:00
Jeff Law
63ed28c0a1 Daily bump.
From-SVN: r30552
1999-11-17 01:45:07 -07:00
Geoff Keating
9c7acf2f8f u77-test.f (wd): Allow for longer working directory pathnames.
* gcc/testsuite/g77.f-torture/execute/u77-test.f (wd): Allow for longer
working directory pathnames.
* libf2c/libU77/u77-test.f (wd): Allow for longer working directory
pathnames.

From-SVN: r30551
1999-11-17 02:34:15 +00:00
Jakub Jelinek
4dc07bd7c1 explow.c (hard_function_value): Add outgoing argument.
* explow.c (hard_function_value): Add outgoing argument.
        * expr.h (hard_function_value): Declare it.
        * calls.c (expand_call, emit_library_call_value): Update callers.
        * function.c (aggregate_value_p): Ditto.
        (diddle_return_value): Must look at the outgoing registers
        on archs with register windows.

From-SVN: r30550
1999-11-16 09:43:40 -08:00
Jeff Law
95a7b5548c Daily bump.
From-SVN: r30549
1999-11-16 01:45:10 -07:00
Jason Merrill
c95cd22e91 cp-tree.h, decl.c (compute_array_index_type): Make nonstatic.
* cp-tree.h, decl.c (compute_array_index_type): Make nonstatic.
        * pt.c (tsubst, case INTEGER_TYPE): Call it.
        Check uses_template_parms.

From-SVN: r30548
1999-11-16 00:58:53 -05:00
Richard Henderson
63408827c4 ggc-common.c (ggc_print_statistics): Cast size_t to unsigned long for printing.
* ggc-common.c (ggc_print_statistics): Cast size_t to unsigned long
        for printing.
        * ggc.h (struct ggc_statistics): Rearrange elements for better
        packing on 64-bit hosts.
        * lcm.c (compute_laterin): Store a size_t not an int in bb->aux.
        (compute_nearerout): Likewise.

From-SVN: r30547
1999-11-15 20:55:19 -08:00
Richard Henderson
1344f8d5d0 * flow.c (calculate_global_regs_live): Zero bb->aux to begin.
From-SVN: r30546
1999-11-15 20:51:28 -08:00
Richard Henderson
d4b15af97b alpha.c (alpha_build_va_list): Use make_lang_type and initialize TYPE_NAME for the va_list record.
* alpha.c (alpha_build_va_list): Use make_lang_type and
        initialize TYPE_NAME for the va_list record.

From-SVN: r30545
1999-11-15 20:47:55 -08:00
Mark Mitchell
58595203f2 cp-tree.h (build_enumerator): Change prototype.
* cp-tree.h (build_enumerator): Change prototype.
	* decl.c (enum_next_value): Remove.
	(enum_overflow): Likewise.
	(init_decl_processing): Don't register enum_next_value as a root.
	(start_enum): Clear TYPE_VALUES for a redefined enum.
	(finish_enum): Reset the type of enumeration constants.
	(build_enumerator): Fix indentation.  Don't copy CONST_DECLs when
	we don't need to.  Maintain the TYPE_VALUES list and look there
	for the previously defined enumeration constant.  Let enumeration
	constants have the type of their values until the enumeration type
	is complete.
	* parse.y (enumlist_opt, enumlist, enumerator): Don't return a value.
	(structsp): Adjust.
	* parse.c: Regenerated.
	* pt.c (tsubst_enum): Adjust according to build_enumerator changes.

From-SVN: r30544
1999-11-16 03:42:28 +00:00
Mark Mitchell
ff9655e94b New test
From-SVN: r30543
1999-11-16 03:41:13 +00:00
Geoff Keating
a38d360d6b rs6000.c (first_reg_to_save): Save PIC_OFFSET_TABLE_REGNUM when -fpic even though it is fixed.
* config/rs6000/rs6000.c (first_reg_to_save): Save
PIC_OFFSET_TABLE_REGNUM when -fpic even though it is fixed.

From-SVN: r30542
1999-11-16 03:40:16 +00:00
Jason Merrill
ae673f1403 class.c (finish_struct): If we're a local class in a template function, add a TAG_DEFN.
* class.c (finish_struct): If we're a local class in a template
        function, add a TAG_DEFN.
        * pt.c (lookup_template_class): If this is a local class in a
        template function, call pushtag.
        (tsubst_expr, case TAG_DEFN): Handle classes, too.

        Emit debug info with the vtable.
        * search.c (maybe_suppress_debug_info): New function...
        * class.c (finish_struct_1): ...split out from here.
        * cp-tree.h: Declare it.
        * decl2.c (finish_vtable_vardecl): Override TYPE_DECL_SUPPRESS_DEBUG
        if we're writing out the vtable.
        * decl.c, search.c (dfs_debug_mark, dfs_debug_unmarked_p,
        note_debug_info_needed): #if 0 out.

From-SVN: r30541
1999-11-15 20:37:39 -05:00
Jason Merrill
348bb3c7ed dwarf2out.c (scope_die_for): Don't rely on the decl_scope_table notion of nesting to find the DIE for a type...
* dwarf2out.c (scope_die_for): Don't rely on the decl_scope_table
        notion of nesting to find the DIE for a type or function.
        DIEs can go in limbo even if we got a context_die.
        (push_decl_scope): Our context doesn't need to be in decl_scope_table.
        (gen_struct_or_union_type_die): Don't use TREE_PERMANENT to test
        for local type.
        (gen_decl_die): Ignore NAMESPACE_DECLs for now.
        (gen_type_die): Writing out the context doesn't cause member class
        template instantiations to be written out as well.

From-SVN: r30540
1999-11-15 19:13:51 -05:00
Richard Henderson
290ad3550b rs6000.h (ASM_OUTPUT_DEF): New.
* rs6000.h (ASM_OUTPUT_DEF): New.
        Based on proposed addition from David Edelsohn.

From-SVN: r30539
1999-11-15 15:40:14 -08:00
Robert Lipe
86765ca02c SVR5 Byteorder fixes
Co-Authored-By: Bruce Korb <autogen@linuxbox.com>

From-SVN: r30538
1999-11-15 14:47:53 +00:00
David O'Brien
e1459ff820 configure.in: Handle libgcc2 threads support on FreeBSD platforms.
* configure.in: Handle libgcc2 threads support on FreeBSD platforms.
        * configure: Rebuilt.
        * config/t-freebsd-thread: New file.

From-SVN: r30537
1999-11-15 02:11:42 -07:00
Jeffrey A Law
329e1d019a i386.c (ix86_decompose_address): Verify the base is a REG before trying to examine its register number.
* i386.c (ix86_decompose_address): Verify the base is a REG
        before trying to examine its register number.

From-SVN: r30536
1999-11-15 02:06:12 -07:00
H.J. Lu
aff555c5de * Makefile.in ($(OBJS)): Depend on stamp-picdir.
From-SVN: r30535
1999-11-15 02:01:55 -07:00
Jeff Law
f507211e3c Revert last change.
Revert last change.  HJ's message meant "code like this already exists
in libiberty/libio", not "code like this needs to be added to libiberty/libio".

What a waste of my time.

From-SVN: r30534
1999-11-15 02:01:30 -07:00
Jeffrey A Law
ecc45b285a * Makefile.in (LIBOBJS): Depend on stamp-picdir.
From-SVN: r30533
1999-11-15 01:59:33 -07:00
Jeff Law
b94bff8d1d Daily bump.
From-SVN: r30532
1999-11-15 01:45:07 -07:00
Jeffrey A Law
6b8cf0c57c basic-block.h: Remove all #defines and prototypes related to integer lists.
* basic-block.h: Remove all #defines and prototypes related to
        integer lists.
        (free_bb_mem, compute_preds_succs): Remove prototype.
        * rtl.h (free_bb_mem): Remove prototype.
        * flow.c (alloc_int_list_node); Remove function.
        (add_inst_list_node, free_int_list, add_pred_succ): Likewise.
        (compute_preds_succs, free_bb_mem): Likewise.
        * gcse.c (gcse_main): Do not call free_bb_mem anymore.
        * toplev.c (rest_of_compilation): Likewise.
        * haifa-sched.c (build_control_flow): Use flow generated edge
        list to build the haifa specific edge list.
        (find_rgns): Use new CFG data structures instead of pred/succ lists.
        (schedule_insns): Do not build pred/succ lists anymore.  Instead
        build the edge table.

From-SVN: r30531
1999-11-15 01:12:29 -07:00
Jeffrey A Law
38e90e6c3b basic-block.h (dump_bb_data): Remove declaration.
* basic-block.h (dump_bb_data): Remove declaration.
        * flow.c (dump_bb_data): Remove function.
        * sbitmap.c (sbitmap_intersect_of_predsucc): Delete function.
        (sbitmap_union_of_predsucc): Likewise.

From-SVN: r30530
1999-11-15 00:01:22 -07:00
Jeffrey A Law
b71a2ff8fc gcse.c (delete_null_pointer_checks_1): Kill unused s_preds argument.
* gcse.c (delete_null_pointer_checks_1): Kill unused s_preds
        argument.  All callers changed.
        (delete_null_pointer_checks_1): No longer need to compute the
        pred/succ lists.

From-SVN: r30529
1999-11-14 23:18:36 -07:00
Jeffrey A Law
89e606c966 gcse.c (pre_expr_reaches_here_p): Kill CHECK_PRE_COM argument.
* gcse.c (pre_expr_reaches_here_p): Kill CHECK_PRE_COM argument.
        All callers changed.
        (pre_expr_reaches_here_p_work): Likewise.
        (pre_edge_insert): No longer call pre_expr_reaches_here_p.
        * lcm.c (compute_laterin): Fix initialization of LATER.
        (compute_nearerout): Similarly for NEARER.

From-SVN: r30528
1999-11-14 23:12:50 -07:00
Mark Mitchell
cd9f6678b3 cp-tree.h (DECL_LOCAL_FUCNTION_P): New macro.
* cp-tree.h (DECL_LOCAL_FUCNTION_P): New macro.
	* call.c (equal_functions): Use DECL_LOCAL_FUCNTION_P, not
	TREE_PERMANENT.
	* decl.c (pushdecl): Set DECL_LOCAL_FUNCTION_P.
	* decl2.c (lookup_arg_dependent): Use it.

	* cp-tree.h (cp_finish_decl): Change prototype.
	(finish_static_data_member_decl): Likewise.
	(push_permanent_obstack): Remove declaration.
	(push_expression_obstack): Likewise.
	(push_scratch_obstack): Likewise.
	(DECL_TEMPLATE_PARM_P): Robustify.
	(SET_DECL_TEMPLATE_PARM_P): New macro.
	* class.c (add_method): Don't manipulate obstacks.
	(finish_vtbls): Likewise.
	* cvt.c (build_up_reference): Adjust calls to cp_finish_decl.
	* decl.c (binding_for_name): Don't manipulate obstacks.
	(maybe_push_to_top_level): Likewise.
	(pop_from_top_level): Likewise.
	(duplicate_decls): Likewise.
	(pushdecl): Likewise.
	(implicitly_declare): Likewise.
	(build_typename_type): Likewise.
	(start_decl): Likewise.
	(cp_finish_decl): Likewise.
	(finish_decl): Likewise.
	(destroy_local_static): Likewise.
	(expand_static_init): Likewise.
	(complete_array_type): Likewise.
	(grokvardecl): Likewise.
	(build_ptrmemfnc_type): Likewise.
	(grokdeclarator): Likewise.
	(xref_tag): Likewise.
	(xref_basetypes): Likewise.
	(start_enum): Likewise.
	(finish_enum): Likewise.
	(start_function): Likewise.
	(finish_function): Likewise.
	(start_method): Adjust call to cp_finish_decl.
	* decl2.c (finish_static_data_member_decl): Don't manipulate
	obstacks.
	(grokfield): Likewise.
	(grokbitfield): Likewise.
	(get_temp_name): Likewise.
	(get_sentry): Likewise.
	(fnish_file): Likewise.
	(lookup_arg_dependent): Likewise.
	* except.c (call_eh_info): Likewise.
	(push_eh_info): Likewise.
	(do_pop_exception): Likewise.
	(initialize_handler_parm): Likewise.
	(expand_end_eh_spec): Likewise.
	(alloc_eh_object): Likewise.
	(expand_throw): Likewise.
	* expr.c (extract_scalar_init): Likewise.
	* init.c (build_java_class_ref): Likewise.
	* lex.c (get_time_identifier): Likewise.
	(snarf_defarg): Likewise.
	(add_defarg_fn): Likewise.
	(is_global): Simplify.
	(do_identifier): Don't check TREE_PERMANENT.
	* method.c (emit_thunk): Don't manipulate obstacks.
	* parse.y (condition): Adjust call to cp_finish_decl.
	(primary): Likewise.
	(initdcl): Likewise.
	(initdcl0_innards): Likewise.
	(nomods_initdcl0): Likewise.
	* pt.c (push_inline_template_parms_recursive): Use
	SET_DECL_TEMPLATE_PARM_P.
	(process_template_parm): Likewise.
	(lookup_template_class): Don't manipulate obstacks.
	(instantiate_class_template): Adjust call to
	finish_static_data_member_decl.
	(tsubst_decl): Don't manipulate obstacks.
	(tsubst_expr): Likewise.
	(instantiate_template): Likewise.
	(instantiate_decl): Adjust calls to cp_finish_decl.
	* rtti.c (call_void_fn): Don't manipulate obstacks.
	(get_tinfo_var): Likewise.
	(get_tinfo_fn_unused): Likewise.
	(build_dynamic_cast_1): Likewise.
	(expand_si_desc): Likewise.
	(expand_class_desc): Likewise.
	(expand_ptr_desc): Likewise.
	(expand_attr_desc): Likewise.
	(expand_generic_desc): Likewise.
	(synthesize_tinfo_fn): Likewise.
	* search.c (expand_upcast_fixups): Likewise.
	* semantics.c (finish_asm_stmt): Likewise.
	(finish_named_return_value): Likewise.
	(begin_class_definition): Likewise.
	(finish_class_definition): Likewise.
	(finish_typeof): Likewise.
	* tree.c (build_cplus_method_type): Likewise.
	(reverse_path): Likewise.
	(copy_template_template_parm): Likewise.
	(build_expr_ptr_wrapper): Likewise.
	(push_expression_obstack): Remove.
	(push_permanent_obstack): Likewise.
	* typeck.c (mark_addressable): Likewise.

From-SVN: r30527
1999-11-14 20:29:06 +00:00
Bernd Schmidt
ef835bb0c3 Delete two unused functions
From-SVN: r30526
1999-11-14 11:45:55 +00:00
Jeff Law
6d6ce8b210 Daily bump.
From-SVN: r30525
1999-11-14 01:45:07 -07:00
Mark Mitchell
c506ca222b call.c (build_conditional_expr): Use build_target_expr_with_type.
* call.c (build_conditional_expr): Use build_target_expr_with_type.
	(convert_like): Likewise.
	(build_over_call): Likewise.
	* cp-tree.h (build_target_expr): Remove.
	(build_target_expr_with_type): New function.
	* cvt.c (build_up_reference): Use get_target_expr.
	* decl.c (build_target_expr): Move to ...
	* tree.c (build_target_expr): Here.  Make it static.
	(build_target_expr_with_type): New function.  Set DECL_CONTEXT on
	the temporary VAR_DECLs.
	(get_target_expr): Use it.

From-SVN: r30524
1999-11-14 05:04:19 +00:00
Jason Merrill
794d4a61f8 decl.c (duplicate_decls): Propagate DECL_DEFER_OUTPUT.
* decl.c (duplicate_decls): Propagate DECL_DEFER_OUTPUT.
	* decl2.c (comdat_linkage): Set DECL_DEFER_OUTPUT.
	* rtti.c (get_tinfo_fn_unused): Split out from get_tinfo_fn.
	* class.c (set_rtti_entry): Use it.

From-SVN: r30523
1999-11-13 04:39:11 -05:00
Jeff Law
78df89edfa Daily bump.
From-SVN: r30522
1999-11-13 01:45:06 -07:00
Mike Stump
a991240f97 Fix typo.
From-SVN: r30521
1999-11-13 06:53:03 +00:00
Mark Mitchell
364460b6fb decl.c (cplus_expand_expr_stmt): Don't call break_out_cleanups here.
* decl.c (cplus_expand_expr_stmt): Don't call break_out_cleanups
	here.
	* semantics.c (finish_expr_stmt): Call it here instead.  Move
	default_conversion logic to semantic-analysis time.

From-SVN: r30520
1999-11-13 04:48:05 +00:00
Jeffrey A Law
2cfcc23e7f function.c (diddle_return_value): Set REG_FUNCTION_VALUE_P as needed.
* function.c (diddle_return_value): Set REG_FUNCTION_VALUE_P as
        needed.

From-SVN: r30519
1999-11-12 20:54:56 -07:00
Zack Weinberg
283bd699e3 Fix misspelled name
From-SVN: r30518
1999-11-13 03:23:07 +00:00
Zack Weinberg
c2b8394607 Test for optimizer bug with -finline-functions.
Reported by Jim Meyering; distilled from bash.

From-SVN: r30517
1999-11-13 03:22:35 +00:00
Michael Hayes
3db377a9b3 defaults.h (ASM_OUTPUT_ALTERNATE_LABEL_NAME): Wrap macro definition in do while (0).
* defaults.h (ASM_OUTPUT_ALTERNATE_LABEL_NAME): Wrap macro
 	definition in do while (0).

From-SVN: r30516
1999-11-13 03:22:26 +00:00
Jim Wilson
2f985ca642 Fix another gcc2 merge problem: fix switch statement ISO C conformancs bug
Fix another gcc2 merge problem: fix switch statement ISO C conformancs bug
	* stmt.c (pushcase, pushcase_range): Partially revert Oct 28 change.

From-SVN: r30515
1999-11-12 17:04:19 -08:00
Jason Merrill
3fa4114a49 * rtti.c (synthesize_tinfo_fn): Set DECL_DEFER_OUTPUT.
From-SVN: r30514
1999-11-12 17:25:42 -05:00
Richard Henderson
1953b2a3b1 * unroll.c (unroll_loop): Make temp an unsigned HOST_WIDE_INT.
From-SVN: r30513
1999-11-12 12:44:13 -08:00
Vladimir Makarov
11a6bfd046 Removing one unnecessary comment. It should be in the previous i960.h patch.
From-SVN: r30512
1999-11-12 20:28:43 +00:00
Vladimir Makarov
bcf783f48c i960.h (CAN_DEBUG_WITHOUT_FP): Don't define it.
Fri Nov 12 15:14:19 1999  Vladimir Makarov  <vmakarov@tofu.to.cygnus.com>

	* i960.h (CAN_DEBUG_WITHOUT_FP): Don't define it.
	(FRAME_POINTER_REQUIRED): Don't worry about nonlocal goto.
	(ELIMINABLE_REGS, CAN_ELIMINATE, INITIAL_ELIMINATION_OFFSET): New.
	(INITIAL_FRAME_POINTER_OFFSET): Remove it.

	* i960.c (i960_function_prologue): Don't allocate space for g8-g11
 	saved on the stack.  Output more accurate stack frame statistics
	into assembler file.

From-SVN: r30511
1999-11-12 20:26:29 +00:00
Diego Novillo
3ca7341a22 init.c (init_init_processing): Re-instated Nov 11 patch after approval.
* init.c (init_init_processing): Re-instated Nov 11 patch after
	approval.

From-SVN: r30510
1999-11-12 14:59:01 -05:00