aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2011-11-29libgo: update to weekly.2011-10-25Ian Lance Taylor39-3367/+4628
Changes were mainly straightforward to merge. From-SVN: r181824
2011-11-29re PR target/51337 (SH Target: Various testsuite ICEs for -m2a -O0)Oleg Endo2-0/+14
PR target/51337 * config/sh/sh.c (sh_secondary_reload): Add case when FPUL register is being loaded from a pseudo in memory. From-SVN: r181823
2011-11-29runtime: If no sem_timedwait, use pthread_cond_timedwait.Ian Lance Taylor5-11/+114
From-SVN: r181821
2011-11-29.DJ Delorie38-8/+6095
* configure.ac (rl78-*-*) New case. * configure: Regenerate. * MAINTAINERS: Add myself as RL78 maintainer. libgcc * config.host (rl78-*-elf): New case. * config/rl78: New directory for the Renesas RL78. gcc * config.gcc (rl78-*-elf): New case. * doc/extend.texi: Add RL78 documentation. * doc/invoke.texi: Likewise. * doc/md.texi: Likewise. * doc/contrib.texi: Add RL78. * doc/install.texi: Add rl78-*-elf. * config/rl78: New directory for the Renesas RL78. contrib * config-list.mk (LIST): Add rl78-elf. From-SVN: r181819
2011-11-29re PR tree-optimization/51247 (ICE in set_value_range, at tree-vrp.c:417)Jakub Jelinek4-10/+68
PR tree-optimization/51247 * tree-vrp.c (extract_range_from_assert): For signed 1-bit precision types instead of adding 1 subtract -1 and instead of subtracting 1 add -1 to avoid overflows. * gcc.c-torture/compile/pr51247.c: New test. From-SVN: r181818
2011-11-29config.rpath (ld_shlibs): Fix detection of FreeBSD-10 and up.Andreas Tobler3-8/+14
2011-11-29 Andreas Tobler <andreast@fgznet.ch> * config.rpath (ld_shlibs): Fix detection of FreeBSD-10 and up. (libname_spec): Likewise. * configure: Regenerate with autoconf -I ../../. From-SVN: r181816
2011-11-29re PR target/50123 (cmpxchg generated for atomic and with zero/or with -1)Andrew MacLeod4-0/+72
2011-11-29 Andrew MacLeod <amacleod@redhat.com> PR target/50123 * optabs.c (maybe_optimize_fetch_op): New. Look for more optimal instructions for a FECTH_OP or OP_FECTH sequence. (expand_atomic_fetch_op): Call maybe_optimize_fetch_op. * testsuite/gcc.dg/atomic-op-optimize.c: New. Test for optimizations. From-SVN: r181815
2011-11-29runtime: If O_CLOEXEC is not defined, define it as 0.Ian Lance Taylor1-0/+4
From-SVN: r181814
2011-11-29compiler: Define and use backend-independent Location class.Sanjoy Das29-1104/+1545
From Sanjoy Das. * go-location.h: New file. * go-linemap.cc: New file. * go-gcc.cc: Change all uses of source_location to Location. * Make-lang.in (GO_OBJS): Add go/go-linemap.o. (GO_LINEMAP_H): New variable. (GO_LEX_H): Use $(GO_LINEMAP_H). (GO_GOGO_H, GO_TYPES_H, GO_IMPORT_H): Likewise. (go/go-linemap.o): New target. Co-Authored-By: Ian Lance Taylor <iant@google.com> From-SVN: r181813
2011-11-29sync.md (UNSPEC_LDA, UNSPEC_STA): New unspecs.Uros Bizjak3-10/+41
* config/i386/sync.md (UNSPEC_LDA, UNSPEC_STA): New unspecs. (movdi_via_fpu): Remove. (loaddi_via_fpu): New insn pattern. (storedi_via_fpu): Ditto. (atomic_loaddi_fpu): Use loaddi_via_fpu and storedi_via_fpu. (atomic_storedi_fpu): Ditto. * reg-stack.c (get_true_reg): Handle UNSPEC_LDA. (subst_stack_regs_pat): Handle UNSPEC_STA. From-SVN: r181812
2011-11-29i386.md (*floathi<mode>2_i387_with_temp): Do not allocate scratch memory for ↵Uros Bizjak2-16/+15
alternative 0. * config/i386/i386.md (*floathi<mode>2_i387_with_temp): Do not allocate scratch memory for alternative 0. From-SVN: r181811
2011-11-29re PR fortran/40958 (module files too large)Thomas Koenig2-15/+36
2011-11-29 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/40958 * module.c (prev_module_line): New variable. (prev_module_column): New variable. (prev_character): New variable. (module_char): Update the new variables. (module_unget_char): New function. (parse_string): Use module_unget_char. (parse_integer): Likewise. (parse_name): Likewise. From-SVN: r181810
2011-11-29Enable target specific builtins and macros when using the target attribute ↵Michael Meissner10-2495/+2664
or pragma on rs6000 From-SVN: r181809
2011-11-29tree-diagnostic (struct loc_t): Rename into struct loc_map_pair.David Edelsohn2-9/+14
2011-11-29 Dodji Seketeli <dodji@redhat.com> * tree-diagnostic (struct loc_t): Rename into struct loc_map_pair. (maybe_unwind_expanded_macro_loc): Adjust. From-SVN: r181808
2011-11-29trans-mem.c (ipa_tm_create_version_alias): Mangle new_decl if DECL_ONE_ONLY.David Edelsohn2-2/+9
2011-11-21 David Edelsohn <dje.gcc@gmail.com> Aldy Hernandez <aldyh@redhat.com> * trans-mem.c (ipa_tm_create_version_alias): Mangle new_decl if DECL_ONE_ONLY. (ipa_tm_create_version): Same. Co-Authored-By: Aldy Hernandez <aldyh@redhat.com> From-SVN: r181807
2011-11-29haifa-sched.c (recompute_todo_spec): Simplify and correct the code checking ↵Bernd Schmidt2-26/+19
for a clobber of a condition register... * haifa-sched.c (recompute_todo_spec): Simplify and correct the code checking for a clobber of a condition register when deciding whether to predicate. From-SVN: r181806
2011-11-29config.host (tic6x-*-uclinux): Append to extra_parts.Bernd Schmidt2-2/+9
* config.host (tic6x-*-uclinux): Append to extra_parts. Fix formatting. From-SVN: r181805
2011-11-29Use complex floating-point constant in CDBL.Yufeng Zhang2-1/+7
2011-11-29 Yufeng Zhang <yufeng.zhang@arm.com> Use complex floating-point constant in CDBL. * gcc.dg/compat/compat-common.h (CDBL): Replace 1i with 1.0i. From-SVN: r181804
2011-11-29gimple.c (gimple_call_set_cannot_inline): Move from gimple.h.Diego Novillo3-13/+38
* gimple.c (gimple_call_set_cannot_inline): Move from gimple.h. Update field call_stmt_cannot_inline_p from call graph edge, if needed. * gimple.h (gimple_call_set_cannot_inline): Move to gimple.c. From-SVN: r181803
2011-11-29arm.md (arm_movdi): Update NEG_POOL_RANGE.Sameera Deshpande5-9/+19
* config/arm/arm.md (arm_movdi): Update NEG_POOL_RANGE. (movdf_soft_insn): Likewise. * config/arm/fpa.md (thumb2_movdf_fpa): Likewise. * config/arm/neon.md (neon_mov<mode>): Likewise. * config/arm/vfp.md (movdi_vfp): Likewise. (movdi_vfp_cortexa8): Likewise. (movdf_vfp): Likewise. From-SVN: r181802
2011-11-29re PR fortran/51306 (MOVE_ALLOC: Make more middle end friendlier)Tobias Burnus8-38/+236
2011-11-29 Tobias Burnus <burnus@net-b.de> PR fortran/51306 PR fortran/48700 * check.c (gfc_check_move_alloc): Make sure that from/to are both polymorphic or neither. * trans-intrinsic.c (conv_intrinsic_move_alloc): Cleanup, generate inline code. 2011-11-29 Tobias Burnus <burnus@net-b.de> PR fortran/51306 PR fortran/48700 * gfortran.dg/move_alloc_5.f90: Add dg-error. * gfortran.dg/select_type_23.f03: Add dg-error. * gfortran.dg/move_alloc_6.f90: New. * gfortran.dg/move_alloc_7.f90: New. From-SVN: r181801
2011-11-29re PR middle-end/50074 (gcc.dg/sibcall-6.c execution test on x86_64 with -fPIC)Jakub Jelinek2-1/+8
PR middle-end/50074 * expr.c (expand_expr_addr_expr_1): Don't call force_operand for EXPAND_SUM modifier. From-SVN: r181800
2011-11-29hashtable.h (_Hashtable<>::_M_rehash): Remove code useless now that the ↵François Dumont8-40/+319
hashtable implementation put the hash code in... 2011-11-29 François Dumont <fdumont@gcc.gnu.org> * include/bits/hashtable.h (_Hashtable<>::_M_rehash): Remove code useless now that the hashtable implementation put the hash code in cache if the hash functor throws. * testsuite/23_containers/unordered_set/erase/1.cc: Enhance test by checking also distance between begin and end iterators to validate underlying data model. * testsuite/23_containers/unordered_multiset/erase/1.cc: Likewise. * testsuire/23_containers/unordered_map/erase/1.cc: Likewise. * testsuite/23_containers/unordered_multimap/erase/1.cc: Likewise. * testsuite/23_containers/unordered_multiset/erase/2.cc: New. * testsuite/23_containers/unordered_multimap/erase/2.cc: New. From-SVN: r181799
2011-11-29Implement predefined error interface.Ian Lance Taylor1-0/+12
From-SVN: r181798
2011-11-29re PR tree-optimization/51301 (Compiler ICE in vect_is_simple_use_1)Ira Rosen4-2/+33
PR tree-optimization/51301 * tree-vect-patterns.c (vect_recog_over_widening_pattern): Check that the last statement doesn't convert to a bigger type than the original type of the computation. From-SVN: r181797
2011-11-28rs6000: Streamline boolval output for compare-and-swap.Richard Henderson2-13/+18
* config/rs6000/rs6000.c (rs6000_expand_atomic_compare_and_swap): Handle overlap between retval and oldval. Always compute boolval from CR0 EQ value. From-SVN: r181796
2011-11-28rs6000.c (rs6000_expand_atomic_compare_and_swap): Get new pseudo for target ↵Richard Henderson1-0/+6
after convert_modes. * config/rs6000/rs6000.c (rs6000_expand_atomic_compare_and_swap): Get new pseudo for target after convert_modes. (rs6000_expand_atomic_exchange, rs6000_expand_atomic_op): Likewise. From-SVN: r181795
2011-11-28* libgomp.h (enum memmodel): New.Richard Henderson2-0/+15
From-SVN: r181794
2011-11-29Daily bump.GCC Administrator1-1/+1
From-SVN: r181793
2011-11-28cdce3.C: Use dg-additional-options.Uros Bizjak2-7/+11
* g++.dg/cdce3.C: Use dg-additional-options. From-SVN: r181789
2011-11-28re PR debug/50317 (missing DW_OP_GNU_implicit_pointer)Jakub Jelinek2-1/+20
PR debug/50317 * tree-ssa.c (execute_update_addresses_taken): Remove var ={v} {CLOBBER} stmts instead of rewriting them into var_N ={v} {CLOBBER}. From-SVN: r181788
2011-11-28re PR middle-end/50907 (EDGE_CROSSING incorrectly set across same section ↵Jakub Jelinek4-0/+13
with -freorder-blocks-and-partition -fPIC -fprofile-use) PR middle-end/50907 * function.c (convert_jumps_to_returns): When redirecting an edge succ to EXIT_BLOCK_PTR, clear EDGE_CROSSING flag. * gcc.dg/tree-prof/pr50907.c: New test. From-SVN: r181787
2011-11-28re PR tree-optimization/50078 (combine wrong code: volatile accesses ↵Jakub Jelinek4-6/+29
optimized out) PR tree-optimization/50078 * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Copy over TREE_THIS_VOLATILE also from the old to new lhs resp. rhs. * gcc.dg/pr50078.c: New test. From-SVN: r181786
2011-11-28re PR tree-optimization/50682 (ICE: SIGSEGV in main_block_label with -O2 ↵Jakub Jelinek6-0/+76
-fnon-call-exceptions -ftracer) PR tree-optimization/50682 * tree-eh.c (maybe_remove_unreachable_handlers): New function. * tree-flow.h (maybe_remove_unreachable_handlers): New prototype. * tree-optimize.c (execute_cleanup_cfg_post_optimizing): Call it. * g++.dg/opt/pr50682.C: New test. From-SVN: r181785
2011-11-28c-familyAndrew MacLeod5-75/+170
* c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic predefines in one place. Add LOCK_FREE predefines. (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to new func. libstdc++-v3 * include/bits/atomic_base.h (ATOMIC_*_LOCK_FREE): Use new cpp predefined macros. * testsuite/29_atomics/headers/atomic/macros.cc: Add BOOL and POINTER macro checks. Check for expected compile time values. From-SVN: r181784
2011-11-28Cleanup rs6000/t-ppccomm configurations (PR other/51022)Rainer Orth5-35/+61
PR other/51022 * config/rs6000/t-savresfgpr: New file. * config/rs6000/t-ppccomm (LIB2ADD_ST): Remove all but $(srcdir)/config/rs6000/eabi.S. * config/rs6000/t-ppccomm-ldbl: Remove. * config.host (powerpc-*-freebsd*): Add rs6000/t-savresfgpr to tmake_file. (powerpc-*-eabispe*): Likewise. (powerpc-*-eabi*): Likewise. (powerpc-*-linux*, powerpc64-*-linux*): Likewise. (powerpc-wrs-vxworks, powerpc-wrs-vxworksae): Add rs6000/t-ppccomm to tmake_file, remove rs6000/t-ppccomm-ldbl. (powerpc-*-eabisimaltivec*): Remove rs6000/t-ppccomm-ldbl from tmake_file. (powerpc-*-eabisim*): Likewise. (powerpc-*-elf*): Likewise. (powerpc-*-eabialtivec*): Likewise. (powerpc-xilinx-eabi*): Likewise. (powerpc-*-rtems*): Likewise. (powerpcle-*-elf*): Likewise. (powerpcle-*-eabisim*): Likewise. (powerpcle-*-eabi*): Likewise. From-SVN: r181782
2011-11-28Really commit the test case:Tobias Burnus1-0/+18
2011-11-28 Tobias Burnus <burnus@net-b.de> PR fortran/51308 * gfortran.dg/iso_c_binding_compiler_4.f90: New. From-SVN: r181779
2011-11-28re PR fortran/51308 (PARAMETER attribute conflicts with SAVE attribute)Tobias Burnus3-7/+17
2011-11-28 Tobias Burnus <burnus@net-b.de> Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/51308 * symbol.c (check_conflict): Ignore BIND(C) + PARAMETER conflicts for ISO_C_BINDING variables. (gen_special_c_interop_ptr): Don't mark c_ptr_null/c_funptr_null as SAVE. 2011-11-28 Tobias Burnus <burnus@net-b.de> PR fortran/51308 * gfortran.dg/iso_c_binding_compiler_4.f90: New. Co-Authored-By: Steven G. Kargl <kargl@gcc.gnu.org> From-SVN: r181778
2011-11-28re PR libstdc++/51288 ([C++0x] get_money implementation is missing the ↵Paolo Carlini6-23/+251
sentry object (does not skip leading whitespace)) 2011-11-28 Paolo Carlini <paolo.carlini@oracle.com> PR libstdc++/51288 * include/std/iomanip (get_money, put_money): Use sentry. * testsuite/27_io/manipulators/extended/get_money/char/51288.cc: New. * testsuite/27_io/manipulators/extended/get_money/wchar_t/51288.cc: Likewise. * testsuite/27_io/manipulators/extended/put_money/char/51288.cc: Likewise. * testsuite/27_io/manipulators/extended/put_money/wchar_t/51288.cc: Likewise. From-SVN: r181775
2011-11-28extend.texi (AVR Built-in Functions): Add documentation for ↵Georg-Johann Lay6-5/+512
__builtin_avr_map8 and __builtin_avr_map16. * doc/extend.texi (AVR Built-in Functions): Add documentation for __builtin_avr_map8 and __builtin_avr_map16. * config/avr/avr.md: Document new %t and %T asm output codes. (define_c_enum "unspec"): Add UNSPEC_MAP_BITS. (adjust_len): Add map_bits. (map_bitsqi, map_bitshi): New insns. * config/avr/avr-protos.h (avr_out_map_bits): New. * config/avr/avr-protos.c (print_operand): Implement %t and %T. (adjust_insn_length): Handle ADJUST_LEN_MAP_BITS. (avr_double_int_push_digit): New function. (avr_map, avr_revert_map, avr_swap_map, avr_id_map): New functions. (avr_sig_map, avr_map_hamming_byte): New functions. (avr_out_swap_bits, avr_out_revert_bits, avr_move_bits, avr_out_map_bits): New functions. (enum avr_builtin_id): Add AVR_BUILTIN_MAP8, AVR_BUILTIN_MAP16. (avr_init_builtins): Populate __builtin_avr_map8, __builtin_avr_map16. (bdesc_2arg): Add __builtin_avr_map8, __builtin_avr_map16 ... (avr_expand_builtin): ...and expand them. * config/avr/avr-c.c (avr_cpu_cpp_builtins): New built-in defines: __BUILTIN_AVR_MAP8, __BUILTIN_AVR_MAP16. From-SVN: r181773
2011-11-28runtime: Multiplex goroutines onto OS threads.Ian Lance Taylor38-1235/+2065
From-SVN: r181772
2011-11-28generic-morestack.c (__splitstack_find): Check for NULL old stack value.Ian Lance Taylor3-3/+83
* generic-morestack.c (__splitstack_find): Check for NULL old stack value. (__splitstack_resetcontext): New function. (__splitstack_releasecontext): New function. * libgcc-std.ver.in: Add new functions to GCC_4.7.0. From-SVN: r181771
2011-11-28Daily bump.GCC Administrator1-1/+1
From-SVN: r181770
2011-11-27trans-mem-2_0.c: Add dg-lto-do link.Aldy Hernandez4-0/+15
gcc/testsuite: 2011-11-27 Aldy Hernandez <aldyh@redhat.com> Iain Sandoe <iains@gcc.gnu.org> * gcc.dg/lto/trans-mem-2_0.c: Add dg-lto-do link. Add dummy functions for _ITM_registerTMCloneTable, _ITM_deregisterTMCloneTable. * gcc.dg/lto/trans-mem-1_0.c: Add dg-lto-do link. * gcc.dg/lto/trans-mem-1_1.c: Add dummy functions for _ITM_registerTMCloneTable, _ITM_deregisterTMCloneTable. Co-Authored-By: Iain Sandoe <iains@gcc.gnu.org> From-SVN: r181766
2011-11-27darwin-crt-tm.c: Correct comments, use correct licence.Iain Sandoe2-11/+20
libgcc: * config/darwin-crt-tm.c: Correct comments, use correct licence. From-SVN: r181765
2011-11-27darwin-crt-tm.c: Remove dummy _ITM_ functions.Iain Sandoe2-11/+4
libgcc: * config/darwin-crt-tm.c: Remove dummy _ITM_ functions. From-SVN: r181764
2011-11-27re PR target/51278 (gcc.target/mips/octeon-baddu-1.c fails on the trunk)Richard Sandiford2-0/+15
gcc/ PR target/51278 * config/mips/mips.c (mips_rtx_costs): Handle baddu. From-SVN: r181763
2011-11-27mips.c (mips16_unextended_reference_p): Test for BLKmode.Richard Sandiford2-1/+5
gcc/ * config/mips/mips.c (mips16_unextended_reference_p): Test for BLKmode. From-SVN: r181762
2011-11-27mips-protos.h (mips_emit_binary): Declare.Richard Sandiford48-127/+730
gcc/ * config/mips/mips-protos.h (mips_emit_binary): Declare. * config/mips/mips.c (mips_emit_binary): Make global. (mips_set_mips16_mode): Turn off -mfix-r4000 in MIPS16 mode. (mips_conditional_register_usage): Don't treat LO and HI as register operands in MIPS16 mode. (mips_mulsidi3_gen_fn): Use {u,}mulsidi3_{32,64}bit_mips16 for MIPS16 code. * config/mips/predicates.md (muldiv_target_operand): New predicate. (move_operand): Allow hilo_operand. * config/mips/mips.md (mul<mode>3): Explicitly specify LO as the target of MIPS16 multiplies, then move it into the target register. (mul<mode>3_internal, *macc2, *msac2): Use muldiv_target_operand. (<u>mulsidi3_32bit_mips16): New expander. (<u>mulsidi3_32bit): Use muldiv_target_operand. (<u>mulsidi3_32bit_r4000): Disable for ISA_HAS_DSP. (<u>mulsidi3_64bit): Require !TARGET_MIPS16. Split into <u>mulsidi3_64bit_split. (<u>mulsidi3_64bit_mips16): New expander. (<u>mulsidi3_64bit_split): Likewise, using expansions from two previous define_splits. (<u>mulsidi3_64bit_hilo, *muls<u>_di, <u>msubsidi4): Use muldiv_target_operand. (<su>mulsi3_highpart): Use <su>mulsi3_highpart_split for MIPS16 code. (<su>mulsi3_highpart_internal): Require !TARGET_MIPS16. Split into <su>mulsi3_highpart_split. (<su>mulsi3_highpart_split): New expander. (<su>muldi3_highpart): Turn into a define_expand. Use <su>muldi3_highpart_split for MIPS16 code. (<su>muldi3_highpart_internal): Renamed from <su>muldi3_highpart. Require !TARGET_MIPS16. Split into <su>muldi3_highpart_split. (<su>muldi3_highpart_split): New expander. (<u>mulditi3): Explicitly specify LO as the target of MIPS16 multiplies, then move it into the target register. (<u>mulditi3_internal, <u>maddsidi4): Use muldiv_target_operand. (divmod<mode>4, udivmod<mode>4): Turn into define_expands. Use <u>divmod<mode>4_split for MIPS16 code, then explicitly move LO into operand 0. (divmod<mode>4_internal, udivmod<mode>4_internal): Renamed from <u>divmod<mode>4. Use muldiv_target_operand. Require !TARGET_MIPS16. Split into <u>divmod<mode>4_split. (<u>divmod<mode>4_split): New expander. (<u>divmod<GPR:mode>4_hilo_<HILO:mode>): Use muldiv_target_operand. (mfhi<GPR:mode>_<HILO:mode>): Use hilo_operand. gcc/testsuite/ * gcc.target/mips/mult-2.c, gcc.target/mips/mult-3.c, gcc.target/mips/mult-4.c, gcc.target/mips/mult-5.c, gcc.target/mips/mult-6.c, gcc.target/mips/mult-7.c, gcc.target/mips/mult-8.c, gcc.target/mips/mult-9.c, gcc.target/mips/mult-10.c, gcc.target/mips/mult-11.c, gcc.target/mips/mult-12.c, gcc.target/mips/mult-13.c, gcc.target/mips/mult-14.c, gcc.target/mips/mult-15.c, gcc.target/mips/mult-16.c, gcc.target/mips/mult-17.c, gcc.target/mips/mult-18.c, gcc.target/mips/mult-19.c, gcc.target/mips/div-1.c, gcc.target/mips/div-2.c, gcc.target/mips/div-3.c, gcc.target/mips/div-4.c, gcc.target/mips/div-5.c, gcc.target/mips/div-6.c, gcc.target/mips/div-7.c, gcc.target/mips/div-8.c, gcc.target/mips/div-9.c, gcc.target/mips/div-10.c, gcc.target/mips/div-11.c, gcc.target/mips/div-12.c: New tests. * gcc.target/mips/fix-r4000-1.c (foo, bar): Add NOMIPS16. * gcc.target/mips/fix-r4000-2.c (foo): Likewise. * gcc.target/mips/fix-r4000-3.c (foo): Likewise. * gcc.target/mips/fix-r4000-4.c (foo): Likewise. * gcc.target/mips/fix-r4000-5.c (foo): Likewise. * gcc.target/mips/fix-r4000-6.c (foo): Likewise. * gcc.target/mips/fix-r4000-7.c (foo): Likewise. * gcc.target/mips/fix-r4000-8.c (foo): Likewise. * gcc.target/mips/fix-r4000-9.c (foo): Likewise. * gcc.target/mips/fix-r4000-10.c (foo): Likewise. * gcc.target/mips/fix-r4000-11.c (foo): Likewise. * gcc.target/mips/fix-r4000-12.c (foo): Likewise. From-SVN: r181761
2011-11-27hard-reg-set.h (target_hard_regs): Add x_accessible_reg_set and ↵Richard Sandiford10-43/+117
x_operand_reg_set. gcc/ * hard-reg-set.h (target_hard_regs): Add x_accessible_reg_set and x_operand_reg_set. (accessible_reg_set, operand_reg_set): New macros. * reginfo.c (init_reg_sets): Initialize accessible_reg_set and operand_reg_set. (saved_accessible_reg_set, saved_operand_reg_set): New variables. (save_register_info): Save them. (restore_register_info): Restore them. (init_reg_sets_1): Limit operand_reg_set to accessible_reg_set. Remove NO_REGS registers from operand_reg_set. Treat members of operand_reg_set as fixed. * recog.c (general_operand): Check operand_reg_set rather than NO_REGS. (register_operand, nonmemory_operand): Likewise. * varasm.c (make_decl_rtl): Always use DECL_MODE as the mode of register variables. Check accessible_reg_set and operand_reg_set. * config/mips/mips.c (mips_conditional_register_usage): Remove inaccessible register from accessible_reg_set, rather than just making them fixed. gcc/testsuite/ * gcc.target/mips/mips.exp (mips-dg-options): Make -mno-dsp imply -mno-dspr2. * gcc.target/mips/no-dsp-1.c: New test. * gcc.target/mips/soft-float-1.c: Likewise. From-SVN: r181760