aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/m68k
AgeCommit message (Collapse)AuthorFilesLines
2008-12-02lb1sf68.asm (PICCALL, PICJUMP): Use GOT instead of PC-relative addressing ↵Nathan Sidwell1-26/+56
when compiling for uclinux PIC. * config/m68k/lb1sf68.asm (PICCALL, PICJUMP): Use GOT instead of PC-relative addressing when compiling for uclinux PIC. (__cmpdf_internal, __cmpsf_internal): Hide. (__cmpdf, __cmpsf): Use PIC call sequence. Co-Authored-By: Maxim Kuvyrkov <maxim@codesourcery.com> From-SVN: r142373
2008-11-25m68k.md (extendsidi2, [...]): Merge, clean up.Maxim Kuvyrkov1-16/+19
* config/m68k/m68k.md (extendsidi2, extendsidi2_mem): Merge, clean up. Disable unsupported alternative for ColdFire, add new alternative that ColdFire can handle. * gcc.c-torture/compile/20080929-1.c: New. From-SVN: r142205
2008-11-24* config/m68k/m68k.md (cmpdi): Use (scratch) instead of pseudo.Maxim Kuvyrkov1-3/+3
From-SVN: r142176
2008-11-24re PR target/35018 ([m68k-elf] Gcc ouputs invalid asm when compiling with ↵Maxim Kuvyrkov1-3/+13
-O2 or higher) PR target/35018 * config/m68k/m68k.md (ok_for_coldfire, enabled): New attributes. (addsi_lshrsi_31): Add ColdFire-friendly alternatives. * gcc.target/m68k/pr35018.c: New. From-SVN: r142161
2008-11-19lb1sf68.asm: Add GNU-stack annotation to avoid executable stack.Maxim Kuvyrkov1-0/+5
* config/m68k/lb1sf68.asm: Add GNU-stack annotation to avoid executable stack. Co-Authored-By: Paul Brook <paul@codesourcery.com> From-SVN: r142007
2008-11-19m68k.c (sched_attr_op_type): Handle all CONSTs.Maxim Kuvyrkov1-1/+2
* config/m68k/m68k.c (sched_attr_op_type): Handle all CONSTs. * gcc.target/m68k/xgot-1.c (dg-options): Add -O2. From-SVN: r142005
2008-11-19re PR target/36133 (GCC creates suboptimal ASM : Code includes unneeded TST ↵Andrew Stubbs3-11/+129
instructions) 2008-11-19 Andrew Stubbs <ams@codesourcery.com> gcc/ PR target/36133 * config/m68k/m68k.h (CC_OVERFLOW_UNUSABLE, CC_NO_CARRY): New defines. * config/m68k/m68k.c (notice_update_cc): Set cc_status properly for shift instructions. * config/m68k/m68k.md: Adjust all conditional branches that use the carry and overflow flags so they understand CC_OVERFLOW_UNUSABLE. gcc/testsuite/ PR target/36133 * gcc.target/m68k/pr36133.c: New test. From-SVN: r141999
2008-11-14re PR target/36134 (GCC creates suboptimal ASM : usage of ADDA.L where LEA ↵Maxim Kuvyrkov1-12/+13
could be used) 2008-11-14 Maxim Kuvyrkov <maxim@codesourcery.com> Andrew Stubbs <ams@codesourcery.com> Gunnar Von Boehn <gunnar@genesi-usa.com> gcc/ PR target/36134 * config/m68k/m68k.md (addsi3_5200): Add a new alternative preferring the shorter LEA insn over ADD.L where possible. gcc/testsuite/ PR target/36134 * gcc.target/m68k/pr36134.c: New test. Co-Authored-By: Andrew Stubbs <ams@codesourcery.com> Co-Authored-By: Gunnar Von Boehn <gunnar@genesi-usa.com> From-SVN: r141853
2008-11-12m68k.c (print_operand): Mask off extra extension bits when writing out the ↵Andreas Schwab1-3/+4
representation of real values. * config/m68k/m68k.c (print_operand): Mask off extra extension bits when writing out the representation of real values. From-SVN: r141787
2008-09-11* config/m68k/m68k.h (IRA_COVER_CLASSES): Define.Andreas Schwab1-0/+5
From-SVN: r140275
2008-08-31fwprop.c (should_replace_address): Add speed attribute.Jan Hubicka1-2/+3
* fwprop.c (should_replace_address): Add speed attribute. (PR_OPTIMIZE_FOR_SPEED): New flag. (propagate_rtx_1): Use it. (propagate_rtx): Set it. (try_fwprop_subst): Update call of rtx_costs. (forward_propagate_and_simplify): LIkewise. * hooks.c (hook_int_rtx_bool_0): New (hook_bool_rtx_int_int_intp_false): Replace by ... (hook_bool_rtx_int_int_intp_bool_false): .. thisone. * hooks.h (hook_int_rtx_bool_0): New (hook_bool_rtx_int_int_intp_false): Replace by ... (hook_bool_rtx_int_int_intp_bool_false): .. thisone. * optabs.c (avoid_expensive_constant): UPdate call of rtx_cost. (prepare_cmp_insn): UPdate call of rtx_cost. * postreload.c (reload_cse_simplify_set): Update call of rtx_cost. (reload_cse_simplify_operands): Update call of rtx_cost. (reload_cse_move2add): call of rtx_cost. * target.h (struct gcc_target): Update rtx_costs and address_costs. * rtlanal.c (rtx_cost): Add speed argument. (address_cost): Add speed argument (default_address_cost): Likewise. (insn_rtx_cost): Likewise. * cfgloopanal.c (seq_cost): Add speed argument. (target_reg_cost, target_spill_cost): Turn to array. (init_set_costs): Update for speed. (estimate_reg_pressure_cost): Add speed argument. * auto-inc-dec.c (attempt_change): Update call of rtx_cost. * dojump.c (prefer_and_bit_test): UPdate call of rtx_cost. * tree-ssa-loop-ivopts.c (struct ivopts_data): New field speed. (seq_cost): Add speed argument. (computation_cost): Add speed arugment. (add_cost, multiply_by_const, get_address_cost): add speed argument. (force_expr_to_var_cost): Update for profile info. (force_var_cost): Likewise. (split_address_cost): Likewise. (ptr_difference_cost): Likewise. (difference_cost): Likewise. (get_computation_cost_at): Likewise. (determine_iv_cost): Likewise. (ivopts_global_cost_for_size): Likewise. (rewrite_use_address): Likewise. (tree_ssa_iv_optimize_loop): Initialize speed field. * cse.c (optimize_this_for_speed_p): New static var. (notreg_cost): Update call of rtx_cost. (cse_extended_basic_block): set optimize_this_for_speed_p. * ifcvt.c (cheap_bb_rtx_cost_p): Update call of rtx_cost. (noce_try_cmove_arith): Likewise. (noce_try_sign_mask): LIkewise. * expr.c (compress_float_constant): Update rtx_cost calls. * tree-ssa-address.c (most_expensive_mult_to_index): Add speed argument. (addr_to_parts): Likewise. (create_mem_ref): Likewise. * dse.c (find_shift_sequence): Add speed argument. (replace_read): Update call. * calls.c (precompute_register_parameters): Update call of rtx_cost. * expmed.c (sdiv_pow2_cheap, smod_pow2_cheap, zero_cost, add_cost, * neg_cost, shift_cost, shiftadd_cost, shiftsub_cost, mul_cost, sdiv_cost, udiv_cost ,mul_widen_cost, mul_highpart_cost): Increase dimension. (init_expmed): Initialize for both size and speed. (expand_shift): Use profile. (synth_mult): Use profile. (choose_mult_variant): Use profile. (expand_mult): Use profile. (expand_mult_highpart_optab): Use profile. (expand_mult_highpart): Use profile. (expand_smod_pow2): Use profile. (expand_divmod): Use profile. * simplify-rtx.c (simplify_binary_operation_1): Update call of rtx_cost. * loop-invariant.c (create_new_invariant): Use profile. (gain_for_invariant): Add speed parameter. (best_gain_for_invariant): Likewise. (find_invariants_to_move): Likewise. (move_single_loop_invariants): Set it. * target-def.h (TARGET_RTX_COSTS): Use hook. * rtl.h (rtx_cost, address_cost, insn_rtx_cost): Update prototpe. (optimize_insn_for_size_p, optimize_insn_for_speed_p): Declare. * output.h (default_address_cost): Update prototype. * combine.c (optimize_this_for_speed_p): New static var. (combine_validate_cost): Update call of rtx_cost. (combine_instructions): Set optimize_this_for_speed_p. (expand_compound_operation): Update call of rtx_cost. (make_extraction):Update call of rtx_cost. (force_to_mode):Update call of rtx_cost. (distribute_and_simplify_rtx):Update call of rtx_cost. * cfgloop.h (target_reg_cost, target_spill_cost): Turn to array. (estimate_reg_pressure_cost): Update prototype. * tree-flow.h (multiply_by_cost, create_mem_ref): Update prototype. * basic-block.h (optimize_insn_for_size_p, optimize_insn_for_speed_p): Remove. * config/alpha/alpha.c (alpha_rtx_costs): Update. (alpha_rtx_costs): Update. * config/frv/frv.c (frv_rtx_costs): Update. * config/s390/s390.c (s390_rtx_costs): Update. * config/m32c/m32c.c (m32c_memory_move_cost): Update. (m32c_rtx_costs): Update. * config/spu/spu.c (TARGET_ADDRESS_COST): Upate. (spu_rtx_costs): Update. * config/sparc/sparc.c (sparc_rtx_costs): Update. * config/m32r/m32r.c (m32r_rtx_costs): Update. * config/i386/i386.c (:ix86_address_cost): Update. (ix86_rtx_costs): Update. * config/sh/sh.c (sh_rtx_costs, sh_address_cost): Update. * config/pdp11/pdp11.c (pdp11_rtx_costs): Update. * config/avr/avr.c (avr_rtx_costs, avr_address_cost): Update. * config/crx/crx.c (crx_address_cost): Update. * config/xtensa/xtensa.c (xtensa_rtx_costs): Update. * config/stormy16/stormy16.c (xstormy16_address_cost, xstormy16_rtx_costs): Update. * config/m68hc11/m68hc11.c (m68hc11_address_cost, m68hc11_rtx_costs): Update. * config/cris/cris.c (cris_rtx_costs, cris_address_cost): Update. * config/iq2000/iq2000.c (iq2000_rtx_costs, iq2000_address_cost): Update. * config/mn10300/mn10300.c (mn10300_address_cost, mn10300_rtx_costs): Update * config/ia64/ia64.c (ia64_rtx_costs): Update. * config/m68k/m68k.c (m68k_rtx_costs): Update. * config/rs6000/rs6000.c (rs6000_rtx_costs): Update. * config/arc/arc.c (arc_rtx_costs, arc_address_cost): Update. * config/mcore/mcore.c (TARGET_ADDRESS_COST): Update. (mcore_rtx_costs): update. * config/score/score3.c (score3_rtx_costs): Update. * config/score/score7.c (score7_rtx_costs): Update. * config/score/score3.h (score3_rtx_costs):Update. * config/score/score7.h (score7_rtx_costs): Update. * config/score/score.c (score_rtx_costs): Update. * config/arm/arm.c (arm_address_cost): Update. (arm_rtx_costs_1): Update. (arm_rtx_costs_1): Update. (arm_size_rtx_costs): Update. (arm_size_rtx_costs): Update. (arm_size_rtx_costs): Update. (arm_xscale_rtx_costs): Update. (arm_thumb_address_cost): Update. * config/pa/pa.c (hppa_address_cost): Update. * config/mips/mips.c (mips_rtx_costs): Update. * config/vax/vax.c (vax_address_cost): Update. * config/h8300/h8300.c (h8300_shift_costs): Update. (h8300_rtx_costs): Update. * config/v850/v850.c (TARGET_ADDRESS_COST): Update. (v850_rtx_costs): Update. * config/mmix/mmix.c (mmix_rtx_costs, mmix_rtx_costs): Update. * config/bfin/bfin.c (bfin_address_cost): Update. (bfin_rtx_costs): Update. * stmt.c (lshift_cheap_p): Update. From-SVN: r139821
2008-07-07* config/m68k/m68k.c (m68k_return_in_memory): Fix arguments types.Maxim Kuvyrkov1-2/+2
From-SVN: r137559
2008-07-07* config/m68k/lb1sf68.asm: Add PIC macros for Linux targets.Mark Shinwell1-5/+31
From-SVN: r137558
2008-07-07config.gcc (m68k-*-linux*): Add with_arch.Nathan Sidwell1-0/+11
* config.gcc (m68k-*-linux*): Add with_arch. Add sysroot-suffix.h to tm_file. Add m68k/t-floatlib, m68k/t-linux & m68k/t-mlibs to tmake_file. * config/m68k/t-linux: New. * doc/install.texi: Document m68k-*-linux is now multilibbed by default. From-SVN: r137557
2008-07-07t-cf (MULTILIB_EXTRA_OPTS): Add no-mac.Nathan Sidwell2-13/+20
* config/m68k/t-cf (MULTILIB_EXTRA_OPTS): Add no-mac. * config/m68k/m68k-devices.def: Remove multilibs that only differ by MAC/EMAC. From-SVN: r137556
2008-07-02vms_tramp.asm, [...]: Remove .file directives.Joseph Myers2-2/+0
* config/alpha/vms_tramp.asm, config/arm/crti.asm, config/arm/crtn.asm, config/bfin/crti.s, config/bfin/crtlibid.s, config/bfin/crtn.s, config/fr30/crti.asm, config/fr30/crtn.asm, config/frv/lib1funcs.asm, config/i386/sol2-c1.asm, config/i386/sol2-ci.asm, config/i386/sol2-cn.asm, config/i386/sol2-gc1.asm, config/ia64/crti.asm, config/ia64/crtn.asm, config/m68hc11/larith.asm, config/m68hc11/m68hc11-crt0.S, config/m68k/crti.s, config/m68k/crtn.s, config/mcore/crti.asm, config/mcore/crtn.asm, config/rs6000/crtresfpr.asm, config/rs6000/crtresgpr.asm, config/rs6000/crtresxfpr.asm, config/rs6000/crtresxgpr.asm, config/rs6000/crtsavfpr.asm, config/rs6000/crtsavgpr.asm, config/rs6000/crtsavres.asm, config/rs6000/e500crtres32gpr.asm, config/rs6000/e500crtres64gpr.asm, config/rs6000/e500crtres64gprctr.asm, config/rs6000/e500crtrest32gpr.asm, config/rs6000/e500crtrest64gpr.asm, config/rs6000/e500crtresx32gpr.asm, config/rs6000/e500crtresx64gpr.asm, config/rs6000/e500crtsav32gpr.asm, config/rs6000/e500crtsav64gpr.asm, config/rs6000/e500crtsav64gprctr.asm, config/rs6000/e500crtsavg32gpr.asm, config/rs6000/e500crtsavg64gpr.asm, config/rs6000/e500crtsavg64gprctr.asm, config/rs6000/eabi-ci.asm, config/rs6000/eabi-cn.asm, config/rs6000/eabi.asm, config/rs6000/sol-ci.asm, config/rs6000/sol-cn.asm, config/rs6000/tramp.asm, config/sparc/sol2-ci.asm, config/sparc/sol2-cn.asm: Remove .file directives. From-SVN: r137393
2008-06-29m68k.c (print_operand): Always print a float constant in hex.Andreas Schwab2-39/+11
* config/m68k/m68k.c (print_operand): Always print a float constant in hex. * config/m68k/m68k.h (ASM_OUTPUT_FLOAT_OPERAND) (ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Remove macros. From-SVN: r137259
2008-06-27c-format.c (handle_format_attribute): Fix -Wc++-compat and/or -Wcast-qual ↵Kaveh R. Ghazi1-5/+7
warnings. * c-format.c (handle_format_attribute): Fix -Wc++-compat and/or -Wcast-qual warnings. * c-pragma.c (dpm_eq, handle_pragma_push_macro, handle_pragma_pop_macro): Likewise. * collect2.c (resolve_lib_name): Likewise. * config/arc/arc.c (arc_init): Likewise. * config/arm/arm.c (neon_builtin_compare, locate_neon_builtin_icode): Likewise. * config/arm/pe.c (arm_mark_dllexport, arm_pe_unique_section): Likewise. * config/bfin/bfin.c (bfin_init_machine_status, bfin_optimize_loop): Likewise. * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Likewise. * config/cris/cris.c (cris_init_expanders): Likewise. * config/darwin-c.c (frameworks_in_use, add_framework): Likewise. * config/darwin.c (machopic_indirection_eq, machopic_indirection_name, machopic_output_indirection): Likewise. * config/frv/frv.c (frv_init_machine_status, frv_compare_insns, frv_io_check_address, frv_io_handle_set, frv_io_handle_use_1, frv_optimize_membar): Likewise. * config/i386/cygwin.h (mingw_scan, GCC_DRIVER_HOST_INITIALIZATION): Likewise. * config/i386/cygwin1.c (mingw_scan): Likewise. * config/i386/i386.c (machopic_output_stub): Likewise. * config/i386/winnt.c (gen_stdcall_or_fastcall_suffix, i386_pe_unique_section): Likewise. * config/ia64/ia64.c (ia64_init_machine_status, ia64_h_i_d_extended, get_free_bundle_state, bundling, ia64_reorg): Likewise. * config/iq2000/iq2000.c, iq2000_init_machine_status): Likewise. * config/m68hc11/m68hc11.c (m68hc11_encode_label): Likewise. * config/m68k/m68k.c (m68k_handle_option, m68k_sched_md_init_global): Likewise. * config/mcore/mcore.c (mcore_mark_dllexport, mcore_mark_dllimport, mcore_unique_section): Likewise. * config/mips/mips.c (mips_block_move_straight, mips16_rewrite_pool_refs, mips_sim_wait_regs_2, mips_sim_record_set): Likewise. * config/mmix/mmix.c (mmix_init_machine_status, mmix_encode_section_info): Likewise. * config/pa/pa.c (pa_init_machine_status, hppa_encode_label): Likewise. * config/rs6000/rs6000.c (rs6000_init_machine_status, print_operand_address, output_toc, redefine_groups, rs6000_elf_encode_section_info, machopic_output_stub): Likewise. * config/s390/s390.c (s390_init_machine_status): Likewise. * config/score/score.c (score_block_move_straight, score_block_move_loop_body): Likewise. * config/sparc/sparc.c (sparc_init_machine_status): Likewise. * config/xtensa/xtensa.c (xtensa_init_machine_status): Likewise. * emit-rtl.c (find_auto_inc): Likewise. * gcc.c (translate_options, process_command): Likewise. * reorg.c (dbr_schedule): Likewise. * sdbout.c (sdbout_start_source_file, sdbout_init): Likewise. * xcoffout.c (xcoffout_declare_function): Likewise. From-SVN: r137191
2008-06-12m68k.c (m68k_tune_flags): New.Kazu Hirata2-5/+27
* config/m68k/m68k.c (m68k_tune_flags): New. (override_options): Compute m68k_tune_flags. (MULL_COST, MULW_COST): Update for various variants of CFV2. * config/m68k/m68k.h (TUNE_MAC, TUNE_EMAC): New. From-SVN: r136711
2008-06-04m68k.opt (mxgot): New option.Joseph Myers5-3/+50
2008-06-04 Joseph Myers <joseph@codesourcery.com> Maxim Kuvyrkov <maxim@codesourcery.com> * config/m68k/m68k.opt (mxgot): New option. * config/m68k/m68k.c (legitimize_pic_address): Handle -mxgot. (m68k_output_addr_const_extra): New. * config/m68k/m68k.h (OUTPUT_ADDR_CONST_EXTRA): New. * config/m68k/m68k-protos.h (m68k_output_addr_const_extra): Declare. * config/m68k/m68k.md (UNSPEC_GOTOFF): Define. * doc/invoke.texi (M680x0 Options): Document -mxgot. testsuite: 2008-06-04 Joseph Myers <joseph@codesourcery.com> Maxim Kuvyrkov <maxim@codesourcery.com> * gcc.target/m68k/xgot-1.c: New test. Co-Authored-By: Maxim Kuvyrkov <maxim@codesourcery.com> From-SVN: r136355
2008-05-14rtl.texi: Removed reference to REG_NO_CONFLICT notes.Kenneth Zadeck1-4/+4
2008-05-14 Kenneth Zadeck <zadeck@naturalbridge.com> * doc/rtl.texi: Removed reference to REG_NO_CONFLICT notes. * optabs.c (expand_binop, expand_absneg_bit, expand_unop, expand_copysign_bit, ): Change call to emit_no_conflict_block to emit_insn and remove unneeded code to construct extra args. (emit_no_conflict_block): Removed. * optabls.h: (emit_no_conflict_block): Removed. * cse.c (cse_extended_basic_block): Remove search for REG_NO_CONFLICT note. * global.c: Removed incorrect comment added in revision 117. * expr.c (convert_move): Change call to emit_no_conflict_block to emit_insn. * recog.c: Change comments so that they do not mention REG_NO_CONFLICT. * local_alloc.c (combine_regs): Removed last parameter. (no_conflict_p): Removed. (block_alloc): Removed note, no_conflict_combined_regno and set local vars. Removed all code to process REG_NO_CONFLICT blocks. (combine_regs): Removed already_dead and code to look for REG_NO_CONFLICT notes. * lower_subreg (remove_retval_note): Removed code to look for REG_NO_CONFLICT block. (resolve_reg_notes): Removed REG_NO_CONFLICT case. (resolve_clobber): Remove code to process libcalls that have REG_NO_CONFLICT notes. * loop_invariant.c (find_invariant_insn): Removed REG_NO_CONFLICT case. * combine.c (can_combine_p, distribute_notes): Removed REG_NO_CONFLICT case. * config/cris/cris.md (movdi pattern): Changed emit_no_conflict_block to emit_insns. * config/mn10300/mn10300.md (absdf2, negdf2 patterns): Ditto. * config/m68k/m68k.md (negdf2, negxf2, absdf2, absxf2 patterns): Ditto. * reg-notes.def (NO_CONFLICT): Removed. From-SVN: r135289
2008-05-07Cleanup ColdFire scheduling support and add V4 pipeline model.Maxim Kuvyrkov5-1229/+2058
* config/m68k/m68k.md (UNSPEC_TIE): New constant. (define_attr cpu): Add cfv4 value. (define_attr type, define_attr type1): Merge into a single 'type' attribute. Update all uses. (define_attr opx_type, define_attr opy_type, define_attr opx_access): Rearrange and update. Rename value 'reg' to 'Rn', add value 'FPn'. Update all uses. (define_attr opx_mem, define_attr opy_mem): Remove. (define_attr op_mem): Clean up, update comment. (define_attr size): Use specific values instead of general int. (define_attr guess, define_attr split): Remove. Update all uses. (movdf_internal, tstsi_internal, tsthi_internal, tstqi_internal, tst<mode>_68881, pushexthisi_const, movsi_const0_68000_10, movsi_const0_68040_60, movsi_const0, movsi_cf, movstrictqi_cf, zero_extendhisi2_cf, zero_extendqisi2_cfv4, cfv4_extendhisi2, 68k_extendhisi2, extendqihi2, cfv4_extendqisi2, 68k_extendqisi2, floatsi<mode>2_68881, ftrunc<mode>2_68881, ftrunc<mode>2_cf, fix<mode>qi2_68881, fix<mode>hi2_68881, fix<mode>si2_68881, adddi_dishl32, addsi3_5200, add<mode>3_floatsi_68881, add<mode>3_floathi_68881, add<mode>3_floatqi_68881, add<mode>3_68881, add<mode>3_cf, subdi_dishl32, subsi3, sub<mode>3_floatsi_68881, sub<mode>3_floathi_68881, sub<mode>3_floatqi_68881, sub<mode>3_68881, sub<mode>3_cf, mulhi3, mulhisi3, mulhisisi3_s, mulsi3_68020, mulsi3_cf, umulhisi3, mulhisisi3_z, mul<mode>3_floatsi_68881, mul<mode>3_floathi_68881, mul<mode>3_floatqi_68881, fmul<mode>3_cf, div<mode>3_cf, sqrt<mode>2_cf, abs<mode>2_cf, clzsi2, one_cmplsi2_5200, subreghi1ashrdi_const32, ashrsi3, lshrsi3, bsetmemqi, bsetmemqi_ext, bclrmemqi, bclrmemqi_ext, beq, bne, bgt, blt, bordered, bunordered, buneq, bunge, bungt, bunle, bunlt, bltgt, tablejump_internal, call, non_symbolic_call_value, symbolic_call_value_jsr, symbolic_call_value_bsr, link): Update or set attributes. (stack_tie): New fake instruction. * config/m68k/m68k.h (TUNE_CFV4): New macro. (m68k_sched_attr_size): Update declaration. (m68k_sched_attr_type2): Remove. (m68k_sched_address_bypass_p, m68k_sched_indexed_address_bypass_p): Declare new bypass predicates. * config/m68k/m68k.c (m68k_sched_issue_rate, m68k_sched_first_cycle_multipass_dfa_lookahead): Declare hook implementations. (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Override hooks. (override_options): Handle scheduling for ColdFire V4 core. (m68k_expand_prologue): Emit stack_tie. (enum attr_op_type): Split value 'OP_TYPE_REG' to 'OP_TYPE_RN' and 'OP_TYPE_FPN'. Update all uses. (sched_guess_p): Remove. (sched_address_type): Handle symbolic addresses. (sched_get_operand): New static function. (sched_operand_type): Merge into sched_attr_op_type. (sched_attr_op_type): Handle FP registers, handle quick constants, update. (m68k_sched_attr_opx_type, m68k_sched_attr_opy_type): Update. (m68k_sched_attr_size): Update. Move logic to ... (sched_get_attr_size_int): New static function. (sched_get_opxy_mem_type): New static function. (m68k_sched_attr_op_mem): Update. (m68k_sched_attr_type2): Remove. (sched_cfv4_bypass_data): New static variable. (m68k_sched_adjust_cost): Handle ColdFire V4 bypass. (m68k_sched_issue_rate): Implement scheduler hook. (struct _sched_ib: enabled_p): New field. (m68k_sched_variable_issue): Update. Handle V4. (SCHED_DUMP_TODO, SCHED_DUMP_DONE, SCHED_DUMP_NOTHING, sched_dump_class_func_t, sched_dump_split_class, sched_dump_dfa_guess_unit_code, sched_dump_dfa_state, sched_dump_dfa_class, m68k_sched_dump): Remove. (m68k_sched_first_cycle_multipass_dfa_lookahead): Implement scheduler hook. (m68k_sched_init_global): Remove statisctics dumping, introduce sanity check that all instructions have pipeline reservations. Handle ColdFire V4 core. (m68k_sched_dfa_pre_advance_cycle, m68k_sched_dfa_post_advance_cycle): Handle ColdFire V4 core. (sched_mem_operand_p, sched_get_reg_operand, sched_get_mem_operand): New static functions. (m68k_sched_address_bypass_p): New bypass predicate. (sched_get_indexed_address_scale): New static function. (m68k_sched_indexed_address_bypass_p): New bypass predicate. * cf.md: Update comments. (define_attr type2): Remove. Use 'type' attribute instead. Update all uses. (cf_ib): Rename to cfv123_ib. Update all uses. (cf_oep): Rename to cfv123_oep. Update all uses. (cf_chr): Rename to cfv123_chr. Update all uses. (cf_mem): Rename to cfv123_mem. Update all uses. (cf_mac): Move to more appropriate place. (cfv123_guess): New automaton and cpu_unit. (cfv123_*, cfv12_*, cfv1_*, cfv2_*, cfv3_*): Use type attribute. Update uses of 'size' attribute. Handle before reload scheduling. (cfv123_guess): New dummy reservation for unhandled instructions. (cfv4_*): Pipeline description of ColdFire V4 core. (ignore): New reservation to handle 'ignore' type. From-SVN: r135033
2008-04-25re PR testsuite/35843 (-fdump-rtl-expand does not exist anymore)Jan Hubicka1-11/+11
PR testsuite/35843 * cfgexpand.c (pass_expand): Turn into RTL pass. * passes.c (execute_one_pass): Do pass typechecking after execution. * tree-pass.h (pass_expand): Turn into RTL pass. * function.h (struct rtl_data): Move here fields accesses_prior_frames, calls_eh_return, saves_all_registers, has_nonlocal_goto, has_asm_statement, is_thunk, all_throwers_are_sibcalls, limit_stack, profile, uses_const_pool, uses_pic_offset_table, uses_eh_lsda, tail_call_emit, arg_pointer_save_area_init from struct function; turn into bool. (struct function): Move calls_eh_return, saves_all_registers, has_nonlocal_goto, has_asm_statement, is_thunk, all_throwers_are_sibcalls, limit_stack, profile, uses_const_pool, uses_pic_offset_table, uses_eh_lsda, tail_call_emit, arg_pointer_save_area_init into struct rtl_data. Remove recursive_call_emit and gimplified flags. (current_function_returns_struct, current_function_returns_pcc_struct, current_function_calls_setjmp, current_function_calls_alloca, current_function_accesses_prior_frames, current_function_calls_eh_return, current_function_is_thunk, current_function_stdarg, current_function_profile, current_function_limit_stack, current_function_uses_pic_offset_table, current_function_uses_const_pool, current_function_has_nonlocal_label, current_function_saves_all_registers, current_function_has_nonlocal_goto, current_function_has_asm_statement): Remove accesor macros. * ra-conflict.c (global_conflicts): Update. * tree-tailcall.c (suitable_for_tail_opt_p): Update. (suitable_for_tail_call_opt_p): Update. * builtins.c (expand_builtin_return_addr): Update. (expand_builtin_setjmp_setup): Update. (expand_builtin_nonlocal_goto): Update. * final.c (final_start_function): Update. (profile_function): Update. (leaf_function_p): Update. (only_leaf_regs_used): Update. * df-scan.c (df_get_exit_block_use_set): Update. * dojump.c (clear_pending_stack_adjust): Update. * tree-stdarg.c (gate_optimize_stdarg): Update. * gimple-low.c (lower_function_body): Update. * global.c (compute_regsets): Update. (global_alloc): Update. * dwarf2out.c (dwarf2out_begin_prologue): Update. * expr.c (expand_assignment): Update. * dse.c (dse_step0): Update. (dse_step1): Update. * c-decl.c (store_parm_decls): Update. * local-alloc.c (combine_regs): Update. (find_free_reg): Update. * function.c (assign_parms_augmented_arg_list): Update. (assign_parm_find_data_types): Update. (assign_parms): Update. (allocate_struct_function): Update. (expand_function_start): Update. (expand_function_end): Update. (get_arg_pointer_save_area): Update. (thread_prologue_and_epilogue_insns): Update. (rest_of_match_asm_constraints): Update. * stor-layout.c (variable_size): Update. * gcse.c (gcse_main): Update. (bypass_jumps): Update. * gimplify.c (gimplify_function_tree): Update. * calls.c (emit_call_1): Update. (expand_call): Update. * bt-load.c (compute_defs_uses_and_gen): Update. * except.c (sjlj_assign_call_site_values): Update. (sjlj_emit_function_enter): Update. (can_throw_external): Update. (set_nothrow_function_flags): Update. (expand_builtin_unwind_init): Update. (expand_eh_return): Update. (convert_to_eh_region_ranges): Update. (output_function_exception_table): Update. * emit-rtl.c (gen_tmp_stack_mem): Update. * cfgexpand.c (expand_used_vars): Update. (tree_expand_cfg): Update. * cfgcleanup.c (rest_of_handle_jump): Update. * explow.c (allocate_dynamic_stack_space): Update. * varasm.c (assemble_start_function): Update. (force_const_mem): Update. (mark_constant_pool): Update. * tree-optimize.c (tree_rest_of_compilation): Update. * stack-ptr-mod.c (notice_stack_pointer_modification): Update. * tree-cfg.c (notice_special_calls): Update. (is_ctrl_altering_stmt): Update. (tree_can_make_abnormal_goto): Update. (tree_purge_dead_abnormal_call_edges): Update. * config/alpha/predicates.md: Update. * config/alpha/alpha.c (alpha_sa_mask): Update. (alpha_sa_size): Update. (alpha_does_function_need_gp): Update. (alpha_expand_prologue): Update. (alpha_start_function): Update. (alpha_output_function_end_prologue): Update. (alpha_expand_epilogue): Update. * config/frv/frv.c (frv_stack_info): Update. (frv_expand_epilogue): Update. * config/s390/s390.c (s390_regs_ever_clobbered): Update. (s390_register_info): Update. (s390_frame_info): Update. (s390_init_frame_layout): Update. (s390_can_eliminate): Update. (save_gprs): Update. * config/spu/spu.c (spu_split_immediate): Update. (need_to_save_reg): Update. (spu_expand_prologue): Update. (spu_expand_epilogue): Update. * config/sparc/sparc.md: Update. * config/sparc/sparc.c (eligible_for_return_delay): Update. (sparc_tls_got): Update. (legitimize_pic_address): Update. (sparc_emit_call_insn): Update. (sparc_expand_prologue): Update. (output_return): Update. (print_operand): Update. (sparc_function_ok_for_sibcall): Update. * config/sparc/sparc.h (EXIT_IGNORE_STACK): Update. * config/m32r/m32r.md: Update. * config/m32r/m32r.c (MUST_SAVE_RETURN_ADDR): Update. (m32r_compute_frame_size): Update. (m32r_expand_prologue): Update. (m32r_expand_epilogue): Update. (m32r_legitimize_pic_address): Update. * config/m32r/m32r.h (FRAME_POINTER_REQUIRED): Update. * config/i386/linux.h (SUBTARGET_FRAME_POINTER_REQUIRED): Update. * config/i386/i386.c (ix86_frame_pointer_required): Update. (gen_push): Update. (ix86_save_reg): Update. (ix86_compute_frame_layout): Update. (ix86_expand_prologue): Update. (ix86_expand_epilogue): Update. * config/sh/sh.c (output_stack_adjust): Update. (calc_live_regs): Update. (sh5_schedule_saves): Update. (sh_expand_prologue): Update. (sh_expand_epilogue): Update. (sh_setup_incoming_varargs): Update. (sh_allocate_initial_value): Update. (sh_get_pr_initial_val): Update. * config/sh/sh.h (SHMEDIA_REGS_STACK_ADJUST): Update. * config/sh/sh.md (label:): Update. * config/avr/avr.c (out_movhi_mr_r): Update. * config/crx/crx.h (enum): Update. * config/xtensa/xtensa.h (along): Update. * config/stormy16/stormy16.c Update. (xstormy16_compute_stack_layout): Update. * config/fr30/fr30.c (MUST_SAVE_RETURN_POINTER): Update. (fr30_expand_prologue): Update. * config/cris/cris.c (cris_conditional_register_usage): Update. (cris_reg_saved_in_regsave_area): Update. (cris_initial_frame_pointer_offset): Update. (cris_simple_epilogue): Update. (cris_expand_prologue): Update. (cris_expand_epilogue): Update. (cris_expand_pic_call_address): Update. (cris_asm_output_symbol_ref): Update. (cris_asm_output_label_ref): Update. * config/cris/cris.md Update. * config/iq2000/iq2000.c (compute_frame_size): Update. (iq2000_expand_epilogue): Update. * config/mt/mt.h (save_direction): Update. * config/mn10300/mn10300.c (mn10300_function_value): Update. * config/ia64/ia64.c (ia64_compute_frame_size): Update. (ia64_secondary_reload_class): Update. * config/m68k/m68k.c (m68k_save_reg): Update. (m68k_expand_prologue): Update. (m68k_expand_epilogue): Update. (legitimize_pic_address): Update. * config/rs6000/rs6000.c (rs6000_got_register): Update. (first_reg_to_save): Update. (first_altivec_reg_to_save): Update. (compute_vrsave_mask): Update. (compute_save_world_info): Update. (rs6000_stack_info): Update. (spe_func_has_64bit_regs_p): Update. (rs6000_ra_ever_killed): Update. (rs6000_emit_eh_reg_restore): Update. (rs6000_emit_allocate_stack): Update. (rs6000_emit_prologue): Update. (rs6000_emit_epilogue): Update. (rs6000_output_function_epilogue): Update. (output_profile_hook): Update. (rs6000_elf_declare_function_name): Update. * config/rs6000/rs6000.h (rs6000_args): Update. * config/rs6000/rs6000.md: Update. * config/mcore/mcore.c (mcore_expand_prolog): Update. * config/arc/arc.c (arc_output_function_epilogue): Update. * config/arc/arc.h (FRAME_POINTER_REQUIRED): Update. * config/darwin.c (machopic_function_base_name): Update. * config/score/score3.c (score3_compute_frame_size): Update. (rpush): Update. (rpop): Update. (score3_epilogue): Update. * config/score/score7.c (score7_compute_frame_size): Update. (score7_prologue): Update. (score7_epilogue): Update. * config/score/score.h (FRAME_POINTER_REQUIRED): Update. * config/arm/linux-elf.h (SUBTARGET_FRAME_POINTER_REQUIRED): Update. * config/arm/arm.c (use_return_insn): Update. (require_pic_register): Update. (arm_load_pic_register): Update. (arm_compute_save_reg0_reg12_mask): Update. (arm_compute_save_reg_mask): Update. (thumb1_compute_save_reg_mask): Update. (output_return_instruction): Update. (arm_output_function_prologue): Update. (arm_output_epilogue): Update. (arm_get_frame_offsets): Update. (arm_expand_prologue): Update. (thumb_pushpop): Update. (thumb_exit): Update. (thumb1_expand_prologue): Update. (thumb1_expand_epilogue): Update. (arm_unwind_emit): Update. (arm_output_fn_unwind): Update. * config/arm/arm.h (FRAME_POINTER_REQUIRED): Update. * config/arm/arm.md: Update. * config/pa/pa.md: Update. * config/pa/pa.c (legitimize_pic_address): Update. (compute_frame_size): Update. (hppa_expand_prologue): Update. (hppa_expand_epilogue): Update. (borx_reg_operand): Update. * config/pa/pa.h (FRAME_POINTER_REQUIRED): Update. (HARD_REGNO_RENAME_OK): Update. * config/mips/mips.c (mips_global_pointer): Update. (mips_save_reg_p): Update. (mips_compute_frame_info): Update. (mips_frame_pointer_required): Update. (mips_expand_prologue): Update. (mips_expand_epilogue): Update. (mips_can_use_return_insn): Update. (mips_reorg_process_insns): Update. * config/v850/v850.c (compute_register_save_size): Update. * config/mmix/mmix.h (FRAME_POINTER_REQUIRED): Update. * config/mmix/mmix.c (along): Update. (mmix_expand_epilogue): Update. * config/bfin/bfin.c (legitimize_pic_address): Update. (must_save_p): Update. (stack_frame_needed_p): Update. (add_to_reg): Update. (bfin_expand_prologue): Update. * stmt.c (expand_asm_operands): Update. * reload1.c (reload): Update. (init_elim_table): Update. From-SVN: r134682
2008-04-22Support scheduling for ColdFire V1 and V3 microarchitecture.Maxim Kuvyrkov5-397/+1383
Improve scheduling of multiplication instructions. * config/m68k/m68k.md (cpu): Add cfv1 and cfv3. Rename cf_v2 to cfv1. (mac): New instruction attribute. * config/m68k/m68k.c (override_options): Handle cfv1, cfv3 and mac. (m68k_sched_mac): New variable. (m68k_sched_attr_type2, m68k_sched_md_init_global): Update. Handle cfv1 and cfv3. (max_insn_size): New static variable. (struct _sched_ib): New type. (sched_ib): New static variable. (sched_ib_size, sched_ib_filled, sched_ib_insn): Convert variables to fields of 'struct _sched_ib sched_ib'. Update all uses. (m68k_sched_variable_issue): Add modeling of cfv3 instruction buffer. Update. (m68k_sched_md_init_global, m68k_sched_md_finish_global, m68k_sched_md_init, m68k_sched_md_finish): Handle cfv1 and cfv3. Init new variables. Update. (m68k_sched_dfa_pre_advance_cycle, m68k_sched_dfa_post_advance_cycle): Add modeling of cfv3 instruction buffer. Update. * config/m68k/m68k-protos.h (m68k_sched_mac): Declare. * config/m68k/m68k.h (TUNE_CFV3): New macro. * config/m68k/cf.md: Change substrings 'cf_v2' to 'cfv12' or 'cfv123'. (cf_* reservations): Rename to cfv12 or cfv123 to indicate cores a particular reservation applies to. (type2): Reorganize attribute values. Rename alu to alu_reg, alu_l to alu, move_l to omove. Join move to alu. Split mul to mul_l and mul_w. (cf_ib_*): Simplify description of instruction buffer. (cf_ib_w0, cf_ib_w4, cf_ib_w5, cf_ib_w6): Remove. (cf_mem): Split into cf_mem1 and cf_mem2. (cf_v2_move_??): Rename to cfv12_alu_??. (cf_v2_move_l_??): Rename to cfv12_omove_??. (cf_v2_mul_??): Remove reservations. (cfv12_mul_l_??, cfv12_mul_w_??, cfv12_mac_w_??, cfv12_mac_l_??, cfv12_emac_??, cfv12_emac_w_i0): New reservations. (cfv12_rts, cfv12_call, cfv12_bcc, cfv12_bra, cfv12_jmp): Move to appropriate place. (cfv3_alu_10, cfv3_omove_10, cfv3_alu_i0, cfv3_omove_i0, cfv3_alu_01, cfv3_alu_0i, cfv3_alu_11, cfv3_omove_11, cfv3_alu_i1, cfv3_omove_i1, cfv3_alu_1i, cfv3_omove_1i, cfv3_pea_11, cfv3_pea_i1, cfv3_mul_w_10, cfv3_mul_l_10, cfv3_mul_w_i0, cfv3_mac_w_10, cfv3_mac_l_10, cfv3_mac_w_i0, cfv3_emac_10, cfv3_emac_w_i0, cfv3_rts, cfv3_call, cfv3_bcc, cfv3_bra, cfv3_jmp): New reservations. (cfv3_*_1, cfv3_*_2, cfv3_*_3): New instruction reservations that are expansions of the above reservations for instructions of sizes 1, 2 and 3 words. From-SVN: r134552
2008-04-08function.h (incomming_args): Break out of struct function.Jan Hubicka1-2/+2
* function.h (incomming_args): Break out of struct function. (function_subsections): Break out of struct function. (rtl_data): Add args, subsections fields. Break out outgoing_args_size, return_rtx and hard_reg_initial_vals from struct function. Kill inl_max_label_num. (current_function_pops_args, current_function_args_info, current_function_args_size, current_function_args_size, current_function_pretend_args_size, current_function_outgoing_args_size, current_function_internal_arg_pointer, current_function_return_rtx): Kill compatibility accestor macros. * builtins.c (expand_builtin_apply_args_1): Update. (expand_builtin_next_arg): Update. * df-scan.c (df_get_call_refs): Update. * dbxout.c (dbxout_function_end): Update. * dwarf2out.c (dwarf2out_switch_text_section): Update. (output_line_info): Update. (secname_for_decl): Update. (dwarf2out_var_location): Update. * function.c (free_after_compilation): Update. (assign_parm_find_stack_rtl): Update. (assign_parms): Update. (expand_dummy_function_end): Update. (expand_function_end): Update. * calls.c (mem_overlaps_already_clobbered_arg_p): Update. (expand_call): Update. (emit_library_call_value_1): Update. (store_one_arg): Update. * varasm.c (initialize_cold_section_name): Update. (unlikely_text_section): Update. (unlikely_text_section_p): Update. (assemble_start_function): Update. (assemble_end_function): Update. (default_section_type_flags): Update. (switch_to_section): Update. * integrate.c (set_decl_abstract_flags): Update. (get_hard_reg_initial_val): Update. (has_hard_reg_initial_val): Update. (allocate_initial_values): Update. * resource.c (init_resource_info): Update. * config/alpha/alpha.c (NUM_ARGS): Update. (direct_return): Update. (alpha_va_start): Update. (alpha_sa_size): Update. (alpha_initial_elimination_offset): Update. (alpha_expand_prologue): Update. (alpha_start_function): Update. (alpha_expand_epilogue): Update. (unicosmk_initial_elimination_offset): * config/alpha/alpha.md (call expander): Update. * config/s390/s390.c (s390_register_info): Update. (s390_register_info): Update. (s390_frame_info): Update. (s390_initial_elimination_offset): Update. (s390_build_builtin_va_list): Update. (s390_va_start): Update. * config/spu/spu.c (direct_return): Update. (spu_expand_prologue): Update. (spu_initial_elimination_offset): Update. (spu_build_builtin_va_list): Update. (spu_va_start): Update. * config/sparc/sparc.c (sparc_init_modes): Update. (sparc_compute_frame_size): Update. (function_value): Update. * config/m32r/m32r.c (m32r_compute_frame_size): Update. * config/i386/i386.md (return expander): Update. * config/i386/i386.c (ix86_va_start): Update. (ix86_can_use_return_insn_p): Update. (ix86_compute_frame_layout): Update. (ix86_expand_epilogue): Update. * config/sh/sh.c (output_stack_adjust): Update. (calc_live_regs): Update. (sh_expand_prologue): Update. (sh_builtin_saveregs): Update. (sh_va_start): Update. (initial_elimination_offset): Update. (sh_allocate_initial_value): Update. (sh_function_ok_for_sibcall): Update. (sh_get_pr_initial_val): Update. * config/sh/sh.md (return expander): Update. * config/avr/avr.c (frame_pointer_required_p): UPdate. * config/crx/crx.c (crx_compute_frame): UPdate. (crx_initial_elimination_offset): UPdate. * config/xtensa/xtensa.c (compute_frame_size): Update (xtensa_builtin_saveregs): Update. (xtensa_va_start): Update. (order_regs_for_local_alloc): Update. * config/stormy16/stormy16.c (xstormy16_compute_stack_layout): Update. (xstormy16_expand_builtin_va_start): Update. * config/fr30/fr30.c (fr30_compute_frame_size): Update. * config/m68hc11/m68hc11.md (return expanders): Update. * config/m68hc11/m68hc11.c (expand_prologue): Update. (expand_epilogue): Update. * config/cris/cris.c (cris_initial_frame_pointer_offset): Update. (cris_simple_epilogue): Update. (cris_expand_prologue): Update. (cris_expand_epilogue): Update. * config/iq2000/iq2000.c (iq2000_va_start): Update. (compute_frame_size): Update. * config/mt/mt.c (mt_compute_frame_size): Update. * config/mn10300/mn10300.c (expand_prologue): Update. (expand_epilogue): Update. (initial_offset): Update. (mn10300_builtin_saveregs): * config/mn10300/mn10300.md (return expander): Update. * config/ia64/ia64.c (ia64_compute_frame_size): Update. (ia64_initial_elimination_offset): Update. (ia64_initial_elimination_offset): Update. (ia64_expand_prologue): Update. * config/m68k/m68k.md (return expander): Update. * config/rs6000/rs6000.c (rs6000_va_start): Update. (rs6000_stack_info): Update. * config/mcore/mcore.c (layout_mcore_frame): Update. (mcore_expand_prolog): Update. * config/arc/arc.c (arc_compute_frame_size): Update. * config/score/score3.c (score3_compute_frame_size): Update. * config/score/score7.c (score7_compute_frame_size): Update. * config/arm/arm.c (use_return_insn): Update. (thumb_find_work_register): Update. (arm_compute_save_reg_mask): Update. (arm_output_function_prologue): Update. (arm_output_epilogue): Update. (arm_size_return_regs): Update. (arm_get_frame_offsets): Update. (arm_expand_prologue): Update. (thumb_exit): Update. (thumb_unexpanded_epilogue): Update. (thumb1_output_function_prologue): Update. * config/pa/pa.md (return expander): Update. * config/pa/pa.c (compute_frame_size): Update. (hppa_builtin_saveregs): Update. * config/mips/mips.c (mips_va_start): Update. (mips16_build_function_stub): Update. (mips_compute_frame_info): Update. (mips_restore_gp): Update. (mips_output_function_prologue): Update. (mips_expand_prologue): Update. * config/v850/v850.c (compute_frame_size): Update. (expand_prologue): * config/mmix/mmix.c (along): update. (mmix_initial_elimination_offset): update. (mmix_reorg): update. (mmix_use_simple_return): update. (mmix_expand_prologue): update. (mmix_expand_epilogue): Update. * config/bfin/bfin.c (bfin_initial_elimination_offset): Update. (emit_link_insn): Update. From-SVN: r134087
2008-04-03re PR target/35795 (Revision 133787 breaks ia64)Jan Hubicka1-0/+1
2008-04-03 Jan Hubicka <jh@suse.cz> PR tree-optimization/35795 * alpha/alpha.c (alpha_output_mi_thunk_osf): Free after compilation. * sparc/sparc.c (sparc_output_mi_thunk): Likewise. * ia64/ia64.c (ia64_output_mi_thunk): Likewise. * m68k/m68k.c (m68k_output_mi_thunk): Likewise. * score/score3.c (score3_output_mi_thunk): Likewise. * score/score7.c (score7_output_mi_thunk): Likewise. * mips/mips.c (mips_output_mi_thunk): Likewise. From-SVN: r133868
2008-04-03t-uclinux (generated_files): Add sysroot-suffix.h.Tom Tromey1-0/+2
gcc/ 2008-04-03 Tom Tromey <tromey@redhat.com> Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * config/m68k/t-uclinux (generated_files): Add sysroot-suffix.h. * config/bfin/t-bfin-linux (generated_files): Add linux-sysroot-suffix.h. * doc/install.texi (Prerequisites): Require make 3.80. * doc/sourcebuild.texi (Front End Directory): Document new variable. * Makefile.in (generated_files): New variable. (ALL_HOST_OBJS): New variable. ($(ALL_HOST_OBJS)): New target. gcc/java/ 2008-04-03 Tom Tromey <tromey@redhat.com> * Make-lang.in (java_OBJS): New variable. gcc/objc/ 2008-04-03 Tom Tromey <tromey@redhat.com> * Make-lang.in (objc_OBJS): New variable. gcc/objcp/ 2008-04-03 Tom Tromey <tromey@redhat.com> * Make-lang.in (obj-c++_OBJS): New variable. gcc/cp/ 2008-04-03 Tom Tromey <tromey@redhat.com> * Make-lang.in (c++_OBJS): New variable. gcc/fortran/ 2008-04-03 Tom Tromey <tromey@redhat.com> * Make-lang.in (fortran_OBJS): New variable. Co-Authored-By: Ralf Wildenhues <Ralf.Wildenhues@gmx.de> From-SVN: r133862
2008-03-27sourcebuild.texi, [...]: Revert automatic dependency patch.Tom Tromey1-2/+0
gcc/ * doc/sourcebuild.texi, doc/install.texi, configure, aclocal.m4, configure.ac, Makefile.in, config/t-darwin, config/m32c/t-m32c, config/spu/t-spu-elf, config/i386/t-interix, config/i386/t-cygming, config/i386/x-i386, config/i386/t-cygwin, config/i386/x-darwin, config/i386/x-mingw32, config/i386/t-netware, config/i386/x-cygwin, config/i386/t-nwld, config/sh/t-sh, config/sh/t-symbian, config/x-linux, config/t-sol2, config/x-hpux, config/x-darwin, config/ia64/t-ia64, config/x-solaris, config/t-vxworks, config/m68k/t-uclinux, config/rs6000/x-rs6000, config/rs6000/x-darwin64, config/rs6000/x-darwin, config/rs6000/t-rs6000, config/score/t-score-elf, config/arm/t-strongarm-pe, config/arm/t-pe, config/arm/t-arm, config/arm/t-wince-pe, config/v850/t-v850, config/v850/t-v850e, config/bfin/t-bfin-linux: Revert automatic dependency patch. gcc/java/ * Make-lang.in: Revert automatic dependency patch. gcc/objc/ * Make-lang.in: Revert automatic dependency patch. gcc/objcp/ * Make-lang.in: Revert automatic dependency patch. gcc/cp/ * Make-lang.in: Revert automatic dependency patch. gcc/fortran/ * Make-lang.in: Revert automatic dependency patch. From-SVN: r133652
2008-03-25x-solaris (host-solaris.o): Update.Tom Tromey1-0/+2
gcc * config/x-solaris (host-solaris.o): Update. * config/x-linux (host-linux.o): Update. * config/x-hpux (host-hpux.o): Update. * config/x-darwin (host-darwin.o): Update. * config/v850/t-v850e (v850-c.o): Update. * config/v850/t-v850 (v850-c.o): Update. * config/t-vxworks (vxworks.o): Update. * config/t-sol2 (sol2-c.o, sol2.o): Update. * config/t-darwin (darwin.o, darwin-c.o, darwin-driver.o): Update. * config/spu/t-spu-elf (spu-c.o): Update. (spu.o): Remove. * config/sh/t-symbian (sh-c.o): Update. (symbian.o): Update. * config/sh/t-sh (sh-c.o): Update. * config/score/t-score-elf (score7.o, score3.o): Update. * config/rs6000/x-rs6000 (driver-rs6000.o): Update. * config/rs6000/x-darwin64 (host-ppc64-darwin.o): Update. * config/rs6000/x-darwin (host-ppc-darwin.o): Update. * config/rs6000/t-rs6000 (rs6000-c.o): Update. (rs6000.o): Remove. * config/m68k/t-uclinux (generated_files): Add sysroot-suffix.h. * config/m32c/t-m32c (m32c-pragma.o): Update. * config/ia64/t-ia64 (ia64-c.o): Update. * config/i386/x-mingw32 (host-mingw32.o): Update. * config/i386/x-i386 (driver-i386.o): Update. * config/i386/x-darwin (host-i386-darwin.o): Update. * config/i386/x-cygwin (host-cygwin.o): Update. * config/i386/t-nwld (nwld.o): Update. * config/i386/t-netware (netware.o): Update. * config/i386/t-interix (winnt.o): Update. * config/i386/t-cygwin (cygwin1.o, cygwin2.o): Update. * config/i386/t-cygming (winnt.o, winnt-cxx.o, winnt-stubs.o, msformat-c.o): Update. * config/bfin/t-bfin-linux (generated_files): Add linux-sysroot-suffix.h. * config/arm/t-wince-pe (pe.o): Update. * config/arm/t-strongarm-pe (pe.o): Update. * config/arm/t-pe (pe.o): Update. * config/arm/t-arm (arm-c.o): Update. * doc/install.texi (Prerequisites): Require make 3.80. * Makefile.in: Remove .o targets. (CCDEPMODE, DEPDIR, depcomp, BUILD_DEPMODE): New variables. (OBSTACK_H, FIBHEAP_H, PARTITION_H, MD5_H, BCONFIG_H): Remove. (simple_generated_h, simple_generated_c): Move earlier. (generated_files): New variable. (TARGET_H, MACHMODE_H, HOOKS_H, HOSTHOOKS_DEF_H, LANGHOOKS_DEF_H, TARGET_DEF_H, RTL_BASE_H, RTL_H, PARAMS_H, BUILTINS_DEF, TREE_H, BASIC_BLOCK_H, GCOV_IO_H, COVERAGE_H, DEMANGLE_H, RECOG_H, ALIAS_H, EMIT_RTL_H, FLAGS_H, FUNCTION_H, EXPR_H, OPTABS_H, REGS_H, RA_H, RESOURCE_H, SCHED_INT_H, INTEGRATE_H, CFGLAYOUT_H, CFGLOOP_H, IPA_UTILS_H, IPA_REFERENCE_H, IPA_TYPE_ESCAPE_H, CGRAPH_H, DF_H, RESOURCE_H, DDG_H, GCC_H, GGC_H, TIMEVAR_H, INSN_ATTR_H, C_COMMON_H, C_PRAGMA_H, C_TREE_H, SYSTEM_H, PREDICT_H, DECNUM_H, MKDEPS_H, SYMTAB_H, TREE_DUMP_H, TREE_GIMPLE_H, TREE_FLOW_H, TREE_SSA_LIVE_H, PRETTY_PRINT_H, DIAGNOSTIC_H, C_PRETTY_PRINT_H, SCEV_H, LAMBDA_H, TREE_DATA_REF_H, VARRAY_H, TREE_INLINE_H, REAL_H, DBGCNT_H, EBIMAP_H): Remove. (.c.o): Remove. (COMPILE.base, COMPILE): New variables. (%.o): New pattern rule. (ALL_HOST_OBJS): New variable. (xgcc$(exeext), cpp$(exeext)): Remove extra version.o. (dummy-checksum.o, cc1-checksum.o): Remove. (DRIVER_SHLIB): New variable. (DRIVER_DEFINES): Use it. (gencondmd.c): Move out of build/. (s-conditions): Update. (BUILDCOMPILE.base, BUILDCOMPILE): New variables. (ALL_BUILD_OBJS): Likewise. (build/%.o): Use BUILDCOMPILE. (build/ggc-none.o, build/ggc-none.o, build/min-insn-modes.o, build/print-rtl.o, build/read-rtl.o, build/rtl.o, build/vec.o, build/gencondmd.o, build/genattrtab.o, build/genautomata.o, build/gencheck.o, build/gencodes.o, build/genconditions.o, build/genconfig.o, build/genconstants.o, build/genemit.o, build/genextract.o, build/genflags.o, build/genmddeps.o, build/genopinit.o, build/genoutput.o, build/genpeep.o, build/genpreds.o, build/genrecog.o, build/gcov-iov.o, build/gen-protos.o, build/scan.o, build/fix-header.o, build/scan-decls.o): Simplify. (collect2.o, c-opts.o, gcc.o, gccspec.o, gcc-options.o, cppdefault.o, protoize.o, unprotoize.o, intl.o, version.o, prefix.o, toplev.o): Reduce to variable setting. (libbackend.o): Use COMPILE. Remove most dependencies. Move later. ($(out_object_file), gcc-options.o): New targets. ($(ALL_HOST_OBJS)): New target. Include dependency files. * configure: Rebuilt. * configure.ac: Call ZW_CREATE_DEPDIR, ZW_PROG_COMPILER_DEPENDENCIES. * doc/sourcebuild.texi (Front End Directory): Document new variable. gcc/java * Make-lang.in: Removed most explicit .o targets. (java/jvspec.o): Reduce to variable setting. Moved to java/. ($(GCJ)$(exeext)): Update. (JAVA_OBJS): New variable. (JCFDUMP_OBJS): Reformat. (java_OBJS): New variable. (java/jvspec.o-warn): Update. (java/parse.o-warn): Remove. (JAVA_TREE_H): Remove. (java/jcf-io.o): Reduce to variable setting. (ALL_CPPFLAGS): Likewise. gcc/objc * Make-lang.in (objc_OBJS): New variable. (cc1obj-checksum.o, objc/objc-lang.o, objc/objc-act.o): Remove. gcc/objcp * Make-lang.in (objcp_OBJS): New variable. (cc1objplus-checksum.o, objcp/objcp-lang.o, objcp/objcp-decl.o, objcp/objcp-act.o): Remove. gcc/cp * Make-lang.in: Remove .o targets. (cp/g++spec.o): Moved to cp/. Reduce to variable setting. (GXX_OBJS): Update. (c++_OBJS): New variable. (CXX_TREE_H, CXX_PRETTY_PRINT_H): Remove. gcc/fortran * Make-lang.in: Remove .o targets. (fortran_OBJS): New variable. (fortran/gfortranspec.o): Move to fortran/. Reduce to variable setting. (GFORTRAN_D_OBJS): Update. (GFORTRAN_TRANS_DEPS): Remove. From-SVN: r133523
2008-02-16t-rtems (M68K_MLIB_CPU): Add 5208, 5307, 5407, 5475 multilibs.Ralf Corsepius1-1/+5
2008-02-16 Ralf Corsepius <ralf.corsepius@rtems.org> * config/m68k/t-rtems (M68K_MLIB_CPU): Add 5208, 5307, 5407, 5475 multilibs. From-SVN: r132363
2008-02-15re PR target/35088 (ICE: in def_cfa_1, at dwarf2out.c:804)Joseph Myers1-0/+2
PR target/35088 * config/m68k/m68k.h (DWARF_CIE_DATA_ALIGNMENT): Define. From-SVN: r132341
2007-12-03re PR middle-end/33713 (can't find a register in class 'GENERAL_REGS' while ↵Steven Bosscher1-3/+1
reloading 'asm') PR33713 * doc/invoke.texi: Remove -fforce-addr documentation. * expr.c (emit_move_insn): Remove use of flag_force_addr. (expand_expr_real_1): Same. (do_tablejump): Same. Call memory_address instead of memory_address_noforce. * expr.h (memory_address_noforce): Remove prototype. * explow.c (memory_address): Remove support for flag_force_addr. (validize_mem): Same. (memory_address_noforce): Remove. * common.opt: Add dummy documentation for -fforce-addr. * combine.c (can_combine_p): Remove -fforce-addr comment. * config/cris/cris.h (OPTIMIZATION_OPTIONS): Remove set of flag_force_addr. * config/m68k/m68k.h (PIC_CASE_VECTOR_ADDRESS): Remove comment relating to memory_address_noforce. * testsuite/gcc.c-torture/compile/20050802-1.c: Remove. * testsuite/gcc.c-torture/compile/20011113-1.c: Remove. From-SVN: r130591
2007-11-06m68k.c (sched-int.h, [...]): New includes.Maxim Kuvyrkov5-0/+1163
* config/m68k/m68k.c (sched-int.h, insn-codes.h): New includes. (TARGET_SCHED_ADJUST_COST, TARGET_SCHED_VARIABLE_ISSUE, TARGET_SCHED_INIT_GLOBAL, TARGET_SCHED_FINISH_GLOBAL, TARGET_SCHED_INIT, TARGET_SCHED_DFA_PRE_ADVANCE_CYCLE, TARGET_SCHED_DFA_POST_ADVANCE_CYCLE): Redefine. (m68k_sched_attr_type2): New function. (sched_adjust_cost_state): New static variable. (m68k_sched_adjust_cost): New static function implementing scheduler hook. (sched_ib_size, sched_ib_filled, sched_ib_insn, sched_mem_unit_code): New static variables. (m68k_sched_variable_issue): New static function implementing scheduler hook. (sched_dump_class_def, sched_dump_class_func_t): New typedefs. (sched_dump_split_class): New static function. (sched_dump_dfa_guess_unit_code, sched_dump_dfa_state): New static variables. (sched_dump_dfa_class, m68k_sched_dump): New static function. (m68k_sched_md_init_global, m68k_sched_md_finish_global, m68k_sched_md_init, m68k_sched_dfa_pre_advance_cycle, m68k_sched_dfa_post_advance_cycle): New static functions implementing scheduler hooks. * config/m68k/m68k.h (m68k_sched_attr_type2): Declare. (CPU_UNITS_QUERY): Define. * config/m68k/cf.md: New file. * config/m68k/m68.md (cf.md): New include. From-SVN: r129938
2007-10-17m68k.h (m68k_sched_cpu, [...]): Move declarations to ...Maxim Kuvyrkov2-7/+10
* config/m68k/m68k.h (m68k_sched_cpu, m68k_sched_attr_opx_type, m68k_sched_attr_opy_type, m68k_sched_attr_size, m68k_sched_attr_op_mem, m68k_sched_branch_type): Move declarations to ... * config/m68/m68k-protos.h: ... here. From-SVN: r129416
2007-10-10revert: longlong.h (count_leading_zeros): Replace '{' and '}' with '%{' and ↵Kazu Hirata3-70/+88
'%}', respectively. Revert: 2007-10-09 Kazu Hirata <kazu@codesourcery.com> * longlong.h (count_leading_zeros): Replace '{' and '}' with '%{' and '%}', respectively. Revert: 2007-10-09 Kazu Hirata <kazu@codesourcery.com> * config/m68k/m68k.c (print_operand): Handle '{' and '}'. * config/m68k/m68k.h (PRINT_OPERAND_PUNCT_VALID_P): Accept '{' and '}'. * config/m68k/m68k.md: Replace '{' with '%{' where '{' is meant to be output. Revert: 2007-10-07 Kazu Hirata <kazu@codesourcery.com> * config/m68k/m68k.c, config/m68k/m68k.md: Use the assembly syntax for ASSEMBLER_DIALECT. * config/m68k/m68k.h (ASSEMBLER_DIALECT): New. From-SVN: r129202
2007-10-09m68k.c (print_operand): Handle '{' and '}'.Kazu Hirata3-17/+26
* config/m68k/m68k.c (print_operand): Handle '{' and '}'. * config/m68k/m68k.h (PRINT_OPERAND_PUNCT_VALID_P): Accept '{' and '}'. * config/m68k/m68k.md: Replace '{' with '%{' where '{' is meant to be output. From-SVN: r129168
2007-10-07m68k.c, m68k.md: Use the assembly syntax for ASSEMBLER_DIALECT.Kazu Hirata3-72/+45
* config/m68k/m68k.c, config/m68k/m68k.md: Use the assembly syntax for ASSEMBLER_DIALECT. * config/m68k/m68k.h (ASSEMBLER_DIALECT): New. From-SVN: r129070
2007-10-03m68k.c (m68k_output_movem): Use the MOTOROLA if MOTOROLA is to true.Kazu Hirata1-4/+4
* config/m68k/m68k.c (m68k_output_movem): Use the MOTOROLA if MOTOROLA is to true. From-SVN: r128994
2007-09-24m68k.h (ASM_OUTPUT_ALIGN_WITH_NOP): New, use "move.l %a4,%a4" to produce nops.Roman Zippel2-0/+20
* config/m68k/m68k.h (ASM_OUTPUT_ALIGN_WITH_NOP): New, use "move.l %a4,%a4" to produce nops. * config/m68k/m68k.c (override_options): Reset align options, if neccessary align macro isn't avaible. From-SVN: r128730
2007-09-24config/m68k/linux.h (PREFERRED_STACK_BOUNDARY): New.Roman Zippel1-0/+3
From-SVN: r128729
2007-09-24m68k.c (strict_low_part_peephole_ok): Don't leave the basic block.Roman Zippel2-143/+164
* config/m68k/m68k.c (strict_low_part_peephole_ok): Don't leave the basic block. * config/m68k/m68k.md (movsi_m68k): Allow certain constant when reload is completed. (peephole pattern): Convert most of them to RTL peephole pattern. From-SVN: r128728
2007-09-24m68k.c (notice_update_cc): Recognize fp compare (moved from fp compare ↵Roman Zippel3-40/+57
patterns). * config/m68k/m68k.c (notice_update_cc): Recognize fp compare (moved from fp compare patterns). * config/m68k/m68k.md (cmp<mode>, cmp<mode>_68881, cmp<mode>_cf): Cleanup predicates to relieve reload. (conditional_trap): Reject conditional trap with fp condition. * gcc/config/m68k/predicates.md (fp_src_operand): New, reject certain constants early. From-SVN: r128727
2007-09-19m68k.c (output_move_himode): Remove jump table recognition.Roman Zippel2-55/+4
* config/m68k/m68k.c (output_move_himode): Remove jump table recognition. config/m68k/m68k.md (lea): Likewise. * config/m68k/m68k.c (print_operand_address): Use simple pc relative addressing. From-SVN: r128601
2007-09-18m68k.c (override_options): Remove USE_GAS, use %.Roman Zippel2-230/+66
* config/m68k/m68k.c (override_options): Remove USE_GAS, use %. syntax. (output_dbcc_and_branch, output_scc_di): Replace all jbcc alternatives with just jcc. * config/m68k/m68k.md (addsi_lshrsi_31, beq0_di, bne0_di, bge0_di, blt0_di, bgtu, bltu, bgeu, bleu, bgtu_rev, bltu_rev, bgeu_rev, bleu_rev, jump, dbne_hi, dbne_si, dbge_hi, dbge_si): Likewise. From-SVN: r128576
2007-09-18m68k.md (beq, [...]): Replace all fbcc with fjcc.Roman Zippel1-70/+34
* config/m68k/m68k.md (beq, bne, bgt, blt, bge, ble, bordered, bunordered, buneq, bunge, bungt, bunle, bunlt, bltgt, beq_rev, bne_rev, bgt_rev, blt_rev, bge_rev, ble_rev, bordered_rev, bunordered_rev, buneq_rev, bunge_rev, bungt_rev, bunle_rev, bunlt_rev, bltgt_rev): Replace all fbcc with fjcc. From-SVN: r128575
2007-09-18m68k-devices.def (51qe): New device.Maxim Kuvyrkov3-8/+19
* config/m68k/m68k-devices.def (51qe): New device. * config/m68k/m68k.c (FL_FOR_isa_c): Remove division unit. Add it to all uses of FL_FOR_isa_c for compatibility. (all_microarchs): Add cfv1 microarchitecture. (m68k_handle_option): Handle m51qe option. * config/m68k/m68k.h (TARGET_CPU_CPP_BUILTINS): Handle 51QE. (TUNE_CFV1): New macro. (enum uarch_type): Add ucfv1. * doc/invoke.texi: Document 51qe device and cfv1 microarchitecture. From-SVN: r128574
2007-09-11predicates.md (movsi_const0_operand, [...]): New predicates.Maxim Kuvyrkov5-264/+1430
* config/m68k/predicates.md (movsi_const0_operand, non_symbolic_call_operand): New predicates. * config/m68k/constraints.md: (Cs, Ci, C0, Cj, CQ, CW, CZ, CS, Ap, Ac): New constraints. * doc/md.texi (Constraints for Particular Machines: Motorola 680x0): Document constraints N, O, P, R, S, T, Q, U, W, Cs, Ci, C0, Cj, CQ, CW, CZ, CS, Ap and Ac. * config/m68k/m68k.md (UNSPEC_IB): New constant. (constraints.md): New include. (cpu, type, type1, opx, opy, opx_type, opy_type, size, opx_access, opx_mem, opy_mem, op_mem, guess, split): New attributes. (movdf_internal): Name pattern. Fix to use alternatives. Add split. Specify attributes. (pushdi): Add split. (tstsi_internal): Name pattern. Fix to use alternatives. Specify attributes. Split tstsi_internal_68020_cf from it. (tstsi_internal_68020_cf): New pattern. (tsthi_internal, tstqi_internal): Name pattern. Specify attributes. (tst<mode>_cf): Specify attributea. (cmpsi_cf): Name pattern. Specify attributes. (cmp<mode>_68881, cmp<mode>_cf): Specify type attribute. (pushexthisi_const): Fix to use alternatives. Specify attributes. (movsi_const0): Split movsi_const0_68000_10 and movsi_const0_68040_60 from it. Fix to use alternatives. Specify attributes. (movsi_const0_68040_10, movsi_const0_68040_60): New patterns. (movsi_cf, movstrictqi_cf): Fix to use alternatives. Specify attributes. (movsf_cf_soft): Specify attributes. (movdf_cf_soft): Add split. (pushasi, zero_extendhisi2_cf, zero_extendqisi2_cfv4, cfv4_extendhisi2, 68k_extendhisi2, extendqihi2, cfv4_extendqisi2, 68k_extendqisi2, truncdfsf2_cf): Specify attributes. (truncdfsf2_68881): Name pattern. Specify attributes. (floatsi<mode>2_cf, floathi<mode>2_68881, floathi<mode>2_cf, floatqi<mode>2_68881, floatqi<mode>2_cf, ftrunc<mode>2_cf, fix<mode>qi2_cf, fix<mode>hi2_cf, fix<mode>si2_cf, adddi_dishl32): Specify attributes. (addsi3_5200): Fix to use alternatives. Specify attributes. Add splits. (add<mode>3_cf, subdi_dishl32): Specify attributes. (subsi3): Add alternative for subq.l. Specify attributes. (sub<mode>3_cf, mulhi3, mulhisi3): Specify attributes. (mulhisisi3_s, mulsi3_68020, mulsi3_cf): Name pattern. Specify attributes. (umulhisi3): Specify attributes. (mulhisisi3_z): Name pattern. Specify attributes. (fmul<mode>3_cf, div<mode>3_cf, negsi2_internal, negsi2_5200, sqrt<mode>2_68881, clzsi2, one_cmplsi2_5200, subreghi1ashrdi_const32, subregsi1ashrdi_const32, ashrsi3, subreg1lshrdi_const32, lshrsi3, bsetmemqi): Specify attributes. (bsetmemqi_ext): Name pattern. Specify attributes. (bclrmemqi): Specify attributes. (bclrmemqi_ext, scc, sls): Name pattern. Specify attributes. (beq, bne, bgt, bgtu, blt, bltu, bge, bgeu, ble, bleu): Specify attributes. (beq2, bne2, bgt2, bgtu2, blt2, bltu2, bge2, bgeu2, ble2, bleu2): Name pattern. Specify attributes. (jump): Specify attributes. (tablejump_internal): Name pattern. Specify attributes. (call_value): Split into non_symbolic_call_value, symbolic_call_value_jsr, symbolic_call_value_bsr. Fix to use alternatives. Specify attributes. (non_symbolic_call_value, symbolic_call_value_jsr, symbolic_call_value_bsr): New patterns. (nop, return, unlink, indirect_jump): Specify attributes. (trap): Fix condition. Specify attributes. (ib): New pattern. * config/m68k/m68k.c (m68k_symbolic_call_var): New variable. (override_options): Initialize it. Initialize m68k_sched_cpu. (CONST_METHOD): Rename to M68K_CONST_METHOD, move to m68k.h. (const_method): Make global, rename to m68k_const_method. (const_int_cost, output_move_const_into_data_reg): Update. (output_move_double): Parametrize to emit rtl code, rename to handle_move_double. (output_reg_adjust, emit_reg_adjust, output_compadr, output_movsi, emit_movsi): New static functions. (output_move_double): New function with semantics of old output_move_double. (m68k_emit_move_double): New function. (m68k_sched_cpu): New variable. (attr_op_type): New enum. (sched_guess_p): New variable. (sched_address_type, sched_operand_type, sched_attr_op_type): New static functions. (m68k_sched_attr_opx_type, m68k_sched_attr_opy_type, m68k_sched_attr_size, m68k_sched_attr_op_mem): New functions. (sched_branch_type): New static variable. (m68k_sched_branch_type): New function. * config/m68k/m68k.h (M68K_SYMBOLIC_CALL): New enum. (m68k_symbolic_call_var): Declare. (M68K_CONST_METHOD): Rename from CONST_METHOD. Move here from m68k.c. (m68k_const_method, m68k_emit_move_double, m68k_sched_cpu, m68k_sched_attr_opx_type, m68k_sched_attr_opy_type, m68k_sched_attr_size, m68k_sched_attr_op_mem, m68k_sched_branch_type): Declare. From-SVN: r128377
2007-09-07function.h (struct function): Rename calls_unwind_init to saves_all_registers.Roman Zippel1-3/+1
* function.h (struct function): Rename calls_unwind_init to saves_all_registers. (current_function_saves_all_registers): Renamed from current_function_calls_unwind_init. * reload1.c (reload): Set current_function_saves_all_registers. * except.c (expand_builtin_unwind_init): Likewise. * config/m68k/m68k.c (m68k_save_reg): Use current_function_saves_all_registers to save pic register. From-SVN: r128248
2007-09-07Reapply reverted change:Janis Johnson1-1/+1
gcc/ada/ Reapply reverted change: 2007-09-06 Eric Botcazou <ebotcazou@adacore.com> * trans.c (convert_with_check): Update call to real_2expN. gcc/ config/m68k/m68k.c (floating_exact_log2): Update call to real_2expN. config/s390/s390.md (fixuns_trunc<BFP:mode><GPR:mode>2): Ditto. Reapply reverted changes: 2007-09-06 Jan Hubicka <jh@suse.cz> * config/i386.c (ix86_expand_lround, ix86_expand_round): Update call of real_2expN. 2007-09-06 Richard Sandiford <richard@codesourcery.com> * config/mips/mips.md (fixuns_truncdfsi2, fixuns_truncdfdi2) (fixuns_truncsfsi2, fixuns_truncsfdi2): Update calls to real_2expN. 2007-09-05 Janis Johnson <janis187@us.ibm.com> * optabs.c (expand_float): Convert unsigned integer as signed only if it provides sufficient accuracy; add mode argument to real_2expN. (expand_fix): Fix comment typos; extend binary float into mode wider than destination for converion to unsigned integer; add mode argument to real_2expN. * real.c (real_2expN): Add mode argument to special-case decimal float values. * real.h (real_2expN): Ditto. * fixed-value.c (check_real_for_fixed_mode): Add mode argument to real_2expN. (fixed_from_string): Ditto. (fixed_to_decimal): Ditto. (fixed_convert_from_real): Ditto. (real_convert_from_fixed): Ditto. * config/rs6000/rs6000.md (FP): Include DD and TD modes. * config/rs6000/dfp.md (extendddtd2, adddd3, addtd3, subdd3, subtd3, muldd3, multd3, divdd3, divtd3, cmpdd_internal1, cmptd_internal1, floatditd2, ftruncdd2, fixdddi2, ftrunctd2, fixddi2): New. From-SVN: r128247
2007-09-01m68k.c (TARGET_DEFAULT_TARGET_FLAGS): Remove.Kazu Hirata2-4/+6
* config/m68k/m68k.c (TARGET_DEFAULT_TARGET_FLAGS): Remove. (override_options): Turn on -mstrict-align on non-ColdFire targets. * config/m68k/m68k.h (BIGGEST_ALIGNMENT): Update a comment. From-SVN: r128015