gcc/
2007-09-14 Nigel Stephens <nigel@mips.com>
* config.gcc (mips*-*-linux*): Recognise mipsisa32r2 and set
MIPS_ISA_DEFAULT appropriately. Don't make soft-float the default
for mipsisa32-*-linux*.
From-SVN: r128498
* configure.ac (mips*-sde-elf*): New stanza. Add target-libiberty
to $skipdirs and only disable gprof for newlib. Use the normal
mips*-elf* handling in other respects.
* configure: Regnerate.
gcc/
2007-xx-xx Nigel Stephens <nigel@mips.com>
David Ung <davidu@mips.com>
Thiemo Seufer <ths@mips.com>
Richard Sandiford <richard@codesourcery.com>
* config.gcc (mips*-sde-elf*): Add support for the SDE C libraries.
* configure.ac: Add a mipssde threading type.
* configure: Regenerate.
* config/mips/sdemtk.h: New file.
* config/mips/t-sdemtk: Likewise.
* config/mips/sdemtk.opt: Likewise.
* gthr-mipssde.h: Likewise.
* config/mips/sde.h (FUNCTION_PROFILER): Move to config/mips/sdemtk.h.
* config/mips/mips.h (MIPS_SAVE_REG_FOR_PROFILING_P): New macro.
(MIPS_ICACHE_SYNC): New macro, split from ...
* config/mips/mips.md (clear_cache): ...here.
* config/mips/mips.c (mips_save_reg_p): Check
MIPS_SAVE_REG_FOR_PROFILING_P on profiled functions.
(build_mips16_function_stub): Use targetm.strip_name_encoding.
(build_mips16_call_stub): Likewise.
libstdc++-v3/
2007-xx-xx Thiemo Seufer <ths@mips.com>
* crossconfig.m4 (mips*-sde-elf*): New stanza.
* configure: Regenerate.
From-SVN: r128495
PR target/32337
* config/ia64/ia64.c (find_gr_spill): Don't decrement
current_frame_info.n_local_regs. Don't return emitted local
regs.
(ia64_compute_frame_size): Improve unwind hack to put
RP, PFS, FP in that order by allowing some of the registers
been already emitted, as long as they are emitted to the
desired register.
From-SVN: r128490
2007-09-13 Eric Christopher <echristo@apple.com>
Kenneth Zadeck <zadeck@naturalbridge.com>
* dse.c (find_shift_sequence): New function.
(replace_read): Add case to remove read if it requires shift.
* config/i386/i386.c (ix86_expand_prologue): Fixed typo in comment.
Co-Authored-By: Kenneth Zadeck <zadeck@naturalbridge.com>
From-SVN: r128481
2007-09-13 Thomas Koenig <tkoenig@gcc.gnu.org>
* iresolve.c (resolve_mask_arg): If a mask is an array
expression, convert it to kind=1.
From-SVN: r128477
* config/bfin/bfin.md (reload_outpdi, reload_inpdi): New patterns.
* config/bfin/bfin.c (bfin_secondary_reload): Make sure we use them.
From-SVN: r128470
2007-09-13 James E. Wilson <wilson@specifix.com>
PR tree-optimization/33389
* tree-ssa-operands.c (append_vuse): If ann->in_vdef_list true,
then set build_loads before returning.
From-SVN: r128469
2007-09-13 Sandra Loosemore <sandra@codesourcery.com>
David Ung <davidu@mips.com>
gcc/
* config/mips/mips.h (ASM_OUTPUT_REG_PUSH): Replace {d}subu with
{d}addiu and a negative immediate such that it works with MIPS16
instructions.
Co-Authored-By: David Ung <davidu@mips.com>
From-SVN: r128468
gcc/
2007-09-13 Richard Sandiford <richard@codesourcery.com>
Sandra Loosemore <sandra@codesourcery.com>
* config/mips/mips.h (SYMBOL_FLAG_MIPS16_FUNC): Delete.
(SYMBOL_REF_MIPS16_FUNC_P): Delete.
* config/mips/mips.c (mips_attribute_table): Turn mips16 and
nomips16 into decl attributes.
(TARGET_INSERT_ATTRIBUTES): Override.
(TARGET_MERGE_DECL_ATTRIBUTES): Likewise.
(TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P): Always return true.
(mips_mips16_type_p, mips_nomips16_type_p): Delete in favor of...
(mips_mips16_decl_p, mips_nomips16_decl_p): ...these new functions.
(mips_comp_type_attributes): Remove mips16 and nomips16 handling.
(mips_use_mips16_mode_p): Reimplement as a function that takes
a decl and considers only decl attributes. If the decl is nested
function, use its parent attributes.
(mips_function_ok_for_sibcall): Use mips_use_mips16_mode_p
instead of SYMBOL_REF_MIPS16_FUNC_P.
(mips_set_mips16_mode): Move call to sorry here from old
mips_use_mips16_mode_p.
(mflip_mips16_entry): New structure.
(mflip_mips16_htab): New variable.
(mflip_mips16_htab_hash, mflip_mips16_htab_eq): New functions.
(mflip_mips16_use_mips16_p, mips_insert_attributes): Likewise.
(mips_merge_decl_attributes): New function.
(mips_set_current_function): Reinstate call to mips_set_mips16_mode.
Use mips_use_mips16_mode_p.
(mips_output_mi_thunk): Use mips_use_mips16_mode_p instead of
SYMBOL_REF_MIPS16_FUNC_P.
(mips_encode_section_info): Don't set SYMBOL_FLAG_MIPS16_FUNC.
gcc/testsuite/
* gcc.dg/gcc-have-sync-compare-and-swap.c: Skip for -mflip-mips16.
* gcc.target/mips/mips16-attributes-2.c: New test.
* gcc.target/mips/mips16-attributes-3.c: Likewise.
* gcc.target/mips/args-3.c: Skip for -mflip-mips16. Do not use the
hard-float asm when __mips16 is defined.
* gcc.target/mips/atomic-memory-1.c (main): Add a nomips16 attribute.
* gcc.target/mips/atomic-memory-2.c (main): Likewise.
* gcc.target/mips/fpcmp-1.c (f1, f2): Likewise.
* gcc.target/mips/fpcmp-2.c (f1, f2): Likewise.
* gcc.target/mips/neg-abs-1.c (f1, f2, d1, f2): Likewise.
* gcc.target/mips/pr26765.c (foo): Likewise.
* gcc.target/mips/gcc-have-sync-compare-and-swap-1.c: Run for all
targets, use dg-mips-options instead of dg-options, and use -mgp32
to force 32-bit mode.
* gcc.target/mips/gcc-have-sync-compare-and-swap-2.c: Likewise -mgp64
and 64-bit mode.
* gcc.target/mips/mips.exp (is_gp32_flag): Return true for -mips32*.
Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com>
From-SVN: r128460
PR testsuite/33153
* gcc.dg/pr32912-1.c: Add -fno-common to options on hppa*-*-hpux*.
* gcc.dg/pr32912-2.c: Delete declaration of a, b, c, d, e and f.
From-SVN: r128454
* config/dfp-bit.c (dfp_conversion_exception): New function.
(DFP_TO_DFP) Add new variants to use direct conversions in decNumber.
(DFP_TO_INT): Ditto.
(INT_TO_DFP): Ditto.
* config/dfp-bit.h (DEC_FLOAT_FROM_INT, DEC_FLOAT_TO_INT): New.
From-SVN: r128449
PR target/32338
* config/ia64/ia64.c (ia64_expand_epilogue): Emit blockage
before sp restoration even when total_size is 0, but
frame_pointer_needed.
* gcc.dg/pr32338-1.c: New test.
* gcc.dg/pr32338-2.c: New test.
From-SVN: r128446
* config/xtensa/xtensa.c (machine_function): Add vararg_a7_copy.
(xtensa_copy_incoming_a7): Use start_sequence instead of
push_to_sequence. Stash insns in vararg_a7_copy for builtin_saveregs.
(xtensa_builtin_saveregs): Place code from vararg_a7_copy at the start
of the saveregs sequence.
From-SVN: r128443
PR ada/26797
PR ada/32407
* utils.c (unchecked_convert): Use a subtype as the intermediate type
in the special VIEW_CONVERT_EXPR case.
From-SVN: r128441
* configure.host: Enable interpreter for mips64. Enable hash
synchronization for all mips*-*-linux* targets.
* sysdep/mips/locks.h (compare_and_swap, compare_and_swap_release) Use
__sync_bool_compare_and_swap instead of in-line asm.
(release_set, read_barrier, write_barrier): Use __sync_synchronize
instead of in-line asm.
From-SVN: r128438
gcc/
* c-tree.h (grokfield): Add a "tree *" argument.
* c-decl.c (grokdeclarator): Take a pointer to the decl's attributes.
Chain nested decl attributes to it. Don't call decl_attributes here.
(groktypename): Pass grokdeclarator a pointer to the attribute list.
(start_decl, grokparm, push_parm_decl, start_function): Likewise.
(grokfield): Take a pointer to the decl's attributes and pass
it to grokdeclarator.
* c-parser.c (c_parser_struct_declaration): Update the calls to
grokfield. Call decl_attributes for anonymous struct and union
fields.
From-SVN: r128437