Commit Graph

25404 Commits

Author SHA1 Message Date
David S. Miller
ccd61a806e sparc.md (movtf reg/reg split): Don't generate SUBREGs by hand, gen the appropriate hard reg directly.
* config/sparc/sparc.md (movtf reg/reg split): Don't generate
	SUBREGs by hand, gen the appropriate hard reg directly.
	(movtf reg/mem split): Likewise and alter_subreg on destination
	if necessary.
	(movtf mem/reg split): Similarly.
	(movdf_cc_sp64): Rename from hidden pattern.
	(movtf_cc_hq_sp64): Renamed from movtf_cc_sp64.
	(movtf_cc_sp64, following split): New pattern and splitter.
	(movdf_cc_reg_sp64): Rename from hidden pattern.
	(movtf_cc_reg_hq_sp64): Renamed from movtf_cc_reg_sp64, require
	TARGET_HARD_QUAD.
	(movtf_cc_reg_sp64, following split): New pattern and splitter.

Co-Authored-By: Jakub Jelinek <jakub@redhat.com>

From-SVN: r30880
1999-12-12 17:20:07 -08:00
Anthony Green
38b58895a4 check-init.c (check_init): Take into account both types of `throw's when checking for uninitialized variables.
1999-12-15  Anthony Green  <green@cygnus.com>

	* check-init.c (check_init): Take into account both types of
        `throw's when checking for uninitialized variables.

From-SVN: r30879
1999-12-12 23:19:04 +00:00
Alexandre Petit-Bianco
6a50bd919b parse.h (EXPR_WFL_QUALIFICATION): Temporary uses the third operand of a WFL...
Fri Dec 10 16:13:48 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>

	* parse.h (EXPR_WFL_QUALIFICATION): Temporary uses the third
 	operand of a WFL, until the Java front-end gets fixed with regard
 	to Mark Mitchell's gcc/tree.h patch (1999-12-04.)

From-SVN: r30878
1999-12-12 11:54:35 -08:00
Alexandre Petit-Bianco
be821c5e6c tree.def (EXPR_WITH_FILE_LOCATION): Temporarily add a third operand, for use in the Java front-end.
Fri Dec 10 16:12:13 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>

	* tree.def (EXPR_WITH_FILE_LOCATION): Temporarily add a third
 	operand, for use in the Java front-end.

From-SVN: r30877
1999-12-12 11:51:53 -08:00
Anthony Green
2441e02658 Oops. Date was wrong.
From-SVN: r30876
1999-12-12 18:56:25 +00:00
Stephen L Moshier
f0b60c1c2b loop.c (load_mems): Don't hoist written floating point mem if -ffloat-store.
* loop.c (load_mems): Don't hoist written floating point mem
	if -ffloat-store.

From-SVN: r30875
1999-12-12 18:38:14 +00:00
Mark Mitchell
f54a7f6fe2 except.h (struct eh_queue): Add `next' pointer.
* except.h (struct eh_queue): Add `next' pointer.
	(struct eh_status): Make x_ehqueue a pointer.
	(push_ehqueue):  Declare.
	(pop_ehqueue): Likewise.
	* except.c (expand_eh_region_end): Adjust now that ehqueue is a
	pointer.
	(expand_fixup_region_end): Likewise.
	(expand_leftover_cleanups): Likewise.
	(push_ehqueue): Define.
	(pop_ehqueue): Likewise.
	(emit_cleanup_handler): Use push_ehqueue and pop_ehqueue rather
	than doing it inline.
	(expand_start_all_catch):  Adjust now that ehqueue is a
	pointer.
	(mark_eh_queue): Mark all level of the queue.
	(mark_eh_status):  Adjust now that ehqueue is a
	pointer.
	(init_eh_for_function): Allocate ehqueue.
	(free_eh_status): Free it.
	* stmt.c (expand_cleanups): Save the ehqueue around the cleanup
	expansion for a fixup.

From-SVN: r30874
1999-12-12 18:32:36 +00:00
Anthony Green
d0017c11ff gcconfig.h (DATASTART): Define as (&data_start) for PowerPC Linux.
* gcconfig.h (DATASTART): Define as (&data_start) for PowerPC
        Linux.
        (DYNAMIC_LOADING): Define for PowerPC Linux.
        * os_dep.c: Remove some special cases for PowerPC Linux.
        * misc.c (GC_init_inner): Don't call GC_init_linux_data_start
        for PowerPC Linux.

From-SVN: r30873
1999-12-12 18:06:08 +00:00
Kaveh R. Ghazi
3e7d8ef1a6 gthr-single.h (__gthread_active_p): Add prototype arguments.
* gthr-single.h (__gthread_active_p): Add prototype arguments.

	* libgcc2.c (__udivmoddi4): Remove unnecessary decls.
	(__dummy, __builtin_saveregs, __bb_exit_trace_func, __bb_init_prg,
	__bb_trace_func, __bb_trace_func_ret, __bb_trace_ret,
	function_ptr, getpagesize, __enable_execute_stack,
	__enable_execute_stack, __clear_insn_cache,
	__enable_execute_stack, __do_global_dtors, __do_global_ctors,
	_cleanup, _exit, __default_terminate, __terminate_func,
	__terminate, __empty, __throw, new_eh_context,
	eh_context_initialize, eh_context_static, eh_context_specific,
	get_eh_context, __get_eh_context, __get_eh_info,
	init_reg_size_table, eh_threads_initialize,
	__get_dynamic_handler_chain, __sjthrow, __sjpopnthrow,
	__unwinding_cleanup, throw_helper, __throw, __rethrow,
	__pure_virtual): Add prototype arguments.
	(__bb_exit_func): Cast a sizeof to long when comparing against one.
	Cast a signed value to unsigned long when comparing against one.
	(new_eh_context): Wrap in _GTHREADS macro.
	(__sjthrow, __sjpopnthrow): Initialize variable `cleanup' at
	declaration.
	(in_reg_window): Mark parameters with __attribute__ ((__unused__)).
	(throw_helper): Initialize variables `handler_p' and `pc_p'.

From-SVN: r30872
1999-12-12 15:34:09 +00:00
Jeff Law
5249faded4 Daily bump.
From-SVN: r30871
1999-12-12 01:45:07 -07:00
Kaveh R. Ghazi
4a71b24ff9 combine.c (record_promoted_value): Remove unused variable `links2'.
* combine.c (record_promoted_value): Remove unused variable
	`links2'.

	* emit-rtl.c (renumber_insns): Likewise for `old_max_uid'.

	* global.c (record_conflicts): Likewise for `j'.

	* genoutput.c (output_insn_data): Don't unnecessarily cast away
	const-ness.

From-SVN: r30870
1999-12-12 01:34:39 +00:00
Kaveh R. Ghazi
69ddee6157 i386-protos.h (output_387_binary_op, [...]): Constify a char*.
* i386-protos.h (output_387_binary_op, output_fix_trunc,
	output_fp_compare): Constify a char*.

	* i386.c (ix86_split_to_parts, ix86_safe_length_prefix): Add
	static prototypes.
	(override_options, ix86_comp_type_attributes, print_operand,
	output_387_binary_op, output_fix_trunc, output_fp_compare):
	Constify a char*.
	(ix86_sched_reorder): Mark parameter `clock_var' with
	ATTRIBUTE_UNUSED.

	* i386.h (DEBUG_PRINT_REG): Constify a char*.

From-SVN: r30869
1999-12-12 01:06:29 +00:00
Kaveh R. Ghazi
486837a79c class.c (get_vtable_name): Use a literal format string and VTABLE_NAME_PREFIX macro instead of...
* class.c (get_vtable_name): Use a literal format string and
	VTABLE_NAME_PREFIX macro instead of VTABLE_NAME_FORMAT.
	(prepare_fresh_vtable): Likewise.

	* cp-tree.h (VTABLE_NAME_PREFIX): Define this instead of
	VTABLE_NAME_FORMAT.

	* decl.c (make_rtl_for_local_static): Remove unused variable `type'.

	* init.c (build_vec_init): Initialize variable `try_body'.

	* lex.c (yyerror): Don't call a variadic function with a
	non-literal format string.

	* optimize.c (optimize_function): Call memset, not bzero.

	* pt.c (for_each_template_parm_r): Add static prototype.

From-SVN: r30868
1999-12-11 19:02:10 +00:00
Kaveh R. Ghazi
509c1e9cf2 typeck.c (apply_chill_array_layout, [...]): Avoid the use of ANSI string concatenation.
* typeck.c (apply_chill_array_layout, apply_chill_field_layout):
        Avoid the use of ANSI string concatenation.

        * expr.c (chill_expand_case_expr): Likewise.

From-SVN: r30867
1999-12-11 15:22:24 +00:00
Jeff Law
53a12329af Daily bump.
From-SVN: r30866
1999-12-11 01:45:07 -07:00
Ben Collins
8a90b95d34 configure.in: Fix typo for "-64" in 64bit as check.
* configure.in: Fix typo for "-64" in 64bit as check.
	* configure: Rebuilt.

From-SVN: r30865
1999-12-10 14:33:07 -08:00
Jakub Jelinek
d64554f9b2 longlong.h (__sparc_v9__): Use %rDIGIT instead of %DIGIT where appropriate.
* longlong.h (__sparc_v9__): Use %rDIGIT instead of %DIGIT where
	appropriate.

From-SVN: r30864
1999-12-10 13:29:46 -08:00
Kaveh R. Ghazi
bb66adcad3 c-parse.in (string): With -Wtraditional, warn if ANSI string concatenation is utilized.
* c-parse.in (string): With -Wtraditional, warn if ANSI string
        concatenation is utilized.

        * invoke.texi (-Wtraditional): Document it.

From-SVN: r30863
1999-12-10 21:00:34 +00:00
Kaveh R. Ghazi
d92398a203 flow.c (flow_loops_dump): Avoid ANSI string concatenation.
* flow.c (flow_loops_dump): Avoid ANSI string concatenation.
        Cast a ptrdiff_t to long and pass it to printf with %ld.

From-SVN: r30862
1999-12-10 20:02:43 +00:00
Geoff Keating
15a17b7229 m68k.h (CONDITIONAL_REGISTER_USAGE): If we have no 68881, we have no 68881 registers at all.
* config/m68k/m68k.h (CONDITIONAL_REGISTER_USAGE): If we have no
68881, we have no 68881 registers at all.
(HARD_REGNO_MODE_OK): It is always OK to put a MODE_FLOAT
value in a 68881 register if it is available.

From-SVN: r30861
1999-12-10 19:15:32 +00:00
Clinton Popetz
ff8ee66b00 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: r30860
1999-12-10 13:11:58 -05:00
Andrew Haley
8bbb23b7ac parse.h (BUILD_THROW): Add support for sjlj-exceptions.
1999-11-17  Andrew Haley  <aph@cygnus.com>

	* parse.h (BUILD_THROW): Add support for sjlj-exceptions.
	decl.c (init_decl_processing): Add _Jv_Sjlj_Throw.
	expr.c (build_java_athrow): Add support for sjlj-exceptions.
	java-tree.h: Ditto.
	jcf-write.c: Ditto.

From-SVN: r30859
1999-12-10 16:06:23 +00:00
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