Commit Graph

25390 Commits

Author SHA1 Message Date
Jan Hubicka
4cbfbb1bbb i386.md (movqi): Use "nonimmediate_operand" for output operand.
* i386.md (movqi): Use "nonimmediate_operand" for output operand.
	(movstrictqi, movdi, movsf, movdf, movxf): Likewise.
	(adddi, addqi, addhi, subdi, subqi, subhi, ffs): Likewise.

From-SVN: r30972
1999-12-16 09:50:17 +00:00
Jeffrey A Law
df55ea0914 * profile.c: Remove redundant #include "output.h".
From-SVN: r30971
1999-12-16 02:46:28 -07:00
Richard Henderson
0bd4b46174 combine.c (simplify_comparison): Reduce (OP (MINUS A B) 0) to (OP A B).
* combine.c (simplify_comparison): Reduce (OP (MINUS A B) 0)
        to (OP A B).

From-SVN: r30970
1999-12-16 02:42:57 -07:00
Jeffrey A Law
41adf8980c * h8300.md (HImode preinc peephole): Fix typo.
From-SVN: r30969
1999-12-16 02:27:51 -07:00
Jeff Law
1f7c249a1a Daily bump.
From-SVN: r30968
1999-12-16 01:45:07 -07:00
Michael Meissner
0b1f07255c Add new tests for long long spanning reg/stack
From-SVN: r30967
1999-12-16 06:13:46 +00:00
Mark Mitchell
58010b57a6 class.c (handle_using_decl): Get TYPE_FIELDS and TYPE_METHODS out of the class...
* class.c (handle_using_decl): Get TYPE_FIELDS and TYPE_METHODS
	out of the class, rather than taking them as parameters.
	(build_vbase_pointer_fields): Move here from tree.c.
	(build_vtbl_or_vbase_field): New function.
	(check_methods): Likewise.
	(remove_zero_width_bitfields): Likewise.
	(add_virtual_function): Use tree_cons instead of temp_tree_cons.
	(delete_duplicate_fields_1): Tidy.  Don't delete duplicate
	USING_DECLs here.
	(finish_struct_methods): Handle the case where there are no
	methods here.
	(get_basefndecls): Use tree_cons instead of temp_tree_cons.
	(check_field_decls): Call delete_duplicate_fields here.
	(finish_struct_1): Tidy.  Use check_methods and
	remove_zero_width_bitfields.
	* cp-tree.h (build_vbase_pointer_fields): Remove.
	* decl.c (grokdeclarator): Use tree_cons instead of
	temp_tree_cons.
	* decl2.c (qualified_lookup_using_namespace): Use tree_cons
	instead of temp_tree_cons.
	* lex.c (cons_up_default_function): Remove dead code.
	* method.c (fixup_pending_inline): New function, split out from	...
	(do_inline_function_hair): ... here.
	* tree.c (build_vbase_pointer_fields): Remove.

From-SVN: r30966
1999-12-16 03:10:12 +00:00
Jason Merrill
5afb79e7f8 function.c (retrofit_block): Abort if we don't find a suitable insn.
* function.c (retrofit_block): Abort if we don't find a suitable insn.
        (insert_block_after_note): Abort if we don't have a previous block.
        Remove FN parameter.
        * function.h: Adjust.

        * tree.c (walk_tree): Walk operand subtrees in forward order.
        * optimize.c (expand_call_inline): Likewise.
        (optimize_function): Initialize id->scope_stmt to something useful.
        (remap_block): Assume id->scope_stmt has a useful value.

From-SVN: r30965
1999-12-15 19:09:35 -05:00
Tom Tromey
6150df627a natSystem.cc (init_properties): Don't set user.name or user.home if NO_GETUID defined.
* java/lang/natSystem.cc (init_properties): Don't set user.name or
	user.home if NO_GETUID defined.  Only set user.dir if getcwd
	exists.

	* include/config.h.in: Rebuilt.
	* acconfig.h (NO_GETUID): New define.
	* configure.in: Rebuilt.
	* configure.in: Define NO_GETUID in cross case.  Check for getcwd
	in native case.

From-SVN: r30964
1999-12-15 22:38:56 +00:00
Mark Mitchell
5a626f11f4 builtins.c (expand_builtin_mathfn): Make sure not to expand the argument more than once.
* builtins.c (expand_builtin_mathfn): Make sure not to expand the
	argument more than once.

From-SVN: r30963
1999-12-15 20:56:58 +00:00
Jason Merrill
4d9af632c4 * stmt.c (expand_decl): Expand upper bound of a dynamic array.
From-SVN: r30962
1999-12-15 14:56:41 -05:00
Jason Merrill
8890f3d8df tweak comments
From-SVN: r30961
1999-12-15 14:33:38 -05:00
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