summaryrefslogtreecommitdiff
path: root/gcc/config/ia64
Commit message (Collapse)AuthorAgeFilesLines
* * config/i386/emmintrin.h: Fix comment typos.kazu2003-07-022-3/+3
| | | | | | | | | | | * config/i386/i386.c: Likewise. * config/i386/i386.h: Likewise. * config/i386/sco5.h: Likewise. * config/ia64/ia64.c: Likewise. * config/ia64/itanium2.md: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@68857 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/sol2.h, config/alpha/alpha.h, config/alpha/linux.h,neil2003-07-011-1/+1
| | | | | | | | | | config/i386/i386-interix.h, config/ia64/hpux.h, config/mips/iris6.h, config/mips/linux.h, config/mips/mips.h, config/pa/pa-hpux.h, config/pa/pa-hpux10.h, config/pa/pa-hpux11.h, config/pa/pa-pro-end.h, config/pa/pa.h, config/pa/rtems.h: Use c_dialect_ macros. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@68763 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/ia64/ia64.md: Follow recent emit_note API change.schwab2003-06-281-2/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@68637 138bc75d-0d04-0410-961f-82ee72b054a4
* * rtl.h (emit_note): Remove FILE parameter.nathan2003-06-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * emit-rtl.c (emit_line_note): Adjust emit_note call. (emit_note): Remove FILE parameter. Adjust. * builtins.c (expand_builtin_expect): Adjust emit_note call. * c-semantics.c (genrtl_scope_stmt): Likewise. (expand_stmt): Likewise. * cfglayout.c (reemit_insn_block_notes): Likewise. (duplicate_insn_chain): Likewise. * except.c (expand_eh_region_start, expand_eh_region_end, sjlj_emit_function_enter): Likewise. * explow.c (probe_stack_range): Likewise. * expr.c (emit_block_move_via_loop): Likewise. * function.c (init_function_start, expand_function_start, expand_function_end, thread_prologue_and_epilogue_insns): Likewise. * integrate.c (expand_inline_function, copy_insn_list): Likewise. * reg-stack.c (compensate_edge): Likewise. * reload1.c (reload): Likewise. * rtlanal.c (hoist_insn_to_edge): Likewise. * stmt.c (expand_fixup, expand_start_loop, expand_start_null_loop, expand_loop_continue_here, expand_end_loop, expand_continue_loop, expand_exit_loop_top_cond, expand_value_return, expand_start_bindings_and_block, expand_end_bindings, expand_decl_cleanup, expand_start_case): Likewise. * unroll.c (copy_loop_body * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Likewise. * config/ia64/ia64.c (ia64_output_mi_thunk): Likewise. * config/rs6000/rs6000.c (rs6000_emit_eh_toc_restore, rs6000_emit_allocate_stack, rs6000_output_function_prologue, rs6000_output_function_epilogue, rs6000_output_mi_thunk): Likewise. * config/sh/sh.c (sh_output_mi_thunk): Likewise. * config/sparc/sparc.c (sparc_output_mi_thunk): Likewise. * ada/misc.c (record_code_position): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@68561 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/ia64/ia64.c (ia64_expand_call): Don't add ar.pfs for sibcalls.rth2003-06-261-7/+3
| | | | | | | | | (ia64_split_call): Only load descriptor for GP register inputs. (ia64_expand_epilogue): Check current_frame_info.mask not current_function_is_leaf to restore ar.pfs. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@68549 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/ia64/ia64.h (REGISTER_NAMES): R0 is really AP.rth2003-06-261-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@68548 138bc75d-0d04-0410-961f-82ee72b054a4
* * target.h (asm_out.file_start, file_start_app_off,zack2003-06-195-34/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | file_start_file_directive): New hooks. * target-def.h (TARGET_ASM_FILE_START_FILE_DIRECTIVE, TARGET_ASM_FILE_START_APP_OFF, TARGET_ASM_FILE_START): New hook-definition macros. * doc/tm.texi: Document new hooks; remove docs of ASM_FILE_START. * varasm.c (default_file_start): New. * output.h: Prototype it. * toplev.c (init_asm_output): Use targetm.asm_out.file_start. * system.h: Poison ASM_FILE_START. * config/alpha/alpha.c (alpha_write_verstamp): Delete. (alpha_file_start): New, define if !TARGET_ABI_UNICOSMK. (unicosmk_asm_file_start): Rename unicosmk_file_start, make static, take no arguments. (TARGET_ASM_FILE_START, TARGET_ASM_FILE_END, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set as appropriate. * config/alpha/unicosmk.h: Don't define ASM_FILE_START nor TARGET_ASM_FILE_END. Remove reference to ASM_FILE_START in comment. * config/arc/arc.c (arc_asm_file_start): Rename arc_file_start, take no arguments, make static. (TARGET_ASM_FILE_START): Set it. * config/arm/arm.c (aof_file_start): New static function. (TARGET_ASM_FILE_START): Set it, when appropriate. * config/arm/coff.h, config/arm/elf.h: Set TARGET_ASM_FILE_START_APP_OFF to true. * config/avr/avr.c (asm_file_start): Rename avr_file_start, take no arguments, make static. (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set them. * config/c4x/c4x.c (c4x_file_start): New static function. (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set them. * config/cris/cris.c (cris_file_start): New static function. (TARGET_ASM_FILE_START): Set it. * config/dsp16xx/dsp16xx.c (coff_dsp16xx_file_start): Rename dsp16xx_file_start, make static. (luxworks_dsp16xx_file_start): Delete. (TARGET_ASM_FILE_START): Set it. * config/h8300/h8300.c (asm_file_start): Rename h8300_file_start, make static, take no arguments. (TARGET_ASM_FILE_START): Set it. * config/i370/i370.c (i370_file_start): New static function. (TARGET_ASM_FILE_START): Set it. * config/i386/i386.c (x86_file_start): New static function. (TARGET_ASM_FILE_START): Set it. * config/i386/i386.h (X86_FILE_START_VERSION_DIRECTIVE, X86_FILE_START_FLTUSED): New macros, default to false. * config/i386/i386-interix.h: Override X86_FILE_START_FLTUSED to 1. * config/i386/sysv4.h, config/i386/sco5.h: Override X86_FILE_START_VERSION_DIRECTIVE to true. * config/ia64/ia64.c (ia64_file_start): New static function. (TARGET_ASM_FILE_START): Set it. (emit_safe_across_calls): Take no arguments. * config/ia64/ia64.md: Update to match. * config/m32r/m32r.c (m32r_asm_file_start): Rename m32r_file_start, make static, take no arguments. (TARGET_ASM_FILE_START): Set it. * config/m68hc11/m68hc11.c (m68hc11_asm_file_start): Rename m68hc11_file_start, make static, take no arguments. (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set. (print_options): Delete. * config/m68k/m68k.c (m68k_hp320_file_start): New static function. (TARGET_ASM_FILE_START_APP_OFF): Set. * config/m68k/hp320.h: Set TARGET_ASM_FILE_START to m68k_hp320_file_start. * config/mips/mips.c (iris6_asm_file_start, mips_asm_file_start): Make static, take no arguments. (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set. * config/mmix/mmix.c (mmix_asm_file_start): Rename mmix_file_start, make static, take no arguments. (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set. * config/mn10300/mn10300.c (asm_file_start): Rename mn10300_file_start, make static, take no arguments. (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set. * config/ns32k/ns32k.c (TARGET_ASM_FILE_START_APP_OFF): Set. * config/pa/pa.c (pa_file_start_level, pa_file_start_space, pa_file_start_file, pa_file_start_mcount, pa_elf_file_start, pa_som_file_start, pa_linux_file_start, pa_hpux64_gas_file_start, pa_hpux64_hpas_file_start): New static functions. * config/pa/elf.h: Set TARGET_ASM_FILE_START to pa_elf_file_start. * config/pa/pa-linux.h: Set TARGET_ASM_FILE_START to pa_linux_file_start. * config/pa/pa64-hpux.h: Set TARGET_ASM_FILE_START to pa_hpux64_gas_file_start or pa_hpux64_hpas_file_start, as appropriate. * config/pa/som.h: Set TARGET_ASM_FILE_START to pa_som_file_start. * config/rs6000/rs6000.c: Include xcoffout.h when TARGET_XCOFF. (rs6000_file_start): Make static, take no arguments. Reset default_cpu under certain conditions. (rs6000_xcoff_file_start): New function. * config/rs6000/rs6000.h (TARGET_ASM_FILE_START): Set. * config/rs6000/xcoff.h (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Override. * config/sh/sh.c (output_file_start): Rename sh_file_start, make static, take no arguments. Merge in old code from sh/elf.h's ASM_FILE_START, conditioned on TARGET_ELF. (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set. * config/sh/sh.c (TARGET_ELF): Define to 0. * config/sh/elf.h (TARGET_ELF): Redefine to 1. * config/v850/v850.c (asm_file_start): Delete. (TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set. * config/vax/vax.c (vax_file_start): New static function. (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_APP_OFF): Set. * config/darwin.h: Override ASM_FILE_START_FILE_DIRECTIVE to false. * config/elfos.h, config/svr3.h, config/arm/elf.h, config/arm/pe.h * config/i386/att.h, config/i386/gas.h, config/i386/linux.h * config/i386/sysv4.h, config/i386/sco5.h, config/i960/i960-coff.h * config/m68k/coff.h, config/m68k/hp320.h, config/mcore/mcore-pe.h * config/vax/vaxv.h: Set ASM_FILE_START_FILE_DIRECTIVE to true. * config/darwin.h, config/elfos.h, config/alpha/elf.h * config/alpha/openbsd.h, config/alpha/osf.h, config/alpha/vms.h * config/arc/arc.h, config/arm/aof.h, config/arm/aout.h * config/arm/coff.h, config/arm/elf.h, config/arm/pe.h * config/avr/avr.h, config/c4x/c4x.h, config/cris/cris.h * config/dsp16xx/dsp16xx.h, config/h8300/elf.h, config/h8300/h8300.h * config/i370/i370.h, config/i386/att.h, config/i386/gas.h * config/i386/i386-interix.h, config/i386/linux.h, config/i386/sysv4.h * config/i386/sco5.h, config/i960/i960-coff.h, config/i960/i960.h * config/ia64/ia64.h, config/ia64/sysv4.h, config/m32r/m32r.h * config/m68hc11/m68hc11.h, config/m68k/coff.h, config/m68k/m68k.h * config/mcore/mcore-pe.h, config/mips/iris6.h, config/mips/mips.h * config/mmix/mmix.h, config/mn10300/mn10300.h, config/ns32k/ns32k.h * config/pa/elf.h, config/pa/pa-linux.h, config/pa/pa64-hpux.h * config/pa/som.h, config/pdp11/pdp11.h, config/rs6000/linux64.h * config/rs6000/lynx.h, config/rs6000/xcoff.h, config/sh/elf.h * config/sh/sh.h, config/sparc/sparc.h, config/v850/v850.h * config/vax/vax.h, config/vax/vaxv.h: Don't (re)define ASM_FILE_START. * config/alpha/alpha-protos.h, config/arc/arc-protos.h * config/avr/avr-protos.h, config/dsp16xx/dsp16xx-protos.h * config/h8300/h8300-protos.h, config/ia64/ia64-protos.h * config/m32r/m32r-protos.h, config/m68hc11/m68hc11-protos.h * config/mips/mips-protos.h, config/mmix/mmix-protos.h * config/mn10300/mn10300-protos.h, config/rs6000/rs6000-protos.h * config/sh/sh-protos.h, config/v850/v850-protos.h: Update. * xcoffout.h, config/rs6000/aix.h, config/rs6000/xcoff.h: Remove reference to ASM_FILE_START in comment. * config/arm/aof.h, config/arm/aout.h, config/arm/freebsd.h * config/arm/linux-gas.h, config/arm/netbsd-elf.h * config/arm/netbsd.h: Delete definition of ARM_OS_NAME. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@68229 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/ia64/unwind-ia64.c (_Unwind_GetCFA): New.rth2003-06-181-1/+18
| | | | | | | (_Unwind_FindEnclosingFunction): Implement. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@68168 138bc75d-0d04-0410-961f-82ee72b054a4
* 2003-06-18 Stephen Clarke <stephen.clarke@superh.com>amylaar2003-06-181-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | J"orn Rennecke <joern.rennecke@superh.com> * bt-load.c: New file. * Makefile.in (OBJS): Include bt-load.o (bt-load.o): Add dependencies. * flags.h (flag_branch_target_load_optimize): Declare. (flag_branch_target_load_optimize2): Likewise. * hooks.c (hook_reg_class_void_no_regs): New function. (hook_bool_bool_false): Likewise. * hooks.h (hook_reg_class_void_no_regs, hook_bool_bool_false): Declare. * rtl.h (branch_target_load_optimize): Declare. * target-def.h (TARGET_BRANCH_TARGET_REGISTER_CLASS): Define. (TARGET_BRANCH_TARGET_REGISTER_CALLEE_SAVED): Likewise. (TARGET_INITIALIZER): Include these. * target.h (struct gcc_target): Add branch_target_register_class and branch_target_register_callee_saved members. * toplev.c (enum dump_file_index): Add DFI_branch_target_load (dump_file) Add "tars" entry. (flag_branch_target_load_optimize): New variable. (flag_branch_target_load_optimize2): Likewise. (lang_independent_options): Add entries for new options. (rest_of_compilation): Call branch_target_load_optimize. * doc/tm.texi (TARGET_BRANCH_TARGET_REGISTER_CLASS): Document. (TARGET_BRANCH_TARGET_REGISTER_CALLEE_SAVED): Likewise. * doc/invoke.texi: Document -fbranch-target-load-optimize and -fbranch-target-load-optimize2. * rtl.h (epilogue_completed): Declare. * recog.c (epilogue_completed): New variable. * toplev.c (rest_of_compilation): Set it. * flow.c (mark_regs_live_at_end): Use it. * config/ia64/ia64.c (ia64_output_mi_thunk): Set it. * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise. * config/sh/sh.c (sh_output_mi_thunk): Likewise. * config/sparc/sparc.c (sparc_output_mi_thunk): Likewise. * sh.c (shmedia_space_reserved_for_target_registers): New variable. (sh_target_reg_class): New function. (sh_optimize_target_register_callee_saved): Likwise. (shmedia_target_regs_stack_space): Likewise. (shmedia_reserve_space_for_target_registers_p): Likewise. (shmedia_target_regs_stack_adjust): Likewise. (TARGET_BRANCH_TARGET_REGISTER_CLASS): Override. (TARGET_BRANCH_TARGET_REGISTER_CALLEE_SAVED): Likewise. (calc_live_regs): If flag_branch_target_load_optimize2 and TARGET_SAVE_ALL_TARGET_REGS is enabled, and we have space reserved for target registers, make sure that we save all target registers. (sh_expand_prologue, sh_expand_epilogue): Take target register optimizations into account. Collapse stack adjustments if that is beneficial. (initial_elimination_offset): Reserve space for target registers if necessary. * sh.h (SAVE_ALL_TR_BIT, TARGET_SAVE_ALL_TARGET_REGS): Define. (OPTIMIZATION_OPTIONS): Enable flag_branch_target_load_optimize. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@68165 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/ia64/ia64.c (ia64_expand_builtin, case IA64_BUILTIN_BSP):kenner2003-06-171-0/+3
| | | | | | | Handle POINTERS_EXTEND_UNSIGNED. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@68083 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/rs6000/t-rs6000: Add dependence of cfglayout.h to rs6000.o.rth2003-06-151-0/+1
| | | | | | | | | | | * config/rs6000/rs6000.c: Include cfglayout.h. * config/alpha/alpha.c: Likewise. * config/ia64/ia64.c: Likewise. * config/sparc/sparc.c: Likewise. * config/sh/sh.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@67982 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Callrth2003-06-151-0/+1
| | | | | | | | | | | insn_locators_initialize. * config/ia64/ia64.c (ia64_output_mi_thunk): Likewise. * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise. * config/sparc/sparc.c (sparc_output_mi_thunk): Likewise. * config/sh/sh.c (sh_output_mi_thunk): Do it later. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@67969 138bc75d-0d04-0410-961f-82ee72b054a4
* * rtl.h (STORE_FLAG_VALUE): Remove default definition from here.sayle2003-06-141-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * defaults.h (STORE_FLAG_VALUE): Move default definition to here. * doc/tm.texi (STORE_FLAG_VALUE): Document the default value. * config/alpha/alpha.h (STORE_FLAG_VALUE): Remove definition. * config/arc/arc.h (STORE_FLAG_VALUE): Likewise. * config/arm/arm.h (STORE_FLAG_VALUE): Likewise. * config/cris/cris.h (STORE_FLAG_VALUE): Likewise. * config/i370/i370.h (STORE_FLAG_VALUE): Likewise. * config/i386/i386.h (STORE_FLAG_VALUE): Likewise. * config/i960/i960.h (STORE_FLAG_VALUE): Likewise. * config/ia64/ia64.h (STORE_FLAG_VALUE): Likewise. * config/ip2k/ip2k.h (STORE_FLAG_VALUE): Likewise. * config/m32r/m32r.h (STORE_FLAG_VALUE): Likewise. * config/mcore/mcore.h (STORE_FLAG_VALUE): Likewise. * config/mips/mips.h (STORE_FLAG_VALUE): Likewise. * config/mmix/mmix.h (STORE_FLAG_VALUE): Likewise. * config/ns32k/ns32k.h (STORE_FLAG_VALUE): Likewise. * config/pa/pa.h (STORE_FLAG_VALUE): Likewise. * config/pdp11/pdp11.h (STORE_FLAG_VALUE): Likewise. * config/sh/sh.h (STORE_FLAG_VALUE): Likewise. * config/sparc/sparc.h (STORE_FLAG_VALUE): Likewise. * config/v850/v850.h (STORE_FLAG_VALUE): Likewise. * config/xtensa/xtensa.h (STORE_FLAG_VALUE): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@67957 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/ia64/ia64.md (call_gp): Fix memory mode.rth2003-06-111-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@67752 138bc75d-0d04-0410-961f-82ee72b054a4
* * config.gcc (with_cpu handling): Translate sparc64 inzack2003-06-073-11/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | $machine to --with-cpu=v9. * config/alpha/alpha.c (TARGET_ASM_GLOBALIZE_LABEL [TARGET_ABI_UNICOSMK]): Correct definition. (alpha_setup_incoming_varargs): #ifdef out when TARGET_ABI_UNICOSMK. * target.h: New hook asm_out.file_end. * target.h: Update to match. New hook macro TARGET_ASM_FILE_END. * toplev.c (compile_file: Use targetm.asm_out.file_end. * system.h: Poison ASM_FILE_END. * varasm.c (file_end_indicate_exec_stack): New. * output.h: Prototype it. * doc/tm.texi: Document TARGET_ASM_FILE_END and file_end_indicate_exec_stack. Delete references to attasm.h. * config/darwin.h (TARGET_ASM_FILE_END): Reset to darwin_file_end. (ASM_FILE_END): Delete; move code... * config/darwin.c (darwin_file_end): Here; new function. * config/darwin-protos.h: Prototype it. * config/alpha/alpha.c (unicosmk_asm_file_end): Make static, rename unicosmk_file_end. * config/arm/aof.h (ASM_FILE_END): Delete; move code... * config/arm/arm.c (aof_file_end): ... here; new static function. Set TARGET_ASM_FILE_END to aof_file_end if AOF_ASSEMBLER. Make aof_dump_imports and aof_dump_pic_table static. * config/avr/avr.c (asm_file_end): Rename avr_file_end, make static. Set TARGET_ASM_FILE_END to avr_file_end. * config/c4x/c4x.c (c4x_file_end): Make static. Take no arguments. Set TARGET_ASM_FILE_END to c4x_file_end. * config/h8300/h8300.c (asm_file_end): Rename h8300_file_end, make static. Take no arguments. Set TARGET_ASM_FILE_END to h8300_file_end. * config/i370/i370.h (ASM_FILE_END): Delete; move code... * config/i370/i370.c (i370_file_end): ... here; new static function. Set TARGET_ASM_FILE_END to i370_file_end. * config/i386/i386.c (ix86_asm_file_end): Rename ix86_file_end. Take no arguments. Call file_end_indicate_exec_stack if NEED_INDICATE_EXEC_STACK; don't use SUBTARGET_FILE_END. * config/i386/i386.h: Set TARGET_ASM_FILE_END, not ASM_FILE_END. Define NEED_INDICATE_EXEC_STACK to 0. * config/i386/linux.h, config/i386/linux64.h: Redefine NEED_INDICATE_EXEC_STACK to 1 instead of setting SUBTARGET_FILE_END. * config/i386/winnt.c (i386_pe_asm_file_end): Rename to i386_pe_file_end. Take no arguments. Use ix86_file_end. * config/ia64/ia64.c (ia64_hpux_asm_file_end): Rename to ia64_hpux_file_end, make static. Take no arguments. * config/ip2k/ip2k.c (asm_file_start, asm_file_end, commands_in_prologues, commands_in_epilogues): Delete. (function_epilogue): Update to match. * config/mips/mips.c (mips_asm_file_end): Rename mips_file_end, make static. Take no arguments. (iris6_asm_file_end): Rename iris6_file_end, make static, use mips_file_end, take no arguments. Set TARGET_ASM_FILE_END to iris6_file_end or mips_file_end as appropriate. * config/mmix/mmix.c (mmix_asm_file_end): Rename mmix_file_end, make static, take no arguments. Set TARGET_ASM_FILE_END to mmix_file_end. * config/pa/pa.c (output_deferred_plabels): Make static, take no arguments. Set TARGET_ASM_FILE_END to output_deferred_plabels. * config/rs6000/xcoff.h (TARGET_ASM_FILE_END): Set it. (ASM_FILE_END): Delete; move code... * config/rs6000/rs6000.c (rs6000_xcoff_file_end): ... here; new static function. * config/avr/avr.h, config/cris/cris.h, config/h8300/h8300.h * config/mmix/mmix.h, config/mips/iris6.h, config/mips/mips.h: Don't set ASM_FILE_END. * config/alpha/linux-elf.h, config/m68k/linux.h, config/rs6000/linux.h * config/rs6000/linux64.h, config/s390/linux.h, config/sparc/linux.h * config/sparc/linux64.h: Set TARGET_ASM_FILE_END to file_end_indicate_exec_stack; don't set ASM_FILE_END. * config/alpha/unicosmk.h, config/i386/cygming.h * config/ia64/hpux.h: Set TARGET_ASM_FILE_END, not ASM_FILE_END. * config/arm/arm-protos.h, config/alpha/alpha-protos.h * config/avr/avr-protos.h, config/c4x/c4x-protos.h * config/h8300/h8300-protos.h, config/ia64/ia64-protos.h * config/ip2k/ip2k-protos.h, config/mips/mips-protos.h * config/mmix/mmix-protos.h, config/pa/pa-protos.h: Update. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@67591 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-common.c (handle_cleanup_attribute): New.rth2003-06-041-1/+2
| | | | | | | | | | | | | | | | | | | | | | (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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@67449 138bc75d-0d04-0410-961f-82ee72b054a4
* * configure.in (HAVE_LD_PIE): Check for ld -pie.jakub2003-06-031-6/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * config.in: Rebuilt. * configure: Rebuilt. * toplev.c (flag_pie, flag_shlib): New variables. (f_options): Add -fpie and -fPIE. (parse_options_and_default_flags): Set flag_pic if -fpie/-fPIE. Set flag_shlib if flag_pic and not -fpie/-fPIE. * flags.h (flag_pic, flag_shlib): Add. * varasm.c (default_binds_local_p): Use flag_shlib instead of flag_pic. * gcc.c (LINK_PIE_SPEC): Define. (LINK_COMMAND_SPEC): Use LINK_PIE_SPEC. (option_map): Add --pie -> -pie mapping. * config/sol2.h (ASM_SPEC): Handle -fpie the same way as -fpic and -fPIE the same way as -fPIC. * config/openbsd.h (ASM_SPEC): Likewise. * config/frv/frv.h (ASM_SPEC): Likewise. * config/arm/linux-gas.h (SUBTARGET_CPP_SPEC): Likewise. * config/arm/semi.h (ASM_SPEC): Likewise. * config/arm/netbsd-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise. * config/freebsd-spec.h (FBSD_CPP_SPEC): Likewise. * config/i386/beos-elf.h (CC1_SPEC): Likewise. * config/i386/freebsd-aout.h (ASM_SPEC): Likewise. * config/m68k/linux.h (CPP_SPEC): Likewise. * config/m68k/netbsd.h (ASM_SPEC): Likewise. * config/m68k/openbsd.h (ASM_SPEC): Likewise. * config/m68k/netbsd-elf.h (ASM_SPEC): Likewise. * config/mips/linux.h (SUBTARGET_CPP_SPEC): Likewise. * config/mips/openbsd.h (SUBTARGET_ASM_SPEC): Likewise. * config/pa/pa-linux.h (CPP_SPEC): Likewise. * config/netbsd-aout.h (ASM_SPEC): Likewise. * config/rs6000/sysv4.h (ASM_SPEC, CPP_SYSV_SPEC): Likewise. * config/rs6000/vxworks.h (CPP_SPEC): Likewise. * config/sparc/linux.h (CPP_SUBTARGET_SPEC, ASM_SPEC): Likewise. * config/sparc/linux64.h (CPP_SUBTARGET_SPEC, ASM_SPEC): Likewise. * config/sparc/sparc.h (ASM_SPEC): Likewise. * config/sparc/sp64-elf.h (ASM_SPEC): Likewise. * config/sparc/sysv4.h (ASM_SPEC): Likewise. * config/sparc/netbsd-elf.h (ASM_SPEC): Likewise. * config/sparc/openbsd64.h (ASM_SPEC): Likewise. * config/cris/linux.h (CRIS_ASM_SUBTARGET_SPEC): Likewise. * config/linux.h (STARTFILE_SPEC, ENDFILE_SPEC): Handle -pie. Simplify. * config/alpha/elf.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise. * config/i386/linux64.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise. * config/ia64/linux.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise. * config/rs6000/sysv4.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise. * config/rs6000/linux64.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise. * config/sparc/linux.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise. * config/sparc/linux64.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise. * doc/invoke.texi: Document -pie, -fpie and -fPIE options. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@67359 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-cppbuiltin.c (TARGET_OS_CPP_BUILTINS, TARGET_OBJFMT_CPP_BUILTINS):neil2003-05-181-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Default here. (c_cpp_builtins): Invoke TARGET_OBJFMT_CPP_BUILTINS(). * defaults.h: Don't default TARGET_OS_CPP_BUILTINS here. * config/elfos.h (TARGET_OBJFMT_CPP_BUILTINS): Define __ELF__. * config/freebsd-spec.h, config/netbsd-elf.h, config/alpha/gnu.h, config/arm/linux-elf.h, config/arm/rtems-elf.h, config/arm/unknown-elf.h, config/cris/cris.h, config/cris/linux.h, config/h8300/elf.h, config/i370/linux.h, config/i386/beos-elf.h, config/i386/gnu.h, config/i386/linux.h, config/i386/linux64.h, config/i386/moss.h, config/i386/rtemself.h, config/ia64/ia64.h, config/m68k/rtemself.h, config/mcore/mcore-elf.h, config/mips/linux.h, config/pa/pa-linux.h, config/rs6000/linux.h, config/rs6000/linux64.h, config/rs6000/sysv4.h, config/rs6000/vxworks.h, config/s390/linux.h, config/sh/coff.h, config/sh/elf.h, config/sh/rtemself.h, config/sh/sh.h, config/sparc/linux.h, config/sparc/linux64.h, config/sparc/openbsd64.h, config/sparc/sp64-elf.h, config/sparc/sp86x-elf.h, config/xtensa/elf.h, config/xtensa/linux.h: Don't define __ELF__. * config/alpha.h, config/m68k/linux.h (TARGET_OBJFMT_CPP_BUILTINS): Define __ELF__. * doc/cpp.texi: Document __ELF__. * doc/tm.texi: Document TARGET_OBJFMT_CPP_BUILTINS. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@66926 138bc75d-0d04-0410-961f-82ee72b054a4
* * alpha.c (print_operand_address, alpha_start_function,ghazi2003-05-161-9/+3
| | | | | | | | | | | | | | | | | | | | | | | | | unicosmk_output_ssib): Use string concatentation on HOST_WIDE_INT_PRINT_* format specifier to collapse multiple function calls into one. * arm.c (arm_print_operand): Likewise. * cris.c (cris_asm_output_mi_thunk): Likewise. * frv.c (frv_asm_output_mi_thunk): Likewise. * ia64.c (ia64_print_operand, process_set): Likewise. * m68k.c (m68k_output_function_epilogue, m68k_output_mi_thunk): Likewise. * mips/iris5gas.h (PUT_SDB_SIZE): Likewise. * mips.h (PUT_SDB_INT_VAL, PUT_SDB_SIZE): Likewise. * pa.c (output_div_insn, pa_asm_output_mi_thunk): Likewise. * pa.h (PRINT_OPERAND_ADDRESS): Likewise. * rs6000.c (rs6000_va_start, print_operand_address): Likewise. * s390.c (s390_assemble_integer): Likewise. * sparc.c (sparc_flat_function_prologue, sparc_flat_function_epilogue): Likewise. * stormy16.c (xstormy16_print_operand_address, xstormy16_print_operand): Likewise. * vax.c (vax_output_mi_thunk): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@66876 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/ia64/unwind-ia64.c (uw_update_reg_address): Handlejakub2003-05-161-0/+10
| | | | | | | .save XX, r0. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@66861 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/ia64/ia64.c (ia64_expand_load_address): Force destinationrth2003-05-142-13/+18
| | | | | | | | to be DImode register. Merge load_symptr. * config/ia64/ia64.md (load_symptr): Remove. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@66808 138bc75d-0d04-0410-961f-82ee72b054a4
* * target-def.h (TARGET_MACHINE_DEPENDENT_REORG): Define.rsandifo2003-05-143-28/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (TARGET_INITIALIZER): Include it. * target.h (struct gcc_target): Add machine_dependent_reorg field. * toplev.c (rest_of_compilation): Use targetm.machine_dependent_reorg. * config/alpha/alpha-protos.h (alpha_reorg): Remove declaration. * config/alpha/alpha.h (MACHINE_DEPENDENT_REORG): Remove. * config/alpha/alpha.c (TARGET_MACHINE_DEPENDENT_REORG): Define. (alpha_handle_trap_shadows): Remove "first insn" parameter. (alpha_align_insns): Likewise. (alpha_reorg): Likewise. Make static. Update calls to above functions. * config/arm/arm-protos.h (arm_reorg): Remove declaration. * config/arm/arm.h (MACHINE_DEPENDENT_REORG): Remove. * config/arm/arm.c (TARGET_MACHINE_DEPENDENT_REORG): Define. (arm_reorg): Remove parameter. Make static. * config/avr/avr-protos.h (machine_dependent_reorg): Remove. * config/avr/avr.h (MACHINE_DEPENDENT_REORG): Remove. * config/avr/avr.c (TARGET_MACHINE_DEPENDENT_REORG): Define. (avr_reorg): Renamed from machine_dependent_reorg. Make static. Remove parameter. * config/c4x/c4x-protos.h (c4x_process_after_reload): Remove. * config/c4x/c4x.h (MACHINE_DEPENDENT_REORG): Remove. * config/c4x/c4x.c (TARGET_MACHINE_DEPENDENT_REORG): Define. (c4x_reorg): Renamed from c4x_process_after_reload. Make static. Remove parameter. * config/d30v/d30v-protos.h (d30v_machine_dependent_reorg): Remove. * config/d30v/d30v.h (MACHINE_DEPENDENT_REORG): Remove. * config/d30v/d30v.c (d30v_machine_dependent_reorg): Remove. * config/frv/frv-protos.h (frv_machine_dependent_reorg): Remove. * config/frv/frv.c: Remove orphaned comment. * config/i386/i386-protos.h (x86_machine_dependent_reorg): Remove. * config/i386/i386.h (MACHINE_DEPENDENT_REORG): Remove. * config/i386/i386.c (TARGET_MACHINE_DEPENDENT_REORG): Define. (ix86_reorg): Renamed from x86_machine_dependent_reorg. Make static. Remove parameter. * config/ia64/ia64-protos.h (ia64_reorg): Remove declaration. * config/ia64/ia64.h (MACHINE_DEPENDENT_REORG): Remove. * config/ia64/ia64.c (TARGET_MACHINE_DEPENDENT_REORG): Define. (emit_insn_group_barriers): Remove "first insn" parameter. (emit_all_insn_group_barriers): Likewise. (ia64_reorg): Likewise. Make static. Update calls to above functions. (ia64_output_mi_thunk): Update call to emit_all_insn_group_barriers. * config/ip2k/ip2k-protos.h (machine_dependent_reorg): Remove. * config/ip2k/ip2k.h (MACHINE_DEPENDENT_REORG): Remove. * config/ip2k/ip2k.c (TARGET_MACHINE_DEPENDENT_REORG): Define. (ip2k_reorg): Renamed from machine_dependent_reorg. Make static. Remove parameter. * config/m68hc11/m68hc11-protos.h (m68hc11_reorg): Remove declaration. * config/m68hc11/m68hc11.h (MACHINE_DEPENDENT_REORG): Remove. * config/m68hc11/m68hc11.c (TARGET_MACHINE_DEPENDENT_REORG): Define. (m68hc11_reorg): Make static. Remove parameter. * config/mcore/mcore-protos.h (mcore_dependent_reorg): Remove. * config/mcore/mcore.h (MACHINE_DEPENDENT_REORG): Remove. * config/mcore/mcore.c (TARGET_MACHINE_DEPENDENT_REORG): Define. (conditionalize_optimization): Remove parameter. (mcore_reorg): Renamed from mcore_dependent_reorg. Remove parameter. Make static. Update call to conditionalize_optimization. * config/mips/mips-protos.h (machine_dependent_reorg): Remove. * config/mips/mips.h (MACHINE_DEPENDENT_REORG): Remove. * config/mips/mips.c (TARGET_MACHINE_DEPENDENT_REORG): Define. (mips_reorg): Renamed from machine_dependent_reorg. Remove parameter. Make static. * config/mmix/mmix-protos.h (mmix_machine_dependent_reorg): Remove. * config/mmix/mmix.h (MACHINE_DEPENDENT_REORG): Remove. * config/mmix/mmix.c (TARGET_MACHINE_DEPENDENT_REORG): Define. (mmix_reorg): Renamed from mmix_machine_dependent_reorg. Make static. Remove parameter. * config/pa/pa-protos.h (pa_reorg): Remove declaration. * config/pa/pa.h (MACHINE_DEPENDENT_REORG): Remove. * config/pa/pa.c (TARGET_MACHINE_DEPENDENT_REORG): Define. (pa_combine_instructions): Remove "first insn" parameter. (remove_useless_addtr_insns): Likewise. (pa_reorg): Likewise. Make static. Update calls to above functions. * config/rs6000/rs6000.h (MACHINE_DEPENDENT_REORG): Remove commented-out definition. * config/s390/s390-protos.h (s390_machine_dependent_reorg): Remove. * config/s390/s390.h (MACHINE_DEPENDENT_REORG): Remove. * config/s390/s390.c (TARGET_MACHINE_DEPENDENT_REORG): Define. (s390_reorg): Renamed from s390_machine_dependent_reorg. Make static. Remove parameter. * config/sh/sh-protos.h (machine_dependent_reorg): Remove. * config/sh/sh.h (MACHINE_DEPENDENT_REORG): Remove. * config/sh/sh.c (TARGET_MACHINE_DEPENDENT_REORG): Define. (sh_reorg): Renamed from machine_dependent_reorg. Make static. Remove parameter. (sh_output_mi_thunk): Call sh_reorg directly. * config/sh/sh.md: Update comment. * config/stormy16/stormy16.h (MACHINE_DEPENDENT_REORG): Remove commented-out definition. * config/v850/v850-protos.h (v850_reorg): Remove declaration. * config/v850/v850.h (MACHINE_DEPENDENT_REORG): Remove. * config/v850/v850.c (TARGET_MACHINE_DEPENDENT_REORG): Define. (v850_reorg): Make static. Remove parameter. * config/xtensa/xtensa-protos.h (xtensa_reorg): Remove declaration. * config/xtensa/xtensa.h (MACHINE_DEPENDENT_REORG): Remove. * config/xtensa/xtensa.c (TARGET_MACHINE_DEPENDENT_REORG): Define. (xtensa_reorg): Make static. Remove parameter. * doc/tm.texi (MACHINE_DEPENDENT_REORG): Remove. (TARGET_MACHINE_DEPENDENT_REORG): Document. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@66800 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/ia64/ia64.c (ia64_function_ok_for_sibcall): Mark 'exp'schwab2003-05-121-3/+4
| | | | | | | | | as unused. (bundling): Initialize 'pos'. (ia64_expand_builtin): Initialize 'rmode'. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@66738 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/ia64/crtbegin.asm (__do_jv_register_classes): Don'trth2003-05-072-30/+29
| | | | | | | | | | | | | | | | | | | | | | forget to preserve gp. * config/ia64/crtend.asm (__do_global_ctors_au): Ditto. * config/ia64/crtbegin.asm (__do_jv_register_classes): Add missing .prologue directive. Use .skip instead of data8 for .bss section to make Intel Assembler (ias) happy. Minor whitespace fixups. Make "nop 0" explicit in the .mib bundles and remove the unnecessary stop bits. Replace local labels with normal labels, to make ias happy. Don't register __do_global_ctors_aux here, do it in crtend.asm instead. * config/ia64/crtend.asm [HAVE_INIT_FINI_ARRAY]: Register __do_global_ctors_aux in .init_array section instead of declaring it as a hidden global. Replace local labels with ordinary labels to make ias happy. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@66584 138bc75d-0d04-0410-961f-82ee72b054a4
* 2003-04-25 H.J. Lu <hjl@gnu.org>hjl2003-04-251-6/+23
| | | | | | | | | | | | | * config/ia64/ia64.c (ia64_expand_compare_and_swap): Add rmode for return mode. (ia64_expand_builtin): Set rmode to SImode for IA64_BUILTIN_BOOL_COMPARE_AND_SWAP_SI, IA64_BUILTIN_VAL_COMPARE_AND_SWAP_SI and IA64_BUILTIN_BOOL_COMPARE_AND_SWAP_DI. Set remode to DImode for IA64_BUILTIN_VAL_COMPARE_AND_SWAP_DI. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@66077 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/ia64/ia64.c (ia64_compute_frame_size): Allow inline asmrth2003-04-251-5/+19
| | | | | | | | | to clobber ar.pfs and ar.unat. (ia64_expand_prologue): Force alloc instruction if ar.pfs saved; fix test for spilling ar.pfs to the stack. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@66074 138bc75d-0d04-0410-961f-82ee72b054a4
* 2003-04-24 H.J. Lu <hjl@gnu.org>hjl2003-04-242-7/+10
| | | | | | | | | | | | * config/ia64/ia64.c (ia64_init_builtins): Add si_ftype_pdi_di_di for __sync_bool_compare_and_swap_di for int return type. * config/ia64/ia64intrin.h (__sync_bool_compare_and_swap_di): Change return type to int. (__sync_bool_compare_and_swap): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@66042 138bc75d-0d04-0410-961f-82ee72b054a4
* * toplev.c (target_options): Add value field.dj2003-04-171-3/+3
| | | | | | | | | | | | | | | | | | | (set_target_switch): Handle target options with values. * doc/tm.texi: Document how fixed vs variable target options work. * config/alpha/alpha.h, config/arc/arc.h, config/avr/avr.h, config/c4x/c4x.h, config/cris/aout.h, config/cris/cris.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h, config/frv/frv.h, config/i386/i386.h, config/ia64/ia64.h, config/m32r/m32r.h, config/m68hc11/m68hc11.h, config/m68k/m68k.h, config/m88k/m88k.h, config/mcore/mcore.h, config/mips/mips.h, config/mmix/mmix.h, config/pa/pa.h, config/rs6000/rs6000.h, config/rs6000/sysv4.h, config/s390/s390.h, config/sparc/sparc.h, config/v850/v850.h: Add value initializer to target options. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@65756 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/ia64/ia64.c (ia64_in_small_data_p): Disallow strings.rth2003-04-171-0/+4
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@65747 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/ia64/ia64.c (sdata_symbolic_operand): Userth2003-04-163-122/+7
| | | | | | | | | | | | | | | SYMBOL_REF_SMALL_P and SYMBOL_REF_LOCAL_P. (tls_symbolic_operand): Use SYMBOL_REF_TLS_MODEL. (function_operand): Use SYMBOL_REF_FUNCTION_P. (ia64_expand_load_address): Likewise. (ia64_assemble_integer): Likewise. (ia64_encode_section_info): Remove. (ia64_strip_name_encoding): Remove. * config/ia64/ia64.h (ENCODE_SECTION_INFO_CHAR): Remove. * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't strip it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@65697 138bc75d-0d04-0410-961f-82ee72b054a4
* * ia64-protos.h (addp4_optimize_ok): New.sje2003-04-103-2/+19
| | | | | | | | | * ia64.c (addp4_optimize_ok): New. * ia64.md (*ptr_extend_plus_1): Use addp4_optimize_ok. (*ptr_extend_plus_2): Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@65435 138bc75d-0d04-0410-961f-82ee72b054a4
* 2003-04-09 Vladimir Makarov <vmakarov@redhat.com>vmakarov2003-04-091-38/+59
| | | | | | | | | | | | * config/ia64/ia64.c (issue_nops_and_insn): Add new parameter. Check that asm insn starts on a new cycle. Add nops after asm insn to end bundle. (bundling): Move insn type evaluation from the loop. Call issue_nops_and_insn with the new parameter. Ignore changing position for nops after asm insn. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@65401 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/ia64/ia64.c (move_operand): Allow symbolic_operand,rth2003-04-093-262/+170
| | | | | | | | | | | | | | | but not tls_symbolic_operand. (ia64_expand_load_address): Remove scratch operand. (ia64_expand_tls_address): Split out from ia64_expand_move. (ia64_expand_move): Split symbolics only after reload. (ia64_emit_cond_move): New. * config/ia64/ia64-protos.h: Update. * config/ia64/ia64.md (movsi_symbolic, movdi_symbolic): Remove. (symbolic splitter): Accept SImode operands too. (cmove splitter): Use ia64_emit_cond_move. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@65399 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/ia64/crti.asm: Clean up trailing whitespace.rth2003-04-014-206/+185
| | | | | | | | | | | | | | | | | | | | | | | | | | Remove trailing hashes (#) from identifiers. * config/ia64/crtn.asm: Ditto. * config/ia64/crtend.asm: Remove trailing hashes (#) from identifiers. (__do_global_ctors_aux): Align to 32-byte boundary. Add unwind directives. Drop explicit bundling---it just makes the code harder to read. Don't save/restore gp needlessly. * config/ia64/crtbegin.asm: Remove trailing hashes (#) from identifiers (they're only needed if the identifier would clash with a register name otherwise). (__do_global_dtors_aux): Align to 32-byte boundary. Add unwind directives. Drop explicit bundling---it just makes the code harder to read. (__do_jv_register_classes): Ditto. (.fini_array): Remove "progbits" (newer assemblers don't like wrong section-types). (.init_array): Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@65150 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/ia64/ia64.c (ia64_expand_op_and_fetch): Fix comment.jakub2003-03-262-4/+11
| | | | | | | | | | | | (ia64_expand_compare_and_swap): Use always DImode ar.ccv, zero extend old to it. * config/ia64/ia64.md (cmpxchg_acq_si): Remove mode from ccv operand. * gcc.dg/ia64-sync-3.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@64895 138bc75d-0d04-0410-961f-82ee72b054a4
* * function.c (put_var_into_stack): Change bool parameter to int.mmitchel2003-03-241-2/+2
| | | | | | | | | | | | | (gen_mem_addressof): Likewise. * rtl.h (gen_mem_addressof): Likewise. * tree.h (put_var_into_stack): Likewise. * config/alpha/alpha.c (alpha_gp_save_rtx): Adjust call to gen_mem_addressof or put_var_into_stack. * config/c4x/c4x.c (c4x_expand_builtin): Likewise. * config/ia64/ia64.c (spill_tfmode_operand): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@64807 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/s390/s390.c (s390_output_dwarf_dtprel): New.jakub2003-03-193-0/+24
| | | | | | | | | | | | * config/s390/s390-protos.h (s390_output_dwarf_dtprel): New proto. * config/s390/s390.h (ASM_OUTPUT_DWARF_DTPREL): Define. * config/ia64/ia64.c (ia64_output_dwarf_dtprel): New. * config/ia64/ia64-protos.h (ia64_output_dwarf_dtprel): New proto. * config/ia64/ia64.h (ASM_OUTPUT_DWARF_DTPREL): Define. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@64556 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/ia64/ia64.md (UNSPECV_SETJMP_RECEIVER): New.rth2003-03-181-2/+6
| | | | | | | | (builtin_setjmp_receiver): Delay call to ia64_reload_gp until after reload. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@64546 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-typeck.c (build_component_ref): Turn "for" into "do .. while"sayle2003-03-161-0/+1
| | | | | | | | to avoid "may be used uninitialized" warning on ia64-hpux. * config/ia64/ia64-c.c: Include "tm_p.h" for function prototypes. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@64434 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/ia64/fde-glibc.c, config/ia64/freebsd.h,neroden2003-03-1315-60/+60
| | | | | | | | | | | | | config/ia64/hpux.h, config/ia64/hpux_longdouble.h, config/ia64/ia64-c.c, config/ia64/ia64-modes.def, config/ia64/ia64-protos.h, config/ia64/ia64.c, config/ia64/ia64.h, config/ia64/ia64.md, config/ia64/itanium1.md, config/ia64/itanium2.md, config/ia64/quadlib.c, config/ia64/unwind-ia64.c, config/ia64/unwind-ia64.h: It's GCC, not GNU CC. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@64313 138bc75d-0d04-0410-961f-82ee72b054a4
* * emit-rtl.c (try_split): Handle 1-1 splits of call insns properly.rth2003-03-133-166/+321
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * config/ia64/ia64.c (TARGET_FUNCTION_OK_FOR_SIBCALL): New. (ia64_gp_save_reg): Remove. (struct ia64_frame_info): Move to the beginning of the file; add reg_save_gp. (ia64_expand_call): Rearrange for new call patterns. (ia64_reload_gp): New. (ia64_split_call): New. (ia64_compute_frame_size): Allocate reg_save_gp. (ia64_expand_prologue): Save reg_save_gp. (ia64_expand_epilogue): Don't restore gp. (ia64_hard_regno_rename_ok): Remove R4 hack. (ia64_function_ok_for_sibcall): New. (ia64_output_mi_thunk): Set reload_completed, no_new_pseudos; call try_split on sibcall pattern. * config/ia64/ia64-protos.h: Update. * config/ia64/ia64.md (call_nogp, call_value_nogp, sibcall_nogp): Rename from nopic versions. Confiscate 2nd argument to call as a marker. (call_pic, call_value_pic, sibcall_pic): Remove. (call_gp, call_value_gp, sibcall_gp): New. (builtin_setjmp_setup): Remove. (builtin_setjmp_receiver): Call ia64_reload_gp. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@64303 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/ia64/ia64.h (ASM_OUTPUT_XDATA_CHAR): Remove.sje2003-03-121-59/+10
| | | | | | | | | | | | (ASM_OUTPUT_XDATA_SHORT): Remove. (ASM_OUTPUT_XDATA_INT): Remove. (ASM_OUTPUT_XDATA_DOUBLE_INT): Remove. (ASM_OUTPUT_ADDR_DIFF_ELT): Handled 32 bit address diffs. (ASM_PREFERRED_EH_DATA_FORMAT): Handle 32 bit EH pointers. (CASE_VECTOR_MODE): Handle 32 bit pointers in case statement. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@64271 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-cppbuiltin.c (cb_register_builtins): Define LP64 builtins foraj2003-03-121-6/+1
| | | | | | | | | | | | | | | | | | | | | LP64 targets. * doc/cpp.texi (Common Predefined Macros): Document __LP64__ and _LP64. * config/ia64/ia64.h (TARGET_CPU_CPP_BUILTINS): Do not define _LP64 macros here. * config/pa/pa.h (TARGET_CPU_CPP_BUILTINS): Likewise. * config/alpha/netbsd.h (TARGET_OS_CPP_BUILTINS): Remove call to NETBSD_OS_CPP_BUILTINS_LP64. * config/sh/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Likewise. * config/sparc/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Likewise. * config/netbsd.h (NETBSD_OS_CPP_BUILTINS_LP64): Remove. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@64259 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/ia64/ia64.h (HAVE_AS_LTOFFX_LDXMOV_RELOCS): Default to 0.rth2003-03-031-0/+4
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@63739 138bc75d-0d04-0410-961f-82ee72b054a4
* * configure.in (HAVE_AS_LTOFFX_LDXMOV_RELOCS): New ia64 test.rth2003-03-022-9/+31
| | | | | | | | | | | | * config.in, configure: Rebuild. * config/ia64/ia64.c (ia64_ld_address_bypass_p): Accept lo_sum. * config/ia64/ia64.md (load_symptr): Use high/lo_sum for the paired ldtoffx and ldxmov annotations. (load_symptr_internal1): Remove. (load_symptr_high, load_symptr_low): New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@63696 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/ia64/hpux.h (STARTFILE_PREFIX_SPEC): Remove.sje2003-02-271-6/+0
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@63511 138bc75d-0d04-0410-961f-82ee72b054a4
* Patch for PR 9617.wilson2003-02-181-4/+8
| | | | | | | | | | | * config/ia64/ia64.md (floatdidf2, floatdisf2): Add %, before second instruction in output template. (bsp_value): Change output template from string to C code, add %, before actual instruction. (flushrs): Mark as not predicable. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@63062 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/alpha/freebsd.h (LINK_SPEC): Weaken error to notice.ljrittle2003-02-081-2/+2
| | | | | | | | | | * config/ia64/freebsd.h (LINK_SPEC): Likewise. * config/sparc/freebsd.h (LINK_SPEC): Likewise. * config/i386/freebsd.h (LINK_SPEC): Add clause to mirror other arches. * gcc.dg/20021014-1.c: Annotate with expected notice text. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@62567 138bc75d-0d04-0410-961f-82ee72b054a4
* 2003-02-04 Hans Boehm <Hans.Boehm@hp.com>hboehm2003-02-051-0/+2
| | | | | | | | * config/ia64/unwind-ia64.c: include coretypes.h, tm.h to get config/ia64/linux.h git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@62448 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/ia64/ia64.c (rtx_needs_barrier): Handle POPCOUNT,rth2003-02-052-10/+45
| | | | | | | | | | | UNSPEC_GETF_EXP; remove UNSPEC_POPCNT. * config/ia64/ia64.md (UNSPEC_POPCNT): Remove. (ffsdi2): Use popcount instead of unspec. (popcountdi2): Rename from *popcnt. (ctzdi2, clzdi2, getf_exp_tf): New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@62428 138bc75d-0d04-0410-961f-82ee72b054a4