Commit Graph

25578 Commits

Author SHA1 Message Date
Jakub Jelinek
8b725198ed * expr.c (emit_group_load): Use dst mode if src is VOIDmode.
From-SVN: r30960
1999-12-15 17:36:26 +01:00
Jan Hubicka
a087165623 function.c (PREFERRED_STACK_BOUDNARY): Provide default value.
* function.c (PREFERRED_STACK_BOUDNARY): Provide default value.
	(assign_stack_local_1): Limit alignment to PREFERRED_STACK_BOUNDARY,
	update stack_alignment_needed.
	(prepare_function_start): Initialize stack_alignment_needed
	* function.h (struct function): Add field stack_alignment_needed.

From-SVN: r30958
1999-12-15 15:34:03 +00:00
J"orn Rennecke
285f3cf09a caller-save.c (insert_one_insn): Returns struct insn_chain *.
* caller-save.c (insert_one_insn): Returns struct insn_chain *.
	Handle live_throughout / dead_or_set instead of live_before /
	live_after.
	(save_call_clobbered_regs): Get register livenessinformation from
	chain->live_throughout.
	(add_stored_regs): New function.
	(insert_restore, insert_save): Add restored / saved registers to
	dead_or_set.
	* global.c (reg_dies): New parameter chain.
	(reg_becomes_live): Third parameter is regs_set now.
	Changed all callers.
	(reg_dies): New parameter chain.  Changed all callers.
	(build_insn_chain): Set live_throughout instead of
	live_before / live_after.
	* reload.h (struct insn_chain): Replace members live_before /
	live_after with live_throughout / dead_or_set.
	* reload1.c (new_insn_chain): Handle live_throughout / dead_or_set
	instead of live_before / live_after.
	(maybe_fix_stack_asms, find_reload_regs, finish_spills): Likewise.
	(order_regs_for_reload, find_reg, finish_spills): Likewise.
	(choose_reload_regs_init): Likewise.
	* stupid.c (current_chain, find_clobbered_regs): Delete.
	(stupid_life_analysis): Set chain->live_throughout chain->dead_or_set
	instead of chain->live_before / chain->live_after.
	(mark_hard_ref): New function.
	(stupid_mark_refs): Call mark_hard_ref. Clear chain->live_throughout.

From-SVN: r30957
1999-12-15 14:57:29 +00:00
David S. Miller
4940cd6041 rtlanal.c (reg_overlap_mentioned_p): Handle CONCAT.
1999-12-15  David S. Miller  <davem@redhat.com>

	* rtlanal.c (reg_overlap_mentioned_p): Handle CONCAT.

From-SVN: r30956
1999-12-15 06:33:50 -08:00
Jan Hubicka
35836a43fa flow.c (calculate_loop_depth): Make global, remove prototype, rewrite to use new loop infrastructure.
* flow.c (calculate_loop_depth): Make global, remove prototype,
	rewrite to use new loop infrastructure.
	(find_basic_block): Remove calculate_loop_depth call.
	* toplev.c (rest_of_compilation): Call find_basic_block.
	* output.h (calculate_loop_depth): Declare.

From-SVN: r30955
1999-12-15 14:17:59 +00:00
Jan Hubicka
ce4bbac71c flow.c (dump_flow_info): Dump loop_depth.
* flow.c (dump_flow_info): Dump loop_depth.
	(flow_loop_nodes_find): Increase loop_depth for basic block in the
	body.
	(flow_loop_find): Initialize the loop_depth for each basic block.

From-SVN: r30954
1999-12-15 14:09:52 +00:00
Nathan Sidwell
41bd0db1f0 * g++.old-deja/g++.warn/cast-align1.C: New test.
From-SVN: r30953
1999-12-15 12:40:30 +00:00
Nathan Sidwell
8be7ab5d48 typeck.c (build_c_cast): Expand warning message.
* typeck.c (build_c_cast): Expand warning message. Move pointer
	alignment warning to after the cast. Don't warn about pointer
	alignment when given a pointer to incomplete.
fix cut-n-paste error on 1999-12-09  Andreas Jaeger and
1999-12-09  Mark Mitchell (was 11999 & 999)

From-SVN: r30952
1999-12-15 12:39:02 +00:00
Richard Henderson
33848bb028 cp-tree.h (make_aggr_type): Declare.
* cp-tree.h (make_aggr_type): Declare.
        * lex.c (cp_make_lang_type): Don't SET_IS_AGGR_TYPE.
        (make_aggr_type): New.

        * decl.c (build_typename_type, init_decl_processing): Use it.
        (build_ptrmemfunc_type, xref_tag): Likewise.
        * except.c (call_eh_info): Likewise.
        * init.c (init_init_processing): Likewise.
        * pt.c (process_template_parm, lookup_template_class): Likewise.
        * rtti.c (expand_class_desc): Likewise.
        * semantics.c (begin_class_definition, finish_typeof): Likewise.
        * tree.c (copy_template_template_parm): Likewise.

From-SVN: r30951
1999-12-15 01:51:24 -08:00
Jason Merrill
6ff7fb9572 tree.c (decl_function_context): Handle virtual functions.
* tree.c (decl_function_context): Handle virtual functions.

        * tlink.c (scan_linker_output): Don't look in demangled name when
        looking for linker output keywords.

        * dwarfout.c (output_type): We can defer namespace-scope classes.

From-SVN: r30950
1999-12-15 04:37:48 -05:00
Jason Merrill
04a2ecf780 cp-tree.def (TEMPLATE_PARM_INDEX): Calculate size using sizeof (struct tree_common).
* cp-tree.def (TEMPLATE_PARM_INDEX): Calculate size using
	sizeof (struct tree_common).

From-SVN: r30949
1999-12-15 04:18:21 -05:00
Jason Merrill
03c3ba3937 Makefile.in (MYCXXFLAGS): Include $(CXXFLAGS).
* Makefile.in (MYCXXFLAGS): Include $(CXXFLAGS).
        (MYCFLAGS): Include $(CFLAGS).

From-SVN: r30948
1999-12-15 04:13:57 -05:00
Jason Merrill
3eea0202cd filedoalloc.c, [...]: Remove advertising clause from BSD license, pursuant with
* filedoalloc.c, floatio.h, iovfprintf.c, iovfscanf.c: Remove
        advertising clause from BSD license, pursuant with

          ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change

From-SVN: r30947
1999-12-15 04:13:06 -05:00
Jason Merrill
1ae8994fb3 dwarf2out.c (add_abstract_origin_attribute): Do call abort if the abstract origin wasn't emitted.
* dwarf2out.c (add_abstract_origin_attribute): Do call abort if
        the abstract origin wasn't emitted.

From-SVN: r30946
1999-12-15 04:05:18 -05:00
Jason Merrill
8cb360d3a2 optimize.c (expand_call_inline): Set BLOCK_ABSTRACT_ORIGIN on the outermost block to point to the inlined...
* optimize.c (expand_call_inline): Set BLOCK_ABSTRACT_ORIGIN on the
        outermost block to point to the inlined function decl.

From-SVN: r30945
1999-12-15 04:03:06 -05:00
Jeff Law
6ae63bcd1f Daily bump.
From-SVN: r30944
1999-12-15 01:45:06 -07:00
Jeffrey A Law
accef10312 regclass.c (record_reg_classes): Update comment for merging register class preferences in reg->reg copies.
* regclass.c (record_reg_classes): Update comment for merging
        register class preferences in reg->reg copies.  Tighten conditions
        for merging register class preferences in reg->reg copies.

From-SVN: r30943
1999-12-15 01:29:37 -07:00
Martin v. Löwis
705e873389 strstream.h (strstreambuf::streambuf): Rename parameters to avoid shadow warning.
* strstream.h (strstreambuf::streambuf): Rename parameters to
	avoid shadow warning.
	* stream.h (WS): Likewise.

From-SVN: r30941
1999-12-15 07:46:36 +00:00
Martin v. Löwis
035f4506b1 back out unrelated patch to std:: qualify reverse_iterator
From-SVN: r30940
1999-12-15 07:43:22 +00:00
Martin v. Löwis
355e94aaeb bastring.h (basic_string::basic_string): Rename parameters to avoid shadow warnings.
* std/bastring.h (basic_string::basic_string): Rename parameters
	to avoid shadow warnings.
	* std/bastring.cc (alloc): Likewise.

From-SVN: r30938
1999-12-15 07:37:36 +00:00
David Edelsohn
fd2a10921e * rs6000.md (tablejumpdi): Generate DImode LABEL_REF.
From-SVN: r30936
1999-12-15 02:24:19 -05:00
Jason Merrill
d67cdbc3fd error.c (dump_decl): operator==, not operator ==.
* error.c (dump_decl): operator==, not operator ==.
        (op_to_string): Likewise.

        * decl.c (compute_array_index_type): Handle null name.

        * decl2.c (ambiguous_decl): Fix to match comment.
        (lookup_using_namespace): Adjust.

        * decl2.c (import_export_class): Don't ignore dllimport.

From-SVN: r30935
1999-12-14 20:34:16 -05:00
Mark Mitchell
08b962b08b class.c (check_field_decls): Split out from ...
* class.c (check_field_decls): Split out from ...
	(finish_struct_1): ... here.  Use it.  Tidy.

From-SVN: r30934
1999-12-15 00:36:57 +00:00
Geoff Keating
f4f1acad85 m68020-elf.h (ENDFILE_SPEC): Delete.
* config/m68k/m68020-elf.h (ENDFILE_SPEC): Delete.
(INIT_SECTION_ASM_OP): Delete.
(FINI_SECTION_ASM_OP): Delete.
(STARTFILE_SPEC): Define to hold just crtbegin.o.

From-SVN: r30933
1999-12-14 23:14:42 +00:00
David S. Miller
933108bc9e List Jakub as Sparc co-maintainer.
From-SVN: r30932
1999-12-14 15:10:04 -08:00
Jason Merrill
9765e35715 dwarf2out.c (class_scope_p): New fn.
* dwarf2out.c (class_scope_p): New fn.
        (gen_subprogram_die): Use it.
        (gen_variable_die): Use it.  Tweak logic.
        (gen_struct_or_union_type_die): Check context_die to determine
        if we're function-local.
        (dwarf2out_decl): Check DECL_BUILT_IN, not DECL_FUNCTION_CODE.

From-SVN: r30931
1999-12-14 18:05:11 -05:00
Per Bothner
cf69bfbf38 re GNATS gcj/110 (don't exclude private methods from method table when optimizing)
Tue Dec 14 14:20:16 1999  Per Bothner  <per@bothner.com>

	* class.c (make_class_data): flag_keep_inline_functions to keep
	private methods in the method array.

(This is a fix to the Java PR #110:
  http://sourceware.cygnus.com/ml/java-prs/1999-q4/msg00179.html)

From-SVN: r30930
1999-12-14 14:25:37 -08:00
Bernd Schmidt
6979065c16 Avoid reversing bivs with maybe_multiple set.
From-SVN: r30929
1999-12-14 19:54:41 +00:00
Nick Clifton
a120a3bd97 Add support for -mcpu=arm720 cmmand line switch
From-SVN: r30928
1999-12-14 19:42:58 +00:00
J"orn Rennecke
e1bb2458c4 loop.c (strength_reduce): Fix sign of giv lifetime calculation for givs made from biv increments.
* loop.c (strength_reduce): Fix sign of giv lifetime calculation
	for givs made from biv increments.

From-SVN: r30927
1999-12-14 19:18:50 +00:00
Mark Mitchell
d7d5e42f2d cp-tree.h (remap_save_expr): Add walk_subtrees parameter.
* cp-tree.h (remap_save_expr): Add walk_subtrees parameter.
	* optimize.c (copy_body_r): Pass it.
	* tree.c (remap_save_expr): Clear walk_subtrees for an
	already-handled SAVE_EXPR.
	(cp_unsave_r): Pass walk_subtrees to remap_save_expr.

From-SVN: r30926
1999-12-14 18:52:40 +00:00
Mark Mitchell
89c6e7ac34 dump.c (dequeue_and_dump): Dump DECL_NAMESPACE_ALIAS.
* dump.c (dequeue_and_dump): Dump DECL_NAMESPACE_ALIAS.
	* ir.texi (DECL_NAMESPACE_ALIAS): Document it.

	* error.c (dump_expr): Handle EXPR_WITH_FILE_LOCATION.

From-SVN: r30925
1999-12-14 18:11:32 +00:00
Jakub Jelinek
9ac190b54e linux64.h (DEFAULT_VTABLE_THUNKS): Define to 1.
* config/sparc/linux64.h (DEFAULT_VTABLE_THUNKS): Define to 1.
	(ASM_IDENTIFY_GCC): Remove.

From-SVN: r30924
1999-12-14 17:19:53 +01:00
Richard Henderson
d8ee3e20a0 configure.in (alpha-osf, [...]): Handle ev6[78].
* configure.in (alpha-osf, alpha-linux): Handle ev6[78].
        * alpha.c (override_options): Recognize -mcpu=ev67.
        * alpha.h (CPP_CPU_EV67_SPEC): New.
        (CPP_CPU_DEFAULT_SPEC): Examine TARGET_CPU_DEFAULT to use it.
        (EXTRA_SPECS): Update.

From-SVN: r30923
1999-12-14 08:14:29 -08:00
Richard Henderson
c2f5d0304c config.guess (alpha-osf, [...]): Detect ev67.
* config.guess (alpha-osf, alpha-linux): Detect ev67.
        * config.sub: Accept alphaev[78], alphaev8.

From-SVN: r30922
1999-12-14 08:10:58 -08:00
Richard Henderson
223dca6a20 cppp.c (main): Set trigraphs and __STRICT_ANSI__ as appropriate for -lang-c89 and -std=*.
* cppp.c (main): Set trigraphs and __STRICT_ANSI__ as
        appropriate for -lang-c89 and -std=*.
        * cppinit.c (cpp_handle_option): Likewise.
        (new_pending_define): New, split out from cpp_handle_option.
        * gcc.c (default_compilers): Don't define __STRICT_ANSI__
        or enable trigraphs for -ansi/-std=*.

        * ginclude/stdarg.h (__va_copy): New.
        (va_copy): Don't define for C89.

From-SVN: r30921
1999-12-14 08:05:23 -08:00
Clinton Popetz
9e3fc4303e arm.md (mulsidi3adddi, [...]): New patterns for long long multiply-accumulate.
* config/arm/arm.md (mulsidi3adddi, umulsidi3adddi): New patterns
	for long long multiply-accumulate.

From-SVN: r30919
1999-12-14 09:48:18 -05:00
Jan Hubicka
2f12c89d4c regclass.c (scan_one_insn): Set loop_cost to 1 when optimizing for size.
* regclass.c (scan_one_insn): Set loop_cost to 1 when
	optimizing for size.

From-SVN: r30918
1999-12-14 12:56:06 +00:00
Jakub Jelinek
afdac90584 xm-sp64.h: Avoid using __sparc_v9__ when testing for sparc64.
* config/sparc/xm-sp64.h: Avoid using __sparc_v9__ when testing
	for sparc64.
	* config/sparc/sparc.h: Likewise.
	* config/sparc/xm-sysv4-64.h: Likewise.
	* config/float-sparc.h: Likewise.
	* glimits.h: Likewise.
	* longlong.h: Likewise.

From-SVN: r30917
1999-12-14 13:53:39 +01:00
Jakub Jelinek
a330e73b14 sparc.h (SPARC_DEFAULT_CMODEL): Default to CM_32.
* config/sparc/sparc.h (SPARC_DEFAULT_CMODEL): Default to CM_32.
	(CONDITIONAL_REGISTER_USAGE): For block profiling fix %g4 on sparc64,
	not %g2.
	(MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Use %g4 instead of %g2
	as sparc64 block profiling register.
	* config/sparc/sparc.c (sparc_override_options): Allow block
	profiling with -m32.
	(sparc_block_profiler): Use %g4 instead of %g2 as sparc64 block
	profiling register.
	* config/sparc/linux64.h (MACHINE_STATE_*): Only provide these
	macros on TARGET_ARCH32. sparc.h has macros good enough for sparc64.
	* config/sparc/sol2.h (MACHINE_STATE_*): Likewise.

From-SVN: r30916
1999-12-14 13:47:01 +01:00
Bernd Schmidt
e483bf9c62 Undo one misguided optimization attempt in previous change.
From-SVN: r30915
1999-12-14 12:40:02 +00:00
Bernd Schmidt
0a326ec99a Run reg_scan_update to get information about regs created by loop.
From-SVN: r30914
1999-12-14 12:34:54 +00:00
Jan Hubicka
0dc0641b04 regclass.c (record_reg_classes): Do not do the copying preferrencing when source does not die.
* regclass.c  (record_reg_classes): Do not do the copying preferrencing
	when source does not die.

From-SVN: r30913
1999-12-14 11:10:11 +00:00
Jan Hubicka
d5e2075dbf * regclass.c (record_reg_classes): Handle INOUT operands propertly.
From-SVN: r30912
1999-12-14 11:08:22 +00:00
Jakub Jelinek
5a5e9ce690 linux64.h (TARGET_LIVE_G0, [...]): Don't support weird SPARC variants on Linux.
* config/sparc/linux64.h (TARGET_LIVE_G0,
	TARGET_BROKEN_SAVERESTORE): Don't support weird SPARC
	variants on Linux.
	* config/sparc/linux.h (TARGET_LIVE_G0,
	TARGET_BROKEN_SAVERESTORE): Likewise.
	* config/sparc/linux-aout.h (TARGET_LIVE_G0,
	TARGET_BROKEN_SAVERESTORE): Likewise.

From-SVN: r30911
1999-12-14 11:26:44 +01:00
Bernd Schmidt
3749f4ca8e Avoid making shared rtl.
From-SVN: r30910
1999-12-14 10:23:02 +00:00
Bernd Schmidt
956568cd6b New testcases.
From-SVN: r30909
1999-12-14 10:13:57 +00:00
Bernd Schmidt
468644e65c New testcase
From-SVN: r30908
1999-12-14 10:01:23 +00:00
Jakub Jelinek
14d01c31bf * target.h: Handle sparc64 the same way as alpha.
From-SVN: r30907
1999-12-14 09:53:53 +01:00
Jakub Jelinek
d5191c94d1 bastring.h (class basic_string::Rep): Use proper defines for sparc v9 and fix asm for sparc64.
* std/bastring.h (class basic_string::Rep): Use proper defines
	for sparc v9 and fix asm for sparc64.

From-SVN: r30906
1999-12-14 09:48:11 +01:00