Christophe Lyon [Tue, 4 Sep 2012 08:35:19 +0000 (08:35 +0000)]
arm.c (arm_expand_builtin): Replace gen_rtx_CONST_INT by GEN_INT.
2012-09-04 Christophe Lyon <christophe.lyon@linaro.org>
* config/arm/arm.c (arm_expand_builtin): Replace gen_rtx_CONST_INT
by GEN_INT.
(arm_emit_coreregs_64bit_shift): Likewise.
From-SVN: r190912
Christophe Lyon [Tue, 4 Sep 2012 08:32:39 +0000 (08:32 +0000)]
arm.c (arm_evpc_neon_vext): New function.
2012-09-04 Christophe Lyon <christophe.lyon@linaro.org>
gcc/
* config/arm/arm.c (arm_evpc_neon_vext): New
function.
(arm_expand_vec_perm_const_1): Add call to
arm_evpc_neon_vext.
gcc/testsuite/
* gcc.target/arm/neon-vext.c: New test.
* gcc.target/arm/neon-vext-execute.c: Ditto.
From-SVN: r190911
Janus Weil [Tue, 4 Sep 2012 08:03:09 +0000 (10:03 +0200)]
re PR fortran/54435 (ICE with SELECT TYPE on a non-CLASS object)
2012-09-04 Janus Weil <janus@gcc.gnu.org>
PR fortran/54435
PR fortran/54443
* match.c (gfc_match_select_type): Make sure to only access CLASS_DATA
for BT_CLASS.
2012-09-04 Janus Weil <janus@gcc.gnu.org>
PR fortran/54243
PR fortran/54244
* gfortran.dg/select_type_29.f03: New.
From-SVN: r190910
Oleg Endo [Tue, 4 Sep 2012 08:03:01 +0000 (08:03 +0000)]
re PR target/51244 ([SH] Inefficient conditional branch and code around T bit)
PR target/51244
* config/sh/sh.c (prepare_cbranch_operands): Pull out comparison
canonicalization code into...
* (sh_canonicalize_comparison): This new function.
* config/sh/sh-protos.h: Declare it.
* config/sh/sh.h: Use it in new macro CANONICALIZE_COMPARISON.
* config/sh/sh.md (cbranchsi4): Remove TARGET_CBRANCHDI4 check and
always invoke expand_cbranchsi4.
From-SVN: r190909
GCC Administrator [Tue, 4 Sep 2012 00:18:16 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r190908
Andi Kleen [Mon, 3 Sep 2012 22:00:13 +0000 (22:00 +0000)]
Fix bootstrap-lto
gcc/
2012-09-03 Andi Kleen <ak@linux.intel.com>
* tree-ssa-sccvn.c (vn_reference_fold_indirect): Initialize
addr_offset always.
From-SVN: r190905
Andrew Pinski [Mon, 3 Sep 2012 20:31:52 +0000 (20:31 +0000)]
re PR tree-optimization/53395 (The LAPACK functions i(d|s)amax are more than two times slower after revision 187183)
2012-09-03 Andrew Pinski <apinski@cavium.com>
PR tree-opt/53395
* tree-if-conv.c (constant_or_ssa_name): New function.
(fold_build_cond_expr): New function.
(predicate_scalar_phi): Use fold_build_cond_expr instead of build3.
(predicate_mem_writes): Likewise.
From-SVN: r190904
Marc Glisse [Mon, 3 Sep 2012 17:31:38 +0000 (19:31 +0200)]
fold-const.c (fold_ternary_loc): Constant-propagate after removing dead operands.
2012-09-03 Marc Glisse <marc.glisse@inria.fr>
gcc/
* fold-const.c (fold_ternary_loc): Constant-propagate after
removing dead operands.
gcc/testsuite/
* gcc.dg/fold-perm.c: Improve test.
From-SVN: r190901
Michael Matz [Mon, 3 Sep 2012 15:39:15 +0000 (15:39 +0000)]
re PR tree-optimization/46590 (long compile time with -O2 and many loops)
PR tree-optimization/46590
* tree-cfg.c (gimple_duplicate_sese_region): Don't update
SSA web here ...
* tree-ssa-loop-ch.c (copy_loop_headers): ... but here.
From-SVN: r190897
Sandra Loosemore [Mon, 3 Sep 2012 15:29:22 +0000 (11:29 -0400)]
invoke.texi: Fix numerous typos and punctuation/grammatical errors throughout the file.
2012-09-03 Sandra Loosemore <sandra@codesourcery.com>
gcc/
* doc/invoke.texi: Fix numerous typos and punctuation/grammatical
errors throughout the file. Re-word some awkward sentences and
paragraphs.
From-SVN: r190896
Richard Guenther [Mon, 3 Sep 2012 14:40:17 +0000 (14:40 +0000)]
re PR bootstrap/54138 (configuring --without-cloog but executable links against system cloog)
2012-09-03 Richard Guenther <rguenther@suse.de>
PR bootstrap/54138
* configure.ac: Re-organize ISL / CLOOG checks to allow
disabling with either --without-isl or --without-cloog.
* configure: Regenerated.
* config/cloog.m4: Adjust.
* config/isl.m4: Adjust.
From-SVN: r190895
Tobias Burnus [Mon, 3 Sep 2012 14:06:27 +0000 (16:06 +0200)]
re PR fortran/54467 (f951: internal compiler error: in gfc_add_component_ref, at fortran/class.c:213)
2012-09-03 Tobias Burnus <burnus@net-b.de>
PR fortran/54467
* class.c (gfc_find_derived_vtab): Fix disabling of _final
by continuing to generate normal type-bound procedures.
From-SVN: r190892
Richard Biener [Mon, 3 Sep 2012 13:24:07 +0000 (13:24 +0000)]
re PR middle-end/54362 (COND_EXPR not understood by either alias or ITM)
2012-09-03 Richard Guenther <rguenther@suse.de>
PR tree-optimization/54362
* tree-ssa-structalias.c (find_func_aliases): Handle COND_EXPR.
From-SVN: r190889
Georg-Johann Lay [Mon, 3 Sep 2012 12:10:40 +0000 (12:10 +0000)]
configure.ac (noconfigdirs,target=avr): Add target-libquadmath.
* configure.ac (noconfigdirs,target=avr): Add target-libquadmath.
* configure: Regenerate.
From-SVN: r190887
Andreas Krebbel [Mon, 3 Sep 2012 11:46:56 +0000 (11:46 +0000)]
s390.c (s390_loadrelative_operand_p): New function.
2012-09-03 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* config/s390/s390.c (s390_loadrelative_operand_p): New function.
(s390_check_qrst_address, print_operand_address): Use
s390_loadrelative_operand_p instead of s390_symref_operand_p.
(s390_check_symref_alignment): Accept pointer size alignment for GOT slots.
(legitimize_pic_address): Use load relative on z10 or later.
From-SVN: r190884
Jakub Jelinek [Mon, 3 Sep 2012 11:42:31 +0000 (13:42 +0200)]
re PR debug/53923 (ICE: RTL check: expected code 'reg', have 'debug_expr' in rhs_regno, at rtl.h:1091)
PR debug/53923
* valtrack.c (dead_debug_insert_temp): Drop non-reg uses
from the chain.
From-SVN: r190883
Joseph Myers [Mon, 3 Sep 2012 11:34:22 +0000 (12:34 +0100)]
common.opt (--no-sysroot-suffix): New driver option.
* common.opt (--no-sysroot-suffix): New driver option.
* doc/invoke.texi (--no-sysroot-suffix): Document.
* gcc.c (driver_handle_option): Handle --no-sysroot-suffix as not
needing spec processing.
(main): Do not process sysroot suffixes if no_sysroot_suffix.
From-SVN: r190882
Tobias Burnus [Mon, 3 Sep 2012 07:51:05 +0000 (09:51 +0200)]
class.c (gfc_find_derived_vtab): Disable ABI-breaking generation of the "_final" subroutine for now.
2012-09-03 Tobias Burnus <burnus@net-b.de>
* class.c (gfc_find_derived_vtab): Disable ABI-breaking
generation of the "_final" subroutine for now.
From-SVN: r190872
Tobias Burnus [Mon, 3 Sep 2012 06:45:35 +0000 (08:45 +0200)]
class.c (finalize_component): Fixes to the comment.
2012-09-03 Tobias Burnus <burnus@net-b.de>
* class.c (finalize_component): Fixes to the comment.
From-SVN: r190870
Tobias Burnus [Mon, 3 Sep 2012 06:35:59 +0000 (08:35 +0200)]
[multiple changes]
2012-09-03 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
Tobias Burnus <burnus@net-b.de>
PR fortran/37336
* gfortran.h (symbol_attribute): Add artificial.
* module.c (mio_symbol_attribute): Handle attr.artificial
* class.c (gfc_build_class_symbol): Defer creation of the vtab
if the DT has finalizers, mark generated symbols as
attr.artificial.
(has_finalizer_component, finalize_component,
finalization_scalarizer, generate_finalization_wrapper):
New static functions.
(gfc_find_derived_vtab): Add _final component and call
generate_finalization_wrapper.
* dump-parse-tree.c (show_f2k_derived): Use resolved
proc_tree->n.sym rather than unresolved proc_sym.
(show_attr): Handle attr.artificial.
* resolve.c (gfc_resolve_finalizers): Ensure that the vtab
* exists.
(resolve_fl_derived): Resolve finalizers before
generating the vtab.
(resolve_symbol): Also allow assumed-rank arrays with CONTIGUOUS;
skip artificial symbols.
(resolve_fl_derived0): Skip artificial symbols.
2012-09-03 Tobias Burnus <burnus@net-b.de>
PR fortran/51632
* gfortran.dg/coarray_class_1.f90: New.
From-SVN: r190869
GCC Administrator [Mon, 3 Sep 2012 00:17:29 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r190868
Oleg Endo [Sun, 2 Sep 2012 23:18:08 +0000 (23:18 +0000)]
re PR target/33135 ([SH] -ffinite-math-only should not be on by default)
PR target/33135
* common/config/sh/sh-common.c: Update copyright years.
(sh_option_init_struct): Delete.
(TARGET_OPTION_INIT_STRUCT): Likewise.
From-SVN: r190865
Oleg Endo [Sun, 2 Sep 2012 23:15:25 +0000 (23:15 +0000)]
re PR target/54418 ([SH] Invalid operands for opcode)
PR target/54418
* config/sh/sh.md (cmpgeusi_t): Remove N alternative.
Check operands[1] in split condition instead of operands[0].
Add comments.
From-SVN: r190864
Mark Kettenis [Sun, 2 Sep 2012 14:13:21 +0000 (14:13 +0000)]
config.host (x86_64-*-openbsd*): New target.
libgcc/
* config.host (x86_64-*-openbsd*): New target.
gcc/
* config.gcc (x86_64-*-openbsd*): New target.
* config.host (*-*-openbsd*): New target.
* config/openbsd.h (TARGET_C99_FUNCTIONS): Define.
* config/i386/openbsdelf.h: Remove some superfluous defines and
group things together in a more logical fashion.
(DBX_REGISTER_NUMBER): Provide a
definition that works on both 32-bit and 64-bit targets.
(WCHAR_TYPE_SIZE): Hardcode as 32.
(NO_DOLLAR_IN_LABEL): Remove undef.
(TARGET_DEFAULT): Remove.
(SET_ASM_OP): Remove.
(DEFAULT_PCC_STRUCT_RETURN): Undef first to prevent warning.
(ASM_OUTPUT_MAX_SKIP_ALIGN): Synch with x86-64.h
(DWARF2_UNWIND_INFO): Remove define.
(HAVE_ENABLE_EXECUTE_STACK): Define.
* config/host-openbsd.c: New file.
* config/t-openbsd (USER_H): Add EXTRA_HEADERS.
* config/x-openbsd: New file.
From-SVN: r190863
Oleg Endo [Sun, 2 Sep 2012 13:05:10 +0000 (13:05 +0000)]
sh.md (*extend<mode>si2_compact_mem_disp): Pass iterated mode to sh_legitimate_index_p instead of QImode.
* config/sh/sh.md (*extend<mode>si2_compact_mem_disp): Pass iterated
mode to sh_legitimate_index_p instead of QImode.
From-SVN: r190862
Uros Bizjak [Sun, 2 Sep 2012 11:08:33 +0000 (13:08 +0200)]
sync.md (atomic_compare_and_swap<dwi>_doubleword): Improve insn output code.
* config/i386/sync.md (atomic_compare_and_swap<dwi>_doubleword):
Improve insn output code.
From-SVN: r190861
Eric Botcazou [Sun, 2 Sep 2012 10:36:27 +0000 (10:36 +0000)]
re PR rtl-optimization/54369 (delayed-branch pass removes too many instructions)
PR rtl-optimization/54369
* config/mips/mips.c (mips_reorg): Invoke cleanup_barriers before
calling dbr_schedule.
* config/sparc/sparc.c (sparc_reorg): Likewise.
From-SVN: r190858
Uros Bizjak [Sun, 2 Sep 2012 08:49:31 +0000 (10:49 +0200)]
re PR target/49206 (RA failure in spill_failure, at reload1.c:2113)
PR target/49206
* gcc.c-torture/compile/pr49206.c: New test.
From-SVN: r190857
Uros Bizjak [Sun, 2 Sep 2012 08:42:45 +0000 (10:42 +0200)]
* gcc.c-torture/compile/pr44687.c: Fix whitespace.
From-SVN: r190856
Dominique d'Humieres [Sun, 2 Sep 2012 08:10:21 +0000 (10:10 +0200)]
re PR target/36680 (ICE in spill_failure, reload1.c:1995)
PR target/36680
* gfortran.dg/pr36680.f90: New test.
Co-Authored-By: Uros Bizjak <ubizjak@gmail.com>
From-SVN: r190855
Uros Bizjak [Sun, 2 Sep 2012 07:07:45 +0000 (09:07 +0200)]
re PR target/42295 (ICE: 'error: unable to find a register to spill in class "AREG"' with -fschedule-insns)
PR target/42295
* g++.dg/opt/pr42295.C: New test.
From-SVN: r190854
Tobias Burnus [Sun, 2 Sep 2012 06:40:27 +0000 (08:40 +0200)]
re PR fortran/54426 (FAIL: gfortran.dg/common_6.f90 -O (internal compiler error) on powerpc-apple-darwin9)
2012-09-02 Tobias Burnus <burnus@net-b.de>
PR fortran/54426
* symbol.c (find_common_symtree): New function.
(gfc_undo_symbols): Use it; free common_head if needed.
From-SVN: r190853
GCC Administrator [Sun, 2 Sep 2012 00:17:49 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r190852
Jakub Jelinek [Sat, 1 Sep 2012 19:09:02 +0000 (21:09 +0200)]
re PR target/54436 (Compiling some regular C++ code gives assembler '700415 shortened to 255' warning)
PR target/54436
* config/i386/i386.md (*mov<mode>_insv_1_rex64, *movsi_insv_1): If
operands[1] is CONST_INT_P, convert it to QImode before printing.
* gcc.dg/torture/pr54436.c: New test.
From-SVN: r190849
Andrew Pinski [Sat, 1 Sep 2012 18:52:19 +0000 (18:52 +0000)]
simplify-rtx.c (simplify_unary_operation_1 <case TRUNCATE>): A truncate of a memory is just loading the low part of the memory.
2012-09-01 Andrew Pinski <apinski@cavium.com>
* simplify-rtx.c (simplify_unary_operation_1 <case TRUNCATE>):
A truncate of a memory is just loading the low part of the memory.
2012-09-01 Andrew Pinski <apinski@cavium.com>
* gcc.target/mips/truncate-8.c: New testcase.
From-SVN: r190848
Uros Bizjak [Sat, 1 Sep 2012 14:29:45 +0000 (16:29 +0200)]
re PR target/46829 (ICE: in spill_failure, at reload1.c:2105 with -fschedule-insns -fsched-pressure and variadic function)
PR target/46829
PR target/46843
* config/i386/i386.c (ix86_legitimate_combined_insn): New function.
(TARGET_LEGITIMATE_COMBINED_INSN): New macro.
testsuite/ChangeLog:
PR target/46829
PR target/46843
* gcc.target/i386/pr46829.c: New test.
* gcc.target/i386/pr46843.c: Ditto.
From-SVN: r190847
Uros Bizjak [Sat, 1 Sep 2012 14:26:28 +0000 (16:26 +0200)]
target.def (legitimate_combined_insn): New target hook.
* target.def (legitimate_combined_insn): New target hook.
* doc/tm.texi.in (TARGET_LEGITIMATE_COMBINED_INSN): New hook.
* doc/tm.texi: Regenerated.
* combine.c (recog_for_combine): Call targetm.legitimate_combined_insn
to allow targets to reject combined insn.
* hooks.h (hook_bool_rtx_true): New.
* hooks.c (hook_bool_rtx_true): Ditto.
From-SVN: r190846
GCC Administrator [Sat, 1 Sep 2012 00:17:53 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r190845
Paolo Carlini [Fri, 31 Aug 2012 21:35:33 +0000 (21:35 +0000)]
re PR c++/18747 ("template<> int i;" accepted)
PR c++/18747
* pt.c (check_template_variable): New.
(num_template_headers_for_class): Split out...
* decl.c (grokdeclarator): ...from here.
(start_decl): Remove redundant diagnostic.
* cp-tree.h: Declare them
* parser.c (cp_parser_single_declaration): Call check_template_variable.
.
Co-Authored-By: Jason Merrill <jason@redhat.com>
From-SVN: r190842
Martin Jambor [Fri, 31 Aug 2012 19:16:21 +0000 (21:16 +0200)]
ipa-inline-analysis.c (estimate_function_body_sizes): Allocate nonconstant_names after calculate_dominance_info and loop_optimizer_init.
2012-08-31 Martin Jambor <mjambor@suse.cz>
* ipa-inline-analysis.c (estimate_function_body_sizes): Allocate
nonconstant_names after calculate_dominance_info and
loop_optimizer_init.
From-SVN: r190841
Jakub Jelinek [Fri, 31 Aug 2012 19:00:59 +0000 (21:00 +0200)]
re PR c/54428 (ICE in gimplify_expr, at gimplify.c:7591)
PR c/54428
* c-convert.c (convert): Don't call fold_convert_loc if
TYPE_MAIN_VARIANT of a COMPLEX_TYPE is the same, unless e
is a COMPLEX_EXPR. Remove TYPE_MAIN_VARIANT check from
COMPLEX_TYPE -> COMPLEX_TYPE conversion.
* gcc.c-torture/compile/pr54428.c: New test.
From-SVN: r190840
Greta Yorsh [Fri, 31 Aug 2012 16:42:21 +0000 (17:42 +0100)]
arm.c (arm_expand_epilogue): Remove unused variable floats_from_frame.
gcc/
2012-08-31 Greta Yorsh <Greta.Yorsh@arm.com>
* config/arm/arm.c (arm_expand_epilogue): Remove unused variable
floats_from_frame.
From-SVN: r190838
Ollie Wild [Fri, 31 Aug 2012 15:47:29 +0000 (15:47 +0000)]
re PR c++/54197 (Lifetime of reference not properly extended)
2012-08-31 Ollie Wild <aaw@google.com>
PR c++/54197
* gcc/cp/call.c (extend_ref_init_temps_1): Handle COMPOUND_EXPR trees.
* gcc/testsuite/g++.dg/init/lifetime3.C: New test.
From-SVN: r190834
Martin Jambor [Fri, 31 Aug 2012 14:05:45 +0000 (16:05 +0200)]
re PR middle-end/54409 (internal compiler error: in remap_predicate, at ipa-inline-analysis.c:2710)
2012-08-31 Martin Jambor <mjambor@suse.cz>
PR middle-end/54409
* ipa-inline-analysis.c (remap_predicate): Fix the offset_map
checking condition.
* gcc/testsuite/gcc.dg/torture/pr54409.c: New test.
From-SVN: r190833
Martin Jambor [Fri, 31 Aug 2012 13:48:37 +0000 (15:48 +0200)]
ipa-inline-analysis.c (phi_result_unknown_predicate): New function.
2012-08-31 Martin Jambor <mjambor@suse.cz>
* ipa-inline-analysis.c (phi_result_unknown_predicate): New function.
(predicate_for_phi_result): Likewise.
(estimate_function_body_sizes): Use the above two functions.
* testsuite/gfortran.dg/pr48636.f90: Add dump scan checks.
From-SVN: r190832
Martin Jambor [Fri, 31 Aug 2012 13:13:03 +0000 (15:13 +0200)]
re PR middle-end/54394 (fatigue2 -flto run time regression)
2012-08-31 Martin Jambor <mjambor@suse.cz>
PR middle-end/54394
* ipa-inline-analysis.c (estimate_function_body_sizes): Compute
dominance info and loops whenever optimizing.
From-SVN: r190831
Jason Merrill [Fri, 31 Aug 2012 02:50:28 +0000 (22:50 -0400)]
re PR c++/50545 ([C++0x][DR 1172] SFINAE does not handle an explicit type conversion (functional notation) with a braced-init-list well if target type is not dependent)
PR c++/50545
PR c++/51222
* pt.c (instantiation_dependent_r): New.
(instantiation_dependent_expression_p): New.
(value_dependent_expression_p): Use it. SCOPE_REF is always dependent.
* semantics.c (finish_decltype_type): Use it.
* cp-tree.h: Declare it.
From-SVN: r190830
Jason Merrill [Fri, 31 Aug 2012 02:50:18 +0000 (22:50 -0400)]
semantics.c (finish_qualified_id_expr): Handle building up a non-dependent SCOPE_REF here.
* semantics.c (finish_qualified_id_expr): Handle building up a
non-dependent SCOPE_REF here.
(finish_id_expression): Not here.
* error.c (dump_decl) [SCOPE_REF]: Only pass TFF_UNQUALIFIED_NAME.
From-SVN: r190829
Jason Merrill [Fri, 31 Aug 2012 02:50:08 +0000 (22:50 -0400)]
friend.c (make_friend_class): Handle template template parameters.
* friend.c (make_friend_class): Handle template template parameters.
* parser.c (cp_parser_template_declaration_after_export): Likewise.
* pt.c (tsubst_friend_class): Likewise.
(instantiate_class_template_1): Likewise
* decl.c (check_elaborated_type_specifier): Likewise.
(lookup_and_check_tag): Likewise.
From-SVN: r190828
Jason Merrill [Fri, 31 Aug 2012 02:49:52 +0000 (22:49 -0400)]
pt.c (get_class_bindings): Call coerce_template_parms.
* pt.c (get_class_bindings): Call coerce_template_parms. Add
main_tmpl parameter.
(more_specialized_class): Add main_tmpl parameter.
(most_specialized_class): Adjust calls.
From-SVN: r190827
Jason Merrill [Fri, 31 Aug 2012 02:49:42 +0000 (22:49 -0400)]
decl.c (cp_finish_decl): Check for invalid multiple initializers even if the initializer is dependent.
* decl.c (cp_finish_decl): Check for invalid multiple initializers
even if the initializer is dependent.
From-SVN: r190826
Jason Merrill [Fri, 31 Aug 2012 02:49:33 +0000 (22:49 -0400)]
pt.c (instantiate_template_1): Keep processing_template_decl set if there are dependent args.
* pt.c (instantiate_template_1): Keep processing_template_decl set
if there are dependent args.
From-SVN: r190825
GCC Administrator [Fri, 31 Aug 2012 00:18:02 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r190822
Benjamin Kosnik [Thu, 30 Aug 2012 19:25:04 +0000 (19:25 +0000)]
ChangeLog fixup
From-SVN: r190811
Benjamin Kosnik [Thu, 30 Aug 2012 19:24:58 +0000 (19:24 +0000)]
PR libstdc++/54005 continued
2012-08-30 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/54005 continued
* include/std/atomic: Use __atomic_lock_free with
* include/bits/atomic_base.h: Same.
From-SVN: r190810
Ulrich Drepper [Thu, 30 Aug 2012 16:33:09 +0000 (16:33 +0000)]
random.h (random_device): Remove 'return' from constructor.
* include/bits/random.h (random_device) [GLIBCXX_USE_RANDOM_TR1]:
Remove 'return' from constructor.
From-SVN: r190806
Benjamin Kosnik [Thu, 30 Aug 2012 15:58:52 +0000 (15:58 +0000)]
testsuite_abi.cc (check_version): Add GLIBCXX_3.4.18.
2012-08-30 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/util/testsuite_abi.cc (check_version): Add GLIBCXX_3.4.18.
From-SVN: r190805
Ramana Radhakrishnan [Thu, 30 Aug 2012 10:17:04 +0000 (10:17 +0000)]
re PR target/54252 (Bad alignment code generated for Neon loads)
Fix PR target/54252
2012-08-29 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
Richard Earnshaw <richard.earnshaw@arm.com>
PR target/54252
* config/arm/arm.c (neon_dereference_pointer): Adjust nelems by
element size. Use elem_type from the formal parameter. New parameter
fcode.
(neon_expand_args): Adjust call to neon_dereference_pointer.
Co-Authored-By: Richard Earnshaw <rearnsha@arm.com>
From-SVN: r190800
Ulrich Drepper [Thu, 30 Aug 2012 02:21:12 +0000 (02:21 +0000)]
Missing CL entry
From-SVN: r190796
GCC Administrator [Thu, 30 Aug 2012 00:18:21 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r190793
Ulrich Drepper [Wed, 29 Aug 2012 22:05:41 +0000 (22:05 +0000)]
random.h (random_device): Move implementation to...
* include/bits/random.h (random_device): Move implementation to...
* src/c++11/random.cc: ...here. New file.
* config/abi/pre/gnu.ver: Add new version GLIBCXX_3.4.18. Export
std::random_device::* symbols.
* config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Generated.
* src/c++11/Makefile.am (sources): Add random.cc.
* src/c++11/Makefile.in: Regenerated.
From-SVN: r190787
Steven Bosscher [Wed, 29 Aug 2012 20:40:53 +0000 (20:40 +0000)]
* cfg.c (dump_bb_info): Print a newline if there were no edges to dump.
From-SVN: r190786
Chung-Lin Tang [Wed, 29 Aug 2012 19:12:12 +0000 (19:12 +0000)]
revert: t-linux64 (MULTILIB_OSDIRNAMES): Change to use mapping style, add ../lib/mips16.
2012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
Revert:
* config/mips/t-linux64 (MULTILIB_OSDIRNAMES): Change to use
mapping style, add ../lib/mips16.
(MULTILIB_OPTIONS,MULTILIB_DIRNAMES): Add mips16.
(MULTILIB_EXCLUSIONS): Exclude mips16 when not -mabi=32.
From-SVN: r190785
Richard Sandiford [Wed, 29 Aug 2012 18:57:49 +0000 (18:57 +0000)]
mips.h (TARGET_CPU_CPP_BUILTINS): Define __mips_synci if TARGET_SYNCI.
gcc/
* config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Define __mips_synci
if TARGET_SYNCI.
gcc/testsuite/
* gcc.target/mips/mips.exp: Work out default -msynci setting.
From-SVN: r190784
Ulrich Drepper [Wed, 29 Aug 2012 18:43:08 +0000 (18:43 +0000)]
Add simd_fast_mersenne_twister_engine class.
* include/ext/random: New file.
* include/ext/random.tcc: New file.
* include/Makefile.am (ext_headers): Add random and random.tcc.
* testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
operators/inequal.cc: New file.
* testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
operators/equal.cc: New file.
* testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
operators/serialize.cc: New file.
* testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
cons/seed2.cc: New file.
* testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
cons/default.cc: New file.
* testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
cons/seed_seq.cc: New file.
* testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
cons/copy.cc: New file.
* testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
cons/seed1.cc: New file.
From-SVN: r190783
Oleg Endo [Wed, 29 Aug 2012 18:41:52 +0000 (18:41 +0000)]
sh.opt (menable-tas): Rename to mtas.
* config/sh/sh.opt (menable-tas): Rename to mtas.
* doc/invoke.texi (SH options): Likewise.
* config/sh/sync.md: Update comments.
From-SVN: r190782
Oleg Endo [Wed, 29 Aug 2012 18:40:09 +0000 (18:40 +0000)]
iterators.md: New file.
* config/sh/iterators.md: New file.
* config/sh/sync.md (I124, I12, i124suffix): Delete. Replace usage with
new iterators QIHISI, QIHI, bw, bwl respectively throughout the file.
* config/sh/sh.md: Include new file iterators.md.
(zero_extendhisi2, zero_extendqisi2): Fold into zero_extend<mode>si2.
(*zero_extendhisi2_compact, *zero_extendqisi2_compact): Fold into
*zero_extend<mode>si2_compact.
(*zero_extendqisi2_disp_mem, zero_extendhisi2_disp_mem): Fold into
*zero_extend<mode>si2_disp_mem.
(extendhisi2, extendqisi2): Fold into extend<mode>si2.
(*extendqisi2_compact_reg, *extendhisi2_compact_reg): Fold into
*extend<mode>si2_compact_reg.
(*extendqisi2_compact_mem_disp, *extendhisi2_compact_mem_disp): Fold
into *extend<mode>si2_compact_mem_disp.
(*extendqisi2_compact_snd, *extendhisi2_compact_snd): Fold into
*extend<mode>si2_compact_snd.
(*movsi_index_disp, *movhi_index_disp): Fold with iterators and rename
to *movsi_index_disp_load, *movhi_index_disp_load,
*mov<mode>_index_disp_store.
(*movqi_reg_reg, *movhi_reg_reg): Fold into *mov<mode>_reg_reg.
(*movqi_store_mem_disp04, *movhi_store_mem_disp05): Fold into
*mov<mode>_store_mem_disp04.
(*movqi_store_mem_disp12, *movhi_store_mem_disp13): Fold into
*mov<mode>_store_mem_disp12.
(*movqi_load_mem_disp, *movhi_load_mem_disp): Fold into
*mov<mode>_load_mem_disp04 and *mov<mode>_load_mem_disp12.
From-SVN: r190781
Martin Jambor [Wed, 29 Aug 2012 12:16:11 +0000 (14:16 +0200)]
ipa-inline.h (estimate_edge_hints): Call do_estimate_edge_hints, not do_estimate_edge_time.
2012-08-29 Martin Jambor <mjambor@suse.cz>
* ipa-inline.h (estimate_edge_hints): Call do_estimate_edge_hints, not
do_estimate_edge_time.
From-SVN: r190777
Chung-Lin Tang [Wed, 29 Aug 2012 09:33:49 +0000 (09:33 +0000)]
mips.h (CRT_CALL_STATIC_FUNCTION): Add nomips16 asm directives, remove #ifndef __mips16 guards.
2012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
* config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Add nomips16 asm
directives, remove #ifndef __mips16 guards.
* config/mips/t-linux64 (MULTILIB_OSDIRNAMES): Change to use
mapping style, add ../lib/mips16.
(MULTILIB_OPTIONS,MULTILIB_DIRNAMES): Add mips16.
(MULTILIB_EXCLUSIONS): Exclude mips16 when not -mabi=32.
From-SVN: r190774
Chung-Lin Tang [Wed, 29 Aug 2012 09:31:52 +0000 (09:31 +0000)]
crtfastmath.c (set_fast_math): Add 'nomips16' attribute.
2012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
libgcc/
* config/mips/crtfastmath.c (set_fast_math): Add 'nomips16'
attribute.
From-SVN: r190773
Chung-Lin Tang [Wed, 29 Aug 2012 09:29:55 +0000 (09:29 +0000)]
futex.h (sys_futex0): Change to static function with noinline, nomips16 attributes under MIPS16.
2012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
libgomp/
* config/linux/mips/futex.h (sys_futex0): Change to static
function with noinline, nomips16 attributes under MIPS16. Adjust
asm statement to place 'li v0,SYS_futex' immediately before
syscall insn.
From-SVN: r190772
Benjamin Kosnik [Wed, 29 Aug 2012 04:44:10 +0000 (04:44 +0000)]
PR libstdc++/54102, part 2
2012-08-28 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/54102, part 2
* doc/Makefile.am (XSL_HTML_STYLE): use xhtml, not html.
* doc/Makefile.in: Regenerate.
* doc/html/*: Same.
From-SVN: r190771
Benjamin Kosnik [Wed, 29 Aug 2012 02:09:55 +0000 (02:09 +0000)]
*: Regenerate.
2012-08-28 Benjamin Kosnik <bkoz@redhat.com>
* doc/html/*: Regenerate.
From-SVN: r190770
Benjamin Kosnik [Wed, 29 Aug 2012 01:37:16 +0000 (01:37 +0000)]
re PR libstdc++/54102 (generated html vs. utf8)
2012-08-28 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/54102
* doc/xsl/customization.xsl.in: New.
* configure.ac: Output local copy of customization xsl.
* doc/Makefile.am (stamp-html-single-docbook): Use XSL_LOCAL_STYLE.
(stamp-html-docbook): Set stringparam to UTF-8.
* Makefile.in: Regenerated.
* configure: Same.
* doc/Makefile.in: Same.
From-SVN: r190768
H.J. Lu [Wed, 29 Aug 2012 01:03:21 +0000 (01:03 +0000)]
Replace malloc with xmalloc
* argv.c (dupargv): Replace malloc with xmalloc. Don't check
xmalloc return.
(buildargv): Likewise. Also replace strdup with xstrdup.
(expandargv): Don't check dupargv return.
From-SVN: r190767
H.J. Lu [Wed, 29 Aug 2012 00:46:36 +0000 (00:46 +0000)]
Replace alloca with xmalloc/free
PR binutils/14526
* argv.c (buildargv): Replace alloca with xmalloc/free.
From-SVN: r190766
GCC Administrator [Wed, 29 Aug 2012 00:18:57 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r190765
Tobias Burnus [Tue, 28 Aug 2012 18:18:11 +0000 (20:18 +0200)]
re PR fortran/54389 ([F2003/F2008 difference] PURE functions and pointer dummy arguments / DECL_PURE_P issue)
2012-08-28 Tobias Burnus <burnus@net-b.de>
PR fortran/54389
* trans-decl.c (gfc_get_extern_function_decl,
build_function_decl): Don't mark impure elemental
functions as DECL_PURE_P and honour implicit_pure.
From-SVN: r190757
Tobias Burnus [Tue, 28 Aug 2012 14:49:55 +0000 (16:49 +0200)]
re PR fortran/54382 (gfortran show_locus: Invalid read of size 4)
2012-08-28 Tobias Burnus <burnus@net-b.de>
PR fortran/54382
* error.c (show_locus): Avoid out of bound access.
From-SVN: r190752
Tobias Burnus [Tue, 28 Aug 2012 14:49:15 +0000 (16:49 +0200)]
re PR fortran/54384 (gfortran memory leaks)
2012-08-28 Tobias Burnus <burnus@net-b.de>
PR fortran/54384
* decl.c (match_data_constant): Add missing gfc_free_expr.
(top_val_list): Remove always-true condition.
* data.c (get_array_index, create_character_initializer):
Free temporary expressions.
(gfc_assign_data_value): Free expression when aborting.
From-SVN: r190751
Joey Ye [Tue, 28 Aug 2012 09:51:11 +0000 (09:51 +0000)]
ssa-dom-thread-3.c: Add -fno-short-enums.
* gcc.dg/tree-ssa/ssa-dom-thread-3.c: Add -fno-short-enums.
From-SVN: r190745
Walter Lee [Tue, 28 Aug 2012 07:00:10 +0000 (07:00 +0000)]
Fix ChangeLog formatting.
From-SVN: r190741
Walter Lee [Tue, 28 Aug 2012 06:09:45 +0000 (06:09 +0000)]
Fix some typos and coding style violations.
* confg/tilegx/tilegx.md: Fix code style.
(*zero_extendsidi_truncdisi): Fix typo.
* config/tilegx/tilegx.c: Fix code style.
(tilegx_function_profiler): Fix typo.
From-SVN: r190739
Tobias Burnus [Tue, 28 Aug 2012 05:35:15 +0000 (07:35 +0200)]
re PR fortran/54384 (gfortran memory leaks)
2012-08-28 Tobias Burnus <burnus@net-b.de>
PR fortran/54384
* symbol.c (gfc_copy_formal_args): Set also sym->formal_ns.
From-SVN: r190738
Walter Lee [Tue, 28 Aug 2012 05:25:35 +0000 (05:25 +0000)]
Add support for the -mcmodel=MODEL flag on TILE-Gx.
Add support for the -mcmodel=MODEL flag on TILE-Gx. The models
supported are small and large. In the small model (default), distance
for direct calls is limited to 500M in either direction. PC-relative
addresses are 32 bits. Absolute addresses support the full address
range. In the large model, there is no limiation on call distance,
pc-relative addresses, or absolute addresses.
* doc/invoke.texi: Document -mcmodel=small, -mcmodel=large.
* config/tilegx/tilegx.h: Include config/tilegx/tilegx-opts.h.
(CRT_CALL_STATIC_FUNCTION): Define.
* config/tilegx/predicates.md (const_last_symbolic_operand):
Handle UNSPEC_HW2_LAST_PCREL, UNSPEC_HW1_LAST_PLT_PCREL, and
UNSPEC_HW2_LAST_PLT_PCREL.
(const_symbolic_operand): Handle UNSPEC_HW1_PCREL,
UNSPEC_HW0_PLT_PCREL, and UNSPEC_HW1_PLT_PCREL.
* config/tilegx/tilegx.md (UNSPEC_MOV_LARGE_PCREL_STEP4): Define,
and renumber the constants that follow.
(UNSPEC_HW1_PCREL): Define, and renumber the constants that
follow.
(UNSPEC_HW0_PLT_PCREL): Define.
(UNSPEC_HW1_PLT_PCREL): Define.
(UNSPEC_HW1_LAST_PLT_PCREL): Define.
(UNSPEC_HW2_LAST_PLT_PCREL): Define.
(mov_large_pcrel_step1): Define.
(mov_large_pcrel_step2): Define.
(mov_large_pcrel_step3): Define.
(mov_large_pcrel_step4): Define.
(mov_plt_pcrel_step1): Define.
(mov_plt_pcrel_step2): Define.
(mov_plt_pcrel_step3): Define.
(mov_plt_pcrel_step1_32bit): Define.
(mov_plt_pcrel_step2_32bit): Define.
(call): Handle tilegx_cmodel == CM_LARGE, CM_LARGE_PIC.
(call_value): Ditto.
* config/tilegx/tilegx.opt: Include config/tilegx/tilegx-opts.h.
(mcmodel): New option.
(enum cmodel): Define.
(CM_SMALL): Define.
(CM_LARGE): Define.
* config/tilegx/tilegx-protos.h (tilegx_compute_pcrel_address):
Declare.
(tilegx_compute_pcrel_plt_address): Declare.
* config/tilegx/tilegx.c (tilegx_option_override): Handle
tilegx_cmodel.
(tilegx_function_ok_for_sibcall): Ditto.
(compute_pcrel_address): Rename to tilegx_compute_pcrel_address,
and don't declare static. Handle tilegx_cmodel.
(tilegx_compute_pcrel_plt_address): Define.
(tilegx_legitimize_pic_address): Rename calls to
compute_pcrel_address.
(tilegx_delegitimize_address): Handle UNSPEC_HW1_PCREL,
UNSPEC_HW2_LAST_PCREL, UNSPEC_HW0_PLT_PCREL, UNSPEC_HW1_PLT_PCREL,
UNSPEC_HW1_LAST_PLT_PCREL, UNSPEC_HW2_LAST_PLT_PCREL.
(load_pic_register): Rename call to compute_pcrel_address.
(tilegx_print_operand): Handle UNSPEC_HW1_PCREL,
UNSPEC_HW2_LAST_PCREL, UNSPEC_HW0_PLT_PCREL, UNSPEC_HW1_PLT_PCREL,
UNSPEC_HW1_LAST_PLT_PCREL, UNSPEC_HW2_LAST_PLT_PCREL.
From-SVN: r190737
GCC Administrator [Tue, 28 Aug 2012 00:17:15 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r190736
Maxim Kuvyrkov [Mon, 27 Aug 2012 22:11:48 +0000 (22:11 +0000)]
sched-deps.c (add_dependence_list_and_free): Simplify.
* sched-deps.c (add_dependence_list_and_free): Simplify.
(flush_pending_list_and_free): Fix a hack that was fixing a hack. Free
lists when add_dependence_list_and_free doesn't free them.
From-SVN: r190733
Uros Bizjak [Mon, 27 Aug 2012 21:13:07 +0000 (23:13 +0200)]
re PR target/46254 (ICE: in find_reloads, at reload.c:3806 (unable to generate reloads) with -fPIC -mcmodel={medium|large} and __sync_val_compare_and_swap)
PR target/46254
* config/i386/predicates.md (cmpxchg8b_pic_memory_operand): Return
true for TARGET_64BIT or !flag_pic.
* config/i386/sync.md (*atomic_compare_and_swap_doubledi_pic): Remove.
(atomic_compare_and_swap_double<mode>): Change operand 2 predicate
to cmpxchg8b_pic_memory_operand. Use DWIH mode iterator.
Add insn constraint. Conditionally emit xchg asm insns.
(atomic_compare_and_swap<mode>): Update calls. Check only
cmpxchg8b_pic_memory_operand in memory address fixup.
(DCASMODE): Remove.
(CASHMODE): Rename from DCASHMODE.
(doublemodesuffix): Update modes.
(regprefix): New mode attribute.
(unspecv) <UNSPECV_CMPXCHG_{1,2,3,4}>: Remove.
<UNSPECV_CMPXCHG>: New constant.
(atomic_compare_and_swap<mode>_1): Rename from
atomic_compare_and_swap_single<mode>. Update calls and
unspec_volatile constants.
(atomic_compare_and_swap<mode>_doubleword): Rename from
atomic_compare_and_swap_double<mode>. Update calls and
unspec_volatile constants.
testsuite/ChangeLog:
PR target/46254
* gcc.target/i386/pr46254.c: New test.
From-SVN: r190732
Tobias Burnus [Mon, 27 Aug 2012 20:51:52 +0000 (22:51 +0200)]
re PR fortran/54384 (gfortran memory leaks)
2012-08-27 Tobias Burnus <burnus@net-b.de>
PR fortran/54384
* resolve.c (gfc_resolve_character_operator): Free temporary
variables.
* trans-expr.c (gfc_conv_statement_function): Ditto.
From-SVN: r190731
Walter Lee [Mon, 27 Aug 2012 18:51:07 +0000 (18:51 +0000)]
Fix doc typo.
* doc/md.texi (TILE-Gx): Fix typo.
From-SVN: r190729
Tobias Burnus [Mon, 27 Aug 2012 18:47:57 +0000 (20:47 +0200)]
re PR fortran/54384 (gfortran memory leaks)
2012-08-27 Tobias Burnus <burnus@net-b.de>
PR fortran/54384
* dependency.c (check_section_vs_section): Use gfc_free_expr
instead of free.
* trans-intrinsic.c (conv_generic_with_optional_char_arg): Use
gfc_free_symbol instead of free.
From-SVN: r190728
Walter Lee [Mon, 27 Aug 2012 18:35:39 +0000 (18:35 +0000)]
Fix a typo in the mcount function_profiler.
* config/tilegx/tilegx.c (tilegx_function_profiler): Fix typo.
config/tilepro/tilepro.c (tilepro_function_profiler): Ditto.
From-SVN: r190726
Walter Lee [Mon, 27 Aug 2012 18:16:34 +0000 (18:16 +0000)]
Stop trying to represent the bfins instruction with the insv pattern,
because it causes an extra copy when bfins reuses one of its inputs.
* config/tilegx/tilegx.md (*bfins): Rename to insn_bfins.
(insn_bfins): Delete.
From-SVN: r190724
Walter Lee [Mon, 27 Aug 2012 17:27:04 +0000 (17:27 +0000)]
Properly set the latency of atomic ops to the approximate latency of a remote memory operation.
Properly set the latency of atomic ops to the approximate latency of a
remote memory operation.
* config/tilegx/sync.md (atomic_compare_and_swap_bare<mode>,
atomic_exchange_bare<mode>,
atomic_fetch_<fetchop_name>_bare<mode>): Set type to X1_remote.
* config/tilegx/tilegx-generic.md (X1_remote): New
insn_reservation.
* config/tilegx/tilegx.md (type): Add X1_remove.
(insn_cmpexch<four_if_si>, insn_exch<four_if_si>,
insn_fetchadd<four_if_si>, insn_fetchaddgez<four_if_si>,
insn_fetchand<four_if_si>, insn_fetchor<four_if_si>): Set type to
X1_remote.
From-SVN: r190722
Andreas Schwab [Mon, 27 Aug 2012 16:35:05 +0000 (16:35 +0000)]
* gdbinit.in: Fix syntax of skip command.
From-SVN: r190721
Richard Sandiford [Mon, 27 Aug 2012 16:31:46 +0000 (16:31 +0000)]
ext_ins.c, [...]: Add NOMIPS16.
gcc/testsuite/
* gcc.target/mips/ext_ins.c, gcc.target/mips/octeon-pop-2.c,
gcc.target/mips/pr54240.c, gcc.target/mips/stack-1.c,
gcc.target/mips/unaligned-1.c: Add NOMIPS16.
From-SVN: r190720
Richard Sandiford [Mon, 27 Aug 2012 16:31:29 +0000 (16:31 +0000)]
20020620-1.c, [...]: Tighten regexps.
gcc/testsuite/
* gcc.target/mips/
20020620-1.c, gcc.target/mips/atomic-memory-2.c,
gcc.target/mips/branch-2.c, gcc.target/mips/branch-3.c,
gcc.target/mips/clear-cache-1.c, gcc.target/mips/const-anchor-1.c,
gcc.target/mips/const-anchor-2.c, gcc.target/mips/dspr2-MULT.c,
gcc.target/mips/dspr2-MULTU.c, gcc.target/mips/ext-1.c,
gcc.target/mips/ext-2.c, gcc.target/mips/ext-3.c,
gcc.target/mips/ext-4.c, gcc.target/mips/ext_ins.c,
gcc.target/mips/fpcmp-1.c, gcc.target/mips/fpcmp-2.c,
gcc.target/mips/mips16e-extends.c, gcc.target/mips/mips32-dsp.c,
gcc.target/mips/mips32-dsp-type.c, gcc.target/mips/mips32r2-mxhc1.c,
gcc.target/mips/mips-ps-5.c, gcc.target/mips/mips-ps-7.c,
gcc.target/mips/mips-ps-type-2.c, gcc.target/mips/mips-ps-type.c,
gcc.target/mips/movcc-1.c, gcc.target/mips/movcc-2.c,
gcc.target/mips/movcc-3.c, gcc.target/mips/neg-abs-1.c,
gcc.target/mips/neg-abs-2.c, gcc.target/mips/nmadd-1.c,
gcc.target/mips/nmadd-2.c, gcc.target/mips/nmadd-3.c,
gcc.target/mips/octeon-exts-7.c, gcc.target/mips/octeon-seq-4.c,
gcc.target/mips/rsqrt-1.c, gcc.target/mips/rsqrt-2.c,
gcc.target/mips/rsqrt-3.c, gcc.target/mips/sb1-1.c,
gcc.target/mips/scc-4.c, gcc.target/mips/stack-1.c,
gcc.target/mips/unaligned-1.c: Tighten regexps.
From-SVN: r190719
Richard Sandiford [Mon, 27 Aug 2012 16:27:50 +0000 (16:27 +0000)]
mips.exp: Use gcc-dg-runtest rather than dg-runtest.
gcc/testsuite/
* gcc.target/mips/mips.exp: Use gcc-dg-runtest rather than dg-runtest.
(mips_option_groups): Remove optimization. Add various -f options.
(mips-dg-options): Make -funroll-loops imply -funroll-all-loops
and -pg imply -fno-omit-frame-pointer.
* gcc.target/mips/abi-eabi32-long32.c: Remove optimization flag.
* gcc.target/mips/abi-eabi32-long64.c: Likewise.
* gcc.target/mips/abi-eabi64-long32.c: Likewise.
* gcc.target/mips/abi-eabi64-long64.c: Likewise.
* gcc.target/mips/abi-n32-long32-no-shared.c: Likewise.
* gcc.target/mips/abi-n32-long32-pic.c: Likewise.
* gcc.target/mips/abi-n32-long32.c: Likewise.
* gcc.target/mips/abi-n32-long64-no-shared.c: Likewise.
* gcc.target/mips/abi-n32-long64-pic.c: Likewise.
* gcc.target/mips/abi-n32-long64.c: Likewise.
* gcc.target/mips/abi-n64-long32-no-shared.c: Likewise.
* gcc.target/mips/abi-n64-long32-pic.c: Likewise.
* gcc.target/mips/abi-n64-long32.c: Likewise.
* gcc.target/mips/abi-n64-long64-no-shared.c: Likewise.
* gcc.target/mips/abi-n64-long64-pic.c: Likewise.
* gcc.target/mips/abi-n64-long64.c: Likewise.
* gcc.target/mips/abi-o32-long32-no-shared.c: Likewise.
* gcc.target/mips/abi-o32-long32-pic.c: Likewise.
* gcc.target/mips/abi-o32-long32.c: Likewise.
* gcc.target/mips/abi-o32-long64-no-shared.c: Likewise.
* gcc.target/mips/abi-o32-long64-pic.c: Likewise.
* gcc.target/mips/abi-o32-long64.c: Likewise.
* gcc.target/mips/abi-o64-long32-no-shared.c: Likewise.
* gcc.target/mips/abi-o64-long32-pic.c: Likewise.
* gcc.target/mips/abi-o64-long32.c: Likewise.
* gcc.target/mips/abi-o64-long64-no-shared.c: Likewise.
* gcc.target/mips/abi-o64-long64-pic.c: Likewise.
* gcc.target/mips/abi-o64-long64.c: Likewise.
* gcc.target/mips/asm-1.c: Likewise.
* gcc.target/mips/branch-1.c: Likewise.
* gcc.target/mips/call-3.c: Likewise.
* gcc.target/mips/call-saved-3.c: Likewise.
* gcc.target/mips/clear-cache-1.c: Likewise.
* gcc.target/mips/div-1.c: Likewise.
* gcc.target/mips/div-2.c: Likewise.
* gcc.target/mips/div-3.c: Likewise.
* gcc.target/mips/div-4.c: Likewise.
* gcc.target/mips/div-5.c: Likewise.
* gcc.target/mips/div-6.c: Likewise.
* gcc.target/mips/div-7.c: Likewise.
* gcc.target/mips/div-8.c: Likewise.
* gcc.target/mips/div-9.c: Likewise.
* gcc.target/mips/div-10.c: Likewise.
* gcc.target/mips/div-11.c: Likewise.
* gcc.target/mips/div-12.c: Likewise.
* gcc.target/mips/dsp-ctrl.c: Likewise.
* gcc.target/mips/dsp-no-lhx.c: Likewise.
* gcc.target/mips/ext-8.c: Likewise.
* gcc.target/mips/extend-2.c: Likewise.
* gcc.target/mips/fix-r10000-1.c: Likewise.
* gcc.target/mips/fix-r10000-2.c: Likewise.
* gcc.target/mips/fix-r10000-3.c: Likewise.
* gcc.target/mips/fix-r10000-4.c: Likewise.
* gcc.target/mips/fix-r10000-5.c: Likewise.
* gcc.target/mips/fix-r10000-6.c: Likewise.
* gcc.target/mips/fix-r10000-7.c: Likewise.
* gcc.target/mips/fix-r10000-8.c: Likewise.
* gcc.target/mips/fix-r10000-9.c: Likewise.
* gcc.target/mips/fix-r10000-10.c: Likewise.
* gcc.target/mips/fix-r10000-11.c: Likewise.
* gcc.target/mips/fix-r10000-12.c: Likewise.
* gcc.target/mips/fix-r10000-13.c: Likewise.
* gcc.target/mips/fix-r10000-14.c: Likewise.
* gcc.target/mips/fix-r10000-15.c: Likewise.
* gcc.target/mips/fpcmp-1.c: Likewise.
* gcc.target/mips/fpcmp-2.c: Likewise.
* gcc.target/mips/fpr-moves-7.c: Likewise.
* gcc.target/mips/fpr-moves-8.c: Likewise.
* gcc.target/mips/int-moves-1.c: Likewise.
* gcc.target/mips/int-moves-2.c: Likewise.
* gcc.target/mips/long-calls-pg.c: Likewise.
* gcc.target/mips/loongson-muldiv-1.c: Likewise.
* gcc.target/mips/loongson-muldiv-2.c: Likewise.
* gcc.target/mips/loongson-shift-count-truncated-1.c: Likewise.
* gcc.target/mips/loongson3a-muldiv-1.c: Likewise.
* gcc.target/mips/loongson3a-muldiv-2.c: Likewise.
* gcc.target/mips/mips-3d-1.c: Likewise.
* gcc.target/mips/mips-3d-2.c: Likewise.
* gcc.target/mips/mips-3d-3.c: Likewise.
* gcc.target/mips/mips-3d-4.c: Likewise.
* gcc.target/mips/mips-3d-5.c: Likewise.
* gcc.target/mips/mips-3d-6.c: Likewise.
* gcc.target/mips/mips-3d-7.c: Likewise.
* gcc.target/mips/mips-3d-8.c: Likewise.
* gcc.target/mips/mips-3d-9.c: Likewise.
* gcc.target/mips/mips-ps-1.c: Likewise.
* gcc.target/mips/mips-ps-2.c: Likewise.
* gcc.target/mips/mips-ps-3.c: Likewise.
* gcc.target/mips/mips-ps-4.c: Likewise.
* gcc.target/mips/mips-ps-6.c: Likewise.
* gcc.target/mips/mips32-dspr2.c: Likewise.
* gcc.target/mips/mmcount-ra-address-1.c: Likewise.
* gcc.target/mips/neg-abs-1.c: Likewise.
* gcc.target/mips/neg-abs-2.c: Likewise.
* gcc.target/mips/nmadd-3.c: Likewise.
* gcc.target/mips/no-smartmips-lwxs.c: Likewise.
* gcc.target/mips/no-smartmips-ror-1.c: Likewise.
* gcc.target/mips/octeon-pop-1.c: Likewise.
* gcc.target/mips/pr26765.c: Likewise.
* gcc.target/mips/pr33256.c: Likewise.
* gcc.target/mips/pr33635-1.c: Likewise.
* gcc.target/mips/pr33755.c: Likewise.
* gcc.target/mips/pr35802.c: Likewise.
* gcc.target/mips/pr45074.c: Likewise.
* gcc.target/mips/r10k-cache-barrier-1.c: Likewise.
* gcc.target/mips/r10k-cache-barrier-2.c: Likewise.
* gcc.target/mips/r10k-cache-barrier-3.c: Likewise.
* gcc.target/mips/r10k-cache-barrier-4.c: Likewise.
* gcc.target/mips/r10k-cache-barrier-5.c: Likewise.
* gcc.target/mips/r10k-cache-barrier-6.c: Likewise.
* gcc.target/mips/r10k-cache-barrier-7.c: Likewise.
* gcc.target/mips/r10k-cache-barrier-8.c: Likewise.
* gcc.target/mips/r10k-cache-barrier-9.c: Likewise.
* gcc.target/mips/r10k-cache-barrier-11.c: Likewise.
* gcc.target/mips/r10k-cache-barrier-12.c: Likewise.
* gcc.target/mips/r10k-cache-barrier-13.c: Likewise.
* gcc.target/mips/r10k-cache-barrier-14.c: Likewise.
* gcc.target/mips/r10k-cache-barrier-15.c: Likewise.
* gcc.target/mips/save-restore-1.c: Likewise.
* gcc.target/mips/save-restore-3.c: Likewise.
* gcc.target/mips/save-restore-5.c: Likewise.
* gcc.target/mips/smartmips-ror-1.c: Likewise.
* gcc.target/mips/smartmips-ror-2.c: Likewise.
* gcc.target/mips/smartmips-ror-3.c: Likewise.
* gcc.target/mips/smartmips-ror-4.c: Likewise.
* gcc.target/mips/stack-1.c: Likewise.
* gcc.target/mips/clear-cache-2.c: Remove optimization flag.
Tighten regexps.
* gcc.target/mips/branch-8.c: Arrange for the delay slot of the
branch under test to be filled with preceding rather than
following instructions.
* gcc.target/mips/branch-10.c: Likewise.
* gcc.target/mips/branch-11.c: Likewise.
* gcc.target/mips/branch-12.c: Likewise.
* gcc.target/mips/branch-13.c: Likewise.
* gcc.target/mips/branch-9.c: Likewise. Allow the frame pointer
to be eliminated. Tighten $28 scan-assembler-not test.
* gcc.target/mips/call-2.c: Remove optimization flag. Move second
function to...
* gcc.target/mips/call-4.c: ...this new test.
* gcc.target/mips/code-readable-2.c: Rework to make a jump table
more likely.
* gcc.target/mips/code-readable-3.c: Likewise.
* gcc.target/mips/code-readable-1.c: Likewise. Remove optimization
flag but skip for -O0.
* gcc.target/mips/code-readable-4.c: Likewise.
* gcc.target/mips/mips32-dsp-run.c: Prevent compile-time reduction
of operations under test.
* gcc.target/mips/mips32-dsp.c: Likewise. Remove optimization flag.
* gcc.target/mips/near-far-3.c: Remove optimization flag.
Don't require sibling-call optimization.
* gcc.target/mips/near-far-4.c: Likewise.
* gcc.target/mips/no-dsp-1.c: Require -ffat-lto-objects.
Make sure that the register variable is used.
* gcc.target/mips/soft-float-1.c: Likewise.
* gcc.target/mips/sdata-1.c: Make static data volatile.
* gcc.target/mips/sdata-2.c: Likewise.
* gcc.target/mips/sdata-3.c: Likewise.
* gcc.target/mips/sdata-4.c: Likewise.
* gcc.target/mips/
20020620-1.c: Remove optimization flag but
skip for -O0.
* gcc.target/mips/atomic-memory-2.c: Likewise.
* gcc.target/mips/branch-cost-1.c: Likewise.
* gcc.target/mips/branch-cost-2.c: Likewise.
* gcc.target/mips/cache-1.c: Likewise.
* gcc.target/mips/call-1.c: Likewise.
* gcc.target/mips/call-saved-2.c: Likewise.
* gcc.target/mips/const-anchor-1.c: Likewise.
* gcc.target/mips/const-anchor-2.c: Likewise.
* gcc.target/mips/dse-1.c: Likewise.
* gcc.target/mips/dsp-lhx.c: Likewise.
* gcc.target/mips/dspr2-MULTU.c: Likewise.
* gcc.target/mips/ext-1.c: Likewise.
* gcc.target/mips/ext-2.c: Likewise.
* gcc.target/mips/ext-3.c: Likewise.
* gcc.target/mips/ext-4.c: Likewise.
* gcc.target/mips/ext-5.c: Likewise.
* gcc.target/mips/ext-6.c: Likewise.
* gcc.target/mips/ext-7.c: Likewise.
* gcc.target/mips/extend-1.c: Likewise.
* gcc.target/mips/fix-r4000-1.c: Likewise.
* gcc.target/mips/fix-r4000-3.c: Likewise.
* gcc.target/mips/fix-r4000-5.c: Likewise.
* gcc.target/mips/fix-r4000-6.c: Likewise.
* gcc.target/mips/fix-r4000-8.c: Likewise.
* gcc.target/mips/fix-r4000-10.c: Likewise.
* gcc.target/mips/fixed-scalar-type.c: Likewise.
* gcc.target/mips/fixed-vector-type.c: Likewise.
* gcc.target/mips/fpr-moves-1.c: Likewise.
* gcc.target/mips/fpr-moves-2.c: Likewise.
* gcc.target/mips/fpr-moves-3.c: Likewise.
* gcc.target/mips/fpr-moves-4.c: Likewise.
* gcc.target/mips/fpr-moves-5.c: Likewise.
* gcc.target/mips/fpr-moves-6.c: Likewise.
* gcc.target/mips/ins-1.c: Likewise.
* gcc.target/mips/ins-2.c: Likewise.
* gcc.target/mips/interrupt_handler-2.c: Likewise.
* gcc.target/mips/interrupt_handler-3.c: Likewise.
* gcc.target/mips/lazy-binding-1.c: Likewise.
* gcc.target/mips/madd-3.c: Likewise.
* gcc.target/mips/madd-5.c: Likewise.
* gcc.target/mips/madd-6.c: Likewise.
* gcc.target/mips/madd-8.c: Likewise.
* gcc.target/mips/madd-9.c: Likewise.
* gcc.target/mips/memcpy-1.c: Likewise.
* gcc.target/mips/mips-ps-type.c: Likewise.
* gcc.target/mips/mips-ps-type-2.c: Likewise.
* gcc.target/mips/mips-sched-madd.c: Likewise.
* gcc.target/mips/mips16e-extends.c: Likewise.
* gcc.target/mips/mips32r2-mxhc1.c: Likewise.
* gcc.target/mips/mips64-dsp-ldx.c: Likewise.
* gcc.target/mips/movcc-1.c: Likewise.
* gcc.target/mips/movcc-2.c: Likewise.
* gcc.target/mips/movcc-3.c: Likewise.
* gcc.target/mips/msub-5.c: Likewise.
* gcc.target/mips/msub-6.c: Likewise.
* gcc.target/mips/msub-8.c: Likewise.
* gcc.target/mips/mult-2.c: Likewise.
* gcc.target/mips/mult-3.c: Likewise.
* gcc.target/mips/mult-5.c: Likewise.
* gcc.target/mips/mult-6.c: Likewise.
* gcc.target/mips/mult-7.c: Likewise.
* gcc.target/mips/mult-12.c: Likewise.
* gcc.target/mips/mult-13.c: Likewise.
* gcc.target/mips/mult-14.c: Likewise.
* gcc.target/mips/mult-15.c: Likewise.
* gcc.target/mips/mult-17.c: Likewise.
* gcc.target/mips/mult-18.c: Likewise.
* gcc.target/mips/mult-19.c: Likewise.
* gcc.target/mips/nmadd-1.c: Likewise.
* gcc.target/mips/nmadd-2.c: Likewise.
* gcc.target/mips/octeon-baddu-1.c: Likewise.
* gcc.target/mips/octeon-cins-1.c: Likewise.
* gcc.target/mips/octeon-cins-2.c: Likewise.
* gcc.target/mips/octeon-dmul-3.c: Likewise.
* gcc.target/mips/octeon-exts-2.c: Likewise.
* gcc.target/mips/octeon-exts-3.c: Likewise.
* gcc.target/mips/octeon-exts-4.c: Likewise.
* gcc.target/mips/octeon-exts-5.c: Likewise.
* gcc.target/mips/octeon-exts-6.c: Likewise.
* gcc.target/mips/octeon-exts-7.c: Likewise.
* gcc.target/mips/octeon-pop-2.c: Likewise.
* gcc.target/mips/octeon-seq-3.c: Likewise.
* gcc.target/mips/octeon-seq-4.c: Likewise.
* gcc.target/mips/octeon2-lx-1.c: Likewise.
* gcc.target/mips/octeon2-lx-2.c: Likewise.
* gcc.target/mips/octeon2-lx-3.c: Likewise.
* gcc.target/mips/pr54240.c: Likewise.
* gcc.target/mips/rsqrt-1.c: Likewise.
* gcc.target/mips/rsqrt-2.c: Likewise.
* gcc.target/mips/rsqrt-3.c: Likewise.
* gcc.target/mips/rsqrt-4.c: Likewise.
* gcc.target/mips/save-restore-2.c: Likewise.
* gcc.target/mips/save-restore-4.c: Likewise.
* gcc.target/mips/sb1-1.c: Likewise.
* gcc.target/mips/scc-1.c: Likewise.
* gcc.target/mips/scc-2.c: Likewise.
* gcc.target/mips/scc-3.c: Likewise.
* gcc.target/mips/scc-4.c: Likewise.
* gcc.target/mips/smartmips-lwxs.c: Likewise.
* gcc.target/mips/truncate-1.c: Likewise.
* gcc.target/mips/truncate-2.c: Likewise.
* gcc.target/mips/truncate-3.c: Likewise.
* gcc.target/mips/truncate-4.c: Likewise.
* gcc.target/mips/truncate-5.c: Likewise.
* gcc.target/mips/truncate-6.c: Likewise.
* gcc.target/mips/unaligned-1.c: Likewise.
* gcc.target/mips/dpaq_sa_l_w.c: Remove optimization flag but
skip for -O0. Require -fexpensive-optimizations.
* gcc.target/mips/dpsq_sa_l_w.c: Likewise.
* gcc.target/mips/dspr2-MULT.c: Likewise.
* gcc.target/mips/fix-r4000-2.c: Likewise.
* gcc.target/mips/fix-r4000-4.c: Likewise.
* gcc.target/mips/fix-r4000-7.c: Likewise.
* gcc.target/mips/fix-r4000-9.c: Likewise.
* gcc.target/mips/madd-1.c: Likewise.
* gcc.target/mips/madd-2.c: Likewise.
* gcc.target/mips/madd-4.c: Likewise.
* gcc.target/mips/maddu-1.c: Likewise.
* gcc.target/mips/maddu-2.c: Likewise.
* gcc.target/mips/maddu-3.c: Likewise.
* gcc.target/mips/maddu-4.c: Likewise.
* gcc.target/mips/msub-1.c: Likewise.
* gcc.target/mips/msub-2.c: Likewise.
* gcc.target/mips/msub-3.c: Likewise.
* gcc.target/mips/msub-4.c: Likewise.
* gcc.target/mips/msubu-1.c: Likewise.
* gcc.target/mips/msubu-2.c: Likewise.
* gcc.target/mips/msubu-3.c: Likewise.
* gcc.target/mips/msubu-4.c: Likewise.
* gcc.target/mips/mult-1.c: Likewise.
* gcc.target/mips/mult-4.c: Likewise.
* gcc.target/mips/mult-8.c: Likewise.
* gcc.target/mips/mult-9.c: Likewise.
* gcc.target/mips/mult-10.c: Likewise.
* gcc.target/mips/mult-11.c: Likewise.
* gcc.target/mips/mult-16.c: Likewise.
* gcc.target/mips/fix-r4000-11.c: Remove optimization flag but
skip for -O0 and -Os.
* gcc.target/mips/fix-r4000-12.c: Likewise.
* gcc.target/mips/madd-7.c: Likewise.
* gcc.target/mips/mips-ps-5.c: Likewise.
* gcc.target/mips/mips-ps-7.c: Likewise.
* gcc.target/mips/msub-7.c: Likewise.
* gcc.target/mips/mmcount-ra-address-2.c: Remove optimization flag but
skip for -O0. Require -mno-abicalls.
* gcc.target/mips/mmcount-ra-address-3.c: Likewise.
* gcc.target/mips/octeon-bbit-1.c: Remove optimization flag but
skip for -O0. Require a total number of BBIT instructions and
at least one of each kind.
* gcc.target/mips/octeon-bbit-2.c: Remove optimization flag but
skip for -O0. Require -fno-unroll-loops.
* gcc.target/mips/octeon-bbit-3.c: Remove optimization flag but
skip for -O0. Allow BLTZ as well as BGEZ.
* gcc.target/mips/octeon-dmul-2.c: Skip for -Os.
* gcc.target/mips/octeon-pipe-1.c: Remove optimization flag but
skip for -O0. Require -fschedule-insns2.
* gcc.target/mips/octeon2-pipe-1.c: Likewise.
* gcc.target/mips/r10k-cache-barrier-10.c: Remove optimization flag
but skip for -O0. Make a branch-likely more likely.
* gcc.target/mips/timode-2.c: Split each test into its own function.
* gcc.target/mips/timode-1.c: Likewise. Skip for -Os.
* gcc.target/mips/vr-mult-1.c: Remove optimization flag but
skip for -O0. Require -fpeephole2.
* gcc.target/mips/vr-mult-2.c: Likewise.
From-SVN: r190718
Richard Sandiford [Mon, 27 Aug 2012 16:25:47 +0000 (16:25 +0000)]
mips.c (mips_pic_call_symbol_from_set): Check for SYMBOL_REF SET_SRCs.
gcc/
* config/mips/mips.c (mips_pic_call_symbol_from_set): Check for
SYMBOL_REF SET_SRCs.
From-SVN: r190717
Richard Sandiford [Mon, 27 Aug 2012 16:25:12 +0000 (16:25 +0000)]
mips.c (vr4130_align_insns): Don't simulate ghost instructions.
gcc/
* config/mips/mips.c (vr4130_align_insns): Don't simulate
ghost instructions. Assert that the required instructions exist.
From-SVN: r190716