summaryrefslogtreecommitdiff
path: root/gcc/config
Commit message (Collapse)AuthorAgeFilesLines
* 2004-07-19 Paolo Bonzini <bonzini@gnu.org>bonzini2004-07-2018-46/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * genattr.c (struct range, struct function_unit, write_units, extend_range, init_range): Remove them. (main): Remove code dealing with DEFINE_FUNCTION_UNIT. Output "#define INSN_SCHEDULING" here. * genattrtab.c (struct range, struct function_unit_op, struct function_unit, struct dimension, enum operator, operate_exp, expand_units, simplify_knowing, encode_units_mask, simplify_by_exploding, find_and_mark_used_attributes, unmark_used_attributes, add_values_to_cover, increment_current_value, test_for_current_value, simplify_with_current_value, simplify_with_current_value_aux, gen_unit, write_unit_name, write_function_unit_info, write_complex_function, write_toplevel_expr, find_single_value, extend_range): Remove. (write_attr_get): Do not handle common_av->value being an FFS. (struct attr_desc): Remove func_units_p and blockage_p. (write_attr_valueq): Do not handle them. (find_attr): Do not clear them. (make_internal_attr): Do not initialize them. (main): Remove code dealing with DEFINE_FUNCTION_UNIT. * sched-vis.c (init_target_units, insn_print_units, init_block_visualization, print_block_visualization, visualize_scheduled_insns, visualize_no_unit, visualize_stall_cycles, visualize_alloc, visualize_free, target_units, get_visual_tbl_length, MAX_VISUAL_LINES, INSN_LEN, n_visual_lines, visual_tbl_line_length, visual_tbl, n_vis_no_unit, MAX_VISUAL_NO_UNIT, vis_no_unit): Remove. * haifa-sched.c (blockage_range, clear_units, schedule_unit, actual_hazard, potential_hazard, insn_unit, unit_last_insn, unit_tick, actual_hazard_this_instance, potential_hazard, schedule_unit, max_insn_queue_index_value): Remove. (MAX_INSN_QUEUE_INDEX): Removed, renamed throughout to max_insn_queue_index. * rtl.def (DEFINE_FUNCTION_UNIT): Remove. * doc/md.texi (Processor pipeline description): Remove references to old pipeline descriptions. (Automaton pipeline description): Merge with the above. (Old pipeline description, Comparison of the two descriptions): Remove. * bt-load.c (migrate_btr_def): Remove references to use_pipeline_interface. * haifa-sched.c (insn_cost, schedule_insn, schedule_block, advance_one_cycle, sched_init, queue_to_ready, sched_finish): Likewise. * modulo-sched.c (sms_schedule, advance_one_cycle, ps_has_conflicts): Likewise. * sched-rgn.c (init_ready): Likewise. (debug_dependencies): Likewise, and remove an "if (1)". * target.h (use_dfa_pipeline_interface): Remove. * config/alpha/alpha.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. * config/arc/arc.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. * config/arm/arm.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. * config/c4x/c4x.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. * config/frv/frv.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. * config/i386/i386.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. * config/ia64/ia64.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. * config/iq2000/iq2000.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. * config/m32r/m32r.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. * config/mcore/mcore.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. * config/mips/mips.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. * config/pa/pa.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. * config/rs6000/rs6000.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. * config/s390/s390.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. * config/sh/sh.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. * config/sparc/sparc.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. * config/v850/v850.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. * config/xtensa/xtensa.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. * doc/tm.texi (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84944 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/mips/mips.md (mulsidi3_32bit_r4000): Fix the clobber list.rsandifo2004-07-191-4/+2
| | | | | | | (umulsidi3_32bit_r4000): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84925 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/drow2004-07-195-0/+88
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Makefile.in (c-format.o): Depend on c-format.h. * c-format.h: New file. (struct format_char_info): Add CHAIN member. * c-format.c: Move some types and constants to c-format.h. (format_type_error): Set to -1. (struct function_format_info): Use an int for format_type. (decode_format_type): Return an int. Return format_type_error on error. (print_char_table, asm_fprintf_char_table, gcc_diag_char_table) (gcc_diag_char_table, gcc_cdiag_char_table, gcc_cxxdiag_char_table) (scan_char_table, time_char_table, monetary_char_table): Initialize CHAIN to NULL. (n_format_types): New variable. (check_format_info_main): Handle CHAIN in format_char_info. (handle_format_attribute): Handle TARGET_FORMAT_TYPES and TARGET_N_FORMAT_TYPES. * config.gcc (i[34567]86-*-solaris2*, sparc64-*-solaris2*) (sparc-*-solaris2*): Include config/t-sol2 and config/sol2-c.c. * config/sol2-c.c: New file. * config/t-sol2: New file. * config/sol2.h (TARGET_N_FORMAT_TYPES, TARGET_FORMAT_TYPES): Define. * config/sparc/elf.h, config/sparc/sp64-elf.h: Undefine TARGET_N_FORMAT_TYPES and TARGET_FORMAT_TYPES. * doc/extend.texi (Target Format Checks): New section. (Function Attributes): Mention it. * doc/invoke.texi: Mention target format checks. * doc/sourcebuild.texi: Mention target format checks. * dc/tm.texi (Misc): Document TARGET_N_FORMAT_TYPES and TARGET_FORMAT_TYPES. testsuite/ * gcc.dg/format/cmn-err-1.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84920 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-07-19 Andreas Krebbel <krebbel1@de.ibm.com>uweigand2004-07-194-47/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* 2004-07-19 Paolo Bonzini <bonzini@gnu.org>bonzini2004-07-195-590/+661
| | | | | | | | | | | | | | | * config/sh/sh.c (sh_use_dfa_interface): Remove. (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Set to hook_int_void_1. * config/sh/sh.md: Extract pipeline descriptions into separate files. * config/sh/sh1.md: New file, extracted from sh.md. * config/sh/sh4.md: New file, extracted from sh.md. * config/sh/shmedia.md: New file, extracted from sh.md and rewritten using new-style pipeline description. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84910 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/pa/pa.md: Delete the two remaining define_peepholezack2004-07-191-76/+0
| | | | | | | patterns. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84908 138bc75d-0d04-0410-961f-82ee72b054a4
* * libgcc2.c (__enable_execute_stack): New symbol.ebotcazou2004-07-1712-19/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * libgcc-std.ver (GCC_3.4.2): New version. Inherit from GCC_3.4 and declare __enable_execute_stack. * mklibgcc.in (lib2funcs): Add _enable_execute_stack. * config/netbsd.h (NETBSD_ENABLE_EXECUTE_STACK): ANSIfy. * config/sol2.h (TRANSFER_FROM_TRAMPOLINE): Rename into ENABLE_EXECUTE_STACK. * config/alpha/alpha.c (alpha_initialize_trampoline): Conditionalize on ENABLE_EXECUTE_STACK instead of TRANSFER_FROM_TRAMPOLINE. * config/alpha/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Rename into ENABLE_EXECUTE_STACK. * config/alpha/osf.h (TRANSFER_FROM_TRAMPOLINE): Likewise. * config/i386/i386.c (x86_initialize_trampoline): Conditionalize on ENABLE_EXECUTE_STACK instead of TRANSFER_FROM_TRAMPOLINE. * config/i386/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Rename into ENABLE_EXECUTE_STACK. * config/i386/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Likewise. * config/i386/netbsd64.h (TRANSFER_FROM_TRAMPOLINE): Likewise. * config/sparc/freebsd.h (TRANSFER_FROM_TRAMPOLINE): Likewise. * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Likewise. * config/sparc/sparc.c (sparc_initialize_trampoline): Conditionalize on ENABLE_EXECUTE_STACK instead of TRANSFER_FROM_TRAMPOLINE. (sparc64_initialize_trampoline): Likewise. * doc/tm.texi (trampolines): Add ENABLE_EXECUTE_STACK macro. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84880 138bc75d-0d04-0410-961f-82ee72b054a4
* * langhooks.h (builtin_function): New langhook.jsm282004-07-1711-72/+90
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * langhooks-def.h (LANG_HOOKS_BUILTIN_FUNCTION): New. (LANG_HOOKS_INITIALIZER): Update. * tree.h (builtin_function): Remove. * doc/tm.texi: Update. * c-tree.h (builtin_function): Declare. * c-common.c, config/alpha/alpha.c, config/arm/arm.c, config/c4x/c4x.c, config/frv/frv.c, config/i386/i386.c, config/ia64/ia64.c, config/iq2000/iq2000.c, config/rs6000/rs6000.c, config/s390/s390.c, config/sh/sh.c, config/stormy16/stormy16.c: All callers of builtin_function changed. ada: * gigi.h (builtin_function): Declare. cp: * cp-tree.h (builtin_function): Declare. fortran: * trans.h (builtin_function): Declare. java: * java-tree.h (builtin_function): Declare. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84878 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-07-17 Andrew Pinski <pinskia@physics.uc.edu>pinskia2004-07-171-1/+1
| | | | | | | | | PR target/16556 * config/i386/darwin.h (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Remove white space after the backslash. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84877 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-07-17 Paolo Bonzini <bonzini@gnu.org>bonzini2004-07-171-1/+1
| | | | | | | * config/i386/i386.md (movv16qi_internal): Fix typo. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84867 138bc75d-0d04-0410-961f-82ee72b054a4
* * builtins.c (std_expand_builtin_va_arg): Remove.rth2004-07-167-20/+0
| | | | | | | | | | | | | | | | | | | | | | (expand_builtin_va_arg): Remove. * expr.h: Don't declare them. * gimplify.c (mark_decls_volatile_r): Remove. (copy_if_shared_r): Don't call it. * target-def.h: Don't test EXPAND_BUILTIN_VA_ARG. * expr.c (expand_expr_real_1): Don't handle VA_ARG_EXPR. * gimple-low.c (lower_stmt): Likewise. * tree-cfg.c (cfg_remove_useless_stmts_bb): Likewise. * tree-gimple.c (is_gimple_tmp_rhs, is_gimple_stmt): Likewise. * tree-ssa-operands.c (get_expr_operands): Likewise. * doc/tm.texi (TARGET_GIMPLIFY_VA_ARG_EXPR): Don't mention EXPAND_BUILTIN_VA_ARG. * system.h (EXPAND_BUILTIN_VA_ARG): Poison. * config/alpha/alpha.h, config/alpha/unicosmk.h, config/i386/i386.h, config/ia64/ia64.h, config/rs6000/rs6000.h, config/s390/s390.h, config/sparc/sparc.h (EXPAND_BUILTIN_VA_ARG): Remove. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84842 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/rs6000/eabi.asm (__eabi_convert): Fix typo (cmpi vs. cmpwi).segher2004-07-161-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84819 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-07-16 Andreas Krebbel <krebbel1@de.ibm.com>uweigand2004-07-163-27/+27
| | | | | | | | | | * config/s390/s390.md: Changed every occurence of BASE_REGISTER to BASE_REGNUM. * config/s390/s390.c: Likewise. * config/s390/s390.h: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84817 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/mips/mips.md (addsi3, adddi3): Remove special handlingrsandifo2004-07-161-72/+4
| | | | | | | of $sp adds. Remove REGNO checks from mips16 patterns. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84816 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/mips/mips.md: Delete outdated comment.rsandifo2004-07-161-3/+0
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84814 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/mips/mips.c (get_float_compare_codes): Delete.rsandifo2004-07-161-164/+95
| | | | | | | | | (mips_emit_compare): New function, mostly extracted from get_float_compare_codes and gen_conditional_branch. (gen_conditional_branch, gen_conditional_move): Use it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84813 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/mips/mips.c (mips_zero_if_equal): Only use XORs if the secondrsandifo2004-07-162-3/+7
| | | | | | | | | operand is an uns_arith_operand; use subtraction otherwise. * config/mips/mips.md (cmpsi, cmpdi): Allow any nonmemory_operand, not just arith_operands. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84809 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/mips/mips-protos.h (gen_int_relational): Delete.rsandifo2004-07-164-368/+207
| | | | | | | | | | | | | | | | | | | | | (mips_emit_scc): Declare. * config/mips/mips.c (internal_test): Delete. (sle_operand, sleu_operand): New functions. (map_test_to_internal_test, gen_int_relational): Delete. (mips_emit_binary, mips_relational_operand_ok_p) (mips_emit_int_relational, mips_zero_if_equal) (mips_emit_scc): New functions. (gen_conditional_branch): Rework to use mips_emit_int_relational. * config/mips/mips.h (PREDICATE_CODES): Add sle_operand and sleu_operand. * config/mips/mips.md (seq, sne, sgt, sge, slt, sle, sgtu, sgeu) (sltu, sleu): Use mips_emit_scc. (*sge_[sd]i, *sgeu_[sd]i): New patterns. (*sle_[sd]i, *sle_[sd]i_mips16): Use sle_operand. (*sleu_[sd]i, *sleu_[sd]i_mips16): Use sleu_operand. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84808 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/mips/mips.md (*sgt_di_mips16): Fix destination constraint.rsandifo2004-07-161-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84807 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/mips/mips.md (*seq_[sd]i): Renamed from seq_[sd]i_zero.rsandifo2004-07-161-96/+96
| | | | | | | | | | | | | (*sne_[sd]i): Likewise sne_[sd]i_zero. (*sgt_[sd]i): ...and sgt_[sd]i. (*slt_[sd]i): ...and slt_[sd]i. (*sgtu_[sd]i): ...and sgtu_[sd]i. (*sltu_[sd]i): ...and sltu_[sd]i. (*sleu_[sd]i): ...and sleu_[sd]i_const. Name previously unnamed mips16 patterns. Formatting fixes. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84806 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/mips/mips.c (cmp_operands): Renamed from branch_cmp.rsandifo2004-07-163-77/+57
| | | | | | | | | | | | | | | | | (branch_type): Delete. (gen_conditional_branch, gen_conditional_move) (mips_gen_conditional_trap): Update after name change. Get the comparison mode from cmp_operands[0]. * config/mips/mips.h (cmp_type, branch_type): Delete. (cmp_operands): Renamed from branch_cmp. * config/mips/mips.md (cmpsi, cmpdi, cmpsf, cmpdf): Update after name change. Don't set branch_type. (seq, sne, sgt, sge, slt, sle, sgtu, sgeu, sltu, sleu): Check the mode class of cmp_operands[0] rather than branch_type. Update after name change. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84805 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/mips/mips.c (mips_rtx_costs): In mips16 code, set the costrsandifo2004-07-161-0/+14
| | | | | | | of 0...255 to 0 when inside a SET. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84804 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/mips/mips.md: Remove mips16 define_peepholes.rsandifo2004-07-161-115/+0
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84803 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-07-15 Roman Zippel <zippel@linux-m68k.org>doko2004-07-152-25/+2
| | | | | | | | | * config/m68k/m68k.c (output_move_qimode): Abort on an attempt to generate code which is generated by pushqi1 now * config/m68k/m68k.h (MOVE_BY_PIECES_P): Remove. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84780 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/rs6000/rs6000.md ("bunordered"): Disable for e500.aldyh2004-07-151-2/+2
| | | | | | | ("bordered"): Same. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84778 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/rs6000/rs6000.md ("*cceq_ior_compare"): Allowaldyh2004-07-152-19/+1
| | | | | | | | unconditionally. * config/rs6000/spe.md ("e500_cceq_ior_compare"): Remove. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84775 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/mips/mips.c (mips_adjust_insn_length): Fix handling ofrsandifo2004-07-151-3/+1
| | | | | | | calls in mips16 code. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84772 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/mips/mips.md: In the mips16 li/neg splitter, use SImode forrsandifo2004-07-151-6/+6
| | | | | | | the destination of the li as well as for the neg. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84764 138bc75d-0d04-0410-961f-82ee72b054a4
* * dwarf2out.c (dwarf2out_begin_prologue): Rename IA64_UNWIND_INFOpbrook2004-07-152-2/+4
| | | | | | | | | | | | | | | | | | | | | | to TARGET_UNWIND_INFO. * except.c (output_function_exception_table): Ditto. * except.h: Ditto. * opts.c (decode_options): Ditto. * passes.c (rest_of_handle_final): Ditto. * final.c (final_start_function): Ditto. (final_scan_insn, final_scan_insn): Replace IA64_UNWIND_EMIT with target hook. * targhooks.h (default_unwind_emit): Declare. * targhooks.c (default_unwind_emit): New function. * target-def.h: Define and use TARGET_UNWIND_EMIT. * target.h (struct gcc_target): Add unwind_emit. * config/ia64/ia64.c (TARGET_UNWIND_EMIT): Define. * config/ia64/ia64.h: Rename IA64_UNWIND_INFO to TARGET_UNWIND_INFO. Remove IA64_UNWIND_EMIT. * doc/tm.texi: Document TARGET_UNWIND_EMIT and TARGET_UNWIND_INFO. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84734 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix MIPS SPEC95 FP 146.wave5 -fprofile-generate failure.wilson2004-07-151-2/+14
| | | | | | | | | | PR target/16325 * config/mips/mips.h (STARTING_FRAME_OFFSET): When flag_profile_value and ! TARGET_64BIT, include REG_PARM_STACK_SPACE. * gcc.dg/profile-generate-1.c: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84727 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/ia64/ia64.c (ia64_expand_compare): Allow ORDEREDsje2004-07-141-0/+1
| | | | | | | comparision of TFmode. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84718 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/alpha/alpha.c (alpha_gimplify_va_arg_1): Move indirect ...rth2004-07-148-63/+46
| | | | | | | | | | | | | | (alpha_gimplify_va_arg): ... handling here. Use pass_by_reference. * config/c4x/c4x.c (c4x_gimplify_va_arg_expr): Use pass_by_reference. * config/i386/i386.c (ix86_gimplify_va_arg): Likewise. * config/i860/i860.c (i860_gimplify_va_arg_expr): Likewise. * config/ia64/ia64.c (ia64_gimplify_va_arg): Likewise. * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Likewise. * config/sh/sh.c (sh_gimplify_va_arg_expr): Likewise. * config/xtensa/xtensa.c (xtensa_gimplify_va_arg_expr): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84713 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/darwin.h (WINT_TYPE): Define to be int to matchmrs2004-07-141-0/+2
| | | | | | | system header files. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84711 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/xtensa/xtensa.c (function_arg_advance): Check for argsbwilson2004-07-141-2/+4
| | | | | | | | | that must be passed in the stack. (xtensa_gimplify_va_arg_expr): Skip special-case padding for small arguments if the size is not a constant. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84708 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/arm/arm-protos.h (arm_va_arg): Remove.rth2004-07-143-43/+6
| | | | | | | | | * config/arm/arm.c (arm_va_arg): Remove. (arm_init_expanders): Fix alignment of arg_pointer_rtx. * config/arm/arm.h (EXPAND_BUILTIN_VA_ARG): Remove. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84695 138bc75d-0d04-0410-961f-82ee72b054a4
* * pa.c (fix_range): New function to mark a range(s) of registers asdanglin2004-07-142-16/+102
| | | | | | | | | | | fixed registers. (override_options): Call fix_range if the -mfixed-range option string is not empty. * pa.h (TARGET_OPTIONS): Add -mfixed-range option. * doc/invoke.texi (-mfixed-range): Document new option. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84690 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/rs6000/rs6000.c (function_arg_padding): Do not pad SFmodedje2004-07-141-11/+13
| | | | | | | | for TARGET_64BIT. (rs6000_gimplify_va_arg): Use size_int instead of build_int_2. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84688 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/ChangeLog:uweigand2004-07-141-2/+2
| | | | | | | | | | | | | | | | | | | * config/s390/s390.md ("udivsi3"): Ensure trap is generated for division by zero. ("umodsi3"): Likewise. libjava/ChangeLog: * configure.host (DIVIDESPEC) [s390*-*-*]: Set to -fno-use-divide-subroutine. * include/s390-signal.h: Include <ucontext.h> and <limits.h>. (HANDLE_FPE): Define. (SIGNAL_HANDLER): Change third argument to ucontext_t *. (struct old_s390_kernel_sigaction): Likewise for k_sa_handler. (HANDLE_DIVIDE_OVERFLOW): Define. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84683 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/mips/mips.c (mips_output_move): When generating mips16 code,rsandifo2004-07-142-19/+18
| | | | | | | | | force loads of negative constants to be split. * config/mips/mips.md (*movhi_mips16, *movqi_mips16): Likewise. Generalize SImode li/neg splitter to cope with other modes. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84680 138bc75d-0d04-0410-961f-82ee72b054a4
* Revert:rsandifo2004-07-141-5/+1
| | | | | | | | | 2004-07-13 Richard Henderson <rth@redhat.com> * config/mips/mips.c (mips_pass_by_reference): Handle mode sizes correctly. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84677 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-07-14 Paolo Bonzini <bonzini@gnu.org>bonzini2004-07-143-14/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * expr.c (enqueue_insn, finish_expr_for_function, protect_from_queue, queued_subexp_p, mark_queue, emit_insns_enqueued_after_mark, emit_queue, expand_increment): Remove. (store_constructor): Expand increment as an assignment. (expand_expr_real_1 <case PREINCREMENT_EXPR, case PREDECREMENT_EXPR, case POSTINCREMENT_EXPR, case POSTDECREMENT_EXPR>): Abort. * expr.h (QUEUED_VAR, QUEUED_INSN, QUEUED_COPY, QUEUED_BODY, QUEUED_NEXT, finish_expr_for_function, protect_from_queue, emit_queue, queued_subexp_p): Remove. * function.h (pending_chain, x_pending_chain): Remove. * rtl.def (QUEUED): Remove. * emit-rtl.c (copy_insn_1, copy_most_rtx, set_used_flags, verify_rtx_sharing): Remove references to QUEUED. * genattrtab.c (attr_copy_rtx, clear_struct_flag, encode_units_mask): Likewise. * local-alloc.c (equiv_init_varies_p): Likewise. * rtl.c (copy_rtx): Likewise. * rtlanal.c (rtx_unstable_p, rtx_varies_p): Likewise. * simplify-rtx.c (simplify_gen_subreg): Likewise. * config/mn10300/mn10300.c (legitimate_pic_operand_p): Likewise. * builtins.c (expand_builtin, expand_builtin_apply, expand_builtin_mathfn, expand_builtin_mathfn_2, expand_builtin_mathfn_3, expand_builtin_setjmp_setup): Remove calls to emit_queue and protect_from_queue. * calls.c (expand_call, precompute_arguments, precompute_register_parameters, rtx_for_function_call, store_one_arg): Likewise. * dojump.c (do_compare_and_jump, do_jump): Likewise. * explow.c (memory_address): Likewise. * expmed.c (clear_by_pieces_1, clear_storage, clear_storage_via_libcall, emit_group_load, emit_group_store, emit_store_flag, expand_expr_real_1, store_by_pieces, store_constructor, store_expr, try_casesi, try_tablejump): Likewise. * function.c (expand_pending_sizes): Likewise. * optabs.c (emit_cmp_and_jump_insns, emit_conditional_add, emit_conditional_move, expand_fix, expand_float, prepare_cmp_insn): Likewise. * stmt.c (emit_case_bit_tests, expand_asm_expr, expand_computed_goto, expand_decl_init, expand_end_case_type, expand_end_stmt_expr, expand_expr_stmt_value, expand_return, expand_start_case, optimize_tail_recursion): Likewise. * config/c4x/c4x.c (c4x_expand_builtin): Likewise. * config/s390/s390.c (s390_expand_cmpmem): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84675 138bc75d-0d04-0410-961f-82ee72b054a4
* * target.h (struct gcc_target): Add calls.pass_by_reference.rth2004-07-1457-343/+305
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* * config/mips/mips-protos.h (mips_va_arg): Delete.rsandifo2004-07-143-274/+177
| | | | | | | | | | | | * config/mips/mips.h (EXPAND_BUILTIN_VA_ARG): Delete. * config/mips/mips.c: Include tree-gimple.h. (TARGET_GIMPLIFY_VA_ARG_EXPR): Define. (mips_arg_info): Remove special handling of must_pass_in_stck args. (mips_gimplify_va_arg_expr): Rewritten from mips_va_arg. (function_arg_pass_by_reference): Return true if must_pass_in_stack. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84671 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/xtensa/xtensa.c (xtensa_gimplify_va_arg_expr): Swapbwilson2004-07-131-1/+1
| | | | | | | arguments for COND_EXPR in big-endian adjustment code. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84655 138bc75d-0d04-0410-961f-82ee72b054a4
* * pa-64.h (ARG_POINTER_REGNUM, STATIC_CHAIN_REGNUM): Delete.danglin2004-07-134-25/+17
| | | | | | | | | * pa.h (ARG_POINTER_REGNUM, STATIC_CHAIN_REGNUM): Modify for hppa64. * pa32-regs.h (REG_ALLOC_ORDER): Reorder caller-saved registers. * pa64-regs.h (REG_ALLOC_ORDER): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84649 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/s390/s390.c (s390_gimplify_va_arg): Use size_int insteaduweigand2004-07-131-15/+12
| | | | | | | | of build_int_2. Convert both operands of PLUS_EXPR and MULT_EXPR to the same type. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84632 138bc75d-0d04-0410-961f-82ee72b054a4
* PR target/13926ebotcazou2004-07-133-21/+66
| | | | | | | | | * config/sparc/sparc-protos.h (output_ubranch): New prototype. * config/sparc/sparc.c (output_ubranch): New function. * config/sparc/sparc.md (jump pattern): Use it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84621 138bc75d-0d04-0410-961f-82ee72b054a4
* PR target/16494ebotcazou2004-07-132-4/+7
| | | | | | | | | | * config/sparc/sparc.c (output_cbranch): Properly guard the code handling far branches with TARGET_V9. * config/sparc/sparc.md (length attribute): Document the side-effect of having a length greater or equal to 3. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84618 138bc75d-0d04-0410-961f-82ee72b054a4
* PR target/15186ebotcazou2004-07-131-1/+1
| | | | | | | | * config/sparc/sol2-bi.h (LINK_ARCH64_SPEC_BASE): Pass /usr/ucblib/sparcv9 as -R path when -compat-bsd is specified. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84615 138bc75d-0d04-0410-961f-82ee72b054a4
* * builtins.c (std_gimplify_va_arg_expr): Handle types passedrth2004-07-1310-149/+12
| | | | | | | | | | | | | | | | | | by reference. (ind_gimplify_va_arg_expr): Remove. * tree.h (ind_gimplify_va_arg_expr): Remove. * config/pa/pa.c (hppa_gimplify_va_arg_expr): Don't use it. * config/mmix/mmix.c (mmix_function_arg_pass_by_reference): Allow argsp to be null. * config/arc/arc.c (arc_gimplify_va_arg_expr): Remove. (TARGET_GIMPLIFY_VA_ARG_EXPR): Remove. * config/cris/cris.c, config/fr30/fr30.c, config/frv/frv.c, config/iq2000/iq2000.c, config/m32r/m32r.c, config/mmix/mmix.c, config/mn10300/mn10300.c, config/v850/v850.c: Similarly. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84608 138bc75d-0d04-0410-961f-82ee72b054a4