Commit Graph

25253 Commits

Author SHA1 Message Date
Alexandre Oliva
5b68c389aa configure.in: When target is sparc* and tm_file contains 64, test for 64bit support in assembler.
* configure.in: When target is sparc* and tm_file contains 64,
test for 64bit support in assembler.  If not supported, remove
sparc/t-sol2-64 from target-dependent Makefile fragments.
(AS_SPARC64_FLAG): Define to the assembler flag for 64bit.
(HAVE_AS_OFFSETABLE_LO10): Rework test to use these flags.
(HAVE_AS_REGISTER_PSEUDO_OP): Use config.cache.
* acconfig.h (AS_SPARC64_FLAG): Added.
* configure, config.in: Rebuilt.
* config/sparc/sol2-sld-64.h: Same as sol2.h, if without 64bit
support.  Use AS_SPARC64_FLAG.

From-SVN: r30827
1999-12-08 10:27:54 +00:00
Jeff Law
efe8d0acb4 Daily bump.
From-SVN: r30826
1999-12-08 01:45:06 -07:00
Jakub Jelinek
9ce1327914 configure.in (sparc64-*-linux*): Use posix threads if enabled.
* configure.in (sparc64-*-linux*): Use posix threads if enabled.
	* configure: Rebuilt.
	* config/sparc/linux64.h: Default to -mcpu=ultrasparc if no
	-mcpu is given and we're doing 64bit compiles.

From-SVN: r30825
1999-12-08 00:04:43 -08:00
Jakub Jelinek
47ac041c93 sparc.c (sparc_emit_float_lib_cmp): New function.
* config/sparc/sparc.c (sparc_emit_float_lib_cmp): New function.
	* config/sparc/sparc-protos.h (sparc_emit_float_lib_cmp): Prototype.
	* config/sparc/sparc.h (*_LIBCALL): Only use for _Q_*
	routines, _Qp_* cannot be handled like that now.
	(INIT_TARGET_OPTABS): Likewise.
	* config/sparc/sparc.md (cmptf): Accept soft float ARCH64.
	(seq, sne, sgt, sge, slt, sle, beq, bne, bgt, bge, blt, ble): Call
	sparc_emit_float_lib_cmp if ARCH64 and soft float.
	(extendsftf2, extenddftf2, trunctfsf2, trunctfdf2, floatsitf2,
	floatditf2, fix_trunctfsi2, fix_trunctfdi2, addtf3, subtf3, multf3,
	divtf3, sqrttf3): New expanders.
	(extendsftf2_hq, extenddftf2_hq, trunctfsf2_hq, trunctfdf2_hq,
	floatsitf2_hq, floatditf2_hq, fix_trunctfsi2_hq, fix_trunctfdi2_hq,
	addtf3_hq, subtf3_hq, multf3_hq, divtf3_hq, sqrttf3_hq): Rename from
	non-_hq patterns.

From-SVN: r30824
1999-12-08 00:00:51 -08:00
Jakub Jelinek
0f63333cc9 sparc.h (LEGITIMATE_CONSTANT_P): Consider TFmode 0.0L as legitimate constant if -mvis.
* config/sparc/sparc.h (LEGITIMATE_CONSTANT_P): Consider TFmode 0.0L
	as legitimate constant if -mvis.
	* config/sparc/sparc.md (movtf): Likewise.
	(clear_sf): Use const_double_operand.
	(clear_sfp, clear_dfp, clear_tf, clear_tfp): New patterns.

From-SVN: r30823
1999-12-07 23:50:45 -08:00
Jakub Jelinek
e1a2f7aea1 sparc.md (sethi_di_medlow_embmedany_pic): Fix pattern so that it is actually matched.
* config/sparc/sparc.md (sethi_di_medlow_embmedany_pic): Fix pattern
	so that it is actually matched.
	(sethi_di_medlow): Likewise.

From-SVN: r30822
1999-12-07 23:28:17 -08:00
Jakub Jelinek
d0cee9ba75 sparc.c (hard_32bit_mode_classes): Mark registers suitable for holding OFmode values so that gcc works with...
* config/sparc/sparc.c (hard_32bit_mode_classes): Mark registers
	suitable for holding OFmode values so that gcc works with complex
	quad long doubles.
	(hard_64bit_mode_classes): Likewise.

From-SVN: r30821
1999-12-07 23:26:04 -08:00
Richard Henderson
60fb6df968 loop.h (struct induction): Add multi_insn_incr.
* loop.h (struct induction): Add multi_insn_incr.
        * loop.c (basic_induction_var): New multi_insn_incr argument.
        Set it if we search back through previous insns for the biv.
        (record_biv): New multi_insn_incr argument; fill in struct induction.
        (strength_reduce): Discard an iv with multiple bivs, any of
        which require multiple insns to increment.

From-SVN: r30820
1999-12-07 19:22:33 -08:00
Martin v. Löwis
3043b30ec8 invoke.texi (C Dialect Options): Remove -flang-c9x, add -std documentation.
* invoke.texi (C Dialect Options): Remove -flang-c9x, add -std
	documentation.

From-SVN: r30819
1999-12-07 22:00:33 +00:00
Jeff Law
0adea66477 Daily bump.
From-SVN: r30817
1999-12-07 01:45:06 -07:00
Mark Mitchell
b3a44a4c9f tree.c (walk_tree): Don't recurse into DECL_INITIAL or DECL_SIZE unless...
* tree.c (walk_tree): Don't recurse into DECL_INITIAL or DECL_SIZE
	unless we're declaring the variable in question.

From-SVN: r30816
1999-12-07 07:49:33 +00:00
Mark Mitchell
2fb9811eac tree.c (walk_tree): Don't recurse into DECL_INITIAL or DECL_SIZE unless...
* tree.c (walk_tree): Don't recurse into DECL_INITIAL or DECL_SIZE
	unless we're declaring the variable in question.

From-SVN: r30815
1999-12-07 07:38:21 +00:00
David S. Miller
601bf25120 combine.c (check_promoted_subreg): Do not conditionalize this upon PROMOTE_FUNCTION_RETURN.
* combine.c (check_promoted_subreg): Do not conditionalize this	upon
	PROMOTE_FUNCTION_RETURN.

From-SVN: r30814
1999-12-06 19:05:45 -08:00
Jim Wilson
124d535f9b Fix ia64 abort while compiling gcc.c-torture/unsorted/logic.c.
* regmove.c (optimize_reg_copy_1): If no REG_DEAD note, check for
	and handle REG_UNUSED note on insn.

From-SVN: r30813
1999-12-06 16:24:38 -08:00
Jim Wilson
402b6c2a7a Fix ia64 execute/930630-1.c miscompilation.
* combine.c (force_to_mode, case LSHIFTRT): New local inner_mask.  Set
	inner_mask instead of mask.

From-SVN: r30812
1999-12-06 15:22:47 -08:00
Alexandre Petit-Bianco
de1f429d34 [multiple changes]
Tue Nov 30 12:36:15 1999  Anthony Green  <green@cygnus.com>

        * verify.c (verify_jvm_instructions): Create new return label
        chain if non existant (don't rely on the verified state of the jsr
        target.)

Tue Nov 23 17:29:40 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>

        * verify.c (merge_type_state): Non verified subroutines being
        considered more than once to trigger passive type merge.

From-SVN: r30811
1999-12-06 11:56:58 -08:00
Jakub Jelinek
730f020764 sparc.h (ASM_DECLARE_REGISTER_GLOBAL): Document .register declaration.
* config/sparc/sparc.h (ASM_DECLARE_REGISTER_GLOBAL): Document
	.register declaration. Don't use variables with __ prefixes.

From-SVN: r30810
1999-12-06 11:53:38 -08:00
Alexandre Petit-Bianco
1ba305b54c jcf-parse.c (saw_java_source): Global variable removed.
Wed Nov 24 17:33:26 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>

        * jcf-parse.c (saw_java_source): Global variable removed.
        (read_class): Don't use `saw_java_source'. Added extra braces.
        (yyparse): Code setting `saw_java_source' removed.

From-SVN: r30809
1999-12-06 11:49:06 -08:00
Jakub Jelinek
732f2ac967 combine.c (check_promoted_subreg, [...]): New functions.
* combine.c (check_promoted_subreg, record_promoted_value): New
	functions.
	(combine_instructions): Use them to retain nonzero and sign bit
	information after SUBREGs are eliminated by optimizations in
	this pass if PROMOTE_FUNCTION_RETURN.

From-SVN: r30808
1999-12-06 11:45:38 -08:00
Alexandre Petit-Bianco
0974e9fec8 except.c (expand_end_java_handler): Call expand_resume_after_catch and end_catch_handler.
Wed Dec  1 04:25:06 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>

        * except.c (expand_end_java_handler): Call
        expand_resume_after_catch and end_catch_handler.

From-SVN: r30807
1999-12-06 11:37:30 -08:00
Alexandre Petit-Bianco
afc390b1ad jcf-write.c (generate_byecode_insns): Fixed indentation for COMPOUND_EXPR and FIX_TRUNC_EXPR cases.
Tue Nov 30 12:28:34 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>

        * jcf-write.c (generate_byecode_insns): Fixed indentation for
        COMPOUND_EXPR and FIX_TRUNC_EXPR cases.

        * parse.y (patch_assignment): Removed bogus final class test on
        lhs when checking on whether to emit an ArrayStoreException runtime
        check.
        * expr.c (expand_java_arraystore): Likewise.

From-SVN: r30806
1999-12-06 11:31:25 -08:00
Jakub Jelinek
04572513c7 calls.c (save_fixed_argument_area): If save_mode is BLKmode, always use move_by_pieces to avoid infinite recursion.
* calls.c (save_fixed_argument_area): If save_mode is BLKmode,
	always use move_by_pieces to avoid infinite recursion.
	(restore_fixed_argument_area): Likewise.

From-SVN: r30805
1999-12-06 11:31:13 -08:00
Brendan Kehoe
50352c9c62 dwarf2out.c (field_byte_offset): As with dwarfout.c, size can be zero if there was an error.
* dwarf2out.c (field_byte_offset): As with dwarfout.c, size can be
    zero if there was an error.

From-SVN: r30804
1999-12-06 14:16:52 -05:00
Jakub Jelinek
dcee55a29d sparc.c (input_operand): Allow HImode and QImode valid sethi operations when TARGET_ARCH64.
* config/sparc/sparc.c (input_operand): Allow HImode and QImode
	valid sethi operations when TARGET_ARCH64.

From-SVN: r30803
1999-12-06 09:45:23 -08:00
Jakub Jelinek
4de0633f4d * longlong.h: Fix clobbers in SPARC asm statements.
From-SVN: r30802
1999-12-06 09:41:19 -08:00
Jakub Jelinek
3a2ea093b3 sparc.md (return_losum_di): Fix typo in asm output string.
* config/sparc/sparc.md (return_losum_di): Fix typo in asm
	output string.

From-SVN: r30801
1999-12-06 09:38:07 -08:00
Richard Kenner
5826cacf19 fold-const.c (optimize_bit_field_compare): Only use one mode for both RHS and LHS in non-constant case.
* fold-const.c (optimize_bit_field_compare): Only use one mode
	for both RHS and LHS in non-constant case.

From-SVN: r30800
1999-12-06 12:28:18 -05:00
Nathan Sidwell
d593d1d2b8 frame.c (start_fde_sort): Only allocate erratic array, if linear one was allocated.
* frame.c (start_fde_sort): Only allocate erratic array, if
	linear one was allocated. Return allocated flag.
	(fde_insert): Only insert, if there's a valid array.
	(fde_end_sort): Split, sort and merge if linear and erratic
	arrays exist, else just sort linear one.
	(search_fdes): New function. Linear search through original fde
	structure.
	(frame_init): Permit multiple initializations. Cope with
	memory shortages.
	(find_fde): Fallback on linear search, if failed to sort array.
	(__deregister_frame_info): Only free sorted array, if we
	allocated it.

From-SVN: r30799
1999-12-06 14:02:16 +00:00
Alexandre Oliva
8ab56d5de5 * gcc.dg/ultrasp2.c: New test.
From-SVN: r30798
1999-12-06 10:50:26 +00:00
Mark Mitchell
883298a5e7 decl.c (init_decl_processing): #if 0 last patch.
* decl.c (init_decl_processing): #if 0 last patch.
	(finish_function): Likewise.

From-SVN: r30797
1999-12-06 10:36:16 +00:00
Jakub Jelinek
7b0c7e62d7 * config/sparc/sparc.h (MUST_PASS_IN_STACK): New macro.
From-SVN: r30796
1999-12-06 02:09:20 -08:00
Jeff Law
6d6365b282 Daily bump.
From-SVN: r30795
1999-12-06 01:45:07 -07:00
Anthony Green
d3189ab7da jvm.h: Declare many functions with __attribute__((__malloc__)).
* include/jvm.h: Declare many functions with
	__attribute__((__malloc__)).
	* gcj/javaprims.h: Ditto.

From-SVN: r30794
1999-12-06 06:33:56 +00:00
Jakub Jelinek
d4203cb4ad * config/sparc/sparc.c (sparc64_initialize_trampoline): Use gen_flushdi.
From-SVN: r30793
1999-12-05 17:54:50 -08:00
Mark Mitchell
bccd95ae77 decl.c (init_decl_processing): Set flag_inline_trees if !flag_no_inline.
* decl.c (init_decl_processing): Set flag_inline_trees if
	!flag_no_inline.

From-SVN: r30792
1999-12-05 20:04:37 +00:00
Alex Samuel
77cf4d553d * g++.old-deja/g++.abi/align.C (main): Fix typo.
From-SVN: r30791
1999-12-05 18:29:15 +00:00
Mark Mitchell
08230f26ce splay-tree.h (struct splay_tree_node): Rename to ...
* splay-tree.h (struct splay_tree_node): Rename to ...
	(struct splay_tree_node_s): ... this.
	(struct splay_tree): Rename to ...
	(struct splay_tree_s): ... this.

	* splay-tree.c (splay_tree_new): Use struct splay_tree_node_s
	rather than struct splay_tree_node.
	(splay_tree_insert): Use struct splay_tree_s rather than struct
	splay_tree.

From-SVN: r30790
1999-12-05 18:13:48 +00:00
Mark Mitchell
95fabfd362 cp-tree.h (calls_setjmp_p): Declare.
* cp-tree.h (calls_setjmp_p): Declare.
	* decl.c (finish_function): Mark functions that call setjmp as
	uninlinable.
	* optimize.c (calls_setjmp_r): New function.
	(calls_setjmp_p): Likewise.

From-SVN: r30789
1999-12-05 17:58:46 +00:00
Mark Mitchell
3a8c995be7 tree.h (special_function_p): Declare.
* tree.h (special_function_p): Declare.
	* calls.c (special_function_p): Make it global.  Don't take `name'
	as a parameter.  Fix typo in 1999-11-28 change.
	(expand_cal): Adjust.

From-SVN: r30788
1999-12-05 17:53:14 +00:00
Mark Mitchell
e6f696fc98 dwarf2out.c (add_abstract_origin_attribute): Don't abort when the original die cannot be found.
* dwarf2out.c (add_abstract_origin_attribute): Don't abort when
	the original die cannot be found.

From-SVN: r30787
1999-12-05 17:51:50 +00:00
Jeff Law
53c9c5ea90 Daily bump.
From-SVN: r30786
1999-12-05 01:45:07 -07:00
Mark Mitchell
1a50ed344f Fix another typo
From-SVN: r30785
1999-12-05 02:51:32 +00:00
Mark Mitchell
5679f67863 optimize.c (expand_call_inline): Wrap the expanded call in an EXPR_WITH_FILE_LOCATION node to get correct line...
* optimize.c (expand_call_inline): Wrap the expanded call in an
	EXPR_WITH_FILE_LOCATION node to get correct line numbers for
	inlined functions.

From-SVN: r30784
1999-12-05 02:46:48 +00:00
Mark Mitchell
86fff623af tree.def (EXPR_WITH_FILE_LOCATION): Fix comment formatting.
* tree.def (EXPR_WITH_FILE_LOCATION): Fix comment formatting.
	* tree.h (EXPR_WFL_FILENAME): Define in terms of
	EXPR_WFL_FILENAME_NODE.
	(EXPR_WFL_FILENAME_NODE): Use the second operand slot rather than
	the TREE_CHAIN.
	* print-tree.c (print_note): Print TREE_PRIVATE and
	TREE_PROTECTED.

From-SVN: r30783
1999-12-05 02:42:10 +00:00
Mark Mitchell
c9818a41dc Fix typo
From-SVN: r30782
1999-12-05 02:11:11 +00:00
Mark Mitchell
390f4e9a7d optimize.c (inline_data): Remove fns_top.
* optimize.c (inline_data): Remove fns_top.  Add scope_stmt.  Add
	in_target_cleanup_p.
	(remap_decl): New function.
	(remap_block): Likewise.
	(copy_scope_stmt): Likewise.
	(copy_body_r): Use remap_decl and copy_scope_stmt.
	(copy_body): Use VARRAY_TOP_TREE.
	(initialize_inlined_parameters): Likewise.
	(declare_return_variable): Likewise.
	(inlinable_function_p): Check flag_inline_trees.
	(expand_call_inline): Handle SCOPE_STMTs and TARGET_EXPRs
	specially.  Use VARRAY_PUSH_TREE.  Create a BLOCK for the
	parameters of the inlined function.
	(optimize_function): Prevent recursion into partially complete
	functions.

From-SVN: r30781
1999-12-05 01:00:28 +00:00
Mark Mitchell
5a586e5083 cp-tree.def (SCOPE_STMT): Take one operand.
* cp-tree.def (SCOPE_STMT): Take one operand.
	* cp-tree.h (SCOPE_STMT_BLOCK): New macro.
	(SCOPE_NULLIFIED_P): Redefine.
	(SCOPE_NO_CLEANUPS_P): New macro.
	(add_scope_stmt): Change prototype.
	* decl.c (poplevel): Tidy.  Warn about unused variables here.
	Record SCOPE_STMT_BLOCKs.
	(finish_function): Keep DECL_INITIAL for functions that might be
	inlined.
	* ir.texi: Document SCOPE_NO_CLEANUPS_P.
	* semantics.c: Include rtl.h.
	(add_scope_stmt): Return the new scope statement and, for an
	end-of-scope statement, its matching begin statement.  Don't set
	SCOPE_NULLIFIED_P.
	(do_pushlevel): Simplify, now that we are always
	function-at-a-time.
	(do_poplevel): Likewise.  Record SCOPE_STMT_BLOCKs.
	(expand_stmt): Don't call expand_start_bindings or
	expand_end_bindings for a scope with SCOPE_NO_CLEANUPS_P set.
	* tree.c (copy_tree_r): Clear SCOPE_STMT_BLOCK rather than setting
	SCOPE_NULLIFIED_P.
	* Makefile.in (semantics.o): Depend on RTL_H.

From-SVN: r30780
1999-12-05 00:51:38 +00:00
Mark Mitchell
d9b2d9da75 cp-tree.def (SCOPE_STMT): Take one operand.
* cp-tree.def (SCOPE_STMT): Take one operand.
	* cp-tree.h (SCOPE_STMT_BLOCK): New macro.
	(SCOPE_NULLIFIED_P): Redefine.
	(SCOPE_NO_CLEANUPS_P): New macro.
	(add_scope_stmt): Change prototype.
	* decl.c (poplevel): Tidy.  Warn about unused variables here.
	Record SCOPE_STMT_BLOCKs.
	(finish_function): Keep DECL_INITIAL for functions that might be
	inlined.
	* ir.texi: Document SCOPE_NO_CLEANUPS_P.
	* semantics.c: Include rtl.h.
	(add_scope_stmt): Return the new scope statement and, for an
	end-of-scope statement, its matching begin statement.  Don't set
	SCOPE_NULLIFIED_P.
	(do_pushlevel): Simplify, now that we are always
	function-at-a-time.
	(do_poplevel): Likewise.  Record SCOPE_STMT_BLOCKs.
	(expand_stmt): Don't call expand_start_bindings or
	expand_end_bindings for a scope with SCOPE_NO_CLEANUPS_P set.
	* tree.c (copy_tree_r): Clear SCOPE_STMT_BLOCK rather than setting
	SCOPE_NULLIFIED_P.

From-SVN: r30779
1999-12-05 00:49:26 +00:00
Mark Mitchell
2c0f17dc4f decl2.c (pending_statics_used): Make it a macro.
* decl2.c (pending_statics_used): Make it a macro.
	(saved_inlines_used): Likewise.
	(finish_static_data_member_decl): Use VARRAY_PUSH_TREE.
	(mark_inline_for_output): Likewise.
	(ssdf_decls_used): Remove.
	(start_static_storage_duration_function): Use VARRAY_PUSH_TREE.
	(generate_ctor_or_dtor_function): Adjust accordingly.

From-SVN: r30778
1999-12-05 00:37:56 +00:00
Mark Mitchell
a687360844 varray.h (varray_head_tag): Add elements_used.
* varray.h (varray_head_tag): Add elements_used.
	(VARRAY_PUSH): New macro.
	(VARRAY_POP): Likewise.
	(VARRAY_TOP): Likewise.
	Add variants of VARRAY_PUSH and VARRAY_POP for all varray element
	types.
	* varray.c (varray_init): Initialize elements_used.
	* Makefile.in (BASIC_BLOCK_H): Add varray.h.
	(INTEGRATE_H): New variable.
	(integrate.o): Depend on INTEGRATE_H.
	(unroll.o): Likewise.

From-SVN: r30777
1999-12-05 00:20:43 +00:00