]>
git.ipfire.org Git - thirdparty/gcc.git/log
Edward Smith-Rowland [Tue, 25 Sep 2012 03:26:36 +0000 (03:26 +0000)]
Implement the K-distribution as an extension.
From-SVN: r191688
GCC Administrator [Tue, 25 Sep 2012 00:17:43 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r191687
Ian Lance Taylor [Mon, 24 Sep 2012 22:21:49 +0000 (22:21 +0000)]
compiler: Better warning for switch on non-comparable type.
From-SVN: r191683
Dehao Chen [Mon, 24 Sep 2012 20:50:46 +0000 (20:50 +0000)]
tree-cfg.c (move_stmt_op): Reset the expr block only when necessary.
2012-09-24 Dehao Chen <dehao@google.com>
* tree-cfg.c (move_stmt_op): Reset the expr block only
when necessary.
(move_block_to_fn): Reset the edge's goto block even
when the goto locus is unknown.
From-SVN: r191680
François Dumont [Mon, 24 Sep 2012 19:53:36 +0000 (19:53 +0000)]
re PR libstdc++/44436 ([C++0x] Implement emplace* in associative containers)
2012-09-24 François Dumont <fdumont@gcc.gnu.org>
PR libstdc++/44436
* include/bits/stl_tree.h
(_Rb_tree<>::_M_insert_): Take _Base_ptr rather than
_Const_Base_ptr.
(_Rb_tree<>::_M_insert_node): New.
(_Rb_tree<>::_M_get_insert_unique_pos): New, search code of
_M_insert_unique method.
(_Rb_tree<>::_M_insert_unique): Use latter.
(_Rb_tree<>::_M_emplace_unique): New, likewise.
(_Rb_tree<>::_M_get_insert_equal_pos): New, search code of
_M_insert_equal method.
(_Rb_tree<>::_M_insert_equal): Use latter.
(_Rb_tree<>::_M_emplace_equal): New, likewise.
(_Rb_tree<>::_M_get_insert_hint_unique_pos): New, search code of
_M_insert_unique_ method.
(_Rb_tree<>::_M_insert_unique_): Use latter.
(_Rb_tree<>::_M_emplace_hint_unique): New, likewise.
(_Rb_tree<>::_M_get_insert_hint_equal_pos): New, search code of
_M_insert_equal_ method.
(_Rb_tree<>::_M_insert_equal_): Use latter.
(_Rb_tree<>::_M_emplace_hint_equal): New, likewise.
(_Rb_tree<>::_M_insert_lower): Remove first _Base_ptr parameter,
useless as always null.
* include/bits/stl_map.h: Include <tuple> in C++11.
(map<>::operator[](const key_type&)): Use
_Rb_tree<>::_M_emplace_hint_unique in C++11.
(map<>::operator[](key_type&&)): Likewise.
(map<>::emplace): New.
(map<>::emplace_hint): New.
* include/bits/stl_multimap.h (multimap<>::emplace): New.
(multimap<>::emplace_hint): New.
* include/bits/stl_set.h (set<>::emplace): New.
(set<>::emplace_hint): New.
* include/bits/stl_multiset.h (multiset<>::emplace): New.
(multiset<>::emplace_hint): New.
* include/debug/map.h (std::__debug::map<>::emplace): New.
(std::__debug::map<>::emplace_hint): New.
* include/debug/multimap.h (std::__debug::multimap<>::emplace):
New.
(std::__debug::multimap<>::emplace_hint): New.
* include/debug/set.h (std::__debug::set<>::emplace): New.
(std::__debug::set<>::emplace_hint): New.
* include/debug/multiset.h (std::__debug::multiset<>::emplace):
New.
(std::__debug::multiset<>::emplace_hint): New.
* include/profile/map.h (std::__profile::map<>::emplace): New.
(std::__profile::map<>::emplace_hint): New.
* include/profile/multimap.h (std::__profile::multimap<>::emplace):
New.
(std::__profile::multimap<>::emplace_hint): New.
* include/profile/set.h (std::__profile::set<>::emplace): New.
(std::__profile::set<>::emplace_hint): New.
* include/profile/multiset.h (std::__profile::multiset<>::emplace):
New.
(std::__profile::multiset<>::emplace_hint): New.
* testsuite/util/testsuite_container_traits.h: Signal that emplace
and emplace_hint are available on std::map, std::multimap,
std::set and std::multiset in C++11.
* testsuite/23_containers/map/operators/2.cc: New.
* testsuite/23_containers/map/modifiers/emplace/1.cc: New.
* testsuite/23_containers/multimap/modifiers/emplace/1.cc: New.
* testsuite/23_containers/set/modifiers/emplace/1.cc: New.
* testsuite/23_containers/multiset/modifiers/emplace/1.cc: New.
From-SVN: r191679
François Dumont [Mon, 24 Sep 2012 19:48:06 +0000 (19:48 +0000)]
41975.cc: Use __uset_hashtable rather than removed __unordered_set.
2012-09-24 François Dumont <fdumont@gcc.gnu.org>
* testsuite/performance/23_containers/insert_erase/41975.cc: Use
__uset_hashtable rather than removed __unordered_set.
From-SVN: r191678
Tobias Burnus [Mon, 24 Sep 2012 19:07:28 +0000 (21:07 +0200)]
Add missing PR to the ChangeLog
From-SVN: r191677
Tobias Burnus [Mon, 24 Sep 2012 19:05:18 +0000 (21:05 +0200)]
re PR fortran/54618 ([OOP] wrong-code with CLASS(...), INTENT(OUT) -- and OPTIONAL or ALLOCATABLE)
2012-09-24 Tobias Burnus <burnus@net-b.de>
PR fortran/54618
* trans-expr.c (gfc_conv_procedure_call): Fix INTENT(OUT)
handling for allocatable BT_CLASS.
From-SVN: r191676
Lawrence Crowl [Mon, 24 Sep 2012 18:22:31 +0000 (18:22 +0000)]
Finish conversion of uses of double_int to the new API.
Some old functionality required new interfaces, and these have been added to
double-int.[hc]:
double_int::from_pair - static constructor function
wide_mul_with_sign - double-wide multiply instruction
sub_with_overflow - subtraction with overlow testing
neg_with_overflow - negation with overlow testing
divmod_with_overflow - div and mod with overlow testing
This patch corrects the bootstrap problem on HPPA, via the addition of
sub_with_overflow. (The overflow properties of negation and addition are
different from subtraction.)
The prior two generations of the interface have been removed.
Some of these old interfaces are still used as static implementation in
double-int.c.
The changed compiler appears 0.321% faster with 80% confidence of being faster.
Tested on x86_64, HPPA, and SPARC. However, there are changes to the avr
config files, and I have not tested those.
Index: gcc/java/ChangeLog
2012-09-24 Lawrence Crowl <crowl@google.com>
* decl.c (java_init_decl_processing): Change to new double_int API.
* jcf-parse.c (get_constant): Likewise.
* boehm.c (mark_reference_fields): Likewise.
(get_boehm_type_descriptor): Likewise.
Index: gcc/ChangeLog
2012-09-24 Lawrence Crowl <crowl@google.com>
* double-int.h (double_int::from_pair): New.
(double_int::wide_mul_with_sign): New.
(double_int::sub_with_overflow): New.
(double_int::neg_with_overflow): New.
(double_int::divmod_with_overflow): New.
(shwi_to_double_int): Remove.
(uhwi_to_double_int): Remove.
(double_int_to_shwi): Remove.
(double_int_to_uhwi): Remove.
(double_int_fits_in_uhwi_p): Remove.
(double_int_fits_in_shwi_p): Remove.
(double_int_fits_in_hwi_p): Remove.
(double_int_mul): Remove.
(double_int_mul_with_sign): Remove.
(double_int_add): Remove.
(double_int_sub): Remove.
(double_int_neg): Remove.
(double_int_div): Remove.
(double_int_sdiv): Remove.
(double_int_udiv): Remove.
(double_int_mod): Remove.
(double_int_smod): Remove.
(double_int_umod): Remove.
(double_int_divmod): Remove.
(double_int_sdivmod): Remove.
(double_int_udivmod): Remove.
(double_int_multiple_of): Remove.
(double_int_setbit): Remove.
(double_int_ctz): Remove.
(double_int_not): Remove.
(double_int_ior): Remove.
(double_int_and): Remove.
(double_int_and_not): Remove.
(double_int_xor): Remove.
(double_int_lshift): Remove.
(double_int_rshift): Remove.
(double_int_lrotate): Remove.
(double_int_rrotate): Remove.
(double_int_negative_p): Remove.
(double_int_cmp): Remove.
(double_int_scmp): Remove.
(double_int_ucmp): Remove.
(double_int_max): Remove.
(double_int_smax): Remove.
(double_int_umax): Remove.
(double_int_min): Remove.
(double_int_smin): Remove.
(double_int_umin): Remove.
(double_int_ext): Remove.
(double_int_sext): Remove.
(double_int_zext): Remove.
(double_int_mask): Remove.
(double_int_max_value): Remove.
(double_int_min_value): Remove.
(double_int_zero_p): Remove.
(double_int_one_p): Remove.
(double_int_minus_one_p): Remove.
(double_int_equal_p): Remove.
(double_int_popcount): Remove.
(extern add_double_with_sign): Remove.
(#define add_double): Remove.
(extern neg_double): Remove.
(extern mul_double_with_sign): Remove.
(extern mul_double_wide_with_sign): Remove.
(#define mul_double): Remove.
(extern lshift_double): Remove.
(extern div_and_round_double): Remove.
* double-int.c (add_double_with_sign): Make static.
(#defined add_double): Localized from header.
(neg_double): Make static.
(mul_double_with_sign): Make static.
(mul_double_wide_with_sign): Make static.
(#defined mul_double): Localized from header.
(lshift_double): Make static.
(div_and_round_double): Make static.
(double_int::wide_mul_with_sign): New.
(double_int::sub_with_overflow): New.
(double_int::neg_with_overflow): New.
(double_int::divmod_with_overflow): New.
* emit-rtl.c (init_emit_once): Change to new double_int API.
* explow.c (plus_constant): Likewise.
* expmed.c (choose_multiplier): Likewise.
* fold-const.c (#define OVERFLOW_SUM_SIGN): Remove.
(int_const_binop_1): Change to new double_int API.
(fold_div_compare): Likewise.
(maybe_canonicalize_comparison): Likewise.
(pointer_may_wrap_p): Likewise.
(fold_negate_const): Likewise.
(fold_abs_const): Likewise.
* simplify-rtx.c (simplify_const_unary_operation): Likewise.
(simplify_const_binary_operation): Likewise.
* tree-chrec.c (tree_fold_binomial): Likewise.
* tree-vrp.c (extract_range_from_binary_expr_1): Likewise.
* config/sparc/sparc.c (sparc_fold_builtin): Likewise.
* config/avr/avr.c (avr_double_int_push_digit): Likewise.
(avr_map): Likewise.
(avr_map_decompose): Likewise.
(avr_out_insert_bits): Likewise.
Index: gcc/cp/ChangeLog
2012-09-24 Lawrence Crowl <crowl@google.com>
* init.c (build_new_1): Change to new double_int API.
* decl.c (build_enumerator): Likewise.
* typeck2.c (process_init_constructor_array): Likewise.
* mangle.c (write_array_type): Likewise.
Index: gcc/fortran/ChangeLog
2012-09-24 Lawrence Crowl <crowl@google.com>
* trans-expr.c (gfc_conv_cst_int_power): Change to new double_int API.
* target-memory.c (gfc_interpret_logical): Likewise.
From-SVN: r191675
Paolo Carlini [Mon, 24 Sep 2012 16:56:41 +0000 (16:56 +0000)]
re PR c++/50828 (class template parameter not printed for member function template in candidate list)
2012-09-24 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/50828
* error.c (dump_function_decl): Strip TFF_TEMPLATE_NAME from flags
at the outset.
From-SVN: r191673
Jason Merrill [Mon, 24 Sep 2012 15:37:42 +0000 (11:37 -0400)]
* decl.c (get_atexit_node): Remove dead code.
From-SVN: r191672
Jason Merrill [Mon, 24 Sep 2012 15:36:51 +0000 (11:36 -0400)]
* Make-lang.in (cp/parser.o): Depend on decl.h.
From-SVN: r191671
Janis Johnson [Mon, 24 Sep 2012 15:15:14 +0000 (15:15 +0000)]
doc/sourcebuild.texi (Selectors): Document the use of target and xfail used together.
doc/sourcebuild.texi (Selectors): Document the use of target
and xfail used together.
testsuite/
* lib/target-supports-dg.exp (dg-require-effective-target,
dg-skip-if, dg-xfail-if, dg-xfail-run-if, dg-shouldfail): Call
dg-process-target-1 instead of dg-process-target.
(dg-process-target-1): Rename from dg-process-target.
(dg-process-target): New.
From-SVN: r191670
Richard Guenther [Mon, 24 Sep 2012 15:02:53 +0000 (15:02 +0000)]
re PR lto/54632 (not supported in LTO streams : tree code '�F ��D�� `)
2012-09-24 Richard Guenther <rguenther@suse.de>
PR middle-end/54632
* tree-ssa-live.c (clear_unused_block_pointer_1): Do not
handle DECL_DEBUG_EXPR_IS_FROM here...
(clear_unused_block_pointer): ... but here when walking all
local decls.
From-SVN: r191669
Richard Guenther [Mon, 24 Sep 2012 14:14:18 +0000 (14:14 +0000)]
re PR tree-optimization/54684 (bootstrap broken with --disable-checking)
2012-09-24 Richard Guenther <rguenther@suse.de>
PR tree-optimization/54684
* tree-ssa-ccp.c (optimize_unreachable): Properly update stmts.
* g++.dg/torture/pr54684.C: New testcase.
From-SVN: r191667
Marc Glisse [Mon, 24 Sep 2012 12:43:43 +0000 (14:43 +0200)]
tree-ssa-forwprop.c: Include tree-ssa-propagate.h.
2012-09-24 Marc Glisse <marc.glisse@inria.fr>
gcc/
* tree-ssa-forwprop.c: Include tree-ssa-propagate.h.
(simplify_bitfield_ref): Handle constructors.
* Makefile.in (tree-ssa-forwprop.o): Depend on tree-ssa-propagate.h.
gcc/testsuite/
* gcc.dg/tree-ssa/forwprop-23.c: New testcase.
From-SVN: r191665
Richard Guenther [Mon, 24 Sep 2012 10:53:22 +0000 (10:53 +0000)]
tree-ssa-pre.c (bitmap_find_leader, [...]): Remove dominating stmt argument.
2012-09-24 Richard Guenther <rguenther@suse.de>
* tree-ssa-pre.c (bitmap_find_leader, create_expression_by_pieces,
find_or_generate_expression): Remove dominating stmt argument.
(find_leader_in_sets, phi_translate_1, bitmap_find_leader,
create_component_ref_by_pieces_1, create_component_ref_by_pieces,
do_regular_insertion, do_partial_partial_insertion): Adjust.
(compute_avail): Do not set uids.
From-SVN: r191664
Eric Botcazou [Mon, 24 Sep 2012 10:27:18 +0000 (10:27 +0000)]
tree-streamer-in.c (unpack_ts_type_common_value_fields): Stream in TYPE_NONALIASED_COMPONENT flag.
* tree-streamer-in.c (unpack_ts_type_common_value_fields): Stream in
TYPE_NONALIASED_COMPONENT flag.
* tree-streamer-out.c (pack_ts_type_common_value_fields): Stream out
TYPE_NONALIASED_COMPONENT flag.
From-SVN: r191662
Jia Liu [Mon, 24 Sep 2012 09:36:42 +0000 (09:36 +0000)]
lto.texi: Separate sections.
2012-09-24 Jia Liu <proljc@gmail.com>
* doc/lto.texi: Separate sections.
* doc/plugins.texi: Likewise.
From-SVN: r191659
Richard Guenther [Mon, 24 Sep 2012 08:57:08 +0000 (08:57 +0000)]
re PR middle-end/52173 (internal compiler error: verify_ssa failed possibly caused by itm)
2012-09-24 Richard Guenther <rguenther@suse.de>
PR middle-end/52173
* gimple.c (gimple_copy): Properly mark the copy modified
if SSA operands are present.
* gcc.dg/tm/pr52173-1.c: New.
* gcc.dg/tm/pr52173-2.c: New.
From-SVN: r191658
GCC Administrator [Mon, 24 Sep 2012 00:17:52 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r191657
Eric Botcazou [Sun, 23 Sep 2012 20:37:37 +0000 (20:37 +0000)]
re PR tree-optimization/54669 (verify_flow_info failure after loop unrolling with -fnon-call-exceptions)
PR tree-optimization/54669
* tree-ssa-loop-ivcanon.c (propagate_into_all_uses): Invoke
maybe_clean_or_replace_eh_stmt on the modified use statements.
From-SVN: r191654
Marc Glisse [Sun, 23 Sep 2012 19:58:28 +0000 (21:58 +0200)]
expr.c (do_store_flag): Remove duplicated code.
2012-09-23 Marc Glisse <marc.glisse@inria.fr>
* expr.c (do_store_flag): Remove duplicated code.
From-SVN: r191653
Paolo Carlini [Sun, 23 Sep 2012 19:58:16 +0000 (19:58 +0000)]
revert: stl_algobase.h (max, min): Use conditional operator.
2012-09-23 Paolo Carlini <paolo.carlini@oracle.com>
Revert:
2012-09-21 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/stl_algobase.h (max, min): Use conditional operator.
From-SVN: r191652
Paolo Carlini [Sun, 23 Sep 2012 14:21:35 +0000 (14:21 +0000)]
re PR testsuite/54677 (FAIL: g++.dg/cpp0x/decltype32.C (test for excess errors) with -m64 after revision 191564)
2012-09-23 Paolo Carlini <paolo.carlini@oracle.com>
Dominique Dhumieres <dominiq@lps.ens.fr>
PR testsuite/54677
* g++.dg/cpp0x/decltype32.C: Add -ftemplate-depth=10.
Co-Authored-By: Dominique d'Humieres <dominiq@lps.ens.fr>
From-SVN: r191651
Uros Bizjak [Sun, 23 Sep 2012 11:24:46 +0000 (13:24 +0200)]
re PR libstdc++/54675 (Many libstdc++ testsuite failures in ext/random)
PR libstdc++/54675
* include/ext/random: Avoid the badname __alpha (and, for
consistency, __mu, __nu, __sigma and __omega too).
* include/bits/random.tcc: Likewise.
From-SVN: r191650
Tobias Burnus [Sun, 23 Sep 2012 06:48:48 +0000 (08:48 +0200)]
re PR fortran/54599 (Issues found in gfortran by the Coverity Scan)
2012-09-23 Tobias Burnus <burnus@net-b.de>
* parse.c (parse_derived): Don't set attr.alloc_comp
for pointer components with allocatable subcomps.
PR fortran/54599
* resolve.c (resolve_fl_namelist): Remove superfluous
NULL check.
* simplify.c (simplify_min_max): Remove unreachable code.
* trans-array.c (gfc_trans_create_temp_array): Change
a condition into an assert.
PR fortran/54618
* trans-expr.c (gfc_trans_class_init_assign): Guard
re-setting of the _data by gfc_conv_expr_present.
(gfc_conv_procedure_call): Fix INTENT(OUT) handling
for allocatable BT_CLASS.
2012-09-23 Tobias Burnus <burnus@net-b.de>
PR fortran/54618
* gfortran.dg/class_array_14.f90: New.
From-SVN: r191649
GCC Administrator [Sun, 23 Sep 2012 00:17:43 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r191648
Segher Boessenkool [Sat, 22 Sep 2012 23:02:06 +0000 (01:02 +0200)]
predicates.md (altivec_register_operand, [...]): If op is a SUBREG, consider its SUBREG_REG instead.
gcc/
* config/rs6000/predicates.md (altivec_register_operand,
vsx_register_operand, vfloat_operand, vint_operand,
vlogical_operand, gpc_reg_operand, cc_reg_operand,
cc_reg_not_cr0_operand, cc_reg_not_micro_cr0_operand):
If op is a SUBREG, consider its SUBREG_REG instead.
From-SVN: r191645
Kai Tietz [Sat, 22 Sep 2012 12:10:30 +0000 (14:10 +0200)]
scev-3.c: Add llp64 to xfail.
* gcc.dg/tree-ssa/scev-3.c: Add llp64 to xfail.
* gcc.dg/tree-ssa/scev-4.c: Likewise.
From-SVN: r191642
Uros Bizjak [Sat, 22 Sep 2012 11:39:48 +0000 (13:39 +0200)]
optabs.c (prepare_cmp_insn): Expand comparison of the result of memcmp through generic comparison expansion code.
* optabs.c (prepare_cmp_insn): Expand comparison of the result
of memcmp through generic comparison expansion code.
From-SVN: r191641
Thomas Koenig [Sat, 22 Sep 2012 10:32:51 +0000 (10:32 +0000)]
re PR fortran/54599 (Issues found in gfortran by the Coverity Scan)
2012-09-22 Thomas König <tkoenig@gcc.gnu.org>
PR fortran/54599
* dependency.c (gfc_dep_compare_expr): Clarify logic,
remove dead code.
From-SVN: r191640
Ian Lance Taylor [Sat, 22 Sep 2012 07:18:45 +0000 (07:18 +0000)]
runtime: Reject surrogate pairs in range over string.
From-SVN: r191638
Ian Lance Taylor [Sat, 22 Sep 2012 06:51:59 +0000 (06:51 +0000)]
compiler, runtime: Reject surrogate pair converting int to string.
From-SVN: r191636
Ian Lance Taylor [Sat, 22 Sep 2012 06:33:10 +0000 (06:33 +0000)]
compiler: No error if shift operand inherits interface type.
From-SVN: r191634
Ian Lance Taylor [Sat, 22 Sep 2012 06:06:31 +0000 (06:06 +0000)]
runtime: Return random number of hash of NaN.
From-SVN: r191632
Ian Lance Taylor [Sat, 22 Sep 2012 06:02:35 +0000 (06:02 +0000)]
compiler: Fix determining types for builtin complex function.
From-SVN: r191630
Anthony Green [Sat, 22 Sep 2012 02:04:56 +0000 (02:04 +0000)]
Add -mno-crt0 to moxie port
From-SVN: r191629
Ian Lance Taylor [Sat, 22 Sep 2012 01:15:28 +0000 (01:15 +0000)]
compiler: Fix unnamed struct type converted to interface type.
From-SVN: r191627
GCC Administrator [Sat, 22 Sep 2012 00:17:24 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r191625
Ian Lance Taylor [Fri, 21 Sep 2012 22:11:24 +0000 (22:11 +0000)]
compiler: Better error messages for single- and multiple- value.
From-SVN: r191621
Ian Lance Taylor [Fri, 21 Sep 2012 21:07:24 +0000 (21:07 +0000)]
compiler: Better error message if method requires pointer receiver.
From-SVN: r191619
Jack Howarth [Fri, 21 Sep 2012 20:07:36 +0000 (20:07 +0000)]
Remove lto-symtab.o's dependency on gt-lto-symtab.h
PR bootstrap/54642
* Makefile.in (lto-symtab.o): Remove gt-lto-symtab.h dependency.
From-SVN: r191618
Ian Lance Taylor [Fri, 21 Sep 2012 17:48:30 +0000 (17:48 +0000)]
compiler: len(<-c) is not a constant.
From-SVN: r191616
Dehao Chen [Fri, 21 Sep 2012 17:01:36 +0000 (17:01 +0000)]
re PR middle-end/54649 (Go bootstrap failed)
2012-09-21 Dehao Chen <dehao@google.com>
PR go/54649
PR tree-optimization/54655
* g++.dg/pr54655.C: New testcase.
From-SVN: r191615
Dehao Chen [Fri, 21 Sep 2012 15:35:46 +0000 (15:35 +0000)]
re PR middle-end/54649 (Go bootstrap failed)
2012-09-21 Dehao Chen <dehao@google.com>
PR go/54649
* tree-eh.c (lower_try_finally_dup_block): Set the correct block for
stmts in the duplicated EH block.
From-SVN: r191614
Richard Guenther [Fri, 21 Sep 2012 12:44:07 +0000 (12:44 +0000)]
re PR tree-optimization/54647 (Segmentation fault in get_expr_value_id with -O2)
2012-09-21 Richard Guenther <rguenther@suse.de>
PR tree-optimization/54647
* tree-ssa-pre.c (compute_avail): Do not put COND_EXPR
or VEC_COND_EXPR into EXP_GEN again.
* g++.dg/torture/pr54647.C: New testcase.
From-SVN: r191613
Edward Smith-Rowland [Fri, 21 Sep 2012 12:33:20 +0000 (12:33 +0000)]
Implement the Pareto distribution as an extension.
From-SVN: r191612
Jakub Jelinek [Fri, 21 Sep 2012 11:54:14 +0000 (13:54 +0200)]
re PR tree-optimization/54629 (ICE (segfault) in index_in_loop_nest tree-data-ref.h:608)
2012-09-21 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/54629
* tree-loop-distribution.c (classify_partition): Free loop nest only
after freeing ddr. Free ddr and loop nest also if successful.
From-SVN: r191611
Matthias Klose [Fri, 21 Sep 2012 11:12:44 +0000 (11:12 +0000)]
arm.c (arm_mangle_type): Don't warn anymore that 4.4 has changed the `va_list' mangling.
2012-09-21 Matthias Klose <doko@ubuntu.com>
* config/arm/arm.c (arm_mangle_type): Don't warn anymore that
4.4 has changed the `va_list' mangling.
From-SVN: r191610
Eric Botcazou [Fri, 21 Sep 2012 11:06:51 +0000 (11:06 +0000)]
re PR rtl-optimization/54290 (wrong code at -O2 with large offset)
PR rtl-optimization/54290
PR rtl-optimization/54644
* reload1.c (choose_reload_regs): Fix thinko in previous change.
From-SVN: r191609
Paolo Carlini [Fri, 21 Sep 2012 10:48:30 +0000 (10:48 +0000)]
stl_algobase.h (max, min): Use conditional operator.
2012-09-21 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/stl_algobase.h (max, min): Use conditional operator.
From-SVN: r191608
Marc Glisse [Fri, 21 Sep 2012 09:19:39 +0000 (11:19 +0200)]
re PR c++/54427 (Expose more vector extensions)
2012-09-21 Marc Glisse <marc.glisse@inria.fr>
PR c++/54427
* c-c++-common/torture/vector-compare-2.c: Add -w.
From-SVN: r191604
Segher Boessenkool [Fri, 21 Sep 2012 00:33:27 +0000 (02:33 +0200)]
rs6000.md (define_split for plus_eqsi): Fix output pattern.
2012-09-20 Segher Boessenkool <segher@kernel.crashing.org>
gcc/
* config/rs6000/rs6000.md (define_split for plus_eqsi):
Fix output pattern.
From-SVN: r191600
GCC Administrator [Fri, 21 Sep 2012 00:18:32 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r191599
Eric Botcazou [Thu, 20 Sep 2012 22:38:42 +0000 (22:38 +0000)]
* reload1.c (choose_reload_regs): Add missing #ifdef/#endif pair.
From-SVN: r191596
Bernd Schmidt [Thu, 20 Sep 2012 22:01:47 +0000 (22:01 +0000)]
re PR bootstrap/54643 (Build hangs compiling unwind-arm.c)
PR bootstrap/54643
* haifa-sched.c (schedule_block): Skip find_modifiable_mems if using
SCHED_PRESSURE_MODEL.
From-SVN: r191595
Eric Botcazou [Thu, 20 Sep 2012 21:58:46 +0000 (21:58 +0000)]
opt20.ads: Move dg directive to...
* gnat.dg/opt20.ads: Move dg directive to...
* gnat.dg/opt20.adb: ...here.
* gnat.dg/addr1.ad[sb]: Likewise.
* gnat.dg/concat2.ad[sb]: Likewise.
* gnat.dg/array16.ad[sb]: Likewise.
* gnat.dg/atomic5.ad[sb]: Likewise.
* gnat.dg/discr29.ad[sb]: Likewise.
* gnat.dg/noreturn5.ad[sb]: Likewise.
* gnat.dg/vect8.ad[sb]: Likewise. Add dg-options.
* gnat.dg/discr23.ads: Remove dg directive.
* gnat.dg/nested_float_packed.ads: Likewise.
* gnat.dg/oconst6.ads: Move to...
* gnat.dg/specs/oconst6.ads: ...here.
From-SVN: r191592
Tobias Burnus [Thu, 20 Sep 2012 20:49:20 +0000 (22:49 +0200)]
re PR fortran/54599 (Issues found in gfortran by the Coverity Scan)
2012-09-20 Tobias Burnus <burnus@net-b.de>
PR fortran/54599
* cpp.c (print_line): Properly handle extern C.
From-SVN: r191590
Joern Rennecke [Thu, 20 Sep 2012 20:17:34 +0000 (20:17 +0000)]
* rtlanal.c (dead_or_set_regno_p): Fix COND_EXEC handling.
From-SVN: r191586
Walter Lee [Thu, 20 Sep 2012 19:17:51 +0000 (19:17 +0000)]
Add tilegx to list of targets that support gold.
* configure.ac: Add tilegx to list of targets that support gold.
* configure: Regenerate.
From-SVN: r191585
Ian Lance Taylor [Thu, 20 Sep 2012 17:33:26 +0000 (17:33 +0000)]
compiler: Update for GCC push_cfun changes.
From-SVN: r191582
Marek Polacek [Thu, 20 Sep 2012 17:05:41 +0000 (17:05 +0000)]
Merge identical cases.
From-SVN: r191581
Marek Polacek [Thu, 20 Sep 2012 17:02:40 +0000 (17:02 +0000)]
Don't cast XNEWVEC's result.
From-SVN: r191580
Marek Polacek [Thu, 20 Sep 2012 16:45:28 +0000 (16:45 +0000)]
Add myself to MAINTAINERS.
From-SVN: r191578
Martin Jambor [Thu, 20 Sep 2012 16:35:40 +0000 (18:35 +0200)]
function.c (push_cfun): Check old current_function_decl matches old cfun...
2012-09-20 Martin Jambor <mjambor@suse.cz>
* function.c (push_cfun): Check old current_function_decl matches
old cfun, set new current_function_decl to the decl of the new
cfun.
(push_struct_function): Likewise.
(pop_cfun): Likewise.
(allocate_struct_function): Move call to
invoke_set_current_function_hook to the end of the function.
* cfgexpand.c (estimated_stack_frame_size): Do not set and restore
current_function_decl.
* cgraph.c (cgraph_release_function_body): Likewise.
* cgraphunit.c (cgraph_process_new_functions): Likewise.
(cgraph_add_new_function): Likewise.
(cgraph_analyze_function): Likewise.
(assemble_thunk): Set cfun to NULL at the end.
(expand_function): Move call to set_cfun downwards.
* gimple-low.c (record_vars_into): Only check current_function_decl
before possibly doing push_cfun.
* gimplify.c (gimplify_function_tree): Do not set and restore
current_function_decl.
* ipa-inline-analysis.c (compute_inline_parameters): Likewise.
(inline_analyze_function): Likewise.
* ipa-prop.c (ipa_analyze_node): Likewise.
* ipa-pure-const.c (analyze_function): Likewise.
* lto-streamer-in.c (lto_input_function_body): Do not set
current_function_decl.
* lto-streamer-out.c (output_function): Do not set and restore
current_function_decl.
* omp-low.c (finalize_task_copyfn): Likewise.
(expand_omp_taskreg): Likewise.
(create_task_copyfn): Likewise, move push_cfun up quite a bit.
* passes.c (dump_passes): Do not set and restore current_function_decl.
(do_per_function): Likewise.
(do_per_function_toporder): Likewise.
* trans-mem.c (ipa_tm_scan_irr_function): Likewise.
(ipa_tm_transform_transaction): Likewise.
(ipa_tm_transform_clone): Likewise.
(ipa_tm_execute): Likewise.
* tree-emutls.c (lower_emutls_function_body): Likewise.
* tree-inline.c (initialize_cfun): Do not call pop_cfun.
(tree_function_versioning): Do not call push_cfun, do not set and
restore current_function_decl. Remove assert checking consistency of
cfun and current_function_decl.
* tree-profile.c (tree_profiling): Do not set and restore
current_function_decl.
* tree-sra.c (convert_callers_for_node): Do not set
current_function_decl.
(convert_callers): Do not restore current_function_decl.
(modify_function): Do not set current_function_decl.
* tree-ssa-structalias.c (ipa_pta_execute): Do not set and restore
current_function_decl.
fortran/
* trans-decl.c (gfc_get_extern_function_decl): Push NULL cfun. Do not
set and restore current_function_decl.
(gfc_init_coarray_decl): Do not set and restore current_function_decl.
lto/
* lto.c (lto_materialize_function): Call push_struct_function and
pop_cfun.
From-SVN: r191577
Ian Lance Taylor [Thu, 20 Sep 2012 16:32:27 +0000 (16:32 +0000)]
libgo: Add no-dist and -Wno-portability to AM_INIT_AUTOMAKE.
From-SVN: r191575
Diego Novillo [Thu, 20 Sep 2012 16:31:05 +0000 (12:31 -0400)]
re PR target/54631 (vxworks.c fails to compile)
PR target/54631
* config/vxworks.c (vxworks_emutls_var_init): Update for new
VEC_quick_push interface.
From-SVN: r191574
Richard Guenther [Thu, 20 Sep 2012 14:46:32 +0000 (14:46 +0000)]
re PR tree-optimization/54634 (miscompilation with -O3 -ftree-loop-distribution)
2012-09-20 Richard Guenther <rguenther@suse.de>
PR tree-optimization/54634
* tree-data-ref.c (get_references_in_stmt): For now give
up for pure functions.
From-SVN: r191567
Jakub Jelinek [Thu, 20 Sep 2012 14:41:17 +0000 (16:41 +0200)]
re PR other/43620 ([4.3 Release Blocker] Uploading to gnu.org will fail due to automake security issue)
PR other/43620
libatomic/
* configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
* configure: Regenerate.
* Makefile.in: Regenerate.
libitm/
* configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
* configure: Regenerate.
* Makefile.in: Regenerate.
From-SVN: r191565
Paolo Carlini [Thu, 20 Sep 2012 14:05:19 +0000 (14:05 +0000)]
re PR c++/52432 ([C++11] -fdump-tree-gimple causes ICE: Error reporting routines re-entered.)
/cp
2012-09-20 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/52432
* pt.c (tsubst_copy_and_build): If tf_error is not set in the complain
argument don't call unqualified_name_lookup_error.
/testsuite
2012-09-20 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/52432
* g++.dg/cpp0x/decltype32.C: Tweak.
From-SVN: r191564
Marc Glisse [Thu, 20 Sep 2012 09:37:05 +0000 (11:37 +0200)]
forwprop-19.c: Check in forwprop1.
2012-09-20 Marc Glisse <marc.glisse@inria.fr>
* gcc.dg/tree-ssa/forwprop-19.c: Check in forwprop1.
* gcc.dg/tree-ssa/forwprop-20.c: Check in forwprop1.
* gcc.dg/tree-ssa/forwprop-21.c: Check in copyprop1.
* gcc.dg/tree-ssa/forwprop-22.c: Check in copyprop1.
From-SVN: r191560
Chen Wei-Ren [Thu, 20 Sep 2012 09:26:07 +0000 (17:26 +0800)]
2012-09-20 Chen Wei-Ren <chenwj@iis.sinica.edu.tw>
doc/lto.texi: Correct typo.
From-SVN: r191559
Ian Lance Taylor [Thu, 20 Sep 2012 04:35:13 +0000 (04:35 +0000)]
compiler: Fix struct hash and equality with _ fields.
From-SVN: r191511
Dehao Chen [Thu, 20 Sep 2012 03:17:26 +0000 (03:17 +0000)]
s390.c (s390_chunkify_start): Replacing INSN_LOCATOR.
2012-09-19 Dehao Chen <dehao@google.com>
* config/s390/s390.c (s390_chunkify_start): Replacing INSN_LOCATOR.
* config/spu/spu.c (emit_nop_for_insn): Likewise.
(pad_bb): Likewise.
(spu_emit_branch_hint): Likewise.
(insert_hbrp_for_ilb_runout): Likewise.
* config/mep/mep.c (mep_make_bundle): Likewise.
(mep_bundle_insns): Likewise.
* config/sh/sh.c (gen_block_redirect): Likewise.
* config/c6x/c6x.c (gen_one_bundle): Likewise.
* config/rs6000/rs6000.c (rs6000_final_prescan_insn): Likewise.
* config/picochip/picochip.c (picochip_reorg): Likewise.
* config/arm/arm.c (require_pic_register): Likewise.
* config/mips/mips.c (mips16_gp_pseudo_reg): Likewise.
* config/bfin/bfin.c (gen_one_bundle): Likewise.
From-SVN: r191510
Benjamin Kosnik [Thu, 20 Sep 2012 02:10:22 +0000 (02:10 +0000)]
re PR libstdc++/28811 (--with-pic vs static libraries and libstdc++)
2012-09-18 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/28811
PR libstdc++/54482
* configure.ac (glibcxx_lt_pic_flag,
glibcxx_compiler_pic_flag,
glibcxx_compiler_shared_flag): New. Use them.
(lt_prog_compiler_pic_CXX): Set via glibcxx_*_flag(s) above.
(pic_mode): Set to default.
(PIC_CXXFLAGS): Remove.
* Makefile.am (PICFLAG, PICFLAG_FOR_TARGET): Remove. Comment.
* libsupc++/Makefile.am: Use glibcxx_ld_pic_flag and
glibcxx_compiler_shared_flag. Comment.
* src/c++11/Makefile.am: Same.
* src/c++98/Makefile.am: Same.
* src/Makefile.am: Use glibcxx_compiler_pic_flag.
* Makefile.in: Regenerated.
* aclocal.m4: Same.
* configure: Same.
* doc/Makefile.in: Same.
* include/Makefile.in: Same.
* libsupc++/Makefile.in: Same.
* po/Makefile.in: Same.
* python/Makefile.in: Same.
* src/Makefile.in: Same.
* src/c++11/Makefile.in: Same.
* src/c++98/Makefile.in: Same.
* testsuite/Makefile.in: Same.
* src/c++11/compatibility-atomic-c++0x.cc: Use
_GLIBCXX_SHARED instead of PIC to designate shared-only
code blocks.
* src/c++11/compatibility-c++0x.cc: Same.
* src/c++11/compatibility-thread-c++0x.cc: Same.
* src/c++98/compatibility-list-2.cc: Same.
* src/c++98/compatibility.cc: : Same.
* testsuite/17_intro/shared_with_static_deps.cc: New.
* doc/xml/manual/build_hacking.xml: Separate configure from
make/build issues, add build details.
From-SVN: r191509
Mark Kettenis [Thu, 20 Sep 2012 01:20:34 +0000 (01:20 +0000)]
config.host (hppa-*-openbsd*): New target.
libgcc/:
* config.host (hppa-*-openbsd*): New target.
* config/pa/t-openbsd: New file.
gcc:/
* config.gcc (hppa*-*-openbsd*): New target.
* config/pa/pa-openbsd.h: New file.
* config/pa/pa32-openbsd.h: New file.
* config/host-openbsd.c: Update copyright year.
(TRY_EXCEPT_VM_SPACE): Define for OpenBSD/hppa.
From-SVN: r191508
Ian Lance Taylor [Thu, 20 Sep 2012 00:54:30 +0000 (00:54 +0000)]
compiler: Give error for byte-order-mark in middle of file.
From-SVN: r191507
GCC Administrator [Thu, 20 Sep 2012 00:18:01 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r191506
Ian Lance Taylor [Wed, 19 Sep 2012 22:57:53 +0000 (22:57 +0000)]
configure.ac: Only use GCC_CHECK_UNWIND_GETIPINFO when compiled as a target library.
* configure.ac: Only use GCC_CHECK_UNWIND_GETIPINFO when compiled
as a target library.
* configure: Rebuild.
From-SVN: r191503
Martin Jambor [Wed, 19 Sep 2012 21:46:47 +0000 (23:46 +0200)]
ipa-prop.c (prune_expression_for_jf): New function.
2012-09-19 Martin Jambor <mjambor@suse.cz>
* ipa-prop.c (prune_expression_for_jf): New function.
(ipa_set_jf_constant): Use it.
(ipa_set_jf_arith_pass_through): Likewise.
(determine_known_aggregate_parts): Likewise.
From-SVN: r191502
Steve Ellcey [Wed, 19 Sep 2012 20:46:44 +0000 (20:46 +0000)]
configure.ac: Add mips*-mti-elf* target.
2012-09-19 Steve Ellcey <sellcey@mips.com>
* configure.ac: Add mips*-mti-elf* target.
* configure: Regenerate.
From-SVN: r191501
Marc Glisse [Wed, 19 Sep 2012 20:45:03 +0000 (22:45 +0200)]
re PR c++/54581 (decltype and opaque vector types)
2012-09-19 Marc Glisse <marc.glisse@inria.fr>
PR c++/54581
gcc/cp/
* semantics.c (finish_decltype_type): Make vectors not opaque.
gcc/testsuite/
* g++.dg/cpp0x/decltype-54581.C: New testcase.
From-SVN: r191500
Steve Ellcey [Wed, 19 Sep 2012 20:42:01 +0000 (20:42 +0000)]
mt-sde: Change -mcode-xonly to -mcode-readable=pcrel.
2012-09-19 Steve Ellcey <sellcey@mips.com>
* mt-sde: Change -mcode-xonly to -mcode-readable=pcrel.
From-SVN: r191499
Steve Ellcey [Wed, 19 Sep 2012 20:29:53 +0000 (20:29 +0000)]
pr37362.c: Add mips*-mti-elf exception.
2012-09-19 Steve Ellcey <sellcey@mips.com>
* gcc.target/mips/pr37362.c: Add mips*-mti-elf exception.
From-SVN: r191497
Steve Ellcey [Wed, 19 Sep 2012 20:23:34 +0000 (20:23 +0000)]
config.gcc (mips*-mti-elf*): New target.
2012-09-19 Steve Ellcey <sellcey@mips.com>
* config.gcc (mips*-mti-elf*): New target.
* config/mips/mti-elf.h: New file.
* config/mips/t-mti-elf: New file.
From-SVN: r191496
Dehao Chen [Wed, 19 Sep 2012 19:56:42 +0000 (19:56 +0000)]
Integrate lexical block into source_location.
gcc:
2012-09-19 Dehao Chen <dehao@google.com>
* toplev.c (general_init): Init block_locations.
* tree.c (tree_set_block): New.
(tree_block): Change to use LOCATION_BLOCK.
* tree.h (TREE_SET_BLOCK): New.
* final.c (reemit_insn_block_notes): Change to use LOCATION_BLOCK.
(final_start_function): Likewise.
* input.c (expand_location_1): Likewise.
* input.h (LOCATION_LOCUS): New.
(LOCATION_BLOCK): New.
(IS_UNKNOWN_LOCATION): New.
* fold-const.c (expr_location_or): Change to use new location.
* reorg.c (emit_delay_sequence): Likewise.
(try_merge_delay_insns): Likewise.
* modulo-sched.c (dump_insn_location): Likewise.
* lto-streamer-out.c (lto_output_location_bitpack): Likewise.
* lto-cgraph.c (output_node_opt_summary): Likewise.
* jump.c (rtx_renumbered_equal_p): Likewise.
* ifcvt.c (noce_try_move): Likewise.
(noce_try_store_flag): Likewise.
(noce_try_store_flag_constants): Likewise.
(noce_try_addcc): Likewise.
(noce_try_store_flag_mask): Likewise.
(noce_try_cmove): Likewise.
(noce_try_cmove_arith): Likewise.
(noce_try_minmax): Likewise.
(noce_try_abs): Likewise.
(noce_try_sign_mask): Likewise.
(noce_try_bitop): Likewise.
(noce_process_if_block): Likewise.
(cond_move_process_if_block): Likewise.
(find_cond_trap): Likewise.
* ipa-prop.c (ipa_set_jf_constant): Likewise.
(ipa_write_jump_function): Likewise.
* dwarf2out.c (add_src_coords_attributes): Likewise.
* expr.c (expand_expr_real): Likewise.
* tree-parloops.c (create_loop_fn): Likewise.
* recog.c (peep2_attempt): Likewise.
* function.c (free_after_compilation): Likewise.
(expand_function_end): Likewise.
(set_insn_locations): Likewise.
(thread_prologue_and_epilogue_insns): Likewise.
* print-rtl.c (print_rtx): Likewise.
* profile.c (branch_prob): Likewise.
* trans-mem.c (ipa_tm_scan_irr_block): Likewise.
* gimplify.c (gimplify_call_expr): Likewise.
* except.c (duplicate_eh_regions_1): Likewise.
* emit-rtl.c (try_split): Likewise.
(make_insn_raw): Likewise.
(make_debug_insn_raw): Likewise.
(make_jump_insn_raw): Likewise.
(make_call_insn_raw): Likewise.
(emit_pattern_after_setloc): Likewise.
(emit_pattern_after): Likewise.
(emit_debug_insn_after): Likewise.
(emit_pattern_before): Likewise.
(emit_insn_before_setloc): Likewise.
(emit_jump_insn_before): Likewise.
(emit_call_insn_before_setloc): Likewise.
(emit_call_insn_before): Likeise.
(emit_debug_insn_before_setloc): Likewise.
(emit_copy_of_insn_after): Likewise.
(insn_locators_alloc): Remove.
(insn_locators_finalize): Remove.
(insn_locators_free): Remove.
(set_curr_insn_source_location): Remove.
(get_curr_insn_source_location): Remove.
(set_curr_insn_block): Remove.
(get_curr_insn_block): Remove.
(locator_scope): Remove.
(insn_scope): Change to use new location.
(locator_location): Remove.
(insn_line): Change to use new location.
(locator_file): Remove.
(insn_file): Change to use new location.
(locator_eq): Remove.
(insn_locations_init): New.
(insn_locations_finalize): New.
(set_curr_insn_location): New.
(curr_insn_location): New.
* cfgexpand.c (gimple_assign_rhs_to_tree): Change to use new location.
(expand_gimple_cond): Likewise.
(expand_call_stmt): Likewise.
(expand_gimple_stmt_1): Likewise.
(expand_gimple_basic_block): Likewise.
(construct_exit_block): Likewise.
(gimple_expand_cfg): Likewise.
* cfgcleanup.c (try_forward_edges): Likewise.
* tree-ssa-live.c (remove_unused_scope_block_p): Likewise.
(dump_scope_block): Likewise.
(remove_unused_locals): Likewise.
* rtl.c (rtx_equal_p_cb): Likewise.
(rtx_equal_p): Likewise.
* rtl.h (XUINT): New.
(INSN_LOCATOR): Remove.
(CURR_INSN_LOCATION): Remove.
(INSN_LOCATION): New.
(INSN_HAS_LOCATION): New.
* tree-inline.c (remap_gimple_op_r): Change to use new location.
(copy_tree_body_r): Likewise.
(copy_phis_for_bb): Likewise.
(expand_call_inline): Likewise.
* tree-streamer-in.c (lto_input_ts_exp_tree_pointers): Likewise.
* tree-streamer-out.c (write_ts_decl_minimal_tree_pointers): Likewise.
* gimple-streamer-out.c (output_gimple_stmt): Likewise.
* combine.c (try_combine): Likewise.
* tree-outof-ssa.c (set_location_for_edge): Likewise.
(insert_partition_copy_on_edge): Likewise.
(insert_value_copy_on_edge): Likewise.
(insert_rtx_to_part_on_edge): Likewise.
(insert_part_to_rtx_on_edge): Likewise.
* basic-block.h (edge_def): Remove field.
* gimple.h (gimple_statement_base): Remove field.
(gimple_bb): Change to use new location.
(gimple_set_block): Likewise.
(gimple_has_location): Likewise.
* tree-cfg.c (make_cond_expr_edges): Likewise.
(make_goto_expr_edges): Likewise.
(gimple_can_merge_blocks_p): Likewise.
(move_stmt_op): Likewise.
(move_block_to_fn): Likewise.
* config/alpha/alpha.c (alpha_output_mi_thunk_osf): Likewise.
* config/sparc/sparc.c (sparc_output_mi_thunk): Likewise.
* config/i386/i386.c (x86_output_mi_thunk): Likewise.
* config/tilegx/tilegx.c (tilegx_output_mi_thunk): Likewise.
* config/sh/sh.c (sh_output_mi_thunk): Likewise.
* config/ia64/ia64.c (ia64_output_mi_thunk): Likewise.
* config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise.
* config/score/score.c (score_output_mi_thunk): Likewise.
* config/tilepro/tilepro.c (tilepro_asm_output_mi_thunk): Likewise.
* config/mips/mips.c (mips_output_mi_thunk): Likewise.
* cfgrtl.c (unique_locus_on_edge_between_p): Likewise.
(unique_locus_on_edge_between_p): Likewise.
(emit_nop_for_unique_locus_between): Likewise.
(force_nonfallthru_and_redirect): Likewise.
(fixup_reorder_chain): Likewise.
(cfg_layout_merge_blocks): Likewise.
* stmt.c (emit_case_nodes): Likewise.
gcc/lto:
2012-09-19 Dehao Chen <dehao@google.com>
* lto/lto.c (lto_fixup_prevailing_decls): Remove tree.exp.block field.
libcpp:
2012-09-19 Dehao Chen <dehao@google.com>
* include/line-map.h (MAX_SOURCE_LOCATION): New value.
(location_adhoc_data_fini): New.
(get_combined_adhoc_loc): New.
(get_data_from_adhoc_loc): New.
(get_location_from_adhoc_loc): New.
(location_adhoc_data_map): New.
(COMBINE_LOCATION_DATA): New.
(IS_ADHOC_LOC): New.
(expanded_location): New field.
(line_maps): New field.
* line-map.c (location_adhoc_data): New.
(location_adhoc_data_hash): New.
(location_adhoc_data_eq): New.
(location_adhoc_data_update): New.
(get_combined_adhoc_loc): New.
(get_data_from_adhoc_loc): New.
(get_location_from_adhoc_loc): New.
(location_adhoc_data_init): New.
(location_adhoc_data_fini): New.
(linemap_init): Initialize location_adhoc_data.
(linemap_lookup): Change to use new location.
(linemap_ordinary_map_lookup): Likewise.
(linemap_macro_map_lookup): Likewise.
(linemap_macro_map_loc_to_def_point): Likewise.
(linemap_macro_map_loc_unwind_toward_spel): Likewise.
(linemap_get_expansion_line): Likewise.
(linemap_get_expansion_filename): Likewise.
(linemap_location_in_system_header_p): Likewise.
(linemap_location_from_macro_expansion_p): Likewise.
(linemap_macro_loc_to_spelling_point): Likewise.
(linemap_macro_loc_to_def_point): Likewise.
(linemap_macro_loc_to_exp_point): Likewise.
(linemap_resolve_location): Likewise.
(linemap_unwind_toward_expansion): Likewise.
(linemap_unwind_to_first_non_reserved_loc): Likewise.
(linemap_expand_location): Likewise.
(linemap_dump_location): Likewise.
(linemap_line_start): Likewise.
From-SVN: r191494
Bernd Schmidt [Wed, 19 Sep 2012 19:37:31 +0000 (19:37 +0000)]
dbgcnt.def (sched_breakdep): New counter.
* dbgcnt.def (sched_breakdep): New counter.
* haifa-sched.c (update_insn_after_change): New static function,
broken out of haifa_change_pattern.
(haifa_change_pattern): Call it.
(dep_t heap vecs): Declare.
(INSN_COST): Define earlier.
(next_cycle_replace_deps, next_cycle_apply): New static
variables.
(apply_replacement): New static function.
(recompute_todo_spec): New argument FOR_BACKTRACK. All callers
changed. Handle DEP_REPLACE deps.
(contributes_to_priority_p): False for replaceable deps.
(must_restore_pattern_p, restore_pattern): New static functions.
(schedule_insn): Use them. Apply replacements for broken deps.
(struct haifa_saved_data): Add new fields to keep track of
replacements.
(save_backtrack_point): Initialize them.
(undo_replacements_for_backtrack): New static function.
(restore_last_backtrack_point, free_topmost_backtrack_point):
Use it and keep track of replacements.
(perform_replacements_new_cycle, undo_all_replacements): New static
functions.
(schedule_block): Call these two as necessary. Call
find_modifiable_mems.
(try_ready): Tweak the assert. Check for DEP_POSTPONED.
* sched-deps.c: Include "emit-rtl.h".
(init_dep_1): Initialize DEP_NONREG, DEP_MULTIPLE and DEP_REPLACE.
(dep_spec_p): True for DEP_REPLACE deps.
(mark_as_hard): New static variable.
(update_dep): Update DEP_NONREG and DEP_MULTIPLE.
(add_dependence_list): New argument hard. All callers changed. Set
and clear mark_as_hard around function body.
(add_dependence_list_and_free): Likewise.
(haifa_note_mem_dep): Set DEP_NONREG.
(haifa_note_dep): Likewise if mark_as_hard is true.
(sched_analyze_insn): Switch loop with if statement testing for
sel_sched_p.
(struct mem_inc_info): New.
(attempt_change, parse_add_or_inc, find_inc, find_mem): New static
functions.
(find_modifiable_mems): New function.
* sched-int.h (struct dep_replacement): New.
(struct _dep): Add replace, nonreg and multiple fields. Make type and
cost bitfields.
(UNKNOWN_DEP_COST): Change to match the bitfield.
(DEP_NONREG, DEP_MULTIPLE, DEP_REPLACE): New macros.
(DEP_POSTPONED): New macro.
(DEP_CANCELLED): Renumber.
(find_modifiable_mems): Declare.
(enum SCHED_FLAGS): Add DONT_BREAK_DEPENDENCIES.
* sched-rgn.c (init_ready_list): Set TODO_SPEC here.
(new_ready): Don't set HARD_DEP, use DEP_POSTPONED.
(debug_dependencies): Dump DEP_NONREG and DEP_MULTIPLE.
* Makefile.in (sched-deps.o): Update dependencies.
* config/c6x/c6x.c (in_hwloop): New static variable.
(c6x_set_sched_flags): If it is true, add DONT_BREAK_DEPENDENCIES.
(hwloop_optimize): Set and clear it around preliminary scheduling
pass.
From-SVN: r191493
Tulio Magno Quites Machado Filho [Wed, 19 Sep 2012 19:08:00 +0000 (19:08 +0000)]
ppc-get-timebase.c: New file.
2012-09-19 Tulio Magno Quites Machado Filho <tuliom@linux.vnet.ibm.com>
* gcc.target/powerpc/ppc-get-timebase.c: New file.
* gcc.target/powerpc/ppc-mftb.c: New file.
From-SVN: r191492
David Edelsohn [Wed, 19 Sep 2012 19:05:34 +0000 (15:05 -0400)]
[multiple changes]
2012-09-19 Tulio Magno Quites Machado Filho <tuliom@linux.vnet.ibm.com>
* config/rs6000/rs6000-builtin.def: Add __builtin_ppc_get_timebase
and __builtin_ppc_mftb.
* config/rs6000/rs6000.c (rs6000_expand_zeroop_builtin): New
function to expand an expression that calls a built-in without
arguments.
(rs6000_expand_builtin): Add __builtin_ppc_get_timebase and
__builtin_ppc_mftb.
(rs6000_init_builtins): Likewise.
* config/rs6000/rs6000.md (rs6000_get_timebase): New pattern.
(rs6000_get_timebase_ppc32): New pattern.
(rs6000_mftb_<mode>): New pattern.
* doc/extend.texi (PowerPC Built-in Functions): New section.
(PowerPC AltiVec/VSX Built-in Functions):
Move some built-ins unrelated to Altivec/VSX to the new section.
2012-09-19 David Edelsohn <dje.gcc@gmail.com>
* rs6000.md (mac*): Remove extra spaces.
(mulhw*): Same.
From-SVN: r191491
Oleg Endo [Wed, 19 Sep 2012 17:48:25 +0000 (17:48 +0000)]
re PR target/54089 ([SH] Refactor shift patterns)
PR target/54089
* config/sh/predicates.md (arith_reg_or_t_reg_operand): New predicate.
* config/sh/sh.md (*rotcr): Use arith_reg_or_t_reg_operand predicate.
Handle the case where one of the operands is T_REG.
Add new pattern to handle MSB extraction.
PR target/54089
* gcc.target/sh/pr54089-1.c (test_11, test_12, test_13, test_14): New
functions.
From-SVN: r191490
Oleg Endo [Wed, 19 Sep 2012 17:45:37 +0000 (17:45 +0000)]
re PR target/54236 ([SH] Improve addc and subc insn utilization)
PR target/54236
* config/sh/sh.md (*addc): Add pattern to handle one bit left shifts.
PR target/54236
* gcc.target/sh/pr54236-1.c (test_08): Add one bit left shift case.
From-SVN: r191489
Oleg Endo [Wed, 19 Sep 2012 17:42:28 +0000 (17:42 +0000)]
sh.md (prologue, epilogue): Use braced strings.
* config/sh/sh.md (prologue, epilogue): Use braced strings.
From-SVN: r191488
Ian Lance Taylor [Wed, 19 Sep 2012 15:51:16 +0000 (15:51 +0000)]
compiler: Ignore byte-order-mark at start of file.
From-SVN: r191485
Eric Botcazou [Wed, 19 Sep 2012 15:38:16 +0000 (15:38 +0000)]
re PR rtl-optimization/54290 (wrong code at -O2 with large offset)
PR rtl-optimization/54290
* reload1.c (choose_reload_regs): Also take into account secondary MEMs
to remove address replacements for inherited reloads.
(replaced_subreg): Move around.
From-SVN: r191484
Joseph Myers [Wed, 19 Sep 2012 14:58:40 +0000 (15:58 +0100)]
* cpplib.pot: Regenerate.
From-SVN: r191483
Joseph Myers [Wed, 19 Sep 2012 14:58:08 +0000 (15:58 +0100)]
* gcc.pot: Regenerate.
From-SVN: r191482
David Edelsohn [Wed, 19 Sep 2012 14:21:52 +0000 (14:21 +0000)]
aix61.h (TARGET_DEFAULT): Add MASK_PPC_GPOPT, MASK_PPC_GFXOPT, and MASK_MFCRF.
* config/rs6000/aix61.h (TARGET_DEFAULT): Add MASK_PPC_GPOPT,
MASK_PPC_GFXOPT, and MASK_MFCRF.
From-SVN: r191480
Richard Guenther [Wed, 19 Sep 2012 14:05:26 +0000 (14:05 +0000)]
c-torture.exp (TORTURE_OPTIONS): Add -Og -g.
2012-09-19 Richard Guenther <rguenther@suse.de>
* lib/c-torture.exp (TORTURE_OPTIONS): Add -Og -g.
From-SVN: r191478
Richard Guenther [Wed, 19 Sep 2012 13:46:34 +0000 (13:46 +0000)]
passes.c (init_optimization_passes): For -Og move pass_object_sizes inbetween CCP and copyprop.
2012-09-19 Richard Guenther <rguenther@suse.de>
* passes.c (init_optimization_passes): For -Og move
pass_object_sizes inbetween CCP and copyprop.
From-SVN: r191476