- 04 Jun, 2003 35 commits
-
-
* 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
Daniel Jacobowitz committed -
From-SVN: r67456
Daniel Jacobowitz committed -
* 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
Daniel Jacobowitz committed -
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
Aldy Hernandez committed -
* 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
Kaveh R. Ghazi committed -
* 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
J"orn Rennecke committed -
* doc/install.texi (*-ibm-aix*): Native as and ld required to bootstrap on AIX 5L. From-SVN: r67450
David Edelsohn committed -
* 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
Richard Henderson committed -
* 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
Jakub Jelinek committed -
* i386.c (min_insn_size, k8_avoid_jump_misspredicts): New functions (ix86_reorg): Use it. * i386.md (align): New insn pattern. From-SVN: r67446
Jan Hubicka committed -
From-SVN: r67445
Kaveh R. Ghazi committed -
From-SVN: r67444
Mark Mitchell committed -
* lib/dg-pch.exp: New file. * g++.dg/pch/pch.exp: Use dg-pch.exp. * gcc.dg/pch/pch.exp: Likewise. From-SVN: r67443
Mark Mitchell committed -
* 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
Jakub Jelinek committed -
From-SVN: r67440
Daniel Jacobowitz committed -
* 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
Roger Sayle committed -
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
Roger Sayle committed -
* system.h: Do not poison TDESC_SECTION_ASM_OP, RDATA_SECTION_ASM_OP and SUBTARGET_PROLOGUE. From-SVN: r67435
Andreas Jaeger committed -
* 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
Kaveh R. Ghazi committed -
* 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
Zdenek Dvorak committed -
* 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
Jan Hubicka committed -
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
Eric Botcazou committed -
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
Eric Botcazou committed -
CRT_GET_RFIB_TEXT. From-SVN: r67425
Andreas Jaeger committed -
2003-06-03 Chris Demetriou <cgd@broadcom.com> * config/mips/t-linux64 (CRTSTUFF_T_CFLAGS_S): Define. From-SVN: r67424
Chris Demetriou committed -
* config/i386/uwin.h: Remove SUBTARGET_PROLOGUE. * config/i386/i386.c (ix86_expand_prologue): Do not use SUBTARGET_PROLOGUE. * system.h: Poision SUBTARGET_PROLOGUE. * config/arm/arm-protos.h: Remove unused rdate_section prototype. * output.h: Remove TDESC_SECTION_ASM_OP and RDATA_SECTION_ASM_OP dependend code. * system.h: Poison TDESC_SECTION_ASM_OP and RDATA_SECTION_ASM_OP. * system.h: Poison INSN_CACHE_DEPTH, INSN_CACHE_SIZE and INSN_CACHE_LINE_WIDTH. * libgcc2.c (INSN_CACHE_PLANE_SIZE): Removed. (__clear_cache): Remove code dependend on INSN_CACHE_DEPTH, INSN_CACHE_SIZE and INSN_CACHE_LINE_WIDTH. * doc/tm.texi (Trampolines): Remove INSN_CACHE_DEPTH, INSN_CACHE_SIZE and INSN_CACHE_LINE_WIDTH. * dbxout.c (dbxout_type): Remove usage of DBX_OUTPUT_ENUM. (dbxout_symbol): Remove usage of DBX_OUTPUT_CONSTANT_SYMBOL. (dbxout_block): Remove usage of DBX_OUTPUT_CATCH. (dbxout_block): Remove usage of DBX_LBRAC_FIRST. (dbxout_source_file): Remove usage of DBX_OUTPUT_SOURCE_FILENAME. (dbxout_init): Remove test for DBX_WORKING_DIRECTORY. * doc/tm.texi (DBX Options): Do not document DBX_LBRAC_FIRST, DBX_OUTPUT_SOURCE_FILENAME and DBX_OUTPUT_ENUM and DBX_WORKING_DIRECTORY. * system.h: Poison DBX_LBRAC_FIRST, DBX_OUTPUT_ENUM, DBX_OUTPUT_SOURCE_FILENAME and DBX_WORKING_DIRECTORY. * config/frv/frv-protos.h: Remove unused const_section declaration. * config/vax/vax-protos.h: Likewise. * output.h: Remove CONST_SECTION_ASM_OP usage. * system.h: Poison CONST_SECTION_ASM_OP. * crtstuff.c (__do_global_dtors_aux): Remove usage of CRT_GET_RFIB_TEXT (frame_dummy): Likewise. * unwind-dw2-fde-glibc.c (_Unwind_IteratePhdrCallback): Likewise. * system.h: Poison CRT_GET_RFIB_TEXT. From-SVN: r67423
Andreas Jaeger committed -
From-SVN: r67422
Andreas Jaeger committed -
* fix-header.c: Remove ADD_MISSING_EXTERN_C dependend variables. (write_lbrac): Remove ADD_MISSING_EXTERN_C dependend code. (recognized_function): Likewise. (read_scan_file): Likewise. From-SVN: r67421
Andreas Jaeger committed -
* g77spec.c (lang_specific_driver): Remove ALT_LIBM usage. * g++spec.c (lang_specific_driver): Remove ALT_LIBM usage. From-SVN: r67419
Andreas Jaeger committed -
optabs.c (expand_binop): Optimize complex multiplication for the case of squaring a complex argument. * optabs.c (expand_binop): Optimize complex multiplication for the case of squaring a complex argument. From-SVN: r67418
Roger Sayle committed -
optabs.c (expand_binop): Attempt to reuse pseudos for duplicate non-volatile operands of binary operations. * optabs.c (expand_binop): Attempt to reuse pseudos for duplicate non-volatile operands of binary operations. (prepare_cmp_insn): Likewise. From-SVN: r67417
Roger Sayle committed -
varasm.c (force_const_mem): Handle alignment of constants not representable as a type in the front-end language. * varasm.c (force_const_mem): Handle alignment of constants not representable as a type in the front-end language. From-SVN: r67416
Roger Sayle committed -
From-SVN: r67415
Aldy Hernandez committed -
2003-06-03 Jason Merrill <jason@redhat.com> * cp/cp-tree.h (CP_AGGREGATE_TYPE_P): Accept vectors. * cp/decl.c (reshape_init): Handle vectors. * testsuite/g++.dg/init/array10.C: New. From-SVN: r67414
Jason Merrill committed -
From-SVN: r67412
GCC Administrator committed
-
- 03 Jun, 2003 5 commits
-
-
* flow.c (initialize_uninitialized_subregs): Use emit_move_insn instead of emitting a hardcoded move. From-SVN: r67409
Kazu Hirata committed -
From-SVN: r67407
Glen Nakamura committed -
PR ada/9953: * 5hsystem.ads: Remove pragma Linker_Option for pthreads library, and turn ZCX_By_Default back to False since the underlying support is not quite there yet. From-SVN: r67406
Olivier Hainque committed -
2003-06-04 Olivier Hainque <hainque@act-europe.fr> PR ada/9953: * 5hsystem.ads: Remove pragma Linker_Option for pthreads library, and turn ZCX_By_Default back to False, since the underlying support is not quite there yet. From-SVN: r67405
Olivier Hainque committed -
* optabs.c (expand_abs_nojump): Split out from ... (expand_abs): ... here. * optabs.h (expand_abs_nojump): Declare. * ifcvt.c: (noce_try_abs): Use expand_abs_nojump. * Makefile.in (ifcvt.o): Depend on optabs.h. From-SVN: r67404
Richard Henderson committed
-