Commit Graph

25482 Commits

Author SHA1 Message Date
Bernd Schmidt 22d3799810 Undo previous change
From-SVN: r30858
1999-12-10 15:27:55 +00:00
David S. Miller 6219012805 sparc.c (fp_sethi_p, [...]): New functions.
* config/sparc/sparc.c (fp_sethi_p, fp_mov_p, fp_high_losum_p):
	New functions.
	* config/sparc/sparc-protos.h: Add them.
	* config/sparc/sparc.h: Add them to PREDICATE_CODES.
	(EXTRA_CONSTRAINT_BASE): New macro, handling Q, R, and S
	constraints which use those helpers.
	(EXTRA_CONSTRAINT): Use this new macro.
	* md.texi: Update sparc target constraints documentation.
	* config/sparc/sparc.md (clear_sf, clear_sfp, movsf_const_intreg,
	movsf_const_high, movsf_const_lo, movsf_insn): Delete.
	(movsf_insn_novis_liveg0, movsf_insn_novis_noliveg0,
	movsf_insn_vis, movsf_lo_sum, movsf_high): New patterns.
	(movsf high/lo_sum split): Rework for new patterns.
	(movsf expander): Allow storing fp_zero to memory if ! live_g0.

From-SVN: r30857
1999-12-10 04:08:51 -08:00
Jeff Law acce043733 Daily bump.
From-SVN: r30856
1999-12-10 01:45:07 -07:00
Gavin Romig-Koch 29ae8f1027 c-common.c (c_common_nodes_and_builtins): Create __builtin_ptrdiff_t and __builtin_size_t.
* c-common.c (c_common_nodes_and_builtins):
	Create __builtin_ptrdiff_t and __builtin_size_t.

From-SVN: r30855
1999-12-10 04:26:06 +00:00
Jeffrey A Law 27def0aa16 * pa/elf.h (MAX_OFILE_ALIGNMENT): Define.
From-SVN: r30854
1999-12-09 18:09:59 -07:00
J"orn Rennecke c07c7c9d25 regclass.c (globalize_reg): Re-instate test that allows fixed registers to be declared as a variable even...
* regclass.c (globalize_reg): Re-instate test that allows
	fixed registers to be declared as a variable even after functions
	are defined.

	* testsuite/gcc.dg/991209-1.c: New test.

From-SVN: r30853
1999-12-10 00:57:03 +00:00
Jan Hubicka 309ada50de i386.md (cpu attribute): Add "athlon".
* i386.md (cpu attribute): Add "athlon".
	(athlon_decode): New attribute.
	(Athlon scheduling units definitions): New.
	(fcmp and shld patterns): Set athlon_decode to "vector".
	* i386.c (athlon_cost): New.
	(m_ATHLON): New.
	(x86_use_leave, x86_push_memory, x86_movx, x86_cmove, x86_deep_branch,
	x86_use_sahf): Set for Athlon.
	(x86_use_fiop): Unset for Athlon.
	(override_options): Define Athlon alignments and "athlon" name.
	(x86_adjust_cost): Penalize AGI and delayed latencies for Athlon.
	* i386.h (TARGET_ATHLON): New.
	(enum processor_type): Add PROCESSOR_ATHLON.
	(TARGET_CPU_DEFAULT_SPEC): Set to "-D__tune_athlon__"
	for CPU_DEFAULT==6
	(TARGET_CPP_CPU_SPECS): Set -D__tune_athlon__ for Athlon.

From-SVN: r30852
1999-12-09 23:54:58 +00:00
Andreas Jaeger 009fef522a loop.c (record_biv): Declare parameter as int.
* loop.c (record_biv): Declare parameter as int.

	* config/i386/i386-protos.h: Declare long_memory_operand.

From-SVN: r30851
1999-12-09 23:37:30 +00:00
Andreas Jaeger 225ff11985 except.c (expand_throw): Add static attribute to match prototype.
* except.c (expand_throw): Add static attribute to match
	prototype.

	* Makefile.in (semantics.o): Add dependency on output.h.
	* semantics.c: Include output.h for declaration of
	make_function_rtl.

From-SVN: r30850
1999-12-09 23:24:58 +00:00
Mark Mitchell 3eb24f739e decl.c (init_decl_processing): Reenable inlining on trees.
* decl.c (init_decl_processing): Reenable inlining on trees.
	(finish_function): Likewise.
	* expr.c (cplus_expand_expr): Don't handle AGGR_INIT_EXPR here.
	* semantics.c (simplify_aggr_init_exprs): New function.
	(expand_body): Use it.
	* tree.c (walk_tree): Special-case TARGET_EXPRs since they
	sometimes present the same sub-tree twice.

From-SVN: r30849
1999-12-09 19:13:33 +00:00
Mark Mitchell 1e54d32b05 tree.c (copy_node): Do zero the TREE_CHAIN, even for an EXPR_WITH_FILE_LOCATION.
* tree.c (copy_node): Do zero the TREE_CHAIN, even for an
	EXPR_WITH_FILE_LOCATION.

From-SVN: r30848
1999-12-09 18:59:30 +00:00
Tom Tromey c97e511d31 re GNATS libgcj/117 (_Jv_PthreadCheckMonitor test is not portable.)
* include/posix-threads.h (_Jv_PthreadCheckMonitor): Handle case
	where no recursive mutexes exist.  Fixes PR libgcj/117.

From-SVN: r30847
1999-12-09 16:57:27 +00:00
Jakub Jelinek 47841d1be3 sparc.h (PROMOTE_FOR_CALL_ONLY): Define.
* config/sparc/sparc.h (PROMOTE_FOR_CALL_ONLY): Define.

	* calls.c (precompute_arguments): Make sure initial_value contains
	value pseudo which CSE expects.
	* cse.c (struct set): New entry orig_src.
	(cse_insn): Set it early on entry, use it for libcall EQUIV note
	replacement.

From-SVN: r30846
1999-12-09 06:38:11 -08:00
Anthony Green 1684f87473 > * decl.c (init_decl_processing): Mark throw_node as a noreturn > function with side effects.
>     * decl.c (init_decl_processing): Mark throw_node as a noreturn
  >     function with side effects.
  >     (init_decl_processing): Mark all memory allocating DECLs with
  >     DECL_IS_MALLOC.

From-SVN: r30845
1999-12-09 12:32:48 +00:00
Jan Hubicka 2756c3d86b * i386.md (neg??, abs?f, one_cmpl?i): Use nonimmediate_operand in expander.
From-SVN: r30844
1999-12-09 10:53:29 +00:00
Jan Hubicka 5dd56a932b * flow.c (recompute_reg_usage): Use basic block info to get loop_depth.
From-SVN: r30843
1999-12-09 10:51:44 +00:00
Jan Hubicka e73ccf83b6 combine.c (try_combine, [...]): Remove REG_N_REFS updating code.
* combine.c (try_combine, distribute_notes): Remove REG_N_REFS
	updating code.

From-SVN: r30842
1999-12-09 10:46:10 +00:00
Jakub Jelinek 699a42a620 linux64.h (TARGET_DEFAULT): Make -mapp-regs default on linux64 again.
* config/sparc/linux64.h (TARGET_DEFAULT): Make -mapp-regs
        default on linux64 again.
        * config/sparc/t-linux64: Add mno-app-regs and non-medlow code
        models for multilibing.
        * genmultilib: Accept | as alternative separator within a set in
        MULTILIB_OPTIONS.

From-SVN: r30841
1999-12-09 02:41:45 -08:00
Mark Mitchell 373eb3b3b1 dump.c (dequeue_and_dump): Abbreviate `class' as `cls', not `csl'.
* dump.c (dequeue_and_dump): Abbreviate `class' as `cls', not
	`csl'.

	* semantics.c (finish_switch_cond): Do conversions here, not ...
	* typeck.c (c_expand_start_case): Here.

	* semantics.c (do_poplevel): Remove unused variable.

From-SVN: r30840
1999-12-09 09:07:29 +00:00
Jeff Law 14ddd2a181 Daily bump.
From-SVN: r30839
1999-12-09 01:45:09 -07:00
Nathan Sidwell 810ec6bd36 * gcc.c-torture/compile/991208-1.c: New test.
From-SVN: r30838
1999-12-08 23:43:06 -07:00
Richard Henderson f1fcc26102 * flow.c (count_basic_blocks): Don't add (use (const_int 0)) insns.
From-SVN: r30837
1999-12-08 22:25:11 -08:00
Jakub Jelinek 021b394959 longlong.h: Merge in changes from glibc.
* longlong.h: Merge in changes from glibc.
	Also don't clobber %g2 register in 32bit SPARC assembly, so that
	-mno-app-regs libgcc can be compiled.
	* libgcc2.c: Add defines so that the updated longlong.h
	can be used in libgcc2.a. Also, make sure on most architectures
	(at least on all which have optimized code in longlong.h defined
	for) {SI,W}_TYPE_SIZE is suitable for preprocessor tests.

From-SVN: r30836
1999-12-08 17:00:45 -08:00
Bernd Schmidt cd8998a31a Don't hoist volatile mems out of loops.
From-SVN: r30834
1999-12-08 17:49:26 +00:00
Jakub Jelinek dd4be5a186 sparc.h (SPARC_SETHI_P): Don't look at topmost 32 bits if TARGET_ARCH32.
* config/sparc/sparc.h (SPARC_SETHI_P): Don't look at topmost 32 bits
	if TARGET_ARCH32.

From-SVN: r30833
1999-12-08 07:28:00 -08:00
Jakub Jelinek 1f0e6e286a sparc.c (ultra_cmove_results_ready_p, [...]): Typo fix.
* config/sparc/sparc.c (ultra_cmove_results_ready_p,
	ultra_fpmode_conflict_exists, ultra_flush_pipeline): Typo fix.

From-SVN: r30832
1999-12-08 07:22:38 -08:00
Alexandre Oliva 3b1c302fb1 sol2-64.h: Same as sol2-sld-64.h...
* config/sparc/sol2-64.h: Same as sol2-sld-64.h, except that
`-m EMULATION' is added to non-default LINK_ARCH_SPECs.
* configure.in: Use sol2-64.h instead of sol2-sld-64.h if linker
is GNU ld.
* configure: Rebuilt.

From-SVN: r30830
1999-12-08 12:30:22 +00:00
Richard Henderson 35a414df38 alpha.c (secondary_reload_class): For !BWX, sub-simode outputs require a register.
* alpha.c (secondary_reload_class): For !BWX, sub-simode
        outputs require a register.

From-SVN: r30829
1999-12-08 03:47:38 -08:00
Brendan Kehoe 8dcd865f3b Makefile.in (FPBIT_FUNCS, [...]): Add _sf_to_usi _df_to_usi.
* Makefile.in (FPBIT_FUNCS, DPBIT_FUNCS): Add _sf_to_usi
    _df_to_usi.  Required by some targets, so US_SOFTWARE_GOFAST calls to
    functions like dptoul will be resolved.
    (libgcc2.a): Make sure that the object files from DPBIT are named
    differently (prefix `_dp') from those that would be coming from
    FPBIT.

From-SVN: r30828
1999-12-08 06:44:47 -05:00
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