Commit Graph

43100 Commits

Author SHA1 Message Date
Zack Weinberg 5692c7bc60 emit-rtl.c (global_rtl): Update comment.
* emit-rtl.c (global_rtl): Update comment.
	(const_double_htab, const_double_htab_hash,
	const_double_htab_hash, lookup_const_double): New.
	(const_int_htab_hash, const_int_htab_eq): Remove const
	qualifiers, which cause tons of warnings with RTL checking on.
	(gen_rtx_CONST_DOUBLE): Deleted.
	(const_double_from_real_value): New function - bears some
	resemblance to the former immed_real_const_1.
	(immed_double_const): Moved here from varasm.c and
	simplified.
	(gen_rtx_REG): Make REGNO unsigned to squelch warnings.
	(gen_rtx_SUBREG): Use gen_rtx_raw_SUBREG.
	(gen_rtx): Use immed_double_const.
	(init_emit_once): Initialize the const_double_htab.  Use
	REAL_VALUE_FROM_INT where possible.  Can now use
	CONST_DOUBLE_FROM_REAL_VALUE when setting up const_tiny_rtx.
	* varasm.c (struct varasm_status): Remove x_const_double_chain.
	(const_double_chain, immed_real_const, clear_const_double_mem): Delete.
	(immed_double_const, immed_real_const_1): Moved to emit-rtl.c.
	(init_varasm_status, mark_varasm_status): Don't touch
	x_const_double_chain.

	* output.h: Delete prototype for clear_const_double_mem.
	* real.h: Make REAL_VALUE_TYPE a macro again.  Remove leading
	'0' slot from all CONST_DOUBLE_FORMAT definitions.  Prototype
	const_double_from_real_value, not immed_real_const_1, and use
	it to define CONST_DOUBLE_FROM_REAL_VALUE.  Define new macro
	CONST_DOUBLE_ATOF.
	* rtl.h (CONST_DOUBLE_CHAIN): Kill.
	(CONST_DOUBLE_LOW, CONST_DOUBLE_HIGH): Adjust.
	(gen_rtx_CONST_DOUBLE, immed_real_const): Delete prototypes.
	(gen_rtx_REG): Second arg is unsigned.

	* gengenrtl.c (special_rtx): Take out CONST_DOUBLE.
	(excluded_rtx): New, return true for CONST_DOUBLE.
	(genmacro): Write nothing for excluded codes.
	* combine.c (combine_simplify_rtx): Use CONST_DOUBLE_FROM_REAL_VALUE.
	* expr.c (expand_expr): Likewise.
	* ggc-common.c (ggc_mark_rtx_children_1): Don't mark the
	CONST_DOUBLE_CHAIN.
	* toplev.c (rest_of_compilation): Don't call
	clear_const_double_mem.

	* config/rs6000/rs6000.c (rs6000_float_const): Delete.
	(rs6000_hash_constant): Remove CONST_DOUBLE special case.
	(toc_hash_eq): Remove CONST_DOUBLE and LABEL_REF special cases.
	* config/rs6000/rs6000-protos.h: Don't prototype rs6000_float_const.
	* config/c4x/c4x.md, config/rs6000/rs6000.md: Use CONST_DOUBLE_ATOF.
	* config/dsp16xx/dsp16xx.md, config/mips/mips.md,
	config/pa/pa.md: Use CONST_DOUBLE_FROM_REAL_VALUE.
	* config/sparc/sparc.md, config/sparc/sparc.c: Use immed_double_const.

From-SVN: r53409
2002-05-13 04:50:20 +00:00
Kaveh R. Ghazi 31397a7b64 os_defines.h: Revert 2002-05-06 change.
libstdc++-v3:
	* config/os/irix/irix5.2/bits/os_defines.h: Revert 2002-05-06
	change.

gcc:
	* mips/iris6.h (CPLUSPLUS_CPP_SPEC): Define.

From-SVN: r53408
2002-05-13 02:52:47 +00:00
David S. Miller e2f7514753 conversion.c (ldnear): Use long double types.
2002-05-12  David S. Miller  <davem@redhat.com>

	* gcc.c-torture/execute/conversion.c (ldnear): Use long double
	types.

From-SVN: r53407
2002-05-12 19:24:12 -07:00
Tom Tromey 1b70d38ab5 * tree.h (copy_node): Don't mention TREE_PERMANENT.
From-SVN: r53404
2002-05-12 21:42:00 +00:00
Zack Weinberg 9a5834ae8d gensupport.c (n_comma_elts): Moved here from genattrtab.c.
* gensupport.c (n_comma_elts): Moved here from genattrtab.c.
	(scan_comma_elt): New function.  Accepts whitespace in comma lists.
	* gensupport.h: Prototype new routines.
	* genattr.c (gen_attr): Use scan_comma_elt.  Avoid unnecessary
	use of printf.
	* genattrtab.c (n_comma_elts): Moved to gensupport.c.
	(next_comma_elt): Use scan_comma_elt.

	* config/i386/i386.md: Use new attribute notation to break up
	long lines in define_attr forms.

From-SVN: r53403
2002-05-12 18:43:33 +00:00
Jason Merrill 0d08ea488f cp-lang.c (ok_to_generate_alias_set_for_type): Backend-created structs are safe.
* cp-lang.c (ok_to_generate_alias_set_for_type): Backend-created
        structs are safe.

From-SVN: r53402
2002-05-12 13:29:05 -04:00
Richard Henderson 51286de650 expr.c (compress_float_constant): New.
* expr.c (compress_float_constant): New.
        (emit_move_insn): Use it.
        (float_extend_from_mem): New.
        (init_expr_once): Initialize it.
        * real.c (exact_real_truncate): New.

        * config/i386/i386.h (CONST_COSTS): Assume CONST_DOUBLE gets
        dropped into memory; penalize for size.
        (RTX_COSTS): FLOAT_EXTEND is free.
        * config/i386/i386.md (extendsfdf2, extendsfxf2, extendsftf2,
        extenddfxf2, extenddftf2): Accept constants and drop them to memory.

From-SVN: r53401
2002-05-12 10:09:24 -07:00
Richard Henderson 6412341ec9 profile.h (profile_info): Add missing extern to declaration.
* profile.h (profile_info): Add missing extern to declaration.
        * profile.c (profile_info): Define it.

From-SVN: r53400
2002-05-12 10:03:35 -07:00
Marek Michalkiewicz e4447d94d9 *** empty log message ***
From-SVN: r53399
2002-05-12 16:08:25 +00:00
Jason Merrill 4cb325fdb0 * pt.c (tsubst_expr) [ASM_STMT]: Copy ASM_INPUT_P.
From-SVN: r53397
2002-05-12 05:25:45 -04:00
GCC Administrator f0d61a79be Daily bump.
From-SVN: r53396
2002-05-12 07:17:34 +00:00
Tom Tromey 1d6006fe82 * MAINTAINERS: Reflect libgcj reality.
From-SVN: r53390
2002-05-12 01:42:30 +00:00
Mark Wielaard c1acbb7a35 SentenceBreakIterator.java (next): Skip all java white space characters.
* gnu/java/text/SentenceBreakIterator.java (next): Skip all java white
	space characters.
	(previous_internal): Likewise.

From-SVN: r53389
2002-05-12 01:11:18 +00:00
John David Anglin 1f121cdbdd os_defines.h (__glibcpp_long_bits): Define to 64 for hppa 64-bit port.
* config/os/gnu-linux/bits/os_defines.h (__glibcpp_long_bits): Define
	to 64 for hppa 64-bit port.
	(__glibcpp_long_double_bits): Define to 64 for all hppa ports.

From-SVN: r53388
2002-05-12 01:01:21 +00:00
John David Anglin 12877f09db pa32-regs.h (HARD_REGNO_MODE_OK): Revise sets of general registers used for DImode and TImode.
* pa/pa32-regs.h (HARD_REGNO_MODE_OK): Revise sets of general registers
	used for DImode and TImode.

From-SVN: r53387
2002-05-12 00:01:54 +00:00
Neil Booth 387f9e323b cpplex.c (_cpp_lex_direct): When in a directive at EOF fake a newline.
* cpplex.c (_cpp_lex_direct): When in a directive at EOF
	fake a newline.

From-SVN: r53386
2002-05-11 21:02:34 +00:00
Zack Weinberg e1a0f69c8f Oops, this went with the previous commit
From-SVN: r53385
2002-05-11 18:23:28 +00:00
John David Anglin 9c64026dfc * reorg.c (dbr_schedule): Remove unnecessary test.
From-SVN: r53384
2002-05-11 17:38:40 +00:00
Jan Hubicka 6c81a49011 i386.md (testsi to testqi spliters): New.
* i386.md (testsi to testqi spliters): New.

	2002-01-14  Josef Zlomek  <zlomek@matfyz.cz>

	cfg.c (dump_edge_info): added dumping of EDGE_CAN_FALLTHRU.

	Wed Jan  9 2002  Josef Zlomek  <zlomj9am@artax.karlin.mff.cuni.cz>

	* basic-block.h: New flag EDGE_CAN_FALLTHRU
	* cfganal.c (set_edge_can_fallthru_flag): New function; marks the edges
	that can be made fallthru.

	Mon Nov 12 16:25:53 CET 2001  Jan Hubicka  <jh@suse.cz>

	* cfglayout.c (cleanup_unconditional_jumps): New static function.
	(cfg_layout_initialize): Use it.

Co-Authored-By: Pavel Nejedly <bim@atrey.karlin.mff.cuni.cz>

From-SVN: r53383
2002-05-11 17:16:28 +00:00
Zack Weinberg a5c76ee6e2 rs6000.c (rs6000_default_long_calls, [...]): New.
* config/rs6000/rs6000.c (rs6000_default_long_calls,
	rs6000_longcall_switch, rs6000_set_default_type_attributes): New.
	(TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Set it.
	(rs6000_override_options): Handle -m(no-)longcall.
	(init_cumulative_args, output_mi_thunk): Check for both
	longcall and shortcall attributes on the function.
	(rs6000_attribute_table): Add "shortcall".
	(rs6000_handle_longcall_attribute): Update comment.
	(altivec_expand_unop_builtin, altivec_expand_binop_builtin,
	altivec_expand_ternop_builtin): Add default clauses to switches
	to silence warnings.

	* config/rs6000/rs6000.h: Declare rs6000_longcall_switch and
	rs6000_default_long_calls.  Define REGISTER_TARGET_PRAGMAS.
	(TARGET_OPTIONS): Add longcall and no-longcall.

	* config/rs6000/rs6000.md (call_nonlocal_sysv,
	call_value_nonlocal_sysv): Split by alternatives.  One pair
	accepts only SYMBOL_REFs and rejects if CALL_LONG is set in
	the call cookie.  The other pair accepts only LR/CTR and has
	no restriction.

	* config.gcc (rs6000-*-* | powerpc*-*-* trailer stanza):
	Set c_target_objs, cxx_target_objs; add t-rs6000-c-rule to
	tmake_file.
	* config/rs6000/rs6000-c.c: New file.
	* config/rs6000/t-rs6000-c-rule: New file.
	* config/rs6000/rs6000-protos.c: Add multiple-include guard.
	Prototype rs6000_pragma_longcall.

	* doc/extend.texi: Document shortcall attribute.
	* doc/invoke.texi: Document -mlongcall, -mno-longcall.

From-SVN: r53382
2002-05-11 16:25:05 +00:00
Marek Michalkiewicz 4c476cf33a avr.c (avr_mcu_types): Update supported devices.
* config/avr/avr.c (avr_mcu_types): Update supported devices.
	* config/avr/avr.h (CPP_SPEC, LINK_SPEC, CRT_BINUTILS_SPECS): Likewise.
	* config/avr/t-avr (MULTILIB_MATCHES): Likewise.

From-SVN: r53381
2002-05-11 13:37:05 +00:00
Kazu Hirata 3a538a6668 dbxout.c: Fix formatting.
* dbxout.c: Fix formatting.
	* dependence.c: Likewise.
	* df.c: Likewise.
	* diagnostic.c: Likewise.
	* doloop.c: Likewise.
	* dominance.c: Likewise.
	* doschk.c: Likewise.
	* dwarf2asm.c: Likewise.
	* dwarf2out.c: Likewise.
	* dwarfout.c: Likewise.

From-SVN: r53380
2002-05-11 10:47:05 +00:00
GCC Administrator c9c2cb7c99 Daily bump.
From-SVN: r53379
2002-05-11 07:16:43 +00:00
Tim Josling 44e55536d9 Minor fix to treelang; Update MAINTAINERS and ChangeLog to reflect this.
From-SVN: r53375
2002-05-11 01:09:48 +00:00
Richard Henderson 2292e8fc45 final.c (end_final): Tidy whitespace.
* final.c (end_final): Tidy whitespace.  Don't honor flag_pack_struct.
        Convert integers constants as needed.  Replace "nwords" field with
        "sizeof_bb".
        (final): Save profile data if cfun->arc_profile, not profile_arc_flag.
        * function.h: Fix typo in comment.
        * libgcc2.c (struct bb): Replace "nwords" with "sizeof_bb".

From-SVN: r53374
2002-05-10 17:32:01 -07:00
Roger Sayle dbfb1116b3 fold-const.c (build_range_check): Optimize (c>=1) && (c<=127) into the equivalent (signed char)c > 0.
* fold-const.c (build_range_check): Optimize (c>=1) && (c<=127)
	into the equivalent (signed char)c > 0.

	* gcc.c-torture/execute/20020510-1.c: New test case.

From-SVN: r53373
2002-05-10 22:24:13 +00:00
Janis Johnson 79a497cd1d loop.c: (PREFETCH_EXTREME_DIFFERENCE, PREFETCH_BEFORE_LOOP): New.
* loop.c: (PREFETCH_EXTREME_DIFFERENCE, PREFETCH_BEFORE_LOOP): New.
	(PREFETCH_CONDITIONAL): Renamed from PREFETCH_NOT_ALWAYS.
	(struct prefetch_info): Fix spelling of member bytes_accessed.
	(emit_prefetch_instructions): Make dump messages more regular;
	restructure code to add more dump messages; use new macros for
	heuristics. (There are no code generation changes in any of this).

From-SVN: r53371
2002-05-10 20:48:32 +00:00
David S. Miller 7440af146e rtl.h (INSN_ANNULLED_BRANCH_P): Accept INSN too, update comment.
2002-05-10  David S. Miller  <davem@redhat.com>

	* rtl.h (INSN_ANNULLED_BRANCH_P): Accept INSN too, update comment.
	(struct rtx_def): Update unchanging flag comment.
	* doc/rtl.texi (INSN_ANNULLED_BRANCH_P): Update description.
	* reorg.c (delete_from_delay_list): INSN_ANNULLED_BRANCH_P needs
	to be handled to INSN too.
	(dbr_schedule): Likewise.
	* resource.c (next_insn_no_annul): Likewise.

From-SVN: r53370
2002-05-10 13:13:02 -07:00
David S. Miller 6c45cb0da4 cse.c (rtx_cost): Remove multiplication by power of 2 special casing.
2002-05-10  David S. Miller  <davem@redhat.com>

	* cse.c (rtx_cost): Remove multiplication by power of 2 special
	casing.

From-SVN: r53369
2002-05-10 11:58:00 -07:00
David S. Miller 85d7d3b09c conversion.c: Test long double too.
2002-05-10  David S. Miller  <davem@redhat.com>

	* gcc.c-torture/execute/conversion.c: Test long double too.

From-SVN: r53368
2002-05-10 11:08:32 -07:00
Rainer Orth e4ba88da9d t-iris6 (SHLIB_SLIBDIR_SUFFIXES): Use mabi=64 and . as N64/N32 libgcc_s.so subdirs.
* config/mips/t-iris6 (SHLIB_SLIBDIR_SUFFIXES): Use mabi=64 and
	. as N64/N32 libgcc_s.so subdirs.

From-SVN: r53366
2002-05-10 15:25:58 +00:00
David S. Miller 4f4778eeb3 sparc.md: Use define_constants for unspec numbers.
2002-05-10  David S. Miller  <davem@redhat.com>

	* config/sparc/sparc.md: Use define_constants for unspec numbers.

From-SVN: r53364
2002-05-10 08:07:41 -07:00
Philipp Thomas 92eca31e23 Update to latest versions.
From-SVN: r53362
2002-05-10 14:45:31 +00:00
Rainer Orth 6e55c1306f acinclude.m4 (enable_symvers): Quote $LD.
* acinclude.m4 (enable_symvers): Quote $LD.
	* aclocal.m4: Regenerate.
	* configure: Likewise.

From-SVN: r53361
2002-05-10 12:53:13 +00:00
David S. Miller cf40ea15f6 rtl.h (struct rtx_def): Document unchanging and in_struct flags more accurately.
2002-05-09  David S. Miller  <davem@redhat.com>

	* rtl.h (struct rtx_def): Document unchanging and in_struct flags
	more accurately.
	(INSN_ANNULLED_BRANCH_P): Only valid for JUMP_INSN and CALL_INSN, fix
	comment.
	(INSN_FROM_TARGET_P): Valid also for CALL_INSN.
	* doc/rtl.texi: Document these macros more accurately.
	* recog.c (whole file): Only mess with INSN_ANNULLED_BRANCH_P for
	JUMP_INSNs and CALL_INSNs.
	* resource.c (whole file): Only mess with INSN_ANNULLED_BRANCH_P
	or INSN_FROM_TARGET_P if the code is appropriate.

From-SVN: r53360
2002-05-10 05:50:11 -07:00
Marek Michalkiewicz 1a499b9250 avr.c (print_operand): Check that addr is a SYMBOL_REF before using SYMBOL_REF_FLAG (addr).
* config/avr/avr.c (print_operand): Check that addr is a SYMBOL_REF
	before using SYMBOL_REF_FLAG (addr).

	* config/avr/avr-protos.h (avr_io_address_p): Declare.
	* config/avr/avr.c (io_address_p): Rename to avr_io_address_p.
	Make non-static.  Update all callers.
	* config/avr/avr.md (*cbi, *sbi, *sbix_branch, *sbix_branch_bit7):
	New insns to clear/set/test a single bit in I/O address space.

From-SVN: r53359
2002-05-10 12:22:36 +00:00
GCC Administrator fbdb9fcec9 Daily bump.
From-SVN: r53358
2002-05-10 07:17:05 +00:00
Tom Tromey 370b2564b7 * jni.cc (_Jv_JNIFunctions): Fixed typo.
From-SVN: r53353
2002-05-10 01:47:55 +00:00
Kaveh R. Ghazi 65212b6656 * rtl.h (ENABLE_RTL_FLAG_CHECKING): Also check for gcc >= 2.7.
From-SVN: r53352
2002-05-10 01:30:03 +00:00
Tom Tromey 9525891785 ResourceBundle.java: New version from Classpath.
* java/util/ResourceBundle.java: New version from Classpath.
	* java/util/Locale.java: Likewise.

From-SVN: r53351
2002-05-09 23:41:42 +00:00
Jeffrey A Law af2728a4b4 athlon.md, [...]: New files.
* athlon.md, k6.md, pentium.md, ppro.md): New files.
        * i386.md: Move scheduling information into new files.

From-SVN: r53350
2002-05-09 17:41:39 -06:00
Neil Booth 3df892916c Makefile.in: Update.
* Makefile.in: Update.
	* c-common.c (flag_iso, flag_undef, cb_register_builtins,
	builtin_define_std): New.
	(c_common_init): Register CPP builtins callback.
	* c-common.h (flag_iso, flag_undef): New.
	* c-decl.c (c_decode_option): Set flag_iso and flag_undef.
	* c-lex.c: Don't include target.h.
	(cb_register_builtins): Move to c-common.c.
	(init_c_lex): Don't register hook here.
	* c-lex.h (builtin_define, builtin_assert, builtin_define_std): New.
	(cpp_define, cpp_assert): Remove.
	* gcc.c (cc1_options): Pass -undef to front end.
	* target-def.h (TARGET_REGISTER_CPP_BUILTINS): Remove.
	(TARGET_INITIALIZER): Update.
	* target.h (struct cpp_reader): Don't predeclare.
	(struct gcc_target): Remove cpp builtin hook.
	* tree.c (default_register_cpp_builtins): Remove.
cp:
	* cp-tree.h (flag_ansi): Remove.
	* decl2.c (flag_ansi): Remove.
	(cxx_decode_option): Set flag_iso and flag_undef.
doc:
	* tm.texi: Update.

From-SVN: r53349
2002-05-09 22:48:36 +00:00
Neil Booth 32fa4565a7 * cppexp.c (_cpp_expand_op_stack): Set op_limit.
From-SVN: r53348
2002-05-09 22:27:31 +00:00
Rainer Orth 23357c552c t-iris6 (SHLIB_SLIBDIR_SUFFIXES): Define.
* config/mips/t-iris6 (SHLIB_SLIBDIR_SUFFIXES): Define.
	(SHLIB_LINK, SHLIB_INSTALL): Adjust.

From-SVN: r53347
2002-05-09 23:19:10 +02:00
Jakub Jelinek 5aa26af025 t-linux64 (SHLIB_MAPFILES): Set.
* config/sparc/t-linux64 (SHLIB_MAPFILES): Set.
	* config/sparc/libgcc-sparc-glibc.ver: New file.
	* config/cris/t-linux (SHLIB_MAPFILES): Remove.
	* mklibgcc.in: Preprocess SHLIB_MAPFILES with ml flags.

From-SVN: r53346
2002-05-09 23:09:27 +02:00
Jakub Jelinek 2937267b6a re PR target/6429 (libgcc_s problem on dual 32/64-bit arches)
PR target/6429
	* Makefile.in (libgcc.mk): Pass SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
	* mklibgcc.in: If SHLIB_SLIBDIR_SUFFIXES is defined, put libgcc_s
	shared libraries into multilib dirs, with SONAME libgcc_s.so.1 for
	base multilibs.
	* config/t-slibgcc-elf-ver (SHLIB_LINK): Adjust for the above.
	* config/t-slibgcc-sld (SHLIB_LINK): Likewise.
	* config/i386/t-linux64 (SHLIB_SLIBDIR_SUFFIXES): Define.
	* config/sparc/t-linux64 (SHLIB_SLIBDIR_SUFFIXES): Define.
	* config/sparc/t-sol2-64 (SHLIB_SLIBDIR_SUFFIXES): Define.

	* lib/g77.exp (g77_link_flags): Append all multilib dirs containing
	libgcc_s*.so.1 below gcc object dir to LD_LIBRARY_PATH.
	* lib/g++.exp (g++_link_flags): Likewise.
	* lib/objc.exp (objc_target_compile): Likewise.

	* testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-init): Append all
	multilib dirs containing libgcc_s*.so.1 below gcc object dir to
	LD_LIBRARY_PATH.

	* testsuite/lib/libjava.exp (libjava_arguments): Append all
	multilib dirs containing libgcc_s*.so.1 below gcc object dir to
	LD_LIBRARY_PATH.

From-SVN: r53345
2002-05-09 23:01:55 +02:00
Richard Henderson 086c0f96be ia64.md: Use define_constants for unspec numbers.
* config/ia64/ia64.md: Use define_constants for unspec numbers.
        * config/ia64/ia64.c: Likewise.

From-SVN: r53344
2002-05-09 13:58:35 -07:00
Richard Sandiford a8b4881f10 mips.c (mips_add_large_offset_to_sp): Remove FILE arg.
* config/mips/mips.c (mips_add_large_offset_to_sp): Remove FILE arg.
	(save_restore_insns): Likewise.
	(mips_expand_prologue, mips_expand_epilogue): Update callers.
	(highpart_shift_operator): Attach ATTRIBUTE_UNUSED to mode argument.

From-SVN: r53341
2002-05-09 20:10:54 +00:00
Federico G. Schwindt b70b3534fa * Makefile.in: Honour DESTDIR.
From-SVN: r53340
2002-05-09 15:57:00 -04:00
Jeffrey A Law 890d52e81b i386.md (type attribute): Add "rotate" for rotate insns.
* i386.md (type attribute): Add "rotate" for rotate insns.
        (rotate insns): Set type to "rotate".
        (various attributes and function units): Treat rotate like shift.
        (pent_pair attribute): Only rotates by one bit position are
        pairable.
        (sbb insns): Explicitly set pent_pair attribute on a couple
        that were missing it.

From-SVN: r53338
2002-05-09 11:58:09 -06:00