gcc/
200x-xx-xx Julian Brown <julian@codesourcery.com>
* config/m68k/m68k.h (TARGET_ISAB): New macro.
* config/m68k/m68k.c: Use TARGET_ISAB rather than TARGET_CFV4.
* config/m68k/m68k.md: Likewise.
From-SVN: r120709
gcc/
200x-xx-xx Julian Brown <julian@codesourcery.com>
* config/m68k/m68k.h (TUNE_68040_60): New macro.
* config/m68k/m68k.c (standard_68881_constant_p): Use it.
* config/m68k/m68k.md: Likewise.
From-SVN: r120707
gcc/
200x-xx-xx Julian Brown <julian@codesourcery.com>
Richard Sandiford <richard@codesourcery.com>
* config/m68k/m68k.h (TARGET_CPU_CPP_BUILTINS): Use TUNE_68030
instead of TARGET_68030, TUNE_68040 instead of TARGET_68040,
TUNE_68060 instead of TARGET_68060 and TUNE_CPU32 instead of
TARGET_CPU32.
(TARGET_CPU32): Rename to...
(TUNE_CPU32): ...this.
(TUNE_68000_10, TUNE_68030, TUNE_68040, TUNE_68060)
(TUNE_CFV2): New macros.
* config/m68k/netbsd-elf.h (LONG_DOUBLE_TYPE_SIZE): Simplify;
remove conditions that are implied by TARGET_68020.
* config/m68k/m68k.c (m68k_output_function_prologue): Use TUNE_68040
instead of TARGET_68040 and TUNE_CPU32 instead of TARGET_CPU32.
(m68k_output_function_epilogue): Likewise.
(m68k_rtx_costs): Likewise. Use TUNE_68060 instead of TARGET_68060
and TUNE_CFV2 instead of TARGET_5200. Use TUNE_68000_10 instead of
"!TARGET_68020 && !TARGET_COLDFIRE" to choose between 68000 and
non-68000 timings. Refactor multiplication and division costs.
(output_addsi3): Use TUNE_68040 instead of TARGET_68040 and
TUNE_CPU32 instead of TARGET_CPU32.
(standard_68881_constant_p): Use TUNE_68040 instead of TARGET_68040
and TUNE_68060 instead of TARGET_68060.
* config/m68k/m68k.md: Use TUNE_68040 instead of TARGET_68040,
TUNE_68060 instead of TARGET_68060, and TUNE_CPU32 instead of
TARGET_CPU32.
(movsi_const0): Use TUNE_68000_10 rather than "!TARGET_68020
&& !TARGET_COLDFIRE" to choose between moveq and clr.
Likewise in the unnamed movsf pattern.
(ashlsi_17_24, lshrsi_17_24): Guard with TUNE_68000_10 rather than
"!TARGET_68020 && !TARGET_COLDFIRE". Likewise the unnamed
ashiftrt pattern.
Co-Authored-By: Richard Sandiford <richard@codesourcery.com>
From-SVN: r120706
* tree-ssa-loop-ivopts.c (extract_cond_operands): Split from
find_interesting_uses_cond.
(find_interesting_uses_cond): Use extract_cond_operands.
(rewrite_use_compare): Use extract_cond_operands and
force_gimple_operand_bsi. Do not call update_stmt.
(determine_use_iv_cost_condition): Use extract_cond_operands.
Return cheaper of using original bound and changing the exit bound.
* gcc.dg/tree-ssa/loop-22.c: New test.
From-SVN: r120697
PR tree-optimization/29516
* tree-ssa-address.c (tree_mem_ref_addr, add_to_parts,
most_expensive_mult_to_index, addr_to_parts,
create_mem_ref, maybe_fold_tmr): Make the type of
fields of TARGET_MEM_REF sizetype.
(move_fixed_address_to_symbol, move_pointer_to_base):
New functions.
* tree.def (TARGET_MEM_REF): Add comment on types of
the operands.
* gcc.dg/tree-ssa/loop-20.c: New test.
From-SVN: r120695
* ifcvt.c (struct noce_if_info): Add comments to the fields.
Remove the b_unconditional field.
(noce_try_sign_mask): Do not look at b_unconditional.
(noce_process_if_block): Do not use merge_if_blocks. Update
the CFG here. Do not set b_unconditional.
(cond_move_process_if_block): Likewise.
(find_cond_trap): Likewise.
(check_cond_move_block): Require simple jump insns at the end
of the basic block.
From-SVN: r120686
2007-01-11 Thomas Koenig <Thomas.Koenig@online.de>
PR libfortran/30415
* iresolve.c (gfc_resolve_maxloc): If the rank
of the return array is nonzero and we process an
integer array smaller than default kind, coerce
the array to default integer.
* iresolve.c (gfc_resolve_minloc): Likewise.
2007-01-11 Thomas Koenig <Thomas.Koenig@online.de>
PR libfortran/30415
* minmaxloc_integer_kinds_1.f90: New test.
From-SVN: r120685
2007-01-11 Andreas Tobler <a.tobler@schweiz.org>
* configure.ac: Replaced HAS_I386_THREAD_STATE_* with
HAS_X86_THREAD_STATE32_* and HAS_X86_THREAD_STATE64_* respectively.
* configure: Regenerated.
* include/private/gcconfig.h (DARWIN): Added X86_64 define for Darwin.
Added base definitions for the X86_64 Darwin port.
* include/private/gc_priv.h: Added definitions for Darwin MACH thread
operations. Moved existing THREAD_STATE info from darwin_stop_world.c.
* darwin_stop_world.c: Removed THREAD_STATE info. Added
HAS_X86_THREAD_STATE64___RAX. And replaced HAS_I386_THREAD_STATE___EAX
with HAS_X86_THREAD_STATE32___EAX.
(GC_push_all_stacks): Use GC_MACH_THREAD_STATE_COUNT. Add code for
X86_64 Darwin.
* dyn_load.c (GC_dyld_name_for_hdr): Use GC_MACH_HEADER.
(GC_dyld_image_add): Use GC_MACH_HEADER and GC_MACH_SECTION.
Distinguish between getsectbynamefromheader_64 and
getsectbynamefromheader.
(GC_dyld_image_remove): Likewise.
* os_dep.c (GC_dirty_init): Use GC_MACH_THREAD_STATE.
(catch_exception_raise): Introduce exception information for I386 and
X86_64 Darwin. Add X86_64 for exc_state.faultvaddr.
From-SVN: r120684
PR tree-optimization/1046
* tree-tailcall.c (suitable_for_tail_call_opt_p): Use TREE_ADDRESSABLE
when alias info is not ready.
(pass_tail_recursion): Do not require aliasing.
* tree-ssa-copyrename.c (pass_rename_ssa_cop): Likewise.
* tree-ssa-ccp.c (pass_ccp, pass_fold_builtins): Likewise.
* tree-ssa-copy.c (pass_copy_prop): Likewise.
* tree-ssa-forwprop.c (pass_forwprop): Likewise.
* tree-ssa-dce.c (pass_dce, pass_dce_loop, pass_cd_dce): Likewise.
* passes.c (init_optimization_passes): Execute rename_ssa_copies,
ccp, forwprop, copy_prop, merge_phi, copy_prop, dce and tail recursion
before inlining.
* tree-ssa-operands.c (add_virtual_operand, get_indirect_ref_operand):
When aliasing is not build, mark statement as volatile.
From-SVN: r120680
config:
2007-01-11 Paolo Bonzini <bonzini@gnu.org>
* config/warnings.m4: Add second parameter with name of variable.
Always append to the variable if it exists.
libcpp:
2007-01-11 Paolo Bonzini <bonzini@gnu.org>
* configure: Regenerate.
From-SVN: r120673
* config/mcore/predicates.md (mcore_general_movesrc_operand): Accept CONSTs.
(mcore_general_movdst_operand): Do not accept CONST_INTs.
(mcore_arith_K_S_operand): Run the test for the S constraint not the test for the M constraint.
(mcore_addsub_operand): Do not accept integer values that are larger than 32 bits.
* config/mcore/mcore.md: Remove unused constraints from split.
(andsi3): Use HOST_WIDE_INT instead of int to hold an INTVAL.
(addsi3): Likewise.
(allocate_stack): Likewise.
* config/mcore/mcore.c (mcore_print_operand): Restrict output of P operands to 32 bits.
(mcore_const_costs): Use HOST_WIDE_INT instead of int to hold an INTVAL.
(mcore_and_cost, mcore_modify_comparison, const_ok_for_mcore,
mcore_const_ok_for_inline, mcore_const_trick_uses_not,
try_constant_tricks, mcore_num_ones, mcore_num_zeros,
mcore_output_bclri, mcore_output_andn, output_inline_const,
mcore_output_move, mcore_output_movedouble): Likewise.
(mcore_output_cmov): Use CONST_OK_FOR_M and CONST_OK_FOR_N.
(output_inline_const): Likewise.
(output_inline_const): Fix format strings used in sprintf statements.
* config/mcore/mcore-protos.h: Update prototypes for changed functions in mcore.c.
* config/mcore/mcore.h (CONST_OK_FOR_I): Cast values to HOST_WIDE_INT and not int.
(CONST_OK_FOR_J, CONST_OK_FOR_K, CONST_OK_FOR_L, CONST_OK_FOR_M,
CONST_OK_FOR_N): Likewise.
(LEGITIMATE_CONSTANT_P): Also check CONSTANT_P.
(GO_IF_LEGITIMATE_INDEX): Use HOST_WIDE_INT instead of int to hold an INTVAL.
From-SVN: r120669
PR c++/28999
* decl.c (make_typename_type): If the qualified name is not a
type, issue an error.
* parser.c (cp_parser_elaborated_type_specifier): Fix comment
formatting.
From-SVN: r120663
* tree-ssa-loop-manip.c (tree_unroll_loop): Make it a wrapper over ...
(tree_transform_and_unroll_loop): New.
* tree-flow.h (transform_callback, tree_transform_and_unroll_loop):
Declare.
From-SVN: r120650
./: * fold-const.c (fold_comparison): Fold comparisons like (x *
1000 < 0) to (x < 0).
testsuite/:
* gcc.dg/fold-compare-2.c: New test case for fold_comparison.
From-SVN: r120649