- 08 Jun, 2005 1 commit
-
-
ebotcazou authored
* target.h (gcc_target) <asm_out>: New field output_dwarf_dtprel. * target-def.h (TARGET_ASM_OUTPUT_DWARF_DTPREL): New macro. (TARGET_ASM_OUT): Add it. * doc/tm.texi (Debugging Info): Document it. * dwarf2out.c (output_loc_operands) <INTERNAL_DW_OP_tls_addr>: Test it instead of ASM_OUTPUT_DWARF_DTPREL. (loc_descriptor_from_tree_1) <VAR_DECL>: Likewise. * system.h: Poison ASM_OUTPUT_DWARF_DTPREL. * config/frv/frv-protos.h (frv_output_dwarf_dtprel): Delete. * config/frv/frv.c (frv_output_dwarf_dtprel): Make static and unused. (gen_inlined_tls_plt): Remove unused variable MEM. (TARGET_ASM_OUTPUT_DWARF_DTPREL): Define to frv_output_dwarf_dtprel. * config/frv/frv.h (ASM_OUTPUT_DWARF_DTPREL): Delete. * config/i386/i386-protos.h (i386_output_dwarf_dtprel): Delete. * config/i386/i386.c (i386_output_dwarf_dtprel): Make static and unused. (TARGET_ASM_OUTPUT_DWARF_DTPREL): Define to i386_output_dwarf_dtprel. * config/i386/i386.h (ASM_OUTPUT_DWARF_DTPREL): Delete. * config/ia64/ia64-protos.h (ia64_output_dwarf_dtprel): Delete. * config/ia64/ia64.c (ia64_output_dwarf_dtprel): Make static and unused. (TARGET_ASM_OUTPUT_DWARF_DTPREL): Define to ia64_output_dwarf_dtprel. * config/ia64/ia64.h (ASM_OUTPUT_DWARF_DTPREL): Delete. * config/rs6000/rs6000-protos.h (rs6000_output_dwarf_dtprel): Delete. * config/rs6000/rs6000.c (rs6000_output_dwarf_dtprel): Make static and unused. (TARGET_ASM_OUTPUT_DWARF_DTPREL): Define to rs6000_output_dwarf_dtprel * config/rs6000/rs6000.h (ASM_OUTPUT_DWARF_DTPREL): Delete. * config/s390/s390-protos.h (s390_output_dwarf_dtprel): Delete. * config/s390/s390.c (s390_output_dwarf_dtprel): Make static and unused. (TARGET_ASM_OUTPUT_DWARF_DTPREL): Define to s390_output_dwarf_dtprel. * config/s390/s390.h (ASM_OUTPUT_DWARF_DTPREL): Delete. * config/sparc/sol2-gas.h (TARGET_SUN_TLS): Define to 0. (TARGET_GNU_TLS): Define to 1. * config/sparc/sparc-protos.h (sparc_output_dwarf_dtprel): Delete. * config/sparc/sparc.c (sparc_output_dwarf_dtprel): Make static and unused. (TARGET_ASM_OUTPUT_DWARF_DTPREL): Define to sparc_output_dwarf_dtprel if TARGET_GNU_TLS only. * config/sparc/sparc.h (ASM_OUTPUT_DWARF_DTPREL): Delete. * config.gcc (sparc64-*-solaris2*): Include tm-dwarf2.h last. (sparc-*-solaris2*): Likewise on Solaris 7 and up. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@100742 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 10 May, 2005 1 commit
-
-
uweigand authored
* config/s390/s390.c: (s390_const_double_ok_for_constraint_p): New function. (legitimate_reload_constant_p): Add check for const double zero. * config/s390/s390.md: Add comment for constraint letter 'G'. ("*movdf_64", "*movdf_31", "movsf"): Add constraint and proper attributes for new case. * config/s390/s390.h: (CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Define it as s390_const_double_ok_for_constraint_p. * config/s390/s390-protos.h (s390_const_double_ok_for_constraint_p): Add prototype. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@99541 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 09 May, 2005 1 commit
-
-
uweigand authored
* config/s390/s390-protos.h: (s390_match_ccmode, s390_match_ccmode_set, reg_used_in_mem_p, symbolic_reference_mentioned_p, tls_symbolic_reference_mentioned_p, legitimate_la_operand_p, preferred_la_operand_p, s390_short_displacement, addr_generation_dependency_p, legitimate_reload_constant_p, legitimate_address_p): Change return type into 'bool'. (s390_tm_ccmode): Change type of parameter "mixed" into 'bool'. * config/s390/s390.c: (s390_match_ccmode, symbolic_reference_mentioned_p, tls_symbolic_reference_mentioned_p, legitimate_reload_constant_p): Change return type into 'bool'. (preferred_la_operand_p,legitimate_la_operand_p, legitimate_address_p): Likewise. Additionally adapted comment. (s390_extra_constraint_p): Change Comment to reflect 'int' return type. (s390_tm_ccmode): Change type of parameter "mixed" into 'bool'. (s390_decompose_address): Change the type of the internal flags "pointer", "base_ptr", "indx_ptr", and the return value into 'bool'. (struct s390_address): Change type of "pointer" into bool. * config/s390/s390.md: ("*tmdi_reg", "*tmsi_reg", "tm<mode>_full"): Adapt calls for 's390_tm_ccmode' to the new signature. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@99463 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 28 Apr, 2005 1 commit
-
-
kazu authored
coverage.c, cselib.h, domwalk.c, domwalk.h, errors.c, errors.h, gcov-dump.c, gcov-io.c, gcov-io.h, gen-protos.c, genattrtab.h, genextract.c, gthr-win32.h, insn-notes.def, integrate.c, lambda-mat.c, lambda.h, libgcov.c, local-alloc.c, machmode.def, mips-tfile.c, params.c, pretty-print.c, print-rtl.c, protoize.c, regmove.c, sched-vis.c, tree-chrec.h, tree-data-ref.h, vec.h, config/darwin-c.c, config/sol2-c.c, config/sol2.c, config/arm/arm-cores.def, config/arm/cirrus.md, config/arm/symbian.h, config/c4x/c4x.c, config/c4x/c4x.h, config/i386/cygming.h, config/i386/djgpp.h, config/i386/lynx.h, config/i386/netware.c, config/i386/winnt.c, config/ia64/ia64-c.c, config/iq2000/iq2000.c, config/m32r/little.h, config/m68k/m68k-protos.h, config/m68k/m68k.h, config/m68k/m68k.md, config/mcore/mcore.c, config/mcore/mcore.h, config/mmix/mmix.c, config/mmix/mmix.md, config/mn10300/mn10300-protos.h, config/mn10300/mn10300.c, config/mn10300/mn10300.h, conf...
-
- 04 Apr, 2005 1 commit
-
-
uweigand authored
* config/s390/s390-protos.h: (s390_comparison, s390_alc_comparison, s390_slb_comparison, const0_operand, consttable_operand, larl_operand, s_operand, shift_count_operand, bras_sym_operand, load_multiple_operation, store_multiple_operation, s390_plus_operand): Remove prototypes. (s390_legitimate_address_without_index_p): New prototype. * config/s390/s390.c: (SYMBOL_FLAG_ALIGN1, DISP_IN_RANGE): Move to s390.h. (s390_comparison, s390_alc_comparison, s390_slb_comparison, const0_operand, consttable_operand, larl_operand, s_operand, shift_count_operand, bras_sym_operand, load_multiple_operation, store_multiple_operation, s390_plus_operand): Move to predicates.md. (check_mode): Remove. (s390_branch_condition_mask): Remove 'static'. Move prototype to s390-protos.h. (s390_legitimate_address_without_index_p): New. * config/s390/s390.h (PREDICATE_CODES): Remove. * config/s390/s390.md: Include predicates.md. * config/s390/predicates.md: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@97554 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 09 Nov, 2004 1 commit
-
-
uweigand authored
* config/s390/s390-protos.h (s390_pool_operand): Remove. * config/s390/s390.c (s390_pool_operand): Likewise. (s390_extra_constraint_str): Handle 'B' constraints. * config/s390/s390.h (CONSTRAINT_LEN): Handle 'B' constraints. * config/s390/s390.md: Document 'B' constraints. ("*cmpdi_cct", "*cmpsi_cct"): Use 'B' constraint instead of s390_pool_operand to prevent insns with two literal pool references. Make pattern commutative. ("*cmpdi_ccu", "*cmpsi_ccu", "*cmphi_ccu", "*cmpqi_ccu"): Use 'B' constraint instead of s390_pool_operand. testsuite/ChangeLog: * gcc.dg/20041109-1.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@90364 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 03 Nov, 2004 1 commit
-
-
uweigand authored
* config/s390/s390.c (s390_split_access_reg): New function. (regclass_map): Add access registers. (get_thread_pointer): Use access register instead of UNSPEC_TP. * config/s390/s390.h (FIRST_PSEUDO_REGISTER): Set to 38. (ACCESS_REGNO_P, ACCESS_REG_P): New macros. (TP_REGNUM): New define. (FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS, REG_ALLOC_ORDER): Add access registers. (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK, CLASS_MAX_NREGS, CANNOT_CHANGE_MODE_CLASS): Support access registers. (enum reg_class): Add ACCESS_REGS. (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Likewise. (REG_CLASS_FROM_LETTER): Add 't' constraint. (REGISTER_NAMES): Add access registers. * config/s390/s390.md (UNSPEC_TP): Remove. ("*movdi_64"): Add access register alternatives. Provide splitters to split DImode access register <-> GPR moves into SImode moves. ("*movsi_zarch", "*movsi_esa"): Add access register alternatives. ("movstrictsi"): Likewise. ("get_tp_64", "get_tp_31"): Reimplement using access registers. ("set_tp_64", "set_tp_31"): Likewise. ("*set_tp"): New insn. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@90036 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 11 Oct, 2004 1 commit
-
-
uweigand authored
* config/s390/s390.c (s390_offset_p): New function. * config/s390/s390.md ("*cmpdi_cct", "*cmpsi_cct", "*cmpdi_ccu", "*cmpsi_ccu", "*cmphi_ccu", "*cmpqi_ccu"): Use splitter to transform Q->Q alternatives to *clc pattern. ("*clc"): Move. ("movti", "*movdi_64", "*movdi_31", "*movsi_zarch", "*movsi_esa", "*movhi", "*movqi", "*movdf_64", "*movdf_31", "movsf"): Use splitter to transform Q->Q alternatives to *mvc pattern. ("*mvc"): Move. Add peephole to merge adjacent MVCs. ("*anddi3", "*andsi3_zarch", "*andsi3_esa", "*andhi3_zarch", "*andhi3_esa", "*andqi3_zarch", "*andqi3_esa"): Use splitter to transform Q->Q alternatives to *nc pattern. ("*nc"): New insn. New peephole to merge adjacent NCs. ("*iordi3", "*iorsi3_zarch", "*iorsi3_esa", "*iorhi3_zarch", "*iorhi3_esa", "*iorqi3_zarch", "*iorqi3_esa"): Use splitter to transform Q->Q alternatives to *oc pattern. ("*oc"): New insn. New peephole to merge adjacent OCs. ("*xordi3", "*xorsi3", "*xorhi3", "*xorqi3"): Use splitter to transform Q->Q alternatives to *xc pattern. ("*xc"): New insn. New peephole to merge adjacent XCs. ("*xc_zero"): Move. Add peephole to merge adjacent XCs. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88878 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 07 Oct, 2004 1 commit
-
-
uweigand authored
* config/s390/s390.c (s390_narrow_logical_operator): New function. (s390_extra_constraint_str): Add 'A' constraints. (s390_const_ok_for_constraint_p): Add 'Nx' constraints. * config/s390/s390.h (EXTRA_MEMORY_CONSTRAINT): Add 'A' constraint. (CONSTRAINT_LEN): Likewise. * config/s390/s390.md ("*anddi3"): Add NI alternative and splitter. ("*andsi3_zarch", "*andsi3_esa"): Likewise. ("*andhi3_zarch", "*andhi3_esa"): Likewise. ("*iordi3"): Add OI alternative and splitter. ("*iorsi3_zarch", "*iorsi3_esa"): Likewise. ("*iorhi3_zarch", "*iorhi3_esa"): Likewise. ("*xordi3"): Add XI alternative and splitter. ("*xorsi3", "*xorhi3"): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88705 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 06 Oct, 2004 1 commit
-
-
uweigand authored
(s390_pool_operand): Add prototype. * config/s390/s390.c (general_s_operand): Remove. (s_imm_operand): Remove. (s_operand): Merge contents of general_s_operand. (s390_pool_operand): New function. * config/s390/s390.h (PREDICATE_CODES): Remove s_imm_operand. * config/s390/s390.md ("*cmpdi_cct", "*cmpsi_cct"): New insns. ("*cmpdi_ccu"): Merge Q->Q alternative. ("*cmpsi_ccu", "*cmphi_ccu"): Likewise. ("*cmpqi_ccu"): Merge Q->Q, n->Q, n->S alternatives. ("*cli"): Remove. ("*cmpdi_ccu_mem", "*cmpsi_ccu_mem"): Likewise. ("*cmphi_ccu_mem", "*cmpqi_ccu_mem"): Likewise. ("*movstricthi"): Use memory_operand instead of s_imm_operand. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88614 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 01 Oct, 2004 2 commits
-
-
uweigand authored
* config/s390/s390.c (s390_comparison): New function. (s390_branch_condition_mask): Return -1 for invalid comparisons. (s390_branch_condition_mnemonic): Assert valid comparison. * config/s390/s390.h (PREDICATE_CODES): Add s390_comparison. * config/s390/s390.md ("*cjump_64", "*cjump_31", "*cjump_long", "*icjump_64", "*icjump_31", "*icjump_long", "*trap"): Use s390_comparison instead of comparison_operator. * config/s390/s390.md (UNSPEC_CMPINT): New constant. ("cmpmemdi"): Remove. ("cmpmem_short", "*cmpmem_short"): Use CCUmode instead of CCSmode. ("cmpmem_long", "*cmpmem_long_64", "*cmpmem_long_31"): Likewise. ("cmpint_si"): Rename to ... ("*cmpint_si"): ... this. Use UNSPEC_CMPINT. ("cmpint_di", "*cmpint_di"): Likewise. * config/s390/s390.c (s390_canonicalize_comparison): Remove redundant UNSPEC_CMPINT conversions. (s390_expand_cmpmem): Adapt to cmpint pattern changes. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88410 138bc75d-0d04-0410-961f-82ee72b054a4
-
uweigand authored
prototype. (s390_logical_operator_ok_p): Likewise. * config/s390/s390.c (s390_expand_logical_operator): New function. (s390_logical_operator_ok_p): Likewise. * config/s390/s390.md ("anddi3"): New expander. ("*anddi3"): Rename from old anddi3 pattern, add Q->Q alternative. ("*anddi3_ss", "*anddi3_ss_inv"): Remove. ("andsi3"): Use s390_expand_logical_operator. ("*andsi3_esa", "*andsi3_zarch"): Add Q->Q alternative. ("*andsi3_ss", "*andsi3_ss_inv"): Remove. ("andhi3"): New expander. ("*andhi3_zarch", "*andhi3_esa"): New patterns. ("andhi3", "*andhi3_ni", "*andhi3_ss", "*andhi3_ss_inv"): Remove. ("andqi3"): New expander. ("*andqi3_zarch", "*andqi3_esa"): New patterns. ("andqi3", "*andqi3_ni", "*andqi3_ss", "*andqi3_ss_inv"): Remove. ("iordi3"): New expander. ("*iordi3"): Rename from old iordi3 pattern, add Q->Q alternative. ("*iordi3_ss", "*iordi3_ss_inv"): Remove. ("iorsi3"): Use s390_expand_logical_operator. ("*iorsi3_esa", "*iorsi3_zarch"): Add Q->Q alternative. ("*iorsi3_ss", "*iorsi3_ss_inv"): Remove. ("iorhi3"): New expiorer. ("*iorhi3_zarch", "*iorhi3_esa"): New patterns. ("iorhi3", "*iorhi3_ni", "*iorhi3_ss", "*iorhi3_ss_inv"): Remove. ("iorqi3"): New expiorer. ("*iorqi3_zarch", "*iorqi3_esa"): New patterns. ("iorqi3", "*iorqi3_ni", "*iorqi3_ss", "*iorqi3_ss_inv"): Remove. ("xordi3"): New expander. ("*xordi3"): Rename from old xordi3 pattern, add Q->Q alternative. ("*xordi3_ss", "*xordi3_ss_inv"): Remove. ("xorsi3"): New expander. ("*xorsi3"): Rename from old xorsi3 pattern, add Q->Q alternative. ("*xorsi3_ss", "*xorsi3_ss_inv"): Remove. ("xorhi3"): New expander. ("*xorqi3"): Rename from old xorhi3 pattern, add Q->Q alternative. ("*xorhi3_ss", "*xorhi3_ss_inv"): Remove. ("xorqi3"): New expander. ("*xorqi3"): Rename from old xorqi3 pattern, add Q->Q alternative. ("*xorqi3_ss", "*xorqi3_ss_inv"): Remove. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88370 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 30 Sep, 2004 1 commit
-
-
uweigand authored
(s390_return_address_offset): Remove. (s390_can_eliminate): Add prototype. (s390_initial_elimination_offset): Add prototype. * config/s390/s390.h (CAN_ELIMINATE): Call s390_can_eliminate. (INITIAL_ELIMINATION_OFFSET): Call s390_initial_elimination_offset. * config/s390/s390.c (s390_arg_frame_offset): Remove. (s390_return_address_offset): Remove. (s390_can_eliminate, s390_initial_elimination_offset): New functions. (struct machine_function): New member split_branches_pending_p. (s390_mainpool_start): Allow nonexistant pool insn for empty pool. (s390_mainpool_finish): Likewise. Clear base_reg if pool empty. (s390_optimize_prologue): Remove base_used argument. Call s390_update_frame_layout instead of s390_register_info. Handle prologue/epilogue insns that touch only RETURN_REGNUM. (s390_reorg): Remove base_used. Clear split_branches_pending_p. (s390_register_info): Remove base_used and return_addr_used arguments, compute special register usage inline. Return live register data to caller. (s390_frame_info): Remove arguments, do not call s390_register_info. (s390_init_frame_layout): New function. (s390_update_frame_layout): Likewise. (s390_emit_prologue): Call s390_update_frame_layout; some code move to there. Do not emit pool placeholder insn if unnecessary. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88357 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 25 Sep, 2004 1 commit
-
-
uweigand authored
* config/s390/s390.c (s390_back_chain_rtx): New function. * config/s390/s390.md ("allocate_stack"): Use s390_back_chain_rtx. Call anti_adjust_stack. ("restore_stack_block"): Use s390_back_chain_rtx. Enable pattern only if compiling with back chain. ("save_stack_nonlocal", "restore_stack_nonlocal"): Save/restore back chain only if back chain enabled. Use s390_back_chain_rtx. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88087 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 22 Sep, 2004 1 commit
-
-
uweigand authored
* config/s390/s390-protos.h (s390_emit_tpf_eh_return): Add prototype. * config/s390/s390.c (s390_emit_tpf_eh_return): New function. * config/s390/s390.h (TARGET_TPF): New macro. * config/s390/s390.md ("eh_return"): New expander. * config/s390/t-tpf (LIB2ADDEH): Use unwind-dw2-fde.c rather than unwind-dw2-fde-glibc.c. Add config/s390/tpf-eh.c. (LIB2ADDEHDEP): Remove unwind-dw2-fde.c. * config/s390/tpf.h (TARGET_TPF): Define to 1. (STACK_POINTER_OFFSET): Increase to 448. (TARGET_DEFAULT): Set -mtpf-trace on as default. (TPF_LOC_DIFF_OFFSET): New macro. (ASM_PREFERRED_EH_DATA_FORMAT): Redefine to always use absolute encoding. (__isPATrange): Add prototype. (MD_FALLBACK_FRAME_STATE_FOR): Define. * config/s390/tpf-eh.c: New file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87857 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 22 Aug, 2004 1 commit
-
-
uweigand authored
Return -1 if LEGITIMIZE_RELOAD_ADDRESS succeeded. (find_reloads): Assume that reloaded addresses match 'o' or EXTRA_MEMORY_CONSTRAINT constraints only if find_reloads_address returned 1 (not -1). Omit optional reloads for address operands only if find_reloads_address returned 1 (not -1). * config/s390/s390.c (legitimize_reload_address): New function. * config/s390/s390-protos.h (legitimize_reload_address): Declare. * config/s390/s390.h (LEGITIMIZE_RELOAD_ADDRESS): Define. Call legitimize_reload_address. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@86388 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 19 Aug, 2004 1 commit
-
-
uweigand authored
* config/s390/s390.c (preferred_la_operand_p): Accept two operands instead of one. Check for strictly legitimate address. * config/s390/s390.md ("*la_31"/"*la_64" peepholes): Adapt call to preferred_la_operand_p, do not call gen_rtx_PLUS in predicate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@86278 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 10 Aug, 2004 1 commit
-
-
uweigand authored
* config/s390/s390.c (s390_canonicalize_comparison): New function. * config/s390/s390.h (CANONICALIZE_COMPARISON): Define. * config/s390/s390.md ("*tmdi_ext", "*tmsi_ext", "*tmqisi_ext", "*tmqidi_ext", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem"): Remove. ("*tmqi_mem"): Remove SUBREG from pattern. ("*anddi3_cconly"): Prevent accidentally matching TM pattern. ("*andsi3_cconly"): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85770 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 19 Jul, 2004 1 commit
-
-
uweigand authored
* config/s390/s390-protos.h (s390_return_address_offset): Prototype added. * config/s390/s390.c (regclass_map initializer): Register 35 added to ADDR_REGS. (load_multiple_operation, store_multiple_operation): Removed pointless sanity check. (s390_decompose_address): Added check for return_address_pointer_rtx. (s390_return_addr_rtx): Use return_address_pointer_rtx for count == 0. (s390_return_address_offset): New function. * config/s390/s390.h (FIRST_PSEUDO_REGISTER): Increased to 36. (FRAME_REGNO_P): Added check for register 35. (FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS, REG_ALLOC_ORDER): Appended entry for register 35. (REG_CLASS_CONTENTS): Adjusted class masks for register 35. (EH_RETURN_HANDLER_RTX): Use return_address_pointer_rtx. (RETURN_ADDRESS_POINTER_REGNUM): New macro. (ELIMINABLE_REGS, INITIAL_ELIMINATION_OFFSET): Return address pointer is eliminable using stack pointer or hard frame pointer. (REGISTER_NAMES): Added name for register 35. * config/s390/s390.md ("load_multiple", "store_multiple"): Removed pointless sanity check. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84918 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 14 Jul, 2004 1 commit
-
-
rth authored
* target-def.h (TARGET_PASS_BY_REFERENCE): New. * function.c (pass_by_reference): Use the hook. * system.h (FUNCTION_ARG_PASS_BY_REFERENCE): Poison. * targhooks.c, targhooks.h (hook_pass_by_reference_false): New. (hook_pass_by_reference_must_pass_in_stack): New. * config/alpha/alpha.c (function_arg): Don't query pass-by-ref. (alpha_pass_by_reference): New. (TARGET_PASS_BY_REFERENCE): New. * config/alpha/alpha.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. * config/arc/arc.c (arc_pass_by_reference): New. (TARGET_PASS_BY_REFERENCE): New. * config/arc/arc.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. (FUNCTION_ARG_CALLEE_COPIES): True. * config/arm/arm-protos.h (arm_function_arg_pass_by_reference): Remove. * config/arm/arm.c (TARGET_PASS_BY_REFERENCE): New. (arm_pass_by_reference): Rename from arm_function_arg_pass_by_reference. * config/arm/arm.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. * config/c4x/c4x.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. * config/cris/cris.c (cris_pass_by_reference): New. (TARGET_PASS_BY_REFERENCE): New. * config/cris/cris.h (FUNCTION_ARG): Don't query pass-by-ref. (FUNCTION_INCOMING_ARG, FUNCTION_ARG_ADVANCE): Likewise. (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. * config/fr30/fr30.c (TARGET_PASS_BY_REFERENCE): New. * config/fr30/fr30.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. * config/frv/frv-protos.h (frv_function_arg_pass_by_reference): Kill. * config/frv/frv.c (TARGET_PASS_BY_REFERENCE): New. (frv_function_arg_pass_by_reference): Remove. * config/frv/frv.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. * config/i386/i386-protos.h (function_arg_pass_by_reference): Remove. * config/i386/i386.c (TARGET_PASS_BY_REFERENCE): New. (ix86_pass_by_reference): Rename from function_arg_pass_by_reference. * config/i386/i386.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. * config/ia64/ia64-protos.h (ia64_function_arg_pass_by_reference): Kill. * config/ia64/ia64.c (TARGET_PASS_BY_REFERENCE): New. (ia64_pass_by_reference): Rename from ia64_function_arg_pass_by_reference. * config/ia64/ia64.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. * config/ip2k/ip2k.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. * config/iq2000/iq2000-protos.h (function_arg_pass_by_reference): Kill. * config/iq2000/iq2000.c (TARGET_PASS_BY_REFERENCE): New. (iq2000_pass_by_reference): Rename from function_arg_pass_by_reference. * config/iq2000/iq2000.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. (FUNCTION_ARG_CALLEE_COPIES): Don't reference pass-by-ref. * config/m32r/m32r-protos.h (m32r_pass_by_reference): Remove. * config/m32r/m32r.c (TARGET_PASS_BY_REFERENCE): New. (m32r_pass_by_reference): Adjust prototype. Make static. Handle mode sizes correctly. * config/m32r/m32r.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c (m68hc11_function_arg_pass_by_reference): Remove. * config/m68hc11/m68hc11.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. (FUNCTION_ARG_CALLEE_COPIES): Don't reference pass-by-ref. * config/mcore/mcore.c (TARGET_PASS_BY_REFERENCE): New. * config/mcore/mcore.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. * config/mips/mips-protos.h (function_arg_pass_by_reference): Remove. * config/mips/mips.c (TARGET_PASS_BY_REFERENCE): New. (mips_va_arg): Use pass_by_reference. (mips_pass_by_reference): Rename from function_arg_pass_by_reference. Handle mode sizes correctly. * config/mips/mips.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. (FUNCTION_ARG_CALLEE_COPIES): Don't reference pass-by-ref. * config/mmix/mmix-protos.h (mmix_function_arg_pass_by_reference): Kill. * config/mmix/mmix.c (TARGET_PASS_BY_REFERENCE): New. (mmix_pass_by_reference): Rename from mmix_function_arg_pass_by_reference. * config/mmix/mmix.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. (FUNCTION_ARG_CALLEE_COPIES): True. * config/mn10300/mn10300.c (TARGET_PASS_BY_REFERENCE): New. (mn10300_pass_by_reference): New. * config/mn10300/mn10300.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. (FUNCTION_ARG_CALLEE_COPIES): True. * config/pa/pa.c (pa_pass_by_reference): New. (TARGET_PASS_BY_REFERENCE): New. * config/pa/pa.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. (FUNCTION_ARG_CALLEE_COPIES): True. * config/rs6000/rs6000-protos.h (function_arg_pass_by_reference): Kill. * config/rs6000/rs6000.c (TARGET_PASS_BY_REFERENCE): New. (rs6000_pass_by_reference): Rename from function_arg_pass_by_reference. * config/rs6000/rs6000.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. * config/s390/s390-protos.h (s390_function_arg_pass_by_reference): Kill. * config/s390/s390.c (TARGET_PASS_BY_REFERENCE): New. (s390_pass_by_reference): Rename from s390_function_arg_pass_by_reference. (s390_function_arg_advance): Don't query pass-by-ref. (s390_function_arg): Likewise. (s390_gimplify_va_arg): Use pass_by_reference. (s390_call_saved_register_used): Likewise. * config/s390/s390.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. * config/sh/sh.c (TARGET_PASS_BY_REFERENCE): New. (shcompact_byref, sh_pass_by_reference): New. * config/sh/sh.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. (SHCOMPACT_BYREF): Remove. * config/sparc/sparc-protos.h (function_arg_pass_by_reference): Kill. * config/sparc/sparc.c (TARGET_PASS_BY_REFERENCE): New. (sparc_pass_by_reference): Rename from function_arg_pass_by_reference. (sparc_gimplify_va_arg): Use pass_by_reference. * config/sparc/sparc.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. * config/stormy16/stormy16.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. * config/v850/v850.c (TARGET_PASS_BY_REFERENCE): New. (v850_pass_by_reference): New. * config/v850/v850.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. (FUNCTION_ARG_CALLEE_COPIES): True. * doc/tm.texi (TARGET_PASS_BY_REFERENCE): Update from FUNCTION_ARG_PASS_BY_REFERENCE docs. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84672 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 07 Jul, 2004 1 commit
-
-
aoliva authored
* builtins.c: Rename movstr*, except for movstrict*, to movmem* and clrstr* to clrmem*. * expr.c: Likewise. * expr.h: Likewise. * genopinit.c: Likewise. * integrate.c: Likewise. * local-alloc.c: Likewise. * optabs.c: Likewise. * optabs.h: Likewise. * config/alpha/alpha.h: Likewise. * config/alpha/alpha.md: Likewise. * config/arm/arm-protos.h: Likewise. * config/arm/arm.c: Likewise. * config/arm/arm.md: Likewise. * config/avr/avr.md: Likewise. * config/c4x/c4x.c: Likewise. * config/c4x/c4x.md: Likewise. * config/frv/frv.md: Likewise. * config/i386/i386-protos.h: Likewise. * config/i386/i386.c: Likewise. * config/i386/i386.h: Likewise. * config/i386/i386.md: Likewise. * config/i860/i860.c: Likewise. * config/i860/i860.md: Likewise. * config/ip2k/ip2k.md: Likewise. * config/ip2k/libgcc.S: Likewise. * config/ip2k/t-ip2k: Likewise. * config/m32r/m32r.c: Likewise. * config/m32r/m32r.md: Likewise. * config/mcore/mcore.md: Likewise. * config/mips/mips.c: Likewise. * config/mips/mips.md: Likewise. * config/ns32k/ns32k.c: Likewise. * config/ns32k/ns32k.h: Likewise. * config/ns32k/ns32k.md: Likewise. * config/pa/pa.c: Likewise. * config/pa/pa.md: Likewise. * config/pdp11/pdp11.h: Likewise. * config/pdp11/pdp11.md: Likewise. * config/rs6000/rs6000.c: Likewise. * config/rs6000/rs6000.md: Likewise. * config/s390/s390-protos.h: Likewise. * config/s390/s390.c: Likewise. * config/s390/s390.md: Likewise. * config/sh/lib1funcs.asm: Likewise. * config/sh/sh.c: Likewise. * config/sh/sh.md: Likewise. * config/sh/t-sh: Likewise. * config/sparc/sparc.h: Likewise. * config/vax/vax.md: Likewise. * config/xtensa/xtensa.c: Likewise. * config/xtensa/xtensa.md: Likewise. * doc/invoke.texi: Likewise. * doc/md.texi: Likewise. * doc/rtl.texi: Likewise. gcc/testsuite/ChangeLog: * gcc.c-torture/execute/builtins/mempcpy-2.c: Rename movstr*, except for movstrict*, to movmem* and clrstr* to clrmem*. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84222 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 27 Jun, 2004 1 commit
-
-
uweigand authored
* config/s390/s390.c (struct machine_function): Add member base_reg. (s390_decompose_address): Accept UNSPEC_LTREF. Simplify logic. (s390_split_branches): Annotate late pool references. (annotate_constant_pool_refs): New function. (find_constant_pool_ref): Work on annotated pool references. (replace_constant_pool_ref): Likewise. Use explicit base. (replace_ltrel_base): Use explicit base. (s390_mainpool_start): Reflect main_pool pattern change. (s390_mainpool_finish): Use base register from main_pool. Update calls to replace_ltrel_base and replace_constant_pool_ref. (s390_chunkify_start): Use base_reg from struct machine_function. (s390_chunkify_finish): Remove base_reg argument. Update calls to replace_ltrel_base and replace_constant_pool_ref. (s390_reorg): Don't decide upon base register. Update calls. (s390_load_got): Remove MAYBE_DEAD handling. Do not emit insns but return sequence instead. (s390_emit_prologue): Decide upon base register to use. Annotate all literal pool references. Adapt to main_pool pattern change. Update s390_load_got call; move MAYBE_DEAD handling here. (s390_emit_epilogue): Annotate late literal pool references. Remove barrier before register restore instruction. * config/s390/s390.md (UNSPEC_LTREF): New constant. ("builtin_setjmp_receiver"): Update s390_load_got call. ("main_pool"): Explicitly reference base register. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83735 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 24 Jun, 2004 1 commit
-
-
uweigand authored
(s390_emit_jump): Likewise. * config/s390/s390.c (s390_emit_compare): New function. (s390_emit_jump): Likewise. * config/s390/s390.md ("beq", "bne", "bgt", "bgtu", "blt", "bltu", "bge", "bgeu", "ble", "bleu", "bunordered", "bordered", "buneq", "bungt", "bunlt", "bunge", "bunle", "bltgt"): Use s390_emit_compare and s390_emit_jump. ("cjump"): Remove, replace by ... ("*cjump_64", "*cjump_31"): ... these insns. Improve length default. ("icjump", "*icjump_64", "*icjump_31"): Likewise. ("trap"): Fix type attribute. ("conditional_trap"): Use s390_emit_compare. ("doloop_si"): Remove, replace by ... ("doloop_si64", "doloop_si31"): ... these new insn_and_split. Merge existing splitter into insn_and_split. Improve length default. ("doloop_di"): Merge with existing splitter into insn_and_split. ("doloop"): Adapt. ("jump"): Convert to expander. Use s390_emit_jump. ("*jump_64", "*jump_31"): New insns. Improve length default. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83574 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 17 Jun, 2004 1 commit
-
-
uweigand authored
* config/s390/s390.c (s390_match_ccmode_set): Support CCL3mode. (s390_alc_comparison, s390_slb_comparison): Likewise. (s390_branch_condition_mask): Likewise. * config/s390/s390.md ("*subdi3_cc2", "*subdi3_cconly2"): New. ("*subsi3_cc2", "*subsi3_cconly2"): New. * config/s390/s390.h (PREDICATE_CODE): Accept SIGN_EXTEND and ZERO_EXTEND for s390_alc_comparison and s390_slb_comparison. * config/s390/s390.c (s390_alc_comparison, s390_slb_comparison): Handle SIGN_EXTEND and ZERO_EXTEND. * config/s390/s390-protos.h (s390_expand_addcc): New prototype. * config/s390/s390.c (s390_expand_addcc): New function. * config/s390/s390.md ("adddicc", "addsicc"): New expanders. ("*sconddi", "*scondsi", "*sconddi_neg", "*scondsi_neg"): New insns. ("sltu", "sgtu", "sleu", "sgeu"): New expanders. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83287 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 14 Jun, 2004 1 commit
-
-
uweigand authored
(s390_gimplify_va_arg): New function. (TARGET_GIMPLIFY_VA_ARG_EXPR): Define. (s390_va_arg): Remove. * config/s390/s390-protos.h (s390_va_arg): Remove. * config/s390/s390.h (EXPAND_BUILTIN_VA_ARG): Call abort (). git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83090 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 04 May, 2004 1 commit
-
-
echristo authored
* config/s390/s390.h (CONDITIONAL_REGISTER_USAGE): Move body... * config/s390/s390.c (s390_conditional_register_usage): ...here. * config/s390/s390-protos.h: Prototype. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@81465 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 30 Apr, 2004 1 commit
-
-
uweigand authored
ChangeLog: * config/s390/s390-protos.h (s390_emit_epilogue): Parameter added. (s390_emit_call): New function prototype added. (s390_tls_get_offset): Function removed. * config/s390/s390.c (s390_function_ok_for_sibcall, s390_call_saved_register_used_p): New functions. (TARGET_FUNCTION_OK_FOR_SIBCALL): Definition of target macro added. (s390_tls_get_offset): Function merged into s390_emit_tls_call_insn. (s390_emit_tls_call_insn): New function. (legitimize_tls_address): Call s390_emit_tls_call_insn instead of emit_call_insn. (s390_emit_prologue): Use s390_emit_call instead of emit_call_insn. (s390_emit_epilogue): Like s390_emit_prologue. Parameter for sibcalls added. * config/s390/s390.h (SIBCALL_REGNUM): New macro representing the register number used to hold the target address for sibcalls. * config/s390/s390.md ("sibcall", "sibcall_value", "sibcall_epilogue"): New expanders. ("*sibcall_br", "*sibcall_brc", "*sibcall_brcl", "*sibcall_value_br", "*sibcall_value_brc", "*sibcall_value_brcl"): New insns. ("call_exp", "call_value_exp", "call_value_tls", "call_value_tls_exp"): Expanders removed. ("call", "call_value"): Call s390_emit_call to emit the call patterns. ("*bras", "*brasl", "*bras_r", "*brasl_r", "*bras_tls", "*brasl_tls", "*basr", "*basr_r", "*basr_tls"): Added constraint: !SIBLING_CALL_P. ("epilogue"): Changed the call to s390_emit_epilogue to use the new parameter. testsuite/ChangeLog: * gcc.dg/sibcall-3.c: Delete s390 from expected fail list. * gcc.dg/sibcall-4.c: Likewise. * gcc.dg/sibcall-6.c: Enable s390 as test platform. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@81347 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 13 Feb, 2004 1 commit
-
-
uweigand authored
(s390_output_addr_const_extra): Declare. (s390_output_pool_entry): Remove FILE * argument. * config/s390/s390.c (s390_output_symbolic_const): Remove. (s390_output_addr_const_extra): New function. (print_operand_address): Call output_addr_const instead of s390_output_symbolic_const. (print_operand): Likewise. (s390_output_pool_entry): Use assemble_integer for symbolic constants. Remove FILE * argument. * config/s390/s390.h (OUTPUT_ADDR_CONST_EXTRA): Define. * config/s390/s390.md ("*pool_entry"): Adapt s390_output_pool_entry call. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@77757 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 31 Jan, 2004 1 commit
-
-
kazu authored
cfghooks.h, cfglayout.c, cfgloopmanip.c, debug.c, debug.h, flow.c, genextract.c, ggc-common.c, ggc-page.c, ggc.h, ifcvt.c, jump.c, loop-unswitch.c, timevar.c, timevar.def, tree-optimize.c, vmsdbgout.c, config/fp-bit.c, config/alpha/alpha.c, config/alpha/alpha.h, config/alpha/alpha.md, config/alpha/unicosmk.h, config/alpha/vms.h, config/arm/linux-elf.h, config/avr/avr.c, config/c4x/c4x-protos.h, config/c4x/c4x.md, config/d30v/d30v.h, config/frv/frv.md, config/frv/frvbegin.c, config/frv/frvend.c, config/i386/cygming.h, config/i386/djgpp.h, config/i386/emmintrin.h, config/i386/gthr-win32.c, config/i386/i386-interix.h, config/i386/i386-protos.h, config/i386/openbsd.h, config/i386/winnt.c, config/i386/xm-mingw32.h, config/i386/xmmintrin.h, config/ia64/ia64.md, config/iq2000/iq2000.md, config/m32r/m32r.md, config/m68k/m68k.md, config/mcore/mcore-elf.h, config/mcore/mcore.md, config/mips/elf.h, config/mips/elf64.h, config/mips/iris5gas.h, config/mips/iris6.h, config/mips/iris6gas.h, config/mips/linux.h, config/mips/mips.md, config/mips/netbsd.h, config/mips/openbsd.h, config/mips/windiss.h, config/pa/fptr.c, config/rs6000/aix.h, config/rs6000/altivec.h, config/rs6000/darwin.h, config/rs6000/xcoff.h, config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h, config/s390/s390.md, config/sh/netbsd-elf.h, config/sh/sh.h, config/sh/vxworks.h, config/sparc/sol2.h: Update copyright. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@77018 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 22 Jan, 2004 1 commit
-
-
uweigand authored
for TARGET_64BIT. (s390_arg_frame_offset): Change return type to HOST_WIDE_INT. * config/s390/s390-protos.h (s390_arg_frame_offset): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@76360 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 30 Nov, 2003 1 commit
-
-
uweigand authored
* config/s390/s390.md ("tmdi_reg", "tmsi_reg", "*movdi_64", "*movdi_31", "iordi3"): Insns now use multiple letter constraints. ("*movdi_lhi", "*movdi_lli", "*movdi_lay"): Insns deleted. They are now covered by "*movdi_64". ("*movsi_lhi", "*movsi_lli", "*movsi_lay"): Insns deleted. They are now covered by "*movsi_zarch" and "*movsi_esa". ("*movsi_zarch", "*movsi_!zarch"): New insns. ("*llgt_sisi_split", "*llgt_didi_split"): Insns deleted. Now covered by "*andsi3_zarch" and "anddi3". ("*anddi3_ni"): Insn merged with "anddi3". ("*andsi3_ni"): Insn merged with "*andsi3_zarch". ("*andsi3_zarch", "*andsi3_esa"): New insns. ("*iordi3_oi"): Insn merged with "iordi3". ("*iorsi3_oi"): Insn merged with "*iorsi3_zarch". ("*iorsi3_zarch", "*iorsi3_esa"): New insns. * config/s390/s390.c (s390_single_qi, s390_single_hi): Functions merged to s390_single_part. (s390_single_part): New function. NOTE: Semantics have changed a bit. Now the value of the part must be different from the others to get a non-negative return value. (s390_extract_qi, s390_extract_hi): Functions merged to s390_extract_part. (s390_extract_part, s390_extra_constraint_str, s390_const_ok_for_constraint_p): New functions. The L constraint got a new meaning and the N constraint was added as a multiple letter constraint. (s390_extra_constraint): Function deleted. (print_operand): New output modifier 'i' and 'j' added. All uses of CONST_OK_FOR_LETTER_P were replaced by CONST_OK_FOR_CONSTRAINT_P. * config/s390/s390-protos.h: Function prototypes adapted. * doc/md.texi: Documentation for new constraint letters added. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@74061 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 06 Nov, 2003 1 commit
-
-
uweigand authored
* config/s390/s390.c (TARGET_RETURN_IN_MEMORY): Define. (s390_return_in_memory): New function. (s390_function_value): New function. (s390_function_arg_float): Return false for all arguments larger than 8 bytes. (s390_function_arg_pass_by_reference): Likewise. Return true for all vector arguments. (s390_function_arg_integer): New function. (s390_function_arg_advance): Call it. Add sanity checks. (s390_function_arg): Likewise. * config/s390/s390.h (FUNCTION_VALUE): Call s390_function_value. (LIBCALL_VALUE): Likewise. (RET_REG): Remove. (RETURN_IN_MEMORY): Remove. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@73314 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 30 Oct, 2003 1 commit
-
-
rth authored
* expr.h (std_build_builtin_va_list): Declare. * defaults.h (BUILD_VA_LIST_TYPE): New. * system.h (BUILD_VA_LIST_TYPE): Poison. * target-def.h (TARGET_BUILD_BUILTIN_VA_LIST): New. * target.h (struct gcc_target): Add build_builtin_va_list. * tree.c (build_common_tree_nodes_2): Use it. * config/alpha/alpha-protos.h, config/alpha/alpha.c, config/alpha/alpha.h, config/alpha/unicosmk.h, config/d30v/d30v-protos.h, config/d30v/d30v.c, config/d30v/d30v.h, config/i386/i386-protos.h, config/i386/i386.c, config/i386/i386.h, config/i860/i860-protos.h, config/i860/i860.c, config/i860/i860.h, config/i960/i960-protos.h, config/i960/i960.c, config/i960/i960.h, config/mips/iris6.h, config/mips/mips-protos.h, config/mips/mips.c, config/mips/mips.h, config/rs6000/rs6000-protos.h, config/rs6000/rs6000.c, config/rs6000/rs6000.h, config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h, config/sh/sh-protos.h, config/sh/sh.c, config/sh/sh.h, config/xtensa/xtensa-protos.h, config/xtensa/xtensa.c, config/xtensa/xtensa.h: Rename foo_build_va_list to foo_build_builtin_va_list; make it static. Define TARGET_BUILD_BUILTIN_VA_LIST. Remove BUILD_VA_LIST_TYPE. Update protos. * config/i386/i386.c (ix86_expand_carry_flag_compare): Make static. * config/iq2000/iq2000.h (BUILD_VA_LIST_TYPE): Remove. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@73076 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 18 Oct, 2003 1 commit
-
-
uweigand authored
* config/s390/s390.c (shift_count_operand): New function. (s390_extra_constraint): Use it to implement 'Y' constraint. (print_shift_count_operand): New function. (print_operand): Use it to implement '%Y'. * config/s390/s390.h (EXTRA_ADDRESS_CONSTRAINT): Add 'Y' constraint. (PREDICATE_CODES): Add shift_count_operand. * config/s390/s390.md ("rotldi3"): Merge alternatives, using "shift_count_operand" predicate and "Y" constraint, and "%Y" to output the combined shift count. ("rotlsi3"): Likewise. ("ashldi3", "*ashldi3_31", "*ashldi3_64"): Likewise. ("ashrdi3", "*ashrdi3_31", "*ashrdi3_64", "*ashrdi3_cc_31", "*ashrdi3_cc_64", "*ashrdi3_cconly_31", "*ashrdi3_cconly_64"): Likewise. ("ashlsi3", "ashrsi3", "*ashrsi3_cc", "*ashrsi3_cconly"): Likewise. ("lshrdi3", "*lshrdi3_31", "*lshrdi3_64"): Likewise. ("lshrsi3"): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@72661 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 14 Oct, 2003 1 commit
-
-
uweigand authored
(s390_slb_comparison): Likewise. * config/s390/s390.c (s390_alc_comparison, s390_slb_comparison): New functions. * config/s390/s390.h (PREDICATE_CODES): Add s390_alc_comparison and s390_slb_comparison. * config/s390/s390.md ("*adddi3_31", "*subdi3_31"): Do not use on zSeries machines. ("*adddi3_31z", "*subdi3_31z"): New insns. ("*adddi3_alc_cc", "*adddi3_alc", "*subdi3_slb_cc", "*subdi3_slb", "*addsi3_alc_cc", "*addsi3_alc", "*subsi3_slb_cc", "*subsi3_slb"): New insns. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@72505 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 23 Aug, 2003 1 commit
-
-
uweigand authored
* config/s390/s390.c (gen_consttable): Remove. (s390_dump_pool): Use UNSPECV_POOL_ENTRY for pool entry insns. (s390_output_pool_entry): New function. * config/s390/s390.md (UNSPECV_POOL_QI, UNSPECV_POOL_HI, UNSPECV_POOL_SI, UNSPECV_POOL_DI, UNSPECV_POOL_TI, UNSPECV_POOL_SF, UNSPECV_POOL_DF): Remove, replace by ... (UNSPECV_POOL_ENTRY): ... this new constant. ("consttable_qi", "consttable_hi", "consttable_si", "consttable_di", "consttable_ti", "consttable_sf", "consttable_df"): Remove ... ("*pool_entry"): ... and replace by this new insn. ("literal_pool_31"): Do not emit anchor label if pool empty. * config/s390/s390.c (struct machine_function): Add save_return_addr_p. (s390_optimize_prolog): Save RETURN_REGNUM if save_return_addr_p. (s390_fixup_clobbered_return_reg): Remove. (s390_reorg): Don't call s390_fixup_clobbered_return_reg. (s390_return_addr_rtx): Always retrieve return address from save area slot. Use save_return_ad...
-
- 17 Aug, 2003 1 commit
-
-
aj authored
* config/i386/cygwin.h: Convert K&R prototypes to ISO C90. * config/i386/i386-interix.h: Likewise. * config/i386/winnt.c: Likewise. * config/i386/cygming.h: Likewise. * config/i386/cygwin2.c: Likewise. * config/darwin.c: Likewise. * config/darwin-c.c: Likewise. * config/darwin-protos.h: Likewise. * config/darwin.h: Likewise. * config/s390/s390-protos.h: Likewise. * config/s390/s390.c: Likewise. * config/ia64/ia64.c: Likewse * config/ia64/ia64-protos.h: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@70515 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 19 Jul, 2003 1 commit
-
-
uweigand authored
relative to the GOT instead of relative to the literal pool base. (s390_output_symbolic_const): Handle new GOT-relative accesses. * config/s390/s390.md ("call"): Access local functions and PLT stubs relative to the GOT instead of relative to the literal pool base. ("call_value"): Likewise. ("call_value_tls"): Likewise. * config/s390/s390.c (s390_chunkify_start): Remove pool anchor reloading. Support LTREL_BASE / LTREL_OFFSET construct. (s390_chunkify_finish): Likewise. (s390_chunkify_cancel): Likewise. (s390_reorg): Adapt caller. (find_base_register_in_addr, find_base_register_ref, replace_base_register_ref): Delete. (find_ltrel_base, replace_ltrel_base): New functions. (find_constant_pool_ref): Handle LTREL_BASE unspecs. (s390_decompose_address): Handle LTREL_BASE unspecs. Optimize base vs. index register usage. (struct constant_pool): Remove 'anchor'. (s390_add_anchor): Delete. (s390_dump_pool): Remove anchor handling. * config/s390/s390.md ("reload_anchor"): Remove. * config/s390/s390.c (s390_split_branches): Use LTREL_BASE/OFFSET. (s390_load_got): New function. Use LTREL_BASE/OFFSET. (s390_emit_prologue): Use it. * config/s390/s390.md ("builtin_longjmp", "builtin_setjmp_setup", "builtin_setjmp_receiver"): Cleanup. Use s390_load_got. Do not hard-code register 14. * config/s390/s390-protos.h (s390_load_got): Declare. * config/s390/s390.c (NR_C_MODES, constant_modes, gen_consttable): Support TImode constants. * config/s390/s390.md ("consttable_ti"): New. ("consttable_si", "consttable_di"): Handle TLS symbols correctly. * config/s390/s390.md (UNSPEC_LTREL_OFFSET, UNSPEC_LTREL_BASE, UNSPEC_GOTENT, UNSPEC_GOT, UNSPEC_GOTOFF, UNSPEC_PLT, UNSPEC_PLTOFF, UNSPEC_RELOAD_BASE, UNSPECV_POOL, UNSPECV_POOL_START, UNSPECV_POOL_END, UNSPECV_POOL_QI, UNSPECV_POOL_HI, UNSPECV_POOL_SI, UNSPECV_POOL_DI, UNSPECV_POOL_TI, UNSPECV_POOL_SF, UNSPECV_POOL_DF, UNSPECV_MAIN_POOL): New symbolic constants. ("consttable_qi", "consttable_hi", "consttable_si", "consttable_di", "consttable_sf", "consttable_df", "pool_start_31", "pool_end_31", "pool_start_64", "pool_end_64", "reload_base_31", "reload_base_64", "pool", "literal_pool_31", "literal_pool_64"): Cleanup. Use symbolic UNSPEC values. * config/s390/s390.c (larl_operand, s390_short_displacement, bras_sym_operand, s390_cannot_force_const_mem, s390_delegitimize_address, s390_decompose_address, legitimize_pic_address, s390_output_symbolic_const, s390_function_profiler): Use symbolic UNSPEC values. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@69592 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 11 Jul, 2003 1 commit
-
-
jakub authored
then fall back to cmpstrM. * builtins.c (expand_builtin_memcmp): Likewise. * config/s390/s390-protos.h (s390_expand_cmpstr): Rename to... (s390_expand_cmpmem): ... this. * config/s390/s390.md (cmpmemdi, cmpmemsi, cmpmem_short_64, cmpmem_short_31, cmpmem_long_64, cmpmem_long_31): Renamed from cmpstr* patterns. Rename call to s390_expand_cmpstr to s390_expand_cmpmem. * config/s390/s390.c (s390_expand_cmpstr): Rename to... (s390_expand_cmpstr): ... this. Rename cmpstr* instructions to cmpmem*. * config/i370/i370.md (cmpmemsi, cmpmemsi_1): Renamed from cmpstr* patterns. * doc/md.texi (cmpstrM): Describe as String compare insn, not Block compare insn. (cmpmemM): Add. * gcc.dg/20030711-1.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@69243 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 04 Jul, 2003 1 commit
-
-
uweigand authored
* config/s390/2084.md: Likewise. * config/s390/fixdfdi.h: Likewise. * config/s390/linux.h: Likewise. * config/s390/s390-modes.def: Likewise. * config/s390/s390-protos.h: Likewise. * config/s390/s390.c: Likewise. * config/s390/s390.h: Likewise. * config/s390/s390.md: Likewise. * config/s390/s390x.h: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@68941 138bc75d-0d04-0410-961f-82ee72b054a4
-