Commit Graph

43641 Commits

Author SHA1 Message Date
Geoffrey Keating e03856fe95 gengtype.h (xvasprintf): New prototype.
* gengtype.h (xvasprintf): New prototype.
	(xasprintf): New prototype.
	(struct outf): New.
	(get_output_file): Return an outf_p.
	(header_file): Is now an outf_p.
	(base_files): Now are outf_p.
	(oprintf): New.
	* gengtype.c: Replace all output FILE * with outf_p; use oprintf
	rather than stdio operations.  Use xasprintf in a few places,
	when appropriate.
	(xvasprintf): New.
	(xasprintf): New.
	(struct filemap): Delete.
	(files): Delete.
	(output_files): New.
	(oprintf): New.
	(create_file): Create an outf_p.  Add parameter to indicate output
	file name, change all callers.
	(open_base_files): Create gtype-desc.c here.
	(get_output_file_with_visibility): Rewrite.
	(get_output_file_name): Just look at 'name' field in struct outf.
	(close_output_files): Rewrite.

From-SVN: r54566
2002-06-12 22:57:45 +00:00
Phil Edwards 83144cfcfa Makefile.am: Add new files.
2002-06-12  Phil Edwards  <pme@gcc.gnu.org>

	* include/Makefile.am:  Add new files.
	* include/Makefile.in:  Regenerate.

	* include/bits/stl_deque.h, include/bits/stl_list.h,
	include/bits/stl_vector.h:  Clean up, reformat.  Move definitions...
	* include/bits/deque.tcc, include/bits/list.tcc,
	include/bits/vector.tcc:  ...to here.  New files.

	* include/ext/stl_hashtable.h:  Inclide correct full headers.
	* include/std/std_deque.h:  Include .tcc files for now.
	* include/std/std_list.h:  Likewise.
	* include/std/std_vector.h:  Likewise.

From-SVN: r54562
2002-06-12 22:07:53 +00:00
Jason Thorpe ec01703c82 * config/vax/vax.h (MASK_UNIX_ASM, MASK_VAXC_ALIGNMENT)
(MASK_G_FLOAT): Define.
(TARGET_UNIX_ASM, TARGET_VAXC_ALIGNMENT, TARGET_G_FLOAT): Use them.
(TARGET_SWITCHES): Likewise.
(TARGET_DEFAULT): Likewise.

From-SVN: r54561
2002-06-12 18:17:53 +00:00
Daniel Jacobowitz 8b0397a68a elf.h (DWARF2_DEBUG_INFO): Define.
* config/mips/elf.h (DWARF2_DEBUG_INFO): Define.
        * config/mips/mips.c (mips_output_filename): Don't print a
        ".file" directive if we are using DWARF-2.
        (mips_output_function_prologue): Do not emit source file
        name for TARGET_GAS.

From-SVN: r54560
2002-06-12 11:07:32 -07:00
Tom Tromey 6e32abbfc2 re PR libgcj/6652 (new java.io.File("").getCanonicalFile() throws exception)
* java/io/natFilePosix.cc (getCanonicalPath): Treat "" like ".".
	Fixes PR libgcj/6652.

From-SVN: r54558
2002-06-12 17:01:02 +00:00
Kriang Lerdsuwanakij d65cb654ad * g++.dg/template/typename2.C: Update error message.
From-SVN: r54553
2002-06-12 15:36:55 +00:00
Jan Hubicka 495333a652 i386.md (shift patterns): Use (TARGET_SHIFT1 || optimize_size) to decide whether emit the short opcode.
* i386.md (shift patterns): Use (TARGET_SHIFT1 || optimize_size) to
	decide whether emit the short opcode.
	* i386.h (x86_shift1): Declare.
	(TARGET_SHIFT1): New macro.
	* i386.c (x86_shift1): New global variable.

	* toplev.c (rest_of_compilation): Call find_basic_block pre-loop unconditionally;
	make loop to rebuild CFG; kill unnecesary find_basic_block calls;
	kill compute_bb_for_insn call.
	* cfgbuild.c (find_basic_blocks): Kill compute_bb_for_insn call.
	* haifa-sched.c (sched_init): Likewise.
	* ssa-ccp.c (ssa_const_prop): Likewise.
	* ssa-dce.c (ssa_eliminate_dead_code): Likewise.

From-SVN: r54552
2002-06-12 14:51:09 +00:00
Daniel Jacobowitz 8ddfd7e562 Makefile.am: Add FLAGS_TO_PASS.
* Makefile.am: Add FLAGS_TO_PASS.
* Makefile.in: Regenerated.

From-SVN: r54551
2002-06-12 11:29:14 +00:00
GCC Administrator 0774918c95 Daily bump.
From-SVN: r54550
2002-06-12 07:18:32 +00:00
David S. Miller d11cea133f emit-rtl.c (emit_*_scope): Only access INSN_SCOPE if active_insn_p.
2002-06-11  David S. Miller  <davem@redhat.com>

	* emit-rtl.c (emit_*_scope): Only access INSN_SCOPE if
	active_insn_p.

From-SVN: r54545
2002-06-11 23:14:03 -07:00
Richard Henderson 676997cfd2 c-common.c (builtin_define_type_max): New.
* c-common.c (builtin_define_type_max): New.
        (cb_register_builtins): Define __SCHAR_MAX__, __SHRT_MAX__,
        __INT_MAX__, __LONG_MAX__, __LONG_LONG_MAX__, __CHAR_BIT__.

        From Joseph S. Myers:
        * glimits.h: Rewrite to expect the double underscore definitions
        from the compiler.

        * config/alpha/unicosmk.h, config/avr/avr.h, config/h8300/h8300.h,
        config/i386/linux64.h, config/ia64/aix.h, config/ia64/hpux.h,
        config/ia64/ia64.h, config/m68hc11/m68hc11.h, config/m68hc11/m68hc12.h,
        config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
        config/pa/pa.h, config/rs6000/aix43.h, config/rs6000/aix51.h,
        config/rs6000/linux64.h, config/s390/linux.h, config/sh/sh.h,
        config/stormy16/stormy16.h: Don't define any of __SHRT_MAX__,
        __INT_MAX__, __LONG_MAX__, or __LONG_LONG_MAX__.

From-SVN: r54544
2002-06-11 20:06:30 -07:00
Richard Henderson 116b7a5ea8 alpha.c (ALPHA_BUILTIN_THREAD_POINTER): New.
* config/alpha/alpha.c (ALPHA_BUILTIN_THREAD_POINTER): New.
        (ALPHA_BUILTIN_SET_THREAD_POINTER): New.
        (code_for_builtns): Update.
        (alpha_init_builtins): Add __builtin_thread_pointer and
        __builtin_set_thread_pointer.
        (alpha_expand_builtin): Handle void builtins.
        * doc/extend.texi (Alpha Built-in Functions): Update.

From-SVN: r54543
2002-06-11 19:57:02 -07:00
Hans-Peter Nilsson 0cec6af13c re PR target/6997 (CRIS: compare result incorrect -- sleu pattern in cris.md at fault)
PR target/6997
	* config/cris/cris.md ("sleu"): Set attribute "cc" to "none".

From-SVN: r54542
2002-06-12 02:04:52 +00:00
Hans-Peter Nilsson 6debb0064e * gcc.c-torture/execute/20020611-1.c: New test.
From-SVN: r54541
2002-06-12 01:59:00 +00:00
Zack Weinberg 1c0ca89ddb config.gcc: Make the name of the extra-modes file adjustable by target stanzas.
* config.gcc: Make the name of the extra-modes file adjustable
	by target stanzas.
	(s390x, strongarm, xscale stanzas): Use this facility.
	* configure.in: Update to match.
	* configure: Regenerate.

From-SVN: r54540
2002-06-12 01:36:13 +00:00
Aldy Hernandez 5dc8d53616 rs6000.c (rs6000_emit_minmax): Treat unsigned max/mins as unsigned GE compares.
2002-06-11  Aldy Hernandez  <aldyh@redhat.com>

        * config/rs6000/rs6000.c (rs6000_emit_minmax): Treat unsigned
        max/mins as unsigned GE compares.

From-SVN: r54539
2002-06-12 00:27:03 +00:00
Jason Thorpe 169274cd2e config.gcc (vax-*-bsd*): Add vax/bsd.h to ${tm_file}.
* config.gcc (vax-*-bsd*): Add vax/bsd.h to ${tm_file}.
* config/vax/bsd.h: New file.
* config/vax/netbsd.h: Add missing notice.
(CPP_PREDEFINES): Remove.
(TARGET_OS_CPP_BUILTINS): Define.
(CPP_SPEC): Use NETBSD_CPP_SPEC.
* config/vax/openbsd.h: Update copyright years.
(CPP_PREDEFINES): Remove.
(TARGET_OS_CPP_BUILTINS): Define.
* config/vax/ultrix.h: Likewise.
* config/vax/vaxv.h: Likewise.
* config/vax/vms.h: Likewise.
* config/vax/vax.h (TARGET_CPU_CPP_BUILTINS): Define.
(CPP_PREDEFINES, CPP_SPEC): Remove.

From-SVN: r54538
2002-06-12 00:02:07 +00:00
Jan Hubicka 2f41793e07 * i386.md (addqi_1_slp, subqi_1_slp
(andqi_ext0, testqi_ext0): Remove unnecesary check.
	(addhi*, addqi*): Simplify "dec" condition.
	(testsi to testqi splitters): Remove TARGET_PROMOTE_QImode check.
	(and, or, xor to QImode splitters): New.
	(iorqi_ext*): New.
	(xorqi_ext_0): New.
	(xorqi_ext_1): Rename to xorqi_ext_2; bring to sync with and versions.
	(andqi_ext_1_rex64): New.
	(ashrqi*_slp): New.
	(ashlqi*_slp): New.
	(lshlqi*_slp): New.
	(rotrqi3*_slp): New.
	(rotlqi3*_slp): New.

From-SVN: r54537
2002-06-11 23:57:10 +00:00
Kaveh R. Ghazi c8eb2bc070 * Makefile.in (CFLAGS_FOR_TARGET): Add -O2.
From-SVN: r54536
2002-06-11 23:53:11 +00:00
Jeff Law c6a3fcf029 emit-rtl.c (try_split): Use INSN_LAST, not LAST_INSN to get the last insn created by the splitter.
* emit-rtl.c (try_split): Use INSN_LAST, not LAST_INSN to get the
        last insn created by the splitter.

From-SVN: r54535
2002-06-11 17:51:24 -06:00
Geoffrey Keating 4c4eb375f3 config.gcc (powerpc*-*-*, [...]): Don't bother including softfloat.h.
* config.gcc (powerpc*-*-*, rs6000-*-*-*): Don't bother including
	softfloat.h.
	* config/rs6000/vxppc.h (CPP_ENDIAN_BIG_SPEC): Delete.
	(CPP_ENDIAN_LITTLE_SPEC): Delete.
	* config/rs6000/sysv4le.h (CPP_ENDIAN_DEFAULT_SPEC): Delete.
	* config/rs6000/sysv4.h (CPP_SYSV_SPEC): Delete _SOFT_FLOAT setting,
	__LONG_DOUBLE_128__ setting, _CALL_* setting.
	(CPP_DEFAULT_SPEC): Delete.
	(CPP_FLOAT_DEFAULT_SPEC): Delete.
	(CPP_LONGDOUBLE_DEFAULT_SPEC): Delete.
	(CPP_SYSV_DEFAULT_SPEC): Delete.
	(CPP_ENDIAN_BIG_SPEC): Delete.
	(CPP_ENDIAN_LITTLE_SPEC): Delete.
	(CPP_ENDIAN_SPEC): Delete.
	(CPP_SPEC): Don't include cpp_endian, cpp_cpu.
	(SUBTARGET_EXTRA_SPECS): Delete cpp_sysv_default, cpp_endian_default,
	cpp_endian, cpp_endian_big, cpp_endian_little, cpp_float_default,
	cpp_longdouble_default.
	* config/rs6000/softfloat.h: Delete.
	* config/rs6000/rs6000.h (CPP_CPU_SPEC): Delete.
	(EXTRA_SPECS): Delete cpp_cpu.
	(TARGET_CPU_CPP_BUILTINS): New.
	* config/rs6000/rs6000-protos.h (rs6000_cpu_cpp_builtins): New
	prototype.
	* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): New.
	* config/rs6000/linux64.h (CPP_PREDEFINES): Remove endianness defines.
	(CPP_DEFAULT_SPEC): Delete.
	* config/rs6000/eabiaix.h (CPP_SYSV_DEFAULT_SPEC): Delete.
	* config/rs6000/darwin.h (CPP_PREDEFINES): Don't define __BIG_ENDIAN__.
	* config/rs6000/beos.h (CPP_SPEC): Remove cpp_cpu.
	(CPP_DEFAULT_SPEC): Delete.
	* config/rs6000/aix51.h (CPP_SPEC): Remove cpp_cpu, -D_ARCH_PPC.
	(CPLUSPLUS_CPP_SPEC): Likewise.
	(CPP_CPU_SPEC): Delete.
	(CPP_DEFAULT_SPEC): Delete.
	* config/rs6000/aix43.h (CPP_SPEC): Remove cpp_cpu, -D_ARCH_PPC.
	(CPLUSPLUS_CPP_SPEC): Likewise.
	(CPP_CPU_SPEC): Delete.
	(CPP_DEFAULT_SPEC): Delete.
	* config/rs6000/aix41.h (CPP_SPEC): Remove cpp_cpu.
	(CPP_DEFAULT_SPEC): Delete.
	* config/rs6000/aix.h (CPP_SPEC): Remove cpp_cpu.
	(CPP_DEFAULT_SPEC): Delete.

From-SVN: r54534
2002-06-11 23:14:47 +00:00
Geoffrey Keating fc5c400a9a * doc/gty.texi: Small updates.
From-SVN: r54533
2002-06-11 23:13:20 +00:00
Gabriel Dos Reis 13f0d49cdf objc-act.c (warn_with_ivar): Adjust calls to diagnostic_count_error.
* objc/objc-act.c (warn_with_ivar): Adjust calls to
	diagnostic_count_error.
	(warn_with_method): Likewise.

	* diagnostic.h (warnings_are_errors_message): New field of
	diagnostic_context.
	(diagnostic_count_error): Rename to
	diagnostic_count_diagnostic to
	match semantics.
	* diagnostic.c: Adjust calls to diagnostic_count_error through
	out.
	(diagnostic_count_diagnostic): Make aware of other kinds of
	diagnostics.
	(diagnostic_initialize): Initialize
	warnings_are_errors_message field.

f/
2002-06-12  Gabriel Dos Reis  <gdr@codesourcery.com>

	    * bad.c (ffebad_start_): Adjust calls to
              diagnostic_count_error.

From-SVN: r54532
2002-06-11 23:11:34 +00:00
Jeff Law 0db79a6b35 caller-save.c (init_caller_save): Move creation of SAVEINSN and RESTINSN into into the scope of the sequence.
* caller-save.c (init_caller_save): Move creation of SAVEINSN
        and RESTINSN into into the scope of the sequence.

From-SVN: r54530
2002-06-11 17:04:15 -06:00
Tom Tromey 0797e4720f For PR java/6520:
* fold-const.c (fold_convert): Don't modify existing tree's type.

From-SVN: r54529
2002-06-11 22:36:53 +00:00
Geoffrey Keating f288d4aa2c * config/rs6000/ppc-asm.h: Remove some Windows NT leftovers.
From-SVN: r54528
2002-06-11 22:24:49 +00:00
Richard Henderson d27bab4c02 * caller-save.c (init_caller_save): Clear INSN_CODE each iteration.
From-SVN: r54527
2002-06-11 15:16:51 -07:00
Richard Henderson bc2a8f0842 defaults.h (EH_FRAME_SECTION_NAME): Don't define if DWARF2_UNWIND_INFO is false.
* defaults.h (EH_FRAME_SECTION_NAME): Don't define if
        DWARF2_UNWIND_INFO is false.

From-SVN: r54526
2002-06-11 14:34:30 -07:00
Bob Wilson b217ec1ba2 * config/xtensa/t-xtensa (LIBGCC1_TEST, CROSS_LIBGCC1): Delete.
From-SVN: r54525
2002-06-11 20:56:48 +00:00
Jeff Law 47eb2ca8f8 mips.c (mips_expand_prologue): Use emit_jump_insn for trivial RETURN insns.
* mips.c (mips_expand_prologue): Use emit_jump_insn for trivial
	RETURN insns.

From-SVN: r54524
2002-06-11 14:25:27 -06:00
Ulrich Weigand 11819f8028 s390.c (emit_prologue): gen_store_multiple returns an insn now, not a pattern.
* config/s390/s390.c (emit_prologue): gen_store_multiple
	returns an insn now, not a pattern.

From-SVN: r54523
2002-06-11 20:15:31 +00:00
Rainer Orth c2727579c1 Makefile.in (gccinstall.dvi): Pass absolute pathnames to $(TEXI2DVI) -o.
* Makefile.in (gccinstall.dvi): Pass absolute pathnames to
	$(TEXI2DVI) -o.

From-SVN: r54522
2002-06-11 20:06:04 +00:00
Jan Hubicka 285464d088 i386.c (x86_promote_QImode): Set for Athlon
* i386.c (x86_promote_QImode): Set for Athlon
	(x86_fast_prefix): New global variable.
	(x86_arch_always_fancy_math_387): Fix formating.
	* i386.h (x86_fast_prefix): Declare
	(TARGET_FAST_PREFIX): define.
	* i386.md (and to strict_low_part, HI to SI
	promoting splitter): Use new macro.

	* i386.h (RTX_COSTS): float_extend is not for free for SSE.

From-SVN: r54521
2002-06-11 19:58:12 +00:00
J.T. Conklin f62bef4832 configure.target: Set os_include_dir to config/os/qnx/qnx6.1 under *-qnx6.[12]*.
2002-06-11  J.T. Conklin  <jtc@acorntoolworks.com>
            Benjamin Kosnik  <bkoz@redhat.com>

	* configure.target: Set os_include_dir to config/os/qnx/qnx6.1
	under *-qnx6.[12]*.
	* configure.in: Add support for *-qnx6.[12]*.
	* configure: Regenerate.

	* config/os/qnx, config/os/qnx/qnx6.1, config/os/qnx/qnx6.1/bits:
	New directories.
	* config/os/qnx/qnx6.1/bits/ctype_base.h, ctype_inline.h,
	ctype_noninline.h, os_defines.h: New files.

Co-Authored-By: Benjamin Kosnik <bkoz@redhat.com>

From-SVN: r54518
2002-06-11 17:54:27 +00:00
Tom Tromey 419831367f Class.h (Class::desiredAssertionStatus): Declare.
* java/lang/Class.h (Class::desiredAssertionStatus): Declare.
	(Class::getPackagePortion): Likewise.
	* java/lang/Class.java (desiredAssertionStatus): New method from
	Classpath.
	(getPackagePortion): Likewise.
	* java/lang/VMClassLoader.java (defaultAssertionStatus,
	packageAssertionStatus, classAssertionStatus): New methods from
	Classpath.
	* java/lang/ClassLoader.java (defaultAssertionStatus,
	systemPackageAssertionStatus, packageAssertionStatus,
	systemClassAssertionStatus, classAssertionStatus): New fields from
	Classpath.
	(setDefaultAssertionStatus, setPackageAssertionStatus,
	setClassAssertionStatus, clearAssertionStatus): New methods from
	Classpath.
	* Makefile.in: Rebuilt.
	* Makefile.am (core_java_source_files): Added AssertionError.java.
	* java/lang/AssertionError.java: New from Classpath.

From-SVN: r54517
2002-06-11 17:33:22 +00:00
Tom Tromey c6226a7e2a jcf-write.c (generate_classfile): Use FIELD_SYNTHETIC.
* jcf-write.c (generate_classfile): Use FIELD_SYNTHETIC.
	* parse-scan.y (statement_without_trailing_substatement): Added
	assert_statement.
	(assert_statement): New rule.
	* java-tree.h (struct lang_type) [assertions]: New field.
	(TYPE_USES_ASSERTIONS): New macro.
	(CLASS_USES_ASSERTIONS): Likewise.
	(FIELD_SYNTHETIC): New define.
	* lex.c (java_lval;): Added ASSERT_TK.
	* parse.y (ASSERT_TK): Added.
	(statement_without_trailing_substatement): Added assert_statement.
	(assert_statement): New rule.
	(build_assertion): New function.
	(maybe_generate_pre_expand_clinit): Create and initialize
	$assertionsDisabled.
	(lookup_package_type): Removed decl.
	* keyword.h: Rebuilt.
	* keyword.gperf (assert): New token.

From-SVN: r54516
2002-06-11 17:31:11 +00:00
Bob Wilson 9da754bd5e static11.C: Add xtensa-*-elf* to the list of targets to skip.
* g++.old-deja/g++.pt/static11.C: Add xtensa-*-elf* to the
        list of targets to skip.

From-SVN: r54514
2002-06-11 16:59:00 +00:00
Jeff Law 603b4b9210 * loop.c (loop_regs_scan): Avoid useless generation of REG objects.
From-SVN: r54513
2002-06-11 10:49:14 -06:00
Zack Weinberg 1bb1f121fe Makefile.in (distclean): Delete junk left in testsuite directory, too.
* Makefile.in (distclean): Delete junk left in testsuite
	directory, too.

From-SVN: r54512
2002-06-11 16:42:36 +00:00
Jeff Law 88c6578603 mips.c (function_arg_advance): gen_ashldi3 returns an INSN now, not the pattern.
* mips.c (function_arg_advance): gen_ashldi3 returns an INSN now,
        not the pattern.  So extract the pattern from the insn.

From-SVN: r54511
2002-06-11 10:14:54 -06:00
Akim Demaille e35b68b01a 2002-06-10 Akim Demaille <akim@epita.fr>
* parse.y (interface_type_list, class_member_declaration)
	(unary_expression_not_plus_minus): Remove duplicate %type.
	Whitespace changes.

From-SVN: r54510
2002-06-11 15:32:44 +00:00
Jeff Law 882c7223c9 * mips.c (embedded_pic_fnaddr_reg): Fix typo.
From-SVN: r54509
2002-06-11 09:04:39 -06:00
Tom Tromey ac57655a39 * Make-lang.in (java/lang.o): Use LANGHOOKS_DEF_H.
From-SVN: r54508
2002-06-11 14:58:09 +00:00
Ulrich Weigand df14489af1 s390.md (movsi): Only use floating point register alternatives when operands are already fprs.
* config/s390/s390.md (movsi): Only use floating point
	register alternatives when operands are already fprs.
	(movdi_31, movdi_64): Likewise.

From-SVN: r54506
2002-06-11 14:47:04 +00:00
Tom Tromey e9024f7f38 * libjava.compile/PR6865.java: New file. For PR java/6865.
From-SVN: r54505
2002-06-11 14:46:11 +00:00
Tom Tromey 950ac1d321 re PR java/6865 (gcj: segmentation fault on incorrect input)
* parse.y (method_header): Give error message in all cases.
	Fixes PR java/6865.

From-SVN: r54504
2002-06-11 14:43:54 +00:00
Tom Tromey 1632a23685 * libjava.lang/PR6520.java: Fixed typo.
From-SVN: r54503
2002-06-11 14:38:44 +00:00
David S. Miller 6f9703afa5 emit-rtl.c (try_split): Do not abort on non-INSN_P.
2002-06-11  David S. Miller  <davem@redhat.com>

	* emit-rtl.c (try_split): Do not abort on non-INSN_P.
	Only run RTX equality checks on INSN_P rtl.

From-SVN: r54502
2002-06-11 07:24:45 -07:00
Ulrich Weigand b2ccb744c6 s390.md (reload_base, ltorg): Remove.
* config/s390/s390.md (reload_base, ltorg): Remove.
	* s390.c (s390_stop_dump_lit_p, s390_dump_literal_pool,
	s390_asm_output_pool_prologue, s390_pool_start_insn): Remove.
	* s390-protos.h (s390_stop_dump_lit_p, s390_dump_literal_pool,
	s390_asm_output_pool_prologue): Likewise.
	* s390.h (s390_pool_start_insn): Likewise.

	* s390.c (s390_output_symbolic_const): Remove support for
	old-style pool chunks.
	(s390_function_epilogue): Likewise.
	(s390_output_constant_pool): Likewise.  Also, fix incorrect
	alignment for 64-bit literal pools.
	(print_operand_address): Remove 'y' and 'Y' format flags.
	* s390.h (ASM_OUTPUT_POOL_PROLOGUE): Remove support for
	old-style pool chunks.
	(ASM_OUTPUT_SPECIAL_POOL_ENTRY): Likewise.
	(ASM_OUTPUT_POOL_EPILOGUE): Remove.
	(S390_CHUNK_MAX, S390_CHUNK_OV, S390_POOL_MAX): Remove.

	* s390.c (consttable_operand): New function.
	* s390-protos.h (consttable_operand): Declare it.
	* s390.h (PREDICATE_CODES): Add consttable_operand.
	* s390.md (consttable_qi, consttable_hi, consttable_si, consttable_di,
	consttable_sf, consttable_df, pool_start_31, pool_end_31,
	pool_start_64, pool_end_64, reload_base, reload_base2): New insns.
	* s390.c (struct constant, struct constant_pool): New data types.
	(constant_modes, gen_consttable): New variables.
	(s390_start_pool, s390_end_pool, s390_add_pool,
	s390_dump_pool, s390_free_pool): New functions.
	(s390_chunkify_pool): Completely reimplement literal pool
	overflow handling.

	* s390.c (s390_pool_overflow): New variable.
	* s390.h (s390_pool_overflow): Declare it.
	* s390.md (cjump, icjump): Use it to adapt length for out-of-range
	jumps in literal pool overflow situations.

	* s390.c (s390_decompose_address): Accept new-style pool chunk offsets.
	(s390_frame_info): Account for possible use of RETURN_REGNUM
	by new literal pool overflow code.
	(s390_emit_prologue): Likewise.

From-SVN: r54500
2002-06-11 13:53:02 +00:00
David S. Miller 2f937369fa Delete SEQUENCE rtl usage outside of reorg and ssa passes.
2002-06-05  David S. Miller  <davem@redhat.com>

	Delete SEQUENCE rtl usage outside of reorg and ssa passes.
	* rtl.h (gen_sequence, emit_insns, emit_insns_before,
	emit_insns_before_scope, emit_insns_after,
	emit_insns_after_scope): Delete declaration.
	* ada/misc.c (insert_code_for): Use emit_insn* instead of
	emit_insns_foo.
	* config/alpha/alpha.c (alpha_set_memflags_1): Abort on SEQUENCE.
	(alpha_set_memflags): Fix comment.
	(set_frame_related_p): Use get_insns instead of gen_sequence.
	* config/alpha/alpha.md (setjmp receiver splitter): Avoid
	emitting no insns.
	* config/arm/arm.c (arm_finalize_pic): Use get_insns instead of
	gen_sequence.
	(arm_gen_load_multiple, arm_gen_store_multiple): Likewise.
	* config/fr30/fr30.c (fr30_move_double): Likewise.
	* config/i386/i386.c (ix86_expand_int_movcc, ix86_expand_movstr):
	Likewise.
	* config/ia64/ia64.c (spill_restore_mem): Likewise.
	* config/ia64/ia64.md (conditional move spliiter): Avoid emitting
	no insns.
	* config/m32r/m32r.c (gen_split_move_double): Use get_insns
	instead of gen_sequence.
	* config/mips/mips.c (embedded_pic_fnaddr_reg): Likewise.
	(mips_expand_prologue, mips16_gp_pseudo_reg): Likewise.
	* config/sh/sh.c (sh_need_epilogue): Likewise.
	* config/sparc/sparc.md (current_function_calls_alloca, flat): New
	attributes.
	(setjmp pattern and split): Use them to avoid splitter which emits
	no RTL.
	* genattrtab.c (main): Emit include of function.h
	* config/stormy16/stormy16.c (xstormy16_split_cbranch): Use
	get_insns instead of gen_sequence.
	* config/cris/cris.c (cris_split_movdx): Likewise.
	* emit-rtl.c (emit_insns*): Kill.
	(try_split): Expect insn list instead of SEQUENCE.
	(make_jump_insn_raw, make_call_insn_raw): Fix comments.
	(emit_*insn*): Reimplement to work with INSN lists and PATTERNs.
	Make them abort if a SEQUENCE is given and RTL checking is
	enabled.
	(emit_*_scope): Don't forget to set scope on final insn.
	(gen_sequence): Move from here...
	* ssa.c (gen_sequence): To here as private function.
	* builtins.c (expand_builtin_apply_args): Use emit_insn_foo, fix
	comments.
	(expand_builtin_return, expand_builtin_mathfn): Likewise.
	(expand_builtin_strlen): Use get_insns instead of gen_sequence.
	(expand_builtin_saveregs): Use emit_insn_foo, fix comments.
	(expand_builtin_expect_jump): Use get_insns and fix comments.
	* calls.c (try_to_integrate): Use emit_insn_foo.
	(expand_call, emit_library_call_value_1): Likewise.
	* expr.c (emit_queue): Handle insn lists instead of SEQUENCE.
	(emit_move_insn_1): Use get_insns instead of gen_sequence.
	(expand_expr): Use emit_insn_foo.
	* cfgrtl.c (commit_one_edge_insertion): Use emit_insn_foo.
	* except.c (build_post_landing_pads): Likewise.
	* flow.c (attempt_auto_inc): Likewise.
	* stmt.c (expand_fixup, fixup_gotos, expand_nl_handler_label,
	expand_nl_goto_receivers, expand_decl_cleanup): Likewise.
	* function.c (fixup_var_refs_insn): Use get_insns instead of
	gen_sequence.
	(fixup_var_refs_1): Likewise and expect insn list from gen_foo.
	(fixup_memory_subreg): Use get_insns instead of gen_sequence.
	(fixup_stack_1, purge_addressof_1, expand_main_function,
	get_arg_pointer_save_area): Likewise.
	(optimize_bit_field, instantiate_virtual_regs_1, assign_parms,
	expand_function_end): Use emit_insn_foo.
	(record_insns, keep_stack_depressed): Work with insn list instead
	of SEQUENCE, fix comments.
	* ifcvt.c (noce_emit_store_flag, noce_try_store_flag,
	noce_try_store_flag_constants, noce_try_store_flag_inc,
	noce_try_store_flag_mask, noce_emit_cmove, noce_try_cmove_arith,
	noce_try_minmax, noce_try_abs): Use emit_insn_foo.
	(noce_process_if_block): Use get_insns instead of gen_sequence.
	* optabs.c (add_equal_note): Work with insn list, fix comments.
	(expand_binop): Expect insn list from GEN_FCN(), use emit_insn_foo.
	(expand_unop, expand_complex_abs, expand_unop_insn,
	expand_no_conflict_block): Likewise.
	(gen_move_insn): Use get_insns instead of gen_sequence.
	(gen_cond_trap): Likewise.
	* integrate.c (copy_rtx_and_substitute): Likewise.
	(emit_initial_value_sets): Use emit_insn_foo.
	* reload1.c (emit_output_reload_insns, emit_reload_insns): Likewise.
	(fixup_abnormal_edges): Avoid losing REG_NOTES more intelligently
	now that RTL generators give insn lists.
	* sibcall.c (replace_call_placeholder): Use emit_insn_foo.
	* doloop.c (doloop_modify, doloop_modify_runtime): Use get_insns
	instead of gen_sequence.
	(doloop_optimize): Work with insn lists instead of SEQUENCE rtl.
	* explow.c (emit_stack_save, emit_stack_restore): Use get_insns
	instead of gen_sequence.
	* loop.c (move_movables, emit_prefetch_instructions,
	gen_add_mult, check_dbra_loop, gen_load_of_final_value):
	Likewise.
	(loop_regs_update): Work with insn list instead of SEQUENCE rtl.
	(product_cheap_p): Likewise, and add commentary about RTL wastage
	here.
	* lcm.c (optimize_mode_switching): Use get_insns instead of
	gen_sequence.
	* profile.c (gen_edge_profiler): Likewise.
	* regmove.c (copy_src_to_dest): Likewise.
	* reg-stack.c (compensate_edge): Likewise and fix comment.
	* gcse.c (process_insert_insn): Likewise.
	(insert_insn_end_bb): Work with insn list instead of SEQUENCE rtl.
	* jump.c (delete_prior_computation): Update comment.
	* genemit.c (gen_expand, gen_split, main): Use get_insns instead
	of gen_sequence, update comments to match.
	* recog.c (peephole2_optimize): Work with insn lists instead of
	SEQUENCE rtl.
	* sched-vis.c (print_pattern): Abort on SEQUENCE.
	* unroll.c (unroll_loop, find_splittable_givs, final_giv_value):
	Use get_insns instead of gen_sequence.
	(copy_loop_body): Likewise and don't emit dummy NOTE.
	* genrecog.c: Don't mention SEQUENCE rtl in comments.
	* combine.c (try_combine): Expect insn lists from split generator.
	* reorg.c (relax_delay_slots): Emit SEQUENCE into insn list by
	hand.

From-SVN: r54497
2002-06-11 05:22:48 -07:00