Commit Graph

50362 Commits

Author SHA1 Message Date
Jan Hubicka
8f231b5d87 install.tex: Document profiledbootstrap.
* install.tex: Document profiledbootstrap.

	* Makefile.tpl (profiledbootstrap): New target.
	* Makefile.in (profiledbootstrap): New target.

	* Makefile.in (clean, distclean): Kill new stages
	(POSTSTAGE1_FLAGS_TO_PASS): Break from ...
	(STAGE2_FLAGS_TO_PASS): ... this one.
	(STAGEPROFILE_FLAGS_TO_PASS, STAGEFEEDBACK_FLAGS_TO_PASS): New.
	(stage[2-4]_build): Add POSTSTAGE1_FLAGS_TO_PASS.
	(stageprofile_build, stageprofile_copy, stagefeedback_build,
	stagefeedback_copy): New.
	(restageprofile, restagefeedback, stageprofile-start,
	stageprofile, stagefeedback-start): Likewise.

	* Make-lang.in:  Add support for stageprofile and stagefeedback

From-SVN: r67498
2003-06-05 16:36:12 +00:00
David Miller
842a431a9a optabs.c (HAVE_conditional_trap): Provide default.
* optabs.c (HAVE_conditional_trap): Provide default.
        (gen_conditional_trap): Likewise.
        (init_optabs): Merge init_traps.
        (gen_cond_trap): Use prepare_operand.  Restructure and avoid ifdef.
	* gcc.c-torture/compile/20030605-1.c: New.

Co-Authored-By: Richard Henderson <rth@redhat.com>

From-SVN: r67497
2003-06-05 09:31:49 -07:00
Bert Deknuydt
ad23ad2cbe posix-threads.h: Include <machine/pal.h> on OSF.
2003-06-05  Bert Deknuydt  <Bert.Deknuydt@esat.kuleuven.ac.be>

	* include/posix-threads.h: Include <machine/pal.h> on OSF.

From-SVN: r67491
2003-06-05 15:43:58 +00:00
Wolfgang Bangerth
2ffc3e73b5 Fix ChangeLog date of my last entry.
From-SVN: r67490
2003-06-05 08:47:32 -06:00
Wolfgang Bangerth
9a22b893d7 Add Dara Hazeghi and Andrew Pinski to Bugzilla-only maintainers. Remove user names from other bug database only maintainers since bugzilla no longer has user names.
From-SVN: r67489
2003-06-05 08:44:47 -06:00
Jan Hubicka
83588a9d9d combine.c (simplify_if_then_else): (IF_THEN_ELSE (NE REG 0) (0) (8)) is REG for nonzero_bits (REG) == 8.
* combine.c (simplify_if_then_else): (IF_THEN_ELSE (NE REG 0) (0) (8))
	is REG for nonzero_bits (REG) == 8.

From-SVN: r67488
2003-06-05 13:00:14 +00:00
Jan Hubicka
6262f66a0b i386.md (align): Fix warning; clarify what to do when no p2align is available.
* i386.md (align): Fix warning; clarify what to do when no p2align
	is available.

From-SVN: r67485
2003-06-05 11:25:43 +00:00
Nick Clifton
3a30516dd0 config.gcc (m32r-elf): Revert previous delta.
* config.gcc (m32r-elf): Revert previous delta.
* config/m32r/t-m32r (crtinit.o): Fix rule to work with multilibs.
  Remove m32rx specific version.
  (crtfini.o): Likewise.
  (EXTRA_MULTILIB_PARTS): Define.

From-SVN: r67483
2003-06-05 09:12:02 +00:00
Eric Botcazou
53e5f17323 md.texi (Machine Constraints): Correct the meaning of constraints related to floating-point registers on SPARC.
* doc/md.texi (Machine Constraints): Correct the meaning of
	constraints related to floating-point registers on SPARC.

From-SVN: r67481
2003-06-05 08:36:53 +00:00
Eric Botcazou
c6cc7e13f4 re PR target/10663 ([Solaris] New configure check aborts with Sun tools.)
PR target/10663
	* configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Redirect
	assembler and linker output to /dev/null.
	Use a 'sed' construct instead of 'grep -A1'.
	* configure: Regenerate.

Co-Authored-By: Paolo Bonzini <bonzini@gnu.org>

From-SVN: r67479
2003-06-05 07:50:42 +00:00
Matt Kraai
3aa07c6de0 * bindgen.adb (Gen_Adafinal_C, Gen_Adainit_C, Gen_Elab_Defs_C)
(Gen_Main_C, Gen_Output_File_C): Generate ISO C.

From-SVN: r67478
2003-06-05 07:11:39 +00:00
Matt Kraai
f109386655 gnat_ug.texi (The GNAT Run-Time Library Builder gnatlbr): Remove non-VMS directive.
* gnat_ug.texi (The GNAT Run-Time Library Builder gnatlbr):
	Remove non-VMS directive.
	(Switches for gnatlbr, Optimization Levels): Remove non-VMS
	alternatives.
	(Examples of gnatls Usage): Remove VMS alternative.

From-SVN: r67477
2003-06-05 06:59:57 +00:00
Christopher Faylor
ccc1ce6eac cygwin caveat
From-SVN: r67476
2003-06-05 03:54:44 +00:00
Richard Henderson
74dc3e94ed i386.c (struct ix86_address): Add seg.
* config/i386/i386.c (struct ix86_address): Add seg.
        (no_seg_address_operand): New.
        (ix86_decompose_address): Restructure PLUS loop.  Accept one
        UNSPEC_TP if TARGET_TLS_DIRECT_SEG_REFS.  Adjust ESP swap test
        to test for a regnum, not stack_pointer_rtx.
        (ix86_address_cost): Reduce cost if non-default segment.
        (legitimate_address_p): Remove UNSPEC_TP check.
        (get_thread_pointer): Add to_reg argument.  Don't represent
        the thread pointer as a memory load.
        (legitimize_tls_address): Split out of ...
        (legitimize_address): ... here.
        (print_operand_address): Handle parts.seg.
        (ix86_expand_move): Use legitimize_tls_address.
        (ix86_rtx_costs): Handle UNSPEC_TP.
        * config/i386/i386.h (MASK_TLS_DIRECT_SEG_REFS): New.
        (TARGET_TLS_DIRECT_SEG_REFS): New.
        (TARGET_SWITCHES): Add tls-direct-seg-refs.
        (TARGET_TLS_DIRECT_SEG_REFS_DEFAULT): Default.
        (PREDICATE_CODES): Add no_seg_address_operand.
        * config/i386/i386.md (lea_1): Use it.
        (lea_1_rex64, lea_1_zext, lea_2_rex64): Likewise.
        (load_tp_si, add_tp_si, load_tp_di, add_tp_di): New.
        * config/i386/linux.h (TARGET_TLS_DIRECT_SEG_REFS_DEFAULT): New.
        * config/i386/linux64.h (TARGET_TLS_DIRECT_SEG_REFS_DEFAULT): New.
        * doc/invoke.texi: Add -mtls-direct-seg-refs.

From-SVN: r67475
2003-06-04 17:23:23 -07:00
Mark Mitchell
d7068b3d2a Makefile.in (QMTESTRUNFLAGS): Set for DejaGNU emulation.
* Makefile.in (QMTESTRUNFLAGS): Set for DejaGNU emulation.
	(QMTEST_GPP_TESTS): Use "g++" by default.
	(stamp-qmtest): Tweak database creation.
	(QMTEST_DIR/context): Update context file format.
	(qmtest-g++): Tweak command-line.

	* README.QMTEST: Update.

From-SVN: r67474
2003-06-05 00:17:16 +00:00
GCC Administrator
76c05f8f30 Daily bump.
From-SVN: r67472
2003-06-05 00:16:07 +00:00
Kaveh R. Ghazi
6b6600bd8e Makefile.in (varasm.o): Don't set -Wno-error.
* Makefile.in (varasm.o): Don't set -Wno-error.
	* rs6000/t-rs6000 (varasm.o, out_object_file): Don't clear.

From-SVN: r67469
2003-06-04 23:21:26 +00:00
Paolo Carlini
7778fa6e3b basic_string.h (_M_fold, [...]): Constify various variables.
2003-06-04  Paolo Carlini  <pcarlini@unitus.it>

	* include/bits/basic_string.h (_M_fold, insert(iterator, _CharT),
	erase(iterator), erase(iterator, iterator), c_str,
	compare(const basic_string&)): Constify various variables.
	* include/bits/basic_string.tcc (_S_construct(_InIter, _InIter,
	const _Alloc&, input_iterator_tag), _M_destroy, _M_mutate,
	_S_create, resize, _M_replace, _M_replace_safe,
	append(const basic_string&), append(const basic_string&, size_type,
	size_type), append(const _CharT*, size_type), append(size_type,
	_CharT), operator+(const _CharT*, const basic_string&),
	operator+(_CharT, const basic_string&), replace(iterator, iterator,
	size_type, _CharT), find(const _CharT*, size_type, size_type),
	find(_CharT, size_type), rfind(const _CharT*, size_type, size_type),
	rfind(_CharT, size_type), compare(size_type, size_type,
	const basic_string&), compare(size_type, size_type,
	const basic_string&, size_type, size_type), compare(const _CharT*),
	compare(size_type, size_type, const _CharT*), compare(size_type,
	size_type, const _CharT*, size_type)): Likewise.

From-SVN: r67468
2003-06-04 22:53:05 +00:00
Zack Weinberg
1072ec3fdc re PR bootstrap/3163 ([3.3 Only] gcc/aclocal.m4 mmap test fails on UnixWare 7.1.1)
PR bootstrap/3163
	* aclocal.m4 (AC_FUNC_MMAP_ANYWHERE, AC_FUNC_MMAP_FILE): Delete.
	(gcc_AC_FUNC_MMAP_BLACKLIST): New.
	* configure.in: Check for sys/mman.h and mmap in AC_CHECK_HEADERS
	and AC_CHECK_FUNCS lists, respectively.  Use
	gcc_AC_FUNC_MMAP_BLACKLIST, not AC_FUNC_MMAP_ANYWHERE nor
	AC_FUNC_MMAP_FILE.
	* configure, config.in: Regenerate.

From-SVN: r67467
2003-06-04 22:21:21 +00:00
J"orn Rennecke
88d5a16e0b decl.c (grokdeclarator): Error_mark_node in, error_mark_node out.
gcc/cp:
	* decl.c (grokdeclarator): Error_mark_node in, error_mark_node out.

gcc/testsuite/g++.old-deja/g++.oliva:
	* template1.C (bar): Remove xfail marker.

From-SVN: r67465
2003-06-04 23:00:22 +01:00
Kaveh R. Ghazi
c53dddc232 aout.h (ASM_OUTPUT_SKIP): Fix cast for format specifier warning.
* arm/aout.h (ASM_OUTPUT_SKIP): Fix cast for format specifier warning.
	* arm.c (arm_output_function_prologue): Fix format specifiers.
	* arm.h (ARM_PRINT_OPERAND_ADDRESS): Likewise.
	* m68k.c (m68k_output_mi_thunk): Use more readable %wd instead of
	HOST_WIDE_INT_PRINT_DEC.
	* vax.c (vax_output_function_prologue): Fix format specifiers.

From-SVN: r67464
2003-06-04 21:18:48 +00:00
Richard Henderson
7b9c108f63 cse.c (find_best_addr): Consider binary operators even if second argument is not CONST_INT.
* cse.c (find_best_addr): Consider binary operators even if second
        argument is not CONST_INT.

From-SVN: r67463
2003-06-04 14:05:20 -07:00
Zdenek Dvorak
c48ec59087 * doc/invoke.texi (max-cse-path-length): Document.
From-SVN: r67462
2003-06-04 20:59:56 +00:00
Richard Henderson
9ccf96814f * config/i386/i386.md (align): Use ASM_OUTPUT_*ALIGN macros.
From-SVN: r67461
2003-06-04 13:06:34 -07:00
Andrew Pinski
9dce39a4e3 darwin.h (RS6000_OUTPUT_BASENAME): Remove semi-colon at the end of the expression.
* config/rs6000/darwin.h (RS6000_OUTPUT_BASENAME):
	Remove semi-colon at the end of the expression.

From-SVN: r67459
2003-06-04 21:01:54 +02:00
Kaveh R. Ghazi
ad929cd5ab i370.c (mvs_function_name_length): Fix signed/unsigned warnings.
* i370.c (mvs_function_name_length): Fix signed/unsigned warnings.
	* i370.h (mvs_function_name_length): Likewise.
	* i960.h (CONSTANT_ALIGNMENT): Likewise.
	* mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
	* pa/pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
	* pa.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
	* rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Delete unused
	variable.

From-SVN: r67458
2003-06-04 17:53:07 +00:00
Daniel Jacobowitz
7816bea0e2 config.gcc: Reorganize --with-cpu logic.
* config.gcc: Reorganize --with-cpu logic.  Set
	configure_default_options according to the default CPU, --with-cpu,
	--with-arch, --with-tune, --with-schedule, --with-abi, and
	--with-float.  Check for legal values of various options.
	* configure.in: Define configure_default_options in configargs.h.
	* configure: Regenerated.
	* config/mips/mips.h (TARGET_DEFAULT_ARCH_P)
	(TARGET_DEFAULT_FLOAT_P): New macros.
	* gcc.c (do_option_spec): New function.
	(struct default_spec, option_default_specs): New.
	(main): Call do_option_spec.
	* config/alpha/alpha.h, config/arm/arm.h, config/i386/i386.h,
	config/mips/mips.h, config/pa/pa.h, config/rs6000/rs6000.h,
	config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Define.

	* doc/install.texi: Update --with-cpu documentation.  Mention
	--with-arch, --with-schedule, --with-tune, --with-abi, and
	--with-float.
	* doc/tm.texi (Driver): Document OPTION_DEFAULT_SPECS.

From-SVN: r67457
2003-06-04 17:50:44 +00:00
Daniel Jacobowitz
83079d893c * config.gcc: Only process --with-cpu logic in the third pass.
From-SVN: r67456
2003-06-04 17:44:03 +00:00
Daniel Jacobowitz
73f09c9913 config.gcc: Reorganize --with-cpu section.
* config.gcc: Reorganize --with-cpu section.  Remove an
	obsolete comment about the default CPU for x86-64.  Fix
	a typo for the ep9312.  Update the list of supported PowerPC
	CPUs.  Support a limited set of new --with-cpu options
	for i386.

From-SVN: r67455
2003-06-04 17:42:53 +00:00
Aldy Hernandez
165848dad3 rs6000.c (rs6000_complex_function_value): Unpack complex numbers <= 32 bits into two registers.
2003-06-04  Aldy Hernandez  <aldyh@redhat.com>

        * config/rs6000/rs6000.c (rs6000_complex_function_value): Unpack
        complex numbers <= 32 bits into two registers.

From-SVN: r67454
2003-06-04 17:41:06 +00:00
Kaveh R. Ghazi
74eda121a8 alpha.c (print_operand_address): Fix format specifier warnings.
* alpha.c (print_operand_address): Fix format specifier warnings.
	* alpha/elf.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
	* alpha/vms.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
	* arm/aof.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
	* arm/pe.h (ASM_OUTPUT_COMMON): Likewise.
	* avr.h (ASM_OUTPUT_COMMON, ASM_GENERATE_INTERNAL_LABEL,
	ASM_OUTPUT_SKIP): Likewise.
	* c4x.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
	* dsp16xx.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
	* h8300.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_COMMON):
	Likewise.
	* i370.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
	* i386/cygming.h (ASM_OUTPUT_COMMON): Likewise.
	* i386/darwin.h (ASM_OUTPUT_COMMON): Likewise.
	* i960.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
	* m68k/hp320.h (PRINT_OPERAND_ADDRESS): Likewise.
	* mcore.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
	* pdp11.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
	* ptx4.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
	* sparc/freebsd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
	* svr3.h (ASM_OUTPUT_COMMON): Likewise.

From-SVN: r67453
2003-06-04 17:33:51 +00:00
J"orn Rennecke
e3091a5f95 c-decl.c (c_init_decl_processing): Clear input_file_name while building common nodes.
* c-decl.c (c_init_decl_processing): Clear input_file_name
	while building common nodes.
	* dwarf2out.c (gen_compile_unit_die, dwarf2out_finish):
	Don't add working directory for strings like <built-in> .

From-SVN: r67452
2003-06-04 18:19:36 +01:00
David Edelsohn
f0483418a0 install.texi (*-ibm-aix*): Native as and ld required to bootstrap on AIX 5L.
* doc/install.texi (*-ibm-aix*): Native as and ld required
        to bootstrap on AIX 5L.

From-SVN: r67450
2003-06-04 13:11:18 -04:00
Richard Henderson
0bfa5f65bf c-common.c (handle_cleanup_attribute): New.
* c-common.c (handle_cleanup_attribute): New.
        (c_common_attributes): Add it.
        * c-decl.c (finish_decl): Honor the cleanup attribute.
        * doc/extend.texi (Variable Attributes): Document it.

        * unwind-c.c: New file.
        * Makefile.in (LIB2ADDEH): Add it.
        * config/t-darwin, config/t-linux, config/t-linux-gnulibc1,
        config/ia64/t-ia64: Likewise.

        * gcc.dg/cleanup-1.c: New.
        * gcc.dg/cleanup-2.c: New.
        * gcc.dg/cleanup-3.c: New.
        * gcc.dg/cleanup-4.c: New.
        * gcc.dg/cleanup-5.c: New.
        * gcc.dg/cleanup-6.c: New.
        * gcc.dg/cleanup-7.c: New.

From-SVN: r67449
2003-06-04 10:06:00 -07:00
Jakub Jelinek
3edc56a9e5 function.c (trampolines_created): New variable.
* function.c (trampolines_created): New variable.
	(expand_function_end): Set it when doing INITIALIZE_TRAMPOLINE.
	* function.h (trampolines_created): Add.
	* config/s390/linux.h (ASM_FILE_END): Define.
	* config/alpha/linux-elf.h (ASM_FILE_END): Define.
	* config/m68k/linux.h (ASM_FILE_END): Define.
	* config/rs6000/linux.h (ASM_FILE_END): Define.
	* config/rs6000/linux64.h (ASM_FILE_END): Define.
	* config/rs6000/ppc-asm.h: Add .note.GNU-stack on powerpc-linux.
	* config/sparc/linux.h (ASM_FILE_END): Define.
	* config/sparc/linux64.h (ASM_FILE_END): Define.
	* config/i386/i386.c (ix86_asm_file_end): Use SUBTARGET_FILE_END.
	* config/i386/linux.h (SUBTARGET_FILE_END): Define.
	* config/i386/linux64.h (SUBTARGET_FILE_END): Define.

From-SVN: r67447
2003-06-04 18:44:51 +02:00
Jan Hubicka
d2c49530bb i386.c (min_insn_size, [...]): New functions
* i386.c (min_insn_size, k8_avoid_jump_misspredicts): New functions
	(ix86_reorg): Use it.
	* i386.md (align): New insn pattern.

From-SVN: r67446
2003-06-04 16:42:23 +00:00
Kaveh R. Ghazi
05a0e2af58 * toplev.c (rest_of_type_compilation): Fix typo.
From-SVN: r67445
2003-06-04 16:14:35 +00:00
Mark Mitchell
13e0ae41ca * g++.dg/abi/vague1.C: Use xfail, rather than embedded Tcl code.
From-SVN: r67444
2003-06-04 15:35:58 +00:00
Mark Mitchell
ac871ee12a dg-pch.exp: New file.
* lib/dg-pch.exp: New file.
	* g++.dg/pch/pch.exp: Use dg-pch.exp.
	* gcc.dg/pch/pch.exp: Likewise.

From-SVN: r67443
2003-06-04 15:32:08 +00:00
Jakub Jelinek
9739c90c8d linux.h (NO_PROFILE_COUNTERS): Define to 1.
* config/i386/linux.h (NO_PROFILE_COUNTERS): Define to 1.
	* config/i386/freebsd.h (NO_PROFILE_COUNTERS): Likewise.
	* config/i386/netbsd-elf.h (NO_PROFILE_COUNTERS): Likewise.
	* config/xtensa/xtensa.h (NO_PROFILE_COUTNERS): Likewise.
	* config/darwin.h (NO_PROFILE_COUNTERS): Likewise.
	* final.c (NO_PROFILE_COUNTERS): Define to 0 if not defined.
	(profile_function): Allow NO_PROFILE_COUNTERS to be non-constant.
	* config/rs6000/rs6000.c (output_profile_hook): Likewise.

	* configure.in (powerpc*-*, s390*-*): Set tls_as_opt.
	Pass it to $gcc_cv_as.
	* configure: Rebuilt.

	* config/rs6000/rs6000.c (rs6000_abi_name): Remove initializer.
	(print_operand): Allow TARGET_AIX to be non-constant.
	(rs6000_aix_emit_builtin_unwind_init, rs6000_emit_eh_toc_restore):
	Define unconditionally.
	(rs6000_elf_declare_function_name): New function.
	* config/rs6000/rs6000.md (eh_return): Allow TARGET_AIX to be
	non-constant.
	* config/rs6000/linux64.h [!RS6000_BI_ARCH] (TARGET_64BIT): Define
	to 1.
	(DEFAULT_ARCH64_P, RS6000_BI_ARCH_P): Define.
	[IN_LIBGCC2] (TARGET_64BIT): Define based on whether __powerpc64__
	is defined.
	(TARGET_AIX): Define to 1 if TARGET_64BIT.
	(PROCESSOR_DEFAULT): Remove.
	(TARGET_RELOCATABLE, RS6000_ABI_NAME, INVALID_64BIT,
	INVALID_32BIT, SUBSUBTARGET_OVERRIDE_OPTIONS): Define.
	[RS6000_BI_ARCH] (OVERRIDE_OPTIONS, ASM_FILE_START): Define.
	(ASM_DEFAULT_SPEC, ASM_SPEC, LINK_OS_LINUX_SPEC): Define for both
	-m32 and -m64.
	(MULTILIB_DEFAULTS): Define.
	(SUBSUBTARGET_EXTRA_SPECS): Define.
	(ASM_SPEC32, ASM_SPEC64, ASM_SPEC_COMMON): Define.
	(TARGET_TOC): Define only if !RS6000_BI_ARCH.
	(TARGET_NO_TOC): Remove.
	[!RS6000_BI_ARCH] (TARGET_RELOCATABLE, TARGET_EABI,
	TARGET_PROTOTYPE): Define to 0.
	(NO_PROFILE_COUNTERS): Define to TARGET_64BIT.
	(PROFILE_HOOK): Only call output_profile_hook if TARGET_64BIT.
	(ADJUST_FIELD_ALIGN, ROUND_TYPE_ALIGN): Adjust to work properly
	if !TARGET_64BIT.
	(USER_LABEL_PREFIX): Remove.
	(JUMP_TABLES_IN_TEXT_SECTION): Define to TARGET_64BIT.
	(SETUP_FRAME_ADDRESSES): Only call rs6000_aix_emit_builtin_unwind_init
	if TARGET_64BIT.
	(TARGET_OS_CPP_BUILTINS): Handle both -m32 and -m64.
	(LINK_OS_LINUX_SPEC32, LINK_OS_LINUX_SPEC64): Define.
	(STARTFILE_LINUX_SPEC, ENDFILE_LINUX_SPEC): Remove.
	(TOC_SECTION_ASM_OP): Define depending on TARGET_64BIT.
	(MINIMAL_TOC_SECTION_ASM_OP): Likewise.
	(SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE): Define depending on
	TARGET_64BIT.
	(RS6000_CALL_GLUE): Likewise.
	(SAVE_FP_PREFIX, SAVE_FP_SUFFIX, RESTORE_FP_PREFIX,
	RESTORE_FP_SUFFIX): Likewise.
	(ASM_DECLARE_FUNCTION_NAME): Remove.
	(ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_SOURCE_LINE,
	DBX_OUTPUT_BRAC, DBX_OUTPUT_NFUN): Only output dot before function
	name if TARGET_64BIT.
	(ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Handle both TARGET_64BIT and
	!TARGET_64BIT.
	(ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Remove undefs.
	(ASM_PREFERRED_EH_DATA_FORMAT): Take TARGET_64BIT into account.
	(DRAFT_V4_STRUCT_RET): Define.
	(SIGNAL_FRAMESIZE): New enum value.
	(MD_FALLBACK_FRAME_STATE_FOR): Define.
	* config/rs6000/default64.h: New file.
	* config/rs6000/sysv4.h (SUBTARGET_SWITCHES): Add -m32 and -m64
	options.
	(SUBTARGET_OVERRIDE_OPTIONS): If rs6000_abi_name is NULL, set it
	to RS6000_ABI_NAME.  Only disallow mixing of -fPIC with -mcall-aixdesc
	if !TARGET_64BIT.
	[!RS6000_BI_ARCH] (SUBSUBTARGET_OVERRIDE_OPTIONS): Define.
	(ASM_DECLARE_FUNCTION_NAME): Use rs6000_elf_declare_function_name
	function.
	(TARGET_OS_SYSV_CPP_BUILTINS): Define.
	(TARGET_OS_CPP_BUILTINS): Use it.
	(CPP_SYSV_SPEC): Remove.
	(CPP_SPEC): Remove cpp_sysv.
	(SUBTARGET_EXTRA_SPECS): Remove cpp_sysv.
	Add SUBSUBTARGET_EXTRA_SPECS.
	(SUBSUBTARGET_EXTRA_SPECS): Define.
	* config/rs6000/biarch64.h: New file.
	* config/rs6000/rs6000-protos.h (rs6000_elf_declare_function_name):
	New prototype.
	* config/rs6000/x-linux64: New file.
	* config/rs6000/t-linux64: Build -m64, -m32 and -m32 -msoft-float
	multilibs.
	* config/rs6000/eabi-ci.asm: Protect with #ifndef __powerpc64__.
	* config/rs6000/eabi-cn.asm: Likewise.
	* config/rs6000/tramp.asm: Likewise.
	* config/rs6000/sol-ci.asm: Likewise.
	* config/rs6000/sol-cn.asm: Likewise.
	* config/rs6000/linux.h (TARGET_64BIT): Define to 0.
	(TARGET_OS_CPP_BUILTINS): Use TARGET_OS_SYSV_CPP_BUILTINS.
	* config/rs6000/ppc-asm.h: Move __powerpc64__ section before
	_CALL_AIXDESC section.
	* config.gcc (powerpc64-*-linux*): Configure a bi-arch compiler,
	defaulting to -m64 unless --with-cpu= is one of the 32-bit CPUs
	or default32.

Co-Authored-By: Alan Modra <amodra@bigpond.net.au>

From-SVN: r67442
2003-06-04 17:23:42 +02:00
Daniel Jacobowitz
150b72ed1f * config.gcc: Revert accidentally committed ARM changes.
From-SVN: r67440
2003-06-04 14:53:59 +00:00
Roger Sayle
385a9348eb builtins.c (dconstpi, dconste): New mathematical constants.
* builtins.c (dconstpi, dconste): New mathematical constants.
	(init_builtin_dconsts): New function to initialize dconstpi
	and dconste.
	(fold_builtin): Optimize exp(1.0) = e.  Evaluate exp(x) at
	compile time with -ffast-math when x is an integer constant.
	Optimize tan(0.0) = 0.0.  Optimize atan(0.0) = 0.0,
	atan(1.0) = pi/4 and tan(atan(x)) = x with -ffast-math.

	* gcc.dg/builtins-2.c: Add tests for tan(atan(x)).
	* gcc.dg/builtins-3.c: Add tests for tan(0.0) and atan(0.0).
	* gcc.dg/builtins-7.c: Add tests for tan(atan(x)) == x.
	* gcc.dg/builtins-17.c: New test case.
	* gcc.dg/i386-387-4.c: New test case.
	* gcc.c-torture/execute/ieee/mzero4.c: New test case.

From-SVN: r67438
2003-06-04 12:20:40 +00:00
Roger Sayle
8c6a82695b calls.c (expand_call): Avoid calling pure or const functions when the result is ignored (or void) and...
* calls.c (expand_call): Avoid calling pure or const functions
	when the result is ignored (or void) and none of the arguments
	are volatile.  Move warning diagnostic earlier in function.

From-SVN: r67436
2003-06-04 12:07:52 +00:00
Andreas Jaeger
e2d8bb2946 system.h: Do not poison TDESC_SECTION_ASM_OP, RDATA_SECTION_ASM_OP and SUBTARGET_PROLOGUE.
* system.h: Do not poison TDESC_SECTION_ASM_OP,
	RDATA_SECTION_ASM_OP and SUBTARGET_PROLOGUE.

From-SVN: r67435
2003-06-04 13:35:10 +02:00
Kaveh R. Ghazi
b17213394b final.c (asm_fprintf): Update comments...
* final.c (asm_fprintf): Update comments, accept "-+ #0" flags,
	optimize '%' case, handle %c, don't accept %p, %e, %f or %g,
	handle %ll, optimize regular character case.

From-SVN: r67434
2003-06-04 08:34:22 +00:00
Zdenek Dvorak
9bf8cfbfcd Makefile.in (cse.o): Add params.h dependency.
* Makefile.in (cse.o): Add params.h dependency.
	* cse.c: Include params.h.
	(PATHLENGTH): Removed.
	(struct cse_basic_block_data): Make path array dynamic.
	(cse_end_of_basic_block): Use PARAM_MAX_CSE_PATH_LENGTH instead of PATHLENGTH.
	(cse_main, cse_basic_block): Allocate path array.
	* params.def (PARAM_MAX_CSE_PATH_LENGTH): New.

From-SVN: r67433
2003-06-04 07:51:41 +00:00
Jan Hubicka
253c7a0090 i386.c (ix86_reorg): Replace the jump instead of adding nop.
* i386.c (ix86_reorg): Replace the jump instead of adding nop.
	* i386.md (UNSPEC_REP): New constant.
	(return_internal_long): New pattern.

From-SVN: r67432
2003-06-04 07:50:27 +00:00
Eric Botcazou
01d3224a48 re PR rtl-optimization/11018 ([SPARC] -mcpu=ultrasparc busts tar-1.13.25)
PR optimization/11018
	* config/sparc/sparc.c (sparc_v8plus_shift): Use which_alternative
	consistently to decide whether the scratch register is really
	required.

From-SVN: r67429
2003-06-04 07:13:03 +00:00
Eric Botcazou
ef0139b122 re PR rtl-optimization/10876 (Segfault when compiling KDE 3.1.2)
PR optimization/10876
	* config/sparc/sparc.h (CONST_OK_FOR_LETTER): Add
	new 'O' constraint for constant 4096.
	(CONST_DOUBLE_OK_FOR_LETTER_P): Likewise.
	* config/sparc/sparc.md (adddi3 expander): Canonicalize pattern.
	Do not transform into MINUS insn for constant 4096.
	(*adddi3_sp64 insn): Canonicalize pattern. Add new alternative
	for constant 4096 as third operand.
	(addsi3 expander): Remove.
	(*addsi3 insn): Rename into 'addsi3'. Canonicalize pattern. Add
	new alternative for constant 4096 as third operand.
	(subdi3 expander): Do not transform into PLUS insn for constant 4096.
	(*subdi3_sp64 insn): Add new alternative for constant 4096 as third
	operand.
	(subsi3 expander): Remove.
	(*subsi3 insn): Rename into 'subsi3'. Add new alternative for
	constant 4096 as third operand.
	* doc/md.texi (Machine Constraints): Document new 'O' constraint for
	the SPARC port.

From-SVN: r67426
2003-06-04 06:52:17 +00:00
Andreas Jaeger
74764b8442 * unwind-dw2-fde-glibc.c (_Unwind_IteratePhdrCallback):Remove usage of
CRT_GET_RFIB_TEXT.

From-SVN: r67425
2003-06-04 07:41:31 +02:00