aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/m32c
AgeCommit message (Collapse)AuthorFilesLines
2008-04-30arm.c (arm_unwind_emit): Use crtl->all_throwers_are_sibcalls instead of ↵Richard Sandiford1-2/+2
cfun->all_throwers_are_sibcalls. gcc/ * config/arm/arm.c (arm_unwind_emit): Use crtl->all_throwers_are_sibcalls instead of cfun->all_throwers_are_sibcalls. (arm_output_fn_unwind): Likewise. * config/frv/frv.c (frv_stack_info): Use crtl->uses_pic_offset_table instead of cfun->uses_pic_offset_table. (frv_expand_prologue): Likewise. (frv_frame_pointer_required): Likewise. (frv_expand_fdpic_call): Likewise. (frv_emit_movsi): Likewise. * config/iq2000/iq2000.c (iq2000_expand_prologue): Use cfun->returns_pcc_struct instead of current_function_returns_pcc_struct. * config/m32c/m32c.c (need_to_save): Use crtl->calls_eh_return instead of cfun->calls_eh_return. (m32c_pushm_popm): Likewise. * config/xtensa/xtensa.h (cfun->calls_alloca): Remove bogus "extern" declaration. From-SVN: r134835
2008-04-13* m32.c (m32c_pushm_popm): Use crtl->retrun_rtx.Jan Hubicka1-3/+3
From-SVN: r134240
2008-04-07function.h (rtl): Rename to x_rtl.Jan Hubicka1-8/+8
* function.h (rtl): Rename to x_rtl. (crtl): New define. (return_label, naked_return_label, stack_slot_list, parm_birth_insn, frame_offset, stack_check_probe_note, arg_pointer_save_area, used_temp_slots avail_temp_slots, temp_slot_level, nonlocal_goto_handler_labels): Update accesstors. (rtl): New global variable. (struct function): Move some fileds to rtl_data. (get_arg_pointer_save_area): Update prototype. * builtins.c (expand_builtin_setjmp_receiver): Update call of get_arg_pointer_save_area. * expr.c (init_expr): Update * function.c (get_frame_size): Update (assign_stack_local): Update (expand_function_end): Update. (get_art_pointer_save_area): Update * function.h * emit-rtl.c (rtl): Declare. (regno_reg_rtx): Declare. (first_insn, last_insn, cur_insn_uid, last_location, first_label_num): Update. (gen_reg_rtx): Update. * varasm.c (n_deferred_constatns): Update accestor. (init_varasm_status): Do not allocate varasm_status. (force_const_mem, get_pool_size, output_constant_pool): Update. * stmt.c (force_label_rtx): Do not use x_ prefixes. (expand_nl_goto_receiver): Update get_arg_pointer_save_area. * m32c/m32.c (m32c_leaf_function_p, m32c_function_needs_enter): Update. * sparc/sparc.h (INIT_EXPANDERS): Update. * ia64/ia64.h (INIT_EXPANDERS): Update. From-SVN: r133994
2008-04-01re PR middle-end/35781 (Revision 133759 breaks ia64)Jan Hubicka1-8/+8
PR middle-end/35781 * m32c/m32.c (m32c_leaf_function_p, m32c_function_needs_enter): Use rtl.emit instead cfun->emit. * sparc/sparc.h (INIT_EXPANDERS): Likewise. * ia64/ia64.h (INIT_EXPANDERS): Likewise. Co-Authored-By: Andreas Tobler <andreast@gcc.gnu.org> Co-Authored-By: James E Wilson <wilson@tuliptree.org> From-SVN: r133786
2008-03-27sourcebuild.texi, [...]: Revert automatic dependency patch.Tom Tromey1-2/+2
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-2/+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-01-25* config/m32c/m32c.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.DJ Delorie1-0/+6
From-SVN: r131836
2008-01-10m32c.c (m32c_hard_regno_nregs_1): Renamed from...DJ Delorie1-3/+10
* config/m32c/m32c.c (m32c_hard_regno_nregs_1): Renamed from... (m32c_hard_regno_nregs): ...this, which is now a wrapper. (m32c_hard_regno_ok): Call the underlying function. From-SVN: r131449
2007-12-07+ * m32c.h (LEGITIMIZE_ADDRESS): Use WIN instead of win.Aldy Hernandez1-2/+2
+ * m32c.h (LEGITIMIZE_ADDRESS): Use WIN instead of win. + (LEGITIMIZE_RELOAD_ADDRESS): Same. From-SVN: r130691
2007-09-25re PR target/33551 (ICE: RTL check: expected elt 0 type 'i' or 'n', have 'w' ↵DJ Delorie1-5/+5
(rtx const_int) in m32c_immd_dbl_mov, at config/m32c/m32c.c:3010) PR target/33551 * config/m32c/m32c.c (m32c_immd_dbl_mov): Use INTVAL instead of XINT. From-SVN: r128773
2007-09-24re PR target/31482 (error: could not split insn, internal compiler error: in ↵DJ Delorie1-3/+3
final_scan_insn) PR target/31482 * config/m32c/cond.md (stzx_reversed_<mode>): Add an output constraint. (movqicc_<code>_<mode>): Likewise. (movhicc_<code>_<mode>): Likewise. From-SVN: r128742
2007-09-24re PR target/33184 (m32c: ostream.tcc:92: error: unable to find a register ↵Rask Ingemann Lambertsen1-1/+4
to spill in class 'A_REGS') 2007-08-26 Rask Ingemann Lambertsen <rask@sygehus.dk> PR target/33184 * config/m32c/m32c.c (m32c_eh_return_data_regno): Leave an address register for reload. From-SVN: r128741
2007-08-24alpha.c (alpha_mangle_type, [...]): Constify.Kaveh R. Ghazi1-3/+3
* config/alpha/alpha.c (alpha_mangle_type, decl_has_samegp, alpha_in_small_data_p, alpha_split_complex_arg, alpha_stdarg_optimize_hook, TARGET_ASM_CAN_OUTPUT_MI_THUNK): Constify. * config/arm/arm-protos.h (arm_mangle_type): Likewise. * config/arm/arm.c (arm_comp_type_attributes, arm_mangle_type): Likewise. * config/bfin/bfin.c (funkind, bfin_comp_type_attributes, TARGET_ASM_CAN_OUTPUT_MI_THUNK): Likewise. * config/darwin-protos.h (darwin_binds_local_p): Likewise. * config/darwin.c (darwin_binds_local_p): Likewise. * config/frv/frv.c (frv_string_begins_with, frv_in_small_data_p): Likewise. * config/i386/i386-protos.h (i386_pe_binds_local_p, i386_pe_valid_dllimport_attribute_p): Likewise. * config/i386/i386.c (ix86_function_regparm, ix86_comp_type_attributes, ix86_ms_bitfield_layout_p, x86_can_output_mi_thunk, ix86_mangle_type, TARGET_USE_BLOCKS_FOR_CONSTANT_P): Likewise. * config/i386/winnt.c (i386_pe_valid_dllimport_attribute_p, i386_pe_binds_local_p): Likewise. * config/ia64/ia64.c (ia64_first_cycle_multipass_dfa_lookahead_guard_spec, ia64_needs_block_p, ia64_in_small_data_p, ia64_mangle_type, ia64_invalid_conversion, ia64_invalid_unary_op, ia64_invalid_binary_op, TARGET_ASM_CAN_OUTPUT_MI_THUNK): Likewise. * config/m32c/m32c.c (m32c_comp_type_attributes): Likewise. * config/m32r/m32r.c (m32r_in_small_data_p): Likewise. * config/m68k/m68k.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Likewise. * config/mips/mips.c (mips_use_blocks_for_constant_p, mips_in_small_data_p, mips_use_anchors_for_symbol_p, mips_comp_type_attributes, TARGET_ASM_CAN_OUTPUT_MI_THUNK, mips_near_type_p, mips_far_type_p, mips_global_symbol_p, mips_symbol_binds_local_p, mips_classify_symbol): Likewise. * config/pa/pa.c (pa_commutative_p): Likewise. * config/rs6000/rs6000-protos.h (rs6000_elf_in_small_data_p): Likewise. * config/rs6000/rs6000.c (rs6000_invalid_within_doloop, rs6000_ms_bitfield_layout_p, rs6000_mangle_type, rs6000_use_blocks_for_constant_p, rs6000_vector_alignment_reachable, rs6000_is_opaque_type, invalid_arg_for_unprototyped_fn, TARGET_ASM_CAN_OUTPUT_MI_THUNK, TARGET_SPLIT_COMPLEX_ARG, rs6000_elf_in_small_data_p): Likewise. * config/s390/s390.c (s390_mangle_type, TARGET_ASM_CAN_OUTPUT_MI_THUNK, TARGET_INVALID_WITHIN_DOLOOP): Likewise. * config/score/score.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK, th_in_small_data_p): Likewise. * config/sh/sh.c (sh_ms_bitfield_layout_p, sh_dwarf_calling_convention, TARGET_ASM_CAN_OUTPUT_MI_THUNK): Likewise. * config/sparc/sparc.c (sparc_can_output_mi_thunk, sparc_mangle_type): Likewise. * config/spu/spu.c (spu_vector_alignment_reachable): Likewise. * config/xtensa/xtensa.c (TARGET_SPLIT_COMPLEX_ARG): Likewise. * emit-rtl.c (const_fixed_htab_hash, const_fixed_htab_eq): Likewise. * hooks.c (hook_bool_mode_const_rtx_false, hook_bool_mode_const_rtx_true, hook_bool_const_tree_hwi_hwi_const_tree_false, hook_bool_const_tree_hwi_hwi_const_tree_true, hook_int_const_tree_0, hook_int_const_tree_const_tree_1, hook_constcharptr_const_tree_null, hook_constcharptr_const_rtx_null, hook_constcharptr_const_tree_const_tree_null, hook_constcharptr_int_const_tree_null, hook_constcharptr_int_const_tree_const_tree_null): New. (hook_bool_mode_rtx_false, hook_bool_mode_rtx_true, hook_bool_tree_hwi_hwi_tree_false, hook_bool_tree_hwi_hwi_tree_true, hook_int_tree_0, hook_int_tree_tree_1, hook_constcharptr_tree_null, hook_constcharptr_rtx_null, hook_constcharptr_tree_tree_null, hook_constcharptr_int_tree_null, hook_constcharptr_int_tree_tree_null): Delete. (default_can_output_mi_thunk_no_vcall): Constify. * hooks.h (hook_bool_mode_rtx_false, hook_bool_mode_rtx_true, hook_bool_tree_hwi_hwi_tree_false, hook_bool_tree_hwi_hwi_tree_true, hook_int_tree_0, hook_int_tree_tree_1, hook_constcharptr_tree_null, hook_constcharptr_rtx_null, hook_constcharptr_tree_tree_null, hook_constcharptr_int_tree_null, hook_constcharptr_int_tree_tree_null): Delete. (hook_bool_mode_const_rtx_false, hook_bool_mode_const_rtx_true, hook_bool_const_tree_hwi_hwi_const_tree_false, hook_bool_const_tree_hwi_hwi_const_tree_true, hook_int_const_tree_0, hook_int_const_tree_const_tree_1, hook_constcharptr_const_tree_null, hook_constcharptr_const_rtx_null, hook_constcharptr_const_tree_const_tree_null, hook_constcharptr_int_const_tree_null, hook_constcharptr_int_const_tree_const_tree_null): New. (default_can_output_mi_thunk_no_vcall): Constify. * integrate.c (function_attribute_inlinable_p): Likewise. * integrate.h (function_attribute_inlinable_p): Likewise. * jump.c (rtx_renumbered_equal_p): Likewise. * output.h (decl_readonly_section, categorize_decl_for_section, default_use_anchors_for_symbol_p, default_binds_local_p, default_binds_local_p_1): Likewise. * rtl.h (rtx_renumbered_equal_p, decl_default_tls_model): Likewise. * target-def.h (TARGET_ASM_CAN_OUTPUT_MI_THUNK, TARGET_VALID_DLLIMPORT_ATTRIBUTE_P, TARGET_VECTOR_OPAQUE_P, TARGET_COMMUTATIVE_P, TARGET_USE_BLOCKS_FOR_CONSTANT_P, TARGET_COMP_TYPE_ATTRIBUTES, TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P, TARGET_MS_BITFIELD_LAYOUT_P, TARGET_MANGLE_TYPE, TARGET_IN_SMALL_DATA_P, TARGET_INVALID_CONVERSION, TARGET_INVALID_UNARY_OP, TARGET_INVALID_BINARY_OP, TARGET_DWARF_CALLING_CONVENTION): Likewise. * target.h (can_output_mi_thunk, needs_block_p, first_cycle_multipass_dfa_lookahead_guard_spec, vector_alignment_reachable, comp_type_attributes, function_attribute_inlinable_p, ms_bitfield_layout_p, mangle_type, commutative_p, use_blocks_for_constant_p, use_anchors_for_symbol_p, in_small_data_p, binds_local_p, vector_opaque_p, dwarf_calling_convention, stdarg_optimize_hook, invalid_within_doloop, valid_dllimport_attribute_p, split_complex_arg, invalid_arg_for_unprototyped_fn, invalid_conversion, invalid_unary_op, invalid_binary_op): Likewise. * targhooks.c (default_invalid_within_doloop, hook_invalid_arg_for_unprototyped_fn, default_builtin_vector_alignment_reachable): Likewise. (hook_bool_rtx_commutative_p): Delete. (hook_bool_const_rtx_commutative_p): New. * targhooks.h (default_invalid_within_doloop, default_builtin_vector_alignment_reachable, hook_invalid_arg_for_unprototyped_fn): Constify. (hook_bool_rtx_commutative_p): Delete. (hook_bool_const_rtx_commutative_p): New. * varasm.c (bss_initializer_p, decl_default_tls_model, categorize_decl_for_section, decl_readonly_section, default_use_anchors_for_symbol_p, default_binds_local_p, default_binds_local_p_1): Constify. From-SVN: r127785
2007-08-23arc-protos.h (arc_select_cc_mode, gen_compare_reg): Wrap in RTX_CODE macro ↵Kaveh R. Ghazi2-9/+9
guard. * config/arc/arc-protos.h arc_select_cc_mode, gen_compare_reg): Wrap in RTX_CODE macro guard. * config/arm/pe.c (arm_dllexport_p, arm_dllimport_p, arm_dllexport_name_p, arm_dllimport_name_p, arm_mark_dllexport, arm_mark_dllimport, arm_pe_encode_section_info, arm_pe_unique_section): Use ISO-C function declarations. * config/c4x/c4x-c.c (c4x_parse_pragma, c4x_pr_CODE_SECTION, c4x_pr_DATA_SECTION, c4x_pr_FUNC_IS_PURE, c4x_pr_FUNC_NEVER_RETURNS, c4x_pr_INTERRUPT, c4x_pr_ignored): Likewise. * config/iq2000/iq2000.h (ASM_OUTPUT_SKIP): Fix format warning. * config/m68hc11/m68hc11.h (ASM_OUTPUT_EXTERNAL): Undef before defining. * config/mips/mips.h (ASM_DECLARE_OBJECT_NAME): Fix format warnings. * config/mn10300/mn10300.h (OUTPUT_ADDR_CONST_EXTRA): Likewise. * config/pdp11/pdp11.c (pdp11_output_function_epilogue): Likewise. (register_move_cost): Use ISO-C function declarations. * config/pdp11/pdp11.h (PRINT_OPERAND): Fix format warnings. * config/score/score-protos.h (score_declare_object): Add ATTRIBUTE_PRINTF_4. * config/score/score.h (ASM_DECLARE_OBJECT_NAME): Fix format warnings. * final.c (profile_function): Avoid empty if-bodies. * calls.c (must_pass_in_stack_var_size, must_pass_in_stack_var_size_or_pad): Constify. * config/alpha/alpha-protos.h (function_value): Likewise. * config/alpha/alpha.c (alpha_return_in_memory, alpha_pass_by_reference, function_value, unicosmk_must_pass_in_stack, TARGET_PROMOTE_FUNCTION_ARGS, TARGET_PROMOTE_FUNCTION_RETURN, TARGET_PROMOTE_PROTOTYPES): Likewise. * config/arc/arc.c (arc_return_in_memory, arc_pass_by_reference, TARGET_PROMOTE_FUNCTION_ARGS, TARGET_PROMOTE_FUNCTION_RETURN, TARGET_PROMOTE_PROTOTYPES): Likewise. * config/arm/arm-protos.h (arm_return_in_memory, arm_pad_arg_upward, arm_function_value): Likewise. * config/arm/arm.c (arm_pass_by_reference, arm_promote_prototypes, arm_return_in_msb, arm_must_pass_in_stack, TARGET_PROMOTE_FUNCTION_ARGS, TARGET_PROMOTE_FUNCTION_RETURN, arm_function_value, arm_return_in_memory, arm_pad_arg_upward): Likewise. * config/arm/arm.h (ARM_DECLARE_FUNCTION_NAME): Likewise. * config/avr/avr-protos.h (avr_function_value): Likewise. * config/avr/avr.c (avr_return_in_memory, gas_output_limited_string, gas_output_ascii, avr_function_value, avr_return_in_memory): Likewise. * config/bfin/bfin-protos.h (bfin_return_in_memory): Likewise. * config/bfin/bfin.c (bfin_pass_by_reference, bfin_return_in_memory, TARGET_PROMOTE_PROTOTYPES, TARGET_PROMOTE_FUNCTION_ARGS, TARGET_PROMOTE_FUNCTION_RETURN): Likewise. * config/cris/cris.c (cris_pass_by_reference, TARGET_PROMOTE_FUNCTION_ARGS): Likewise. * config/crx/crx.c (crx_return_in_memory): Likewise. * config/darwin.c (function_base, machopic_function_base_name): Likewise. * config/fr30/fr30.c (fr30_must_pass_in_stack, TARGET_PROMOTE_PROTOTYPES): Likewise. * config/frv/frv.c (frv_must_pass_in_stack): Likewise. * config/h8300/h8300.c (h8300_return_in_memory): Likewise. * config/i386/i386-protos.h (ix86_return_in_memory, ix86_sol10_return_in_memory): Likewise. * config/i386/i386.c (ix86_function_value, ix86_function_sseregparm, ix86_must_pass_in_stack, type_natural_mode, classify_argument, examine_argument, construct_container, ix86_pass_by_reference, function_value_32, function_value_64, ix86_function_value_1, return_in_memory_32, return_in_memory_64, return_in_memory_ms_64, ix86_return_in_memory, ix86_sol10_return_in_memory, TARGET_PROMOTE_PROTOTYPES): Likewise. * config/ia64/ia64-protos.h (ia64_function_value, ia64_hpux_function_arg_padding): Likewise. * config/ia64/ia64.c (hfa_element_mode, ia64_return_in_memory, ia64_function_value, bundle_state_hash, bundle_state_eq_p, ia64_hpux_function_arg_padding): Likewise. * config/iq2000/iq2000-protos.h (function_arg, iq2000_function_value): Likewise. * config/iq2000/iq2000.c (iq2000_return_in_memory, iq2000_pass_by_reference, TARGET_PROMOTE_FUNCTION_ARGS, TARGET_PROMOTE_FUNCTION_RETURN, TARGET_PROMOTE_PROTOTYPES, function_arg, iq2000_function_value): Likewise. * config/m32c/m32c-protos.h (m32c_function_value, m32c_promote_function_return): Likewise. * config/m32c/m32c.c (m32c_pass_by_reference, m32c_promote_prototypes, m32c_promote_function_return, m32c_function_value): Likewise. * config/m32r/m32r.c (m32r_return_in_memory, m32r_pass_by_reference, TARGET_PROMOTE_PROTOTYPES, m32r_in_small_data_p): Likewise. * config/m68hc11/m68hc11-protos.h (m68hc11_function_arg_padding): Likewise. * config/m68hc11/m68hc11.c (m68hc11_return_in_memory, m68hc11_function_arg_padding): Likewise. * config/m68k/m68k-protos.h (m68k_function_value): Likewise. * config/m68k/m68k.c (TARGET_PROMOTE_PROTOTYPES, m68k_function_value): Likewise. * config/mcore/mcore-protos.h (mcore_num_arg_regs, mcore_function_value): Likewise. * config/mcore/mcore.c (handle_structs_in_regs, mcore_return_in_memory, TARGET_PROMOTE_FUNCTION_ARGS, TARGET_PROMOTE_FUNCTION_RETURN, TARGET_PROMOTE_PROTOTYPES, mcore_num_arg_regs, mcore_function_value): Likewise. * config/mips/mips-protos.h (mips_pad_arg_upward, mips_function_value): Likewise. * config/mips/mips.c (mips_fpr_return_fields, mips_return_in_msb, mips_return_in_memory, mips_pass_by_reference, mips_callee_copies, TARGET_PROMOTE_FUNCTION_ARGS, TARGET_PROMOTE_FUNCTION_RETURN, TARGET_PROMOTE_PROTOTYPES, mips_pad_arg_upward, mips_function_value): Likewise. * config/mmix/mmix-protos.h (mmix_function_outgoing_value): Likewise. * config/mmix/mmix.c (mmix_pass_by_reference, TARGET_PROMOTE_FUNCTION_ARGS, mmix_function_outgoing_value, mmix_encode_section_info): Likewise. * config/mn10300/mn10300-protos.h (mn10300_function_value): Likewise. * config/mn10300/mn10300.c (mn10300_return_in_memory, mn10300_pass_by_reference, TARGET_PROMOTE_PROTOTYPES, mn10300_function_value): Likewise. * config/mt/mt-protos.h (mt_function_value): Likewise. * config/mt/mt.c (mt_pass_by_reference, mt_function_value, mt_pass_in_stack, TARGET_PROMOTE_PROTOTYPES): Likewise. * config/pa/pa-protos.h (function_arg_padding, function_value, pa_return_in_memory): Likewise. * config/pa/pa.c (pa_pass_by_reference, TARGET_PROMOTE_FUNCTION_RETURN, TARGET_PROMOTE_PROTOTYPES, function_arg_padding, function_value, pa_return_in_memory): Likewise. * config/pdp11/pdp11.c (pdp11_return_in_memory): Likewise. * config/rs6000/rs6000-protos.h (rs6000_function_value, function_arg_padding): Likewise. * config/rs6000/rs6000.c (rs6000_return_in_memory, rs6000_darwin64_record_arg_recurse, rs6000_darwin64_record_arg, rs6000_pass_by_reference, rs6000_must_pass_in_stack, TARGET_PROMOTE_FUNCTION_ARGS, TARGET_PROMOTE_FUNCTION_RETURN, function_arg_padding, altivec_expand_dst_builtin, altivec_expand_builtin, rs6000_expand_builtin, spe_init_builtins, altivec_init_builtins, rs6000_common_init_builtins, rs6000_function_value): Likewise. * s390/s390-protos.h (s390_function_value): Likewise. * config/s390/s390.c (s390_function_arg_size, s390_pass_by_reference, s390_return_in_memory, s390_function_value, TARGET_PROMOTE_FUNCTION_ARGS, TARGET_PROMOTE_FUNCTION_RETURN): Likewise. * config/score/score-protos.h (score_function_value): Likewise. * config/score/score.c (score_arg_partial_bytes, TARGET_PROMOTE_FUNCTION_ARGS, TARGET_PROMOTE_FUNCTION_RETURN, TARGET_PROMOTE_PROTOTYPES, score_return_in_memory, score_pass_by_reference, score_add_offset, score_function_value): Likewise. * config/sh/sh-protos.h (sh_attr_renesas_p, sh_promote_prototypes): Likewise. * config/sh/sh.c (sh_return_in_memory, sh_pass_by_reference, sh_callee_copies, sh_promote_prototypes, shcompact_byref, sh_attr_renesas_p): Likewise. * config/sparc/sparc-protos.h (function_value, function_arg_padding): Likewise. * config/sparc/sparc.c (sparc_promote_prototypes, sparc_return_in_memory, sparc_pass_by_reference, TARGET_PROMOTE_FUNCTION_ARGS, TARGET_PROMOTE_FUNCTION_RETURN, function_arg_record_value_2, function_arg_record_value_1, function_arg_record_value, function_arg_record_value, function_arg_padding, function_value): Likewise. * config/spu/spu-protos.h (spu_function_value): Likewise. * config/spu/spu.c (spu_pass_by_reference, spu_return_in_memory, spu_function_value): Likewise. * config/stormy16/stormy16-protos.h (xstormy16_function_value): Likewise. * config/stormy16/stormy16.c (xstormy16_return_in_memory, xstormy16_function_value, TARGET_PROMOTE_FUNCTION_ARGS, TARGET_PROMOTE_FUNCTION_RETURN, TARGET_PROMOTE_PROTOTYPES): Likewise. * config/v850/v850.c (v850_return_in_memory, v850_pass_by_reference, TARGET_PROMOTE_PROTOTYPES): Likewise. * config/vax/vax.c (TARGET_PROMOTE_PROTOTYPES): Likewise. * config/xtensa/xtensa.c (xtensa_return_in_msb, xtensa_return_in_memory, TARGET_PROMOTE_FUNCTION_ARGS, TARGET_PROMOTE_FUNCTION_RETURN, TARGET_PROMOTE_PROTOTYPES): Likewise. * explow.c (promote_mode, hard_function_value): Likewise. * expr.h (hard_function_value, promote_mode): Likewise. * function.c (aggregate_value_p): Likewise. * hooks.c (hook_bool_const_tree_true): New. * hooks.h (hook_bool_const_tree_true): New. * sdbout.c (SET_KNOWN_TYPE_TAG, plain_type_1): Constify. * target-def.h (TARGET_PROMOTE_FUNCTION_ARGS, TARGET_PROMOTE_FUNCTION_RETURN, TARGET_PROMOTE_PROTOTYPES, TARGET_RETURN_IN_MSB): Likewise. * target.h (promote_function_args, promote_function_return, promote_prototypes, return_in_memory, return_in_msb, pass_by_reference, must_pass_in_stack, callee_copies, function_value): Likewise. * targhooks.c (default_return_in_memory, hook_pass_by_reference_must_pass_in_stack, hook_callee_copies_named, hook_bool_CUMULATIVE_ARGS_mode_tree_bool_false, hook_bool_CUMULATIVE_ARGS_mode_tree_bool_true, default_function_value): Likewise. * targhooks.h (default_return_in_memory, hook_pass_by_reference_must_pass_in_stack, hook_callee_copies_named, hook_bool_CUMULATIVE_ARGS_mode_tree_bool_false, hook_bool_CUMULATIVE_ARGS_mode_tree_bool_true, default_function_value): Likewise. * tree-ssa-structalias.c (const_equiv_class_label_t): New. (equiv_class_label_hash, equiv_class_label_eq): Constify. * tree-vectorizer.c (bb_in_loop_p): Likewise. * tree.c (needs_to_live_in_memory): Likewise. * tree.h (struct tree_type, needs_to_live_in_memory, aggregate_value_p, must_pass_in_stack_var_size, must_pass_in_stack_var_size_or_pad): Likewise. * vmsdbgout.c (write_debug_addr, write_debug_delta4, write_debug_string, ASM_OUTPUT_DEBUG_STRING, write_rtnbeg, lookup_filename): Likewise. From-SVN: r127743
2007-08-22md.texi (Iterators): Renamed from Macros.Hans-Peter Nilsson2-8/+8
* doc/md.texi (Iterators): Renamed from Macros. All contents changed to reflect rename of respectively define_code_macro and define_mode_macro to define_code_iterator and define_mode_iterator. (Mode Iterators, Code Iterators): Similar. * read-rtl.c (struct iterator_group, struct iterator_traverse_data) (uses_mode_iterator_p, apply_mode_iterator, uses_code_iterator_p) (apply_iterator_to_string, uses_iterator_p, apply_iterator_traverse) (initialize_iterators, find_iterator, check_code_iterator) (map_attr_string, apply_mode_maps, apply_iterator_to_rtx, add_mapping) (read_mapping, read_rtx_1): Similar. * config/alpha/sync.md, config/alpha/alpha.md, config/frv/frv.md, config/s390/s390.md, config/m32c/blkmov.md, config/m32c/m32c.md, config/spu/spu.md, config/sparc/sparc.md, config/sparc/sync.md, config/i386/i386.md, config/i386/mmx.md, config/i386/sse.md, config/i386/sync.md, config/crx/crx.md, config/xtensa/xtensa.md, config/cris/cris.c, config/cris/cris.md, config/ia64/sync.md, config/ia64/div.md, config/ia64/vect.md, config/ia64/ia64.md, config/m68k/m68k.md, config/rs6000/spe.md, config/rs6000/altivec.md, config/rs6000/sync.md, config/rs6000/rs6000.md, config/arm/vec-common.md, config/arm/neon.md, config/arm/iwmmxt.md, config/arm/arm.md, config/mips/mips-dsp.md, config/mips/mips.md, config/vax/vax.md, config/bfin/bfin.md: Similar. From-SVN: r127715
2007-08-02host-hpux.c: Change copyright header to refer to version 3 of the GNU ↵Nick Clifton20-98/+78
General Public License... * config/host-hpux.c: Change copyright header to refer to version 3 of the GNU General Public License and to point readers at the COPYING3 file and the FSF's license web page. * config/alpha/predicates.md, config/alpha/vms-ld.c, config/alpha/linux.h, config/alpha/alpha.opt, config/alpha/linux-elf.h, config/alpha/vms.h, config/alpha/elf.h, config/alpha/vms-unwind.h, config/alpha/ev4.md, config/alpha/ev6.md, config/alpha/alpha.c, config/alpha/vms-cc.c, config/alpha/alpha.h, config/alpha/sync.md, config/alpha/openbsd.h, config/alpha/alpha.md, config/alpha/alpha-modes.def, config/alpha/ev5.md, config/alpha/alpha-protos.h, config/alpha/freebsd.h, config/alpha/osf5.h, config/alpha/netbsd.h, config/alpha/vms64.h, config/alpha/constraints.md, config/alpha/osf.h, config/alpha/xm-vms.h, config/alpha/unicosmk.h, config/linux.h, config/frv/predicates.md, config/frv/frv.h, config/frv/linux.h, config/frv/frv.md, config/frv/frv.opt, config/frv/frv-modes.def, config/frv/frv-asm.h, config/frv/frv-protos.h, config/frv/frv-abi.h, config/frv/frv.c, config/s390/tpf.h, config/s390/s390.c, config/s390/predicates.md, config/s390/s390.h, config/s390/linux.h, config/s390/tpf.md, config/s390/tpf.opt, config/s390/2064.md, config/s390/2084.md, config/s390/s390.md, config/s390/s390.opt, config/s390/s390-modes.def, config/s390/fixdfdi.h, config/s390/constraints.md, config/s390/s390-protos.h, config/s390/s390x.h, config/elfos.h, config/dbxcoff.h, config/m32c/predicates.md, config/m32c/cond.md, config/m32c/m32c.c, config/m32c/minmax.md, config/m32c/blkmov.md, config/m32c/m32c-pragma.c, config/m32c/m32c.h, config/m32c/prologue.md, config/m32c/m32c.abi, config/m32c/muldiv.md, config/m32c/bitops.md, config/m32c/mov.md, config/m32c/addsub.md, config/m32c/m32c.md, config/m32c/m32c.opt, config/m32c/t-m32c, config/m32c/m32c-modes.def, config/m32c/jump.md, config/m32c/shift.md, config/m32c/m32c-protos.h, config/libgloss.h, config/spu/spu-protos.h, config/spu/predicates.md, config/spu/spu-builtins.h, config/spu/spu.c, config/spu/spu-builtins.def, config/spu/spu-builtins.md, config/spu/spu.h, config/spu/spu-elf.h, config/spu/constraints.md, config/spu/spu.md, config/spu/spu-c.c, config/spu/spu.opt, config/spu/spu-modes.def, config/spu/t-spu-elf, config/interix.h, config/sparc/hypersparc.md, config/sparc/predicates.md, config/sparc/linux.h, config/sparc/sp64-elf.h, config/sparc/supersparc.md, config/sparc/cypress.md, config/sparc/openbsd1-64.h, config/sparc/openbsd64.h, config/sparc/niagara.md, config/sparc/sparc.md, config/sparc/long-double-switch.opt, config/sparc/ultra3.md, config/sparc/sparc.opt, config/sparc/sync.md, config/sparc/sp-elf.h, config/sparc/sparc-protos.h, config/sparc/ultra1_2.md, config/sparc/biarch64.h, config/sparc/sparc.c, config/sparc/little-endian.opt, config/sparc/sysv4-only.h, config/sparc/sparc.h, config/sparc/linux64.h, config/sparc/freebsd.h, config/sparc/sol2.h, config/sparc/rtemself.h, config/sparc/netbsd-elf.h, config/sparc/vxworks.h, config/sparc/sparc-modes.def, config/sparc/sparclet.md, config/sparc/sysv4.h, config/vx-common.h, config/netbsd-aout.h, config/flat.h, config/m32r/m32r.md, config/m32r/predicates.md, config/m32r/little.h, config/m32r/m32r.c, config/m32r/m32r.opt, config/m32r/linux.h, config/m32r/constraints.md, config/m32r/m32r.h, config/m32r/m32r-protos.h, config/vxworks.opt, config/darwin-c.c, config/darwin.opt, config/i386/i386.h, config/i386/cygming.h, config/i386/linux.h, config/i386/cygwin.h, config/i386/i386.md, config/i386/netware-crt0.c, config/i386/sco5.h, config/i386/mmx.md, config/i386/vx-common.h, config/i386/kaos-i386.h, config/i386/winnt-stubs.c, config/i386/netbsd64.h, config/i386/djgpp.h, config/i386/gas.h, config/i386/sol2.h, config/i386/constraints.md, config/i386/netware-libgcc.c, config/i386/sysv5.h, config/i386/predicates.md, config/i386/geode.md, config/i386/x86-64.h, config/i386/kfreebsd-gnu.h, config/i386/freebsd64.h, config/i386/vxworksae.h, config/i386/pentium.md, config/i386/lynx.h, config/i386/i386elf.h, config/i386/rtemself.h, config/i386/netbsd-elf.h, config/i386/ppro.md, config/i386/k6.md, config/i386/netware.c, config/i386/netware.h, config/i386/i386-modes.def, config/i386/sysv4-cpp.h, config/i386/i386-interix.h, config/i386/cygwin1.c, config/i386/djgpp.opt, config/i386/uwin.h, config/i386/unix.h, config/i386/ptx4-i.h, config/i386/xm-djgpp.h, config/i386/att.h, config/i386/winnt.c, config/i386/beos-elf.h, config/i386/sol2-10.h, config/i386/darwin64.h, config/i386/sse.md, config/i386/i386.opt, config/i386/bsd.h, config/i386/cygming.opt, config/i386/xm-mingw32.h, config/i386/linux64.h, config/i386/openbsdelf.h, config/i386/xm-cygwin.h, config/i386/sco5.opt, config/i386/darwin.h, config/i386/mingw32.h, config/i386/winnt-cxx.c, config/i386/i386-interix3.h, config/i386/nwld.c, config/i386/nwld.h, config/i386/host-cygwin.c, config/i386/cygwin2.c, config/i386/i386-protos.h, config/i386/sync.md, config/i386/openbsd.h, config/i386/host-mingw32.c, config/i386/i386-aout.h, config/i386/nto.h, config/i386/biarch64.h, config/i386/i386-coff.h, config/i386/freebsd.h, config/i386/driver-i386.c, config/i386/knetbsd-gnu.h, config/i386/host-i386-darwin.c, config/i386/vxworks.h, config/i386/crtdll.h, config/i386/i386.c, config/i386/sysv4.h, config/darwin-protos.h, config/linux.opt, config/sol2.c, config/sol2.h, config/sh/symbian.c, config/sh/sh-protos.h, config/sh/linux.h, config/sh/elf.h, config/sh/superh.h, config/sh/sh4.md, config/sh/coff.h, config/sh/newlib.h, config/sh/embed-elf.h, config/sh/symbian-pre.h, config/sh/rtems.h, config/sh/kaos-sh.h, config/sh/sh4a.md, config/sh/constraints.md, config/sh/sh64.h, config/sh/sh.opt, config/sh/symbian-post.h, config/sh/sh-c.c, config/sh/predicates.md, config/sh/sh.c, config/sh/sh.h, config/sh/shmedia.md, config/sh/sh-modes.def, config/sh/little.h, config/sh/sh1.md, config/sh/sh4-300.md, config/sh/superh64.h, config/sh/rtemself.h, config/sh/netbsd-elf.h, config/sh/sh.md, config/sh/vxworks.h, config/usegas.h, config/svr3.h, config/pdp11/pdp11-protos.h, config/pdp11/2bsd.h, config/pdp11/pdp11.md, config/pdp11/pdp11.c, config/pdp11/pdp11.opt, config/pdp11/pdp11-modes.def, config/pdp11/pdp11.h, config/avr/rtems.h, config/avr/avr-protos.h, config/avr/predicates.md, config/avr/constraints.md, config/avr/avr.md, config/avr/avr.c, config/avr/avr.opt, config/avr/avr.h, config/sol2-protos.h, config/dbxelf.h, config/lynx.opt, config/crx/crx.h, config/crx/crx-protos.h, config/crx/crx.md, config/crx/crx.c, config/crx/crx.opt, config/c4x/c4x-c.c, config/c4x/c4x.c, config/c4x/c4x.opt, config/c4x/c4x-modes.def, config/c4x/rtems.h, config/c4x/predicates.md, config/c4x/c4x.h, config/c4x/c4x-protos.h, config/c4x/c4x.md, config/kfreebsd-gnu.h, config/xtensa/predicates.md, config/xtensa/xtensa.c, config/xtensa/linux.h, config/xtensa/xtensa.h, config/xtensa/elf.h, config/xtensa/xtensa.md, config/xtensa/xtensa.opt, config/xtensa/constraints.md, config/xtensa/xtensa-protos.h, config/dbx.h, config/stormy16/predicates.md, config/stormy16/stormy16.md, config/stormy16/stormy16.c, config/stormy16/stormy16.opt, config/stormy16/stormy16.h, config/stormy16/stormy16-protos.h, config/host-solaris.c, config/fr30/fr30.h, config/fr30/predicates.md, config/fr30/fr30-protos.h, config/fr30/fr30.md, config/fr30/fr30.c, config/fr30/fr30.opt, config/vxworksae.h, config/sol2-c.c, config/lynx.h, config/m68hc11/m68hc11-protos.h, config/m68hc11/predicates.md, config/m68hc11/m68hc11.md, config/m68hc11/m68hc11.c, config/m68hc11/m68hc11.opt, config/m68hc11/m68hc11.h, config/m68hc11/m68hc12.h, config/openbsd-oldgas.h, config/host-linux.c, config/interix3.h, config/cris/cris.c, config/cris/predicates.md, config/cris/linux.h, config/cris/cris.h, config/cris/aout.h, config/cris/cris.md, config/cris/linux.opt, config/cris/cris.opt, config/cris/elf.opt, config/cris/aout.opt, config/cris/cris-protos.h, config/vxworks-dummy.h, config/netbsd.h, config/netbsd-elf.h, config/iq2000/iq2000.h, config/iq2000/predicates.md, config/iq2000/iq2000-protos.h, config/iq2000/iq2000.md, config/iq2000/iq2000.c, config/iq2000/iq2000.opt, config/host-darwin.c, config/mt/mt.md, config/mt/mt.c, config/mt/mt.opt, config/mt/t-mt, config/mt/mt.h, config/mt/mt-protos.h, config/svr4.h, config/host-darwin.h, config/chorus.h, config/mn10300/mn10300.c, config/mn10300/mn10300.opt, config/mn10300/predicates.md, config/mn10300/mn10300.h, config/mn10300/linux.h, config/mn10300/constraints.md, config/mn10300/mn10300-protos.h, config/mn10300/mn10300.md, config/ia64/predicates.md, config/ia64/itanium1.md, config/ia64/unwind-ia64.h, config/ia64/ia64-c.c, config/ia64/sync.md, config/ia64/ia64.c, config/ia64/itanium2.md, config/ia64/ia64.h, config/ia64/vect.md, config/ia64/freebsd.h, config/ia64/ia64.md, config/ia64/ia64-modes.def, config/ia64/constraints.md, config/ia64/hpux.h, config/ia64/ia64-protos.h, config/windiss.h, config/gofast.h, config/rtems.h, config/sol2-10.h, config/m68k/predicates.md, config/m68k/m68k.md, config/m68k/linux.h, config/m68k/m68k-modes.def, config/m68k/print-sysroot-suffix.sh, config/m68k/m68k-protos.h, config/m68k/coff.h, config/m68k/m68k-none.h, config/m68k/ieee.opt, config/m68k/openbsd.h, config/m68k/m68k-aout.h, config/m68k/m68k.opt, config/m68k/m68020-elf.h, config/m68k/m68kelf.h, config/m68k/m68k-devices.def, config/m68k/uclinux-oldabi.h, config/m68k/m68k.c, config/m68k/constraints.md, config/m68k/rtemself.h, config/m68k/netbsd-elf.h, config/m68k/m68k.h, config/m68k/uclinux.h, config/rs6000/power4.md, config/rs6000/host-darwin.c, config/rs6000/6xx.md, config/rs6000/linux.h, config/rs6000/eabi.h, config/rs6000/aix41.opt, config/rs6000/xcoff.h, config/rs6000/secureplt.h, config/rs6000/linuxspe.h, config/rs6000/eabialtivec.h, config/rs6000/8540.md, config/rs6000/darwin8.h, config/rs6000/kaos-ppc.h, config/rs6000/windiss.h, config/rs6000/603.md, config/rs6000/aix41.h, config/rs6000/cell.md, config/rs6000/mpc.md, config/rs6000/aix43.h, config/rs6000/beos.h, config/rs6000/gnu.h, config/rs6000/rtems.h, config/rs6000/aix.opt, config/rs6000/darwin.md, config/rs6000/darwin64.h, config/rs6000/default64.h, config/rs6000/7xx.md, config/rs6000/darwin.opt, config/rs6000/spe.md, config/rs6000/rs6000.opt, config/rs6000/rs6000-c.c, config/rs6000/rios2.md, config/rs6000/linuxaltivec.h, config/rs6000/7450.md, config/rs6000/linux64.h, config/rs6000/constraints.md, config/rs6000/440.md, config/rs6000/darwin.h, config/rs6000/host-ppc64-darwin.c, config/rs6000/rs6000.c, config/rs6000/aix52.h, config/rs6000/rs6000.h, config/rs6000/power6.md, config/rs6000/predicates.md, config/rs6000/altivec.md, config/rs6000/aix64.opt, config/rs6000/rios1.md, config/rs6000/rs6000-modes.def, config/rs6000/rs64.md, config/rs6000/eabisim.h, config/rs6000/sysv4le.h, config/rs6000/darwin7.h, config/rs6000/dfp.md, config/rs6000/linux64.opt, config/rs6000/sync.md, config/rs6000/vxworksae.h, config/rs6000/power5.md, config/rs6000/lynx.h, config/rs6000/biarch64.h, config/rs6000/rs6000.md, config/rs6000/sysv4.opt, config/rs6000/eabispe.h, config/rs6000/e500.h, config/rs6000/freebsd.h, config/rs6000/rs6000-protos.h, config/rs6000/netbsd.h, config/rs6000/e500-double.h, config/rs6000/aix.h, config/rs6000/vxworks.h, config/rs6000/40x.md, config/rs6000/aix51.h, config/rs6000/sysv4.h, config/arc/arc-protos.h, config/arc/arc.md, config/arc/arc.c, config/arc/arc.opt, config/arc/arc-modes.def, config/arc/arc.h, config/mcore/mcore-elf.h, config/mcore/mcore-protos.h, config/mcore/predicates.md, config/mcore/mcore.md, config/mcore/mcore.c, config/mcore/mcore.opt, config/mcore/mcore.h, config/mcore/mcore-pe.h, config/darwin.c, config/freebsd-nthr.h, config/score/predicates.md, config/score/score-version.h, config/score/score-protos.h, config/score/misc.md, config/score/elf.h, config/score/score.c, config/score/mac.md, config/score/score7.md, config/score/score.h, config/score/score-conv.h, config/score/score-mdaux.c, config/score/score.md, config/score/score.opt, config/score/score-modes.def, config/score/score-mdaux.h, config/score/mul-div.S, config/arm/uclinux-elf.h, config/arm/semi.h, config/arm/ecos-elf.h, config/arm/arm1020e.md, config/arm/symbian.h, config/arm/linux-elf.h, config/arm/arm1026ejs.md, config/arm/arm1136jfs.md, config/arm/elf.h, config/arm/aout.h, config/arm/arm.c, config/arm/thumb2.md, config/arm/vec-common.md, config/arm/coff.h, config/arm/strongarm-pe.h, config/arm/arm.h, config/arm/cortex-a8-neon.md, config/arm/semiaof.h, config/arm/cortex-a8.md, config/arm/uclinux-eabi.h, config/arm/arm-modes.def, config/arm/linux-eabi.h, config/arm/rtems-elf.h, config/arm/neon-schedgen.ml, config/arm/arm-cores.def, config/arm/arm-protos.h, config/arm/vfp.md, config/arm/aof.h, config/arm/linux-gas.h, config/arm/wince-pe.h, config/arm/neon.md, config/arm/constraints.md, config/arm/neon.ml, config/arm/xscale-elf.h, config/arm/strongarm-coff.h, config/arm/arm.opt, config/arm/arm926ejs.md, config/arm/predicates.md, config/arm/iwmmxt.md, config/arm/arm_neon.h, config/arm/unknown-elf.h, config/arm/kaos-arm.h, config/arm/bpabi.h, config/arm/pe.opt, config/arm/neon-testgen.ml, config/arm/arm.md, config/arm/xscale-coff.h, config/arm/pe.c, config/arm/arm-generic.md, config/arm/pe.h, config/arm/kaos-strongarm.h, config/arm/freebsd.h, config/arm/neon-docgen.ml, config/arm/netbsd.h, config/arm/fpa.md, config/arm/strongarm-elf.h, config/arm/cirrus.md, config/arm/netbsd-elf.h, config/arm/vxworks.h, config/arm/neon-gen.ml, config/kaos.h, config/darwin-driver.c, config/pa/predicates.md, config/pa/pa64-hpux.h, config/pa/pa-hpux.opt, config/pa/som.h, config/pa/pa-hpux1010.opt, config/pa/pa-hpux1111.opt, config/pa/pa-pro-end.h, config/pa/elf.h, config/pa/fptr.c, config/pa/pa64-linux.h, config/pa/pa.md, config/pa/pa.opt, config/pa/pa-hpux.h, config/pa/pa-hpux10.h, config/pa/pa-hpux11.h, config/pa/pa-hpux1010.h, config/pa/pa-protos.h, config/pa/pa-osf.h, config/pa/pa-hpux1111.h, config/pa/pa-64.h, config/pa/milli64.S, config/pa/pa.c, config/pa/pa-linux.h, config/pa/pa.h, config/pa/pa32-linux.h, config/pa/pa64-hpux.opt, config/pa/pa64-regs.h, config/pa/pa-modes.def, config/pa/constraints.md, config/darwin9.h, config/mips/4100.md, config/mips/linux.h, config/mips/elfoabi.h, config/mips/elf.h, config/mips/sdb.h, config/mips/windiss.h, config/mips/rtems.h, config/mips/3000.md, config/mips/iris5.h, config/mips/5000.md, config/mips/7000.md, config/mips/9000.md, config/mips/4600.md, config/mips/linux64.h, config/mips/elforion.h, config/mips/constraints.md, config/mips/generic.md, config/mips/predicates.md, config/mips/4300.md, config/mips/mips-ps-3d.md, config/mips/iris.h, config/mips/24k.md, config/mips/mips.md, config/mips/mips.opt, config/mips/4k.md, config/mips/5k.md, config/mips/vr4120-div.S, config/mips/openbsd.h, config/mips/iris6.h, config/mips/4000.md, config/mips/mips-protos.h, config/mips/6000.md, config/mips/mips.c, config/mips/mips.h, config/mips/r3900.h, config/mips/74k.md, config/mips/netbsd.h, config/mips/vxworks.h, config/mips/mips-modes.def, config/mips/vr.h, config/soft-fp/t-softfp, config/openbsd.h, config/ptx4.h, config/freebsd-spec.h, config/vax/vax.c, config/vax/openbsd.h, config/vax/vax.h, config/vax/elf.h, config/vax/vax.md, config/vax/bsd.h, config/vax/vax.opt, config/vax/vax-modes.def, config/vax/openbsd1.h, config/vax/netbsd.h, config/vax/vax-protos.h, config/vax/netbsd-elf.h, config/vax/vaxv.h, config/vax/ultrix.h, config/freebsd.h, config/h8300/rtems.h, config/h8300/predicates.md, config/h8300/h8300.c, config/h8300/h8300.h, config/h8300/elf.h, config/h8300/h8300.md, config/h8300/h8300.opt, config/h8300/coff.h, config/h8300/h8300-protos.h, config/v850/v850.md, config/v850/predicates.md, config/v850/v850-c.c, config/v850/v850.c, config/v850/v850.opt, config/v850/v850.h, config/v850/v850-protos.h, config/vxworks.c, config/knetbsd-gnu.h, config/sol2-6.h, config/vxworks.h, config/mmix/mmix.h, config/mmix/predicates.md, config/mmix/mmix-protos.h, config/mmix/mmix.md, config/mmix/mmix.c, config/mmix/mmix.opt, config/mmix/mmix-modes.def, config/bfin/bfin.opt, config/bfin/rtems.h, config/bfin/bfin-modes.def, config/bfin/predicates.md, config/bfin/bfin-protos.h, config/bfin/bfin.c, config/bfin/bfin.h, config/bfin/bfin.md: Likewise. From-SVN: r127157
2007-07-10Replace no_new_pseudos in backends.Ian Lance Taylor1-4/+5
* rtl.h (can_create_pseudo_p): Define. * config/darwin.c (machopic_indirect_data_reference): Use can_create_pseudo_p () instead of no_new_pseudos. (machopic_indirect_data_reference): Likewise. (machopic_legitimize_pic_address): Likewise. * config/alpha/alpha.c (alpha_legitimize_address): Likewise. (alpha_emit_set_const_1): Likewise. (alpha_emit_set_const): Likewise. (alpha_emit_conditional_move): Likewise. (alpha_split_conditional_move): Likewise. * config/alpha/alpha.md (various splitters): Likewise. (movti): Likewise. * config/arm/arm.c (legitimize_pic_address): Likewise. (arm_load_pic_register): Likewise. * config/arm/arm.md (addsi3, subsi3, andsi3, iorsi3): Likewise. (movdi, movsi, movhi, movqi, movsf, movdf): Likewise. * config/bfin/bfin.c (legitimize_pic_address): Likewise. * config/cris/cris.c (cris_expand_pic_call_address): Likewise. * config/cris/cris.md (movsi): Likewise. * config/frv/frv.md (symGOT2reg_hilo): Likewise. (symGOTOFF2reg_hilo): Likewise. (symGPREL2reg, symGPREL2reg_hilo): Likewise. * config/h8300/h8300.md (insv, extzv): Likewise. * config/i386/i386.c (ix86_expand_move): Likewise. (ix86_expand_vector_move): Likewise. (ix86_prepare_fp_compare_args): Likewise. (ix86_expand_carry_flag_compare): Likewise. * config/i386/i386.md (tls_dynamic_gnu2_32): Likewise. (tls_dynamic_gnu2_combine_32): Likewise. (tls_dynamic_gnu2_64, tls_dynamic_gnu2_combine_64): Likewise. * config/ia64/ia64.c (ia64_expand_move): Likewise. (ia64_expand_movxf_movrf): Likewise. * config/m32c/m32c.c (m32c_prepare_move): Likewise. (m32c_split_move): Likewise. (m32c_expand_insv): Likewise. * config/m68k/m68k.md (movsi): Likewise. * config/mips/mips.c (mips_force_temporary): Likewise. (mips_split_symbol): Likewise. (mips_move_integer): Likewise. (mips_legitimize_const_move): Likewise. * config/mn10300/mn10300.md (movsi): Likewise. * config/pa/pa.c (emit_move_sequence): Likewise. * config/rs6000/rs6000.c (rs6000_emit_move): Likewise. (rs6000_got_register): Likewise. (create_TOC_reference): Likewise. (rs6000_machopic_legitimize_pic_address): Likewise. * config/rs6000/rs6000.md (add<mode>3): Likewise. (various splitters): Likewise. (iorsi3, xorsi3, iordi3, xordi3): Likewise. (movsi_got): Likewise. * config/s390/s390.c (emit_symbolic_move): Likewise. * config/s390/s390.md (movhi, movqi): Likewise. (load_multiple, store_multiple): Likewise. * config/score/score.c (score_force_temporary): Likewise. * config/sh/sh.c (prepare_move_operands): Likewise. (prepare_cbranch_operands): Likewise. (emit_fpu_switch): Likewise. (fpscr_set_from_mem): Likewise. * config/sh/sh.md (movdicc, movsicc, movsicc_umin): Likewise. (adddi3, subsi3): Likewise. (various splitters): Likewise. (divsi_inv_fp_combine): Likewise. (symGOT_load, symGOTOFF2reg, symDTPOFF2reg): Likewise. (seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu): Likewise. (sne): Likewise. * config/sh/predicates.md (xor_operand): Likewise. * config/sparc/sparc.c (legitimize_tls_address): Likewise. * config/sparc/sparc.md (movsi_pic_label_ref): Likewise. (movdi_pic_label_ref): Likewise. * config/spu/spu.c (spu_split_immediate): Likewise. * config/alpha/alpha.md (various splitters): Remove test !no_new_pseudos || reload_completed. * config/ia64/ia64.c (ia64_output_mi_thunk): Don't set no_new_pseudos. * config/m68k/m68k.c (m68k_output_mi_thunk): Likewise. * config/mips/mips.c (mips_output_mi_thunk): Likewise. * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise. * config/score/score.c (th_output_mi_thunk): Likewise. * config/sh/sh.c (sh_output_mi_thunk): Likewise. * config/sparc/sparc.c (sparc_output_mi_thunk): Likewise. From-SVN: r126517
2007-06-28* config/m32c/m32c.h (OVERRIDE_OPTIONS): Omit unneeded semicolon.DJ Delorie1-1/+1
From-SVN: r126092
2007-06-27re PR target/32418 (ICE in global_alloc, at global.c:514)Rask Ingemann Lambertsen1-1/+1
2007-06-27 Rask Ingemann Lambertsen <rask@sygehus.dk> PR target/32418 * config/m32c/m32c.c (m32c_eh_return_stackadj_rtx): Dataflow fix: Use a call clobbered hard reg instead of a pseudo reg. From-SVN: r126067
2007-06-20re PR target/32335 (libgcc build failure, ICE in cselib_record_set, at ↵Rask Ingemann Lambertsen2-8/+37
cselib.c:1508) 2007-06-20 Rask Ingemann Lambertsen <rask@sygehus.dk> PR target/32335 * config/m32c/m32c.c (m32c_emit_epilogue): Use new HImode epilogue for TARGET_A16. * config/m32c/prologue.md (epilogue_exitd_16): New. (epilogue_reit_16): New. (epilogue_exitd): Rename to epilogue_exitd_24. (epilogue_reit): Rename to epilogue_reit_24. From-SVN: r125892
2007-06-19re PR target/32335 (libgcc build failure, ICE in cselib_record_set, at ↵Rask Ingemann Lambertsen2-12/+21
cselib.c:1508) 2007-06-19 Rask Ingemann Lambertsen <rask@sygehus.dk> PR target/32335 * config/m32c/m32c.c: Include dataflow header file. (m32c_emit_prologue): Adjust for prologue insn change. * config/m32c/prologue.md (prologue_enter_16): Only modify SP_REGNO once inside a PARALLEL. Assume frame size passed in operand 0 includes space to save the fb register. (prologue_enter_24): Likewise. (epilogue_exitd): Only modify SP_REGNO once inside a PARALLEL. From-SVN: r125853
2007-06-11Merge dataflow branch into mainlineDaniel Berlin1-2/+2
From-SVN: r125624
2007-05-07muldiv.md (mulhisi3_c): Limit the mode of the 2nd operand to HI mode.Naveen.H.S1-2/+29
* config/m32c/muldiv.md (mulhisi3_c): Limit the mode of the 2nd operand to HI mode. (mulsi3): New. (divsi3): New. (udivsi3): New. From-SVN: r124524
2007-05-07m32c.c (SYMBOL_FLAG_FUNCVEC_FUNCTION): Define.Jayant Sonar3-2/+143
* config/m32c/m32c.c (SYMBOL_FLAG_FUNCVEC_FUNCTION): Define. (TARGET_ENCODE_SECTION_INFO): Re-define. (m32c_encode_section_info): New (function_vector_handler): New (current_function_special_page_vector): New (m32c_special_page_vector_p): New. * config/m32c/m32c-protos.h (m32c_special_page_vector_p): Prototype. * config/m32c/jump.md: Added instruction JSRS for functions with attribute "function_vector". * doc/extend.texi (function_vector): Added description for M16C, M32C targets. From-SVN: r124523
2007-05-07re PR target/31794 (Problem while compiling gcc for m32c-elf)DJ Delorie1-5/+5
PR 31794 * config/m32c/shift.md (ashlpsi3_i, ashrpsi3_i, ashlpsi3, ashrpsi3, lshrpsi3): Update shift count constraint. From-SVN: r124521
2007-03-09* config/m32c/t-m32c (m32c-pragma.o): Add TM_H dependency to m32c-pragma.oDJ Delorie1-1/+1
From-SVN: r122759
2007-02-08m32c.c (m32c_unpend_compare): Add default to silence warnings.DJ Delorie1-19/+20
* config/m32c/m32c.c (m32c_unpend_compare): Add default to silence warnings. (legal_subregs): Use unsigned char, make const. (m32c_illegal_subreg_p): Use ARRAY_SIZE. Delete unused variables. From-SVN: r121733
2007-02-08m32c-protos.h (m32c_illegal_subreg_p): New.DJ Delorie3-1/+81
* config/m32c/m32c-protos.h (m32c_illegal_subreg_p): New. * config/m32c/m32c.c (legal_subregs): New. (m32c_illegal_subreg_p): New. * config/m32c/predicates.md (m32c_any_operand): Use it to reject unsupported subregs of hard regs. From-SVN: r121725
2007-02-04bitops.md, [...]: Follow spelling conventions.Kazu Hirata4-19/+19
* config/m32c/bitops.md, config/m32c/jump.md, config/m32c/m32c.c, config/m32c/m32c.h, config/m32r/m32r.c, config/m32r/m32r.h, config/m32r/m32r.md, config/m32r/predicates.md, config/m68hc11/larith.asm, config/m68hc11/m68hc11.c, config/m68hc11/m68hc11.h, config/m68k/m68k.h, config/mcore/mcore.md, config/mips/4k.md, config/mips/mips-protos.h, config/mips/mips.c, config/mips/mips.h, config/mips/mips.md, config/mips/mips16.S, config/mn10300/mn10300.h, config/mn10300/predicates.md, config/mt/mt.c, config/mt/mt.h, config/mt/mt.md: Follow spelling conventions. From-SVN: r121565
2007-01-25m32c.c (m32c_cannot_change_mode_class): We don't allow changes to modes ↵DJ Delorie1-0/+8
which don't fit in those registers. * config/m32c/m32c.c (m32c_cannot_change_mode_class): We don't allow changes to modes which don't fit in those registers. From-SVN: r121199
2006-12-08recog.c (mode_dependent_address_p): Identify pre-increment...Mark Shinwell3-13/+1
gcc/ * recog.c (mode_dependent_address_p): Identify pre-increment, pre-decrement, post-increment and post-decrement addressing as always being mode-dependent. * config/m32c/m32c.c (m32c_mode_dependent_address): Delete. * config/m32c/m32c.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op. * config/m32c/m32c-protos.h (m32c_mode_dependent_address): Delete. * config/m32r/m32r.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete PRE_DEC, PRE_INC and POST_INC checks. * config/i386/i386.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op. * config/sh/sh.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op. * config/pdp11/pdp11.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op. * config/avr/avr.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op. * config/c4x/c4x.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete PRE_DEC, PRE_INC, POST_DEC and POST_INC cases. * config/stormy16/stormy16.c (xstormy16_mode_dependent_address_p): Delete POST_INC and PRE_DEC cases. * config/m68hc11/m68hc11.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op. * config/cris/cris.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op. * config/mn10300/mn10300.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op. * config/ia64/ia64.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op. * config/m68k/m68k.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op. * config/rs6000/rs6000.c (rs6000_mode_dependent_address): Delete PRE_INC and PRE_DEC cases. * config/arc/arc.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op. * config/mcore/mcore.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op. * config/arm/arm.h (ARM_GO_IF_MODE_DEPENDENT_ADDRESS): Delete. (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op. * config/pa/pa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op. * config/vax/vax.c (vax_mode_dependent_address_p): Delete auto-increment cases. * config/h8300/h8300.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete auto-increment cases. * config/bfin/bfin.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op. gcc/testsuite/ * gcc.c-torture/execute/mode-dependent-address.c: New test. From-SVN: r119660
2006-11-13m32c.c (m32c_prepare_shift): Use a separate temporary for intermediates.DJ Delorie1-5/+7
* config/m32c/m32c.c (m32c_prepare_shift): Use a separate temporary for intermediates. From-SVN: r118798
2006-09-01cond.md (cbranch<mode>4): Defer splitting until after reload.DJ Delorie4-22/+208
* config/m32c/cond.md (cbranch<mode>4): Defer splitting until after reload. (stzx_16): Likewise. ("stzx_24_<mode>"): Likewise. ("stzx_reversed_<mode>"): Likewise, and make mode-specific. ("cmp<mode>_op"): New. (cmp<mode>): Change to expander; just save operands. (b<code>_op): New. (b<code>): Change to expander, emit compare here. (s<code>_op): Change to use split and expander. (s<code>_24_op): Likewise. (s<code>_<mode>): New. (s<code>_<mode>_24): New. (movqicc_<code>_<mode): New. (movhicc_<code>_<mode>): New. (s<code>): New. (s<code>_24): New. * config/m32c/m32c.c (compare_op0, compare_op1): New. (m32c_pend_compare): New. (m32c_unpend_compare): New. (m32c_expand_scc): New. (m32c_expand_movcc): Emit the compare also. * config/m32c/predicates.md (mra_nopp_operand): New. From-SVN: r116653
2006-08-16* config/m32c/m32c_lib1.S (__mulsi3): Use only registers for dest.Naveen.H.S1-4/+5
From-SVN: r116196
2006-07-12muldiv.md (umulhisi3_c): Use only registers for dest.Naveen.H.S1-6/+6
* config/m32c/muldiv.md (umulhisi3_c): Use only registers for dest. (umulhisi3_r): Likewise. From-SVN: r115400
2006-06-26[multiple changes]DJ Delorie5-6/+297
2006-06-26 DJ Delorie <dj@redhat.com> * config/m32c/m32c.c (m32c_print_operand): Fix sign-merging logic. 2006-06-26 Naveen H.S <naveenh@kpitcummins.com> Jayant Sonar <jayants@kpitcummins.com> Jaydeep Vipradas <jaydeepv@kpitcummins.com> * config/m32c/addsub.md (addsi3, addsi3_1, addsi3_2): New. (subsi3, subsi3_1, subsi3_2): New. * config/m32c/bitops.md (andsi3, iorsi3, xorsi3): New. * config/m32c/mov.md (SI mov peephole): New. * config/m32c/m32.c (m32c_immd_dbl_mov): New. * config/m32c/m32c-protos.h (m32c_immd_dbl_mov): New. From-SVN: r115023
2006-06-22muldiv.md (mulhisi3_i): Only use registers for dest (TN-16C-A156A/E).DJ Delorie1-6/+6
* config/m32c/muldiv.md (mulhisi3_i): Only use registers for dest (TN-16C-A156A/E). (mulhisi3_r): Likewise. From-SVN: r114891
2006-06-13* config/m32c/muldiv.md (mulpsi3): Expect arbitrary constants.DJ Delorie1-1/+1
From-SVN: r114632
2006-05-30m32c.c (m32c_expand_insv): Check that the value we're inserting is a ↵Naveen.H.S1-0/+8
singlt-bit constant. * config/m32c/m32c.c (m32c_expand_insv): Check that the value we're inserting is a singlt-bit constant. Co-Authored-By: DJ Delorie <dj@redhat.com> From-SVN: r114250
2006-04-18* config/m32c/m32c.h (PTRDIFF_TYPE): Define.DJ Delorie1-0/+3
From-SVN: r113054
2006-04-07m32c.c (m32c_function_arg): Structures are always passed on the stack.DJ Delorie1-12/+19
* config/m32c/m32c.c (m32c_function_arg): Structures are always passed on the stack. (m32c_init_cumulative_args): When a function returns a structure, always pass the pointer to that return area on the stack. (m32c_function_arg_advance): Don't increment the parameter number if we're processing the returned structure pointer. (pushm_info): Reverse order of registers. From-SVN: r112765
2006-04-05m32c.h (INCOMING_FRAME_SP_OFFSET): Adjust for m16c vs m32c.DJ Delorie1-1/+1
* config/m32c/m32c.h (INCOMING_FRAME_SP_OFFSET): Adjust for m16c vs m32c. From-SVN: r112730
2006-03-31cond.md: Set condition flags properly throughout.DJ Delorie12-35/+344
* config/m32c/cond.md: Set condition flags properly throughout. * config/m32c/minmax.md: Likewise. * config/m32c/prologue.md: Likewise. * config/m32c/bitops.md: Likewise. * config/m32c/muldiv.md: Likewise. * config/m32c/mov.md: Likewise. * config/m32c/addsub.md: Likewise. * config/m32c/m32c.md: Likewise. * config/m32c/jump.md: Likewise. * config/m32c/shift.md: Likewise. * config/m32c/cond.md (cmp<mode>): Call m32c_output_compare to conditionally output the pattern for this. * config/m32c/m32c.c (flags_needed_for_conditional): New. (m32c_compare_redundant): New. (m32c_output_compare): New. * config/m32c/m32c-protos.h (m32c_output_compare): New. * config/m32c/m32c.c (m32c_prepare_shift): Fix logic to clobber dest, not src. Allow other 4-byte modes. From-SVN: r112591
2006-03-10m32c.c (m32c_const_ok_for_constraint_p): Bit numbers start at zero.DJ Delorie1-5/+9
* config/m32c/m32c.c (m32c_const_ok_for_constraint_p): Bit numbers start at zero. (m32c_expand_insv): Fix test for an AND mask. From-SVN: r111937
2006-03-08addsub.md (addqi3): Disparage a0/a1.DJ Delorie12-172/+1370
* config/m32c/addsub.md (addqi3): Disparage a0/a1. (addpsi3): Expand to include memory operands. Remove reload-specific splits. * config/m32c/bitops.md (bset_qi, bset_hi, bclr_qi): New. (andqi3_16, andhi3_16, iorqi3_16, iorhi3_16): New. (andqi3_24, andhi3_24, iorqi3_24, iorhi3_24): New. (andqi3, andhi3, iorqi3, iorhi3): Convert to expanders. (shift1_qi, shift1_hi, insv): New. * config/m32c/cond.md (cbranchqi4, cbranchhi4): Remove. (cbranch<mode>4, stzx_16, stzx_24_<mode>, stzx_reversed, cmp<mode>, b<code>, s<code>, s<code>_24, movqicc, movhicc, cond_to_int): New. * config/m32c/m32c-protos.h: Update as needed. * config/m32c/m32c.c (m32c_reg_class_from_constraint): Don't default the Rcr, Rcl, Raw, and Ral constraints. Add Ra0 and Ra1. Fail for unrecognized R* constraints. (m32c_cannot_change_mode_class): Be more picky about pseudos. (m32c_const_ok_for_constraint_p): Add Imb, Imw, and I00. (m32c_extra_constraint_p2): Allow (mem (plus (plus fb int) int)). Add Sp constraint. (m32c_init_libfuncs): New. (m32c_legitimate_address_p): Add debug wrapper. (m32c_rtx_costs): New. (m32c_address_cost): New. (conversions): Add 'B' prefix. (m32c_print_operand): 'h' and 'H' pick lower and upper halves of operands, or word regnames for QI operands. 'B' prints bit position. (m32c_expand_setmemhi): New. (m32c_expand_movmemhi): New. (m32c_expand_movstr): New. (m32c_expand_cmpstr): New. (m32c_prepare_shift): Shift counts are limited to 16 bits at a time. (m32c_expand_neg_mulpsi3): Handle non-ints. (m32c_cmp_flg_0): New. (m32c_expand_movcc): New. (m32c_expand_insv): New. (m32c_scc_pattern): New. * config/m32c/m32c.h (reg classes): Add AO_REGS and A1_REGS. Take a0/a1 out of SIregs. (STORE_FLAG_VALUE): New. * config/m32c/m32c.md: Add unspecs for string moves. Define various mode and code macros. (no_insn): New. * config/m32c/mov.md: Make constraints more liberal. (zero_extendqihi2): Optimize r0/r1 case. * config/m32c/muldiv.md (mulpsi3): Check for intvals. * config/m32c/predicates.md (m32c_any_operand): New. (m32c_nonimmediate_operand): New. (m32c_hl_operand): New. (m32c_r3_operand): New. (ap_operand): New. (ma_operand): New. (memsym_operand): New. (memimmed_operand): New. (a_qi_operand): New. (m32c_eqne_operator): New. (m32c_1bit8_operand): New. (m32c_1bit16_operand): New. (m32c_1mask8_operand): New. (m32c_1mask16_operand): New. * config/m32c/blkmov.md: New file. * config/m32c/t-m32c (MD_FILES): Add blkmov. From-SVN: r111859
2006-01-19* config/m32c/m32c.h (REG_ALLOC_ORDER): Define.DJ Delorie1-0/+7
From-SVN: r110003
2006-01-19m32c.c (m32c_prepare_shift): Add code to deal with the 16 bit shift limit of ↵DJ Delorie1-4/+64
the m16c. * config/m32c/m32c.c (m32c_prepare_shift): Add code to deal with the 16 bit shift limit of the m16c. From-SVN: r109987
2006-01-12shift.md: Rewrite...DJ Delorie3-59/+146
* config/m32c/shift.md: Rewrite: Allow arbitrary operands for shift counts, separate SI shifts for m32c vs m16c, pass shift type so that constant shifts can be split. * config/m32c/m32c.c (m32c_const_ok_for_constraint_p): Add In6. (m32c_valid_pointer_mode): Make static. (shift_gen_func_for): New. (m32c_prepare_shift): Use it. Split large const shifts into multiple shifts. * config/m32c/predicates.md (shiftcount_operand): Allow more general operands. (longshiftcount_operand): New. * doc/md.texi (Machine Constraints): Document In6. From-SVN: r109661
2006-01-12addsub.md (addhi3): Add two more alternatives, for mova with fb, and for ↵DJ Delorie4-11/+87
fb+0 -> An. * config/m32c/addsub.md (addhi3): Add two more alternatives, for mova with fb, and for fb+0 -> An. * config/m32c/mov.md (peephole2): Fix enabling logic. * config/m32c/m32c.h (CTOR_LIST_BEGIN, CTOR_LIST_END, DTOR_LIST_BEGIN, DTOR_LIST_END, CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, INIT_ARRAY_SECTION_ASM_OP, FINI_ARRAY_SECTION_ASM_OP): Define. * config/m32c/m32c.c (m32c_legitimize_address): Remove temporary variable. (m32c_legitimize_reload_address): New logic to reload FB to An. (m32c_output_reg_push): Add newline. (m32c_output_reg_pop): Likewise. From-SVN: r109648
2005-12-15predicates.md (m32c_psi_scale): New.DJ Delorie3-3/+45
* config/m32c/predicates.md (m32c_psi_scale): New. * config/m32c/m32c.c (m32c_expand_neg_mulpsi3): New. * config/m32c/muldiv.md (mulpsi3): Support negative constants. From-SVN: r108620