platform/upstream/gcc.git
11 years agoFix ChangeLog typo.
Joern Rennecke [Tue, 6 Nov 2012 05:15:56 +0000 (05:15 +0000)]
Fix ChangeLog typo.

From-SVN: r193206

11 years agoepiphany.c (epiphany_address_cost): Use MODE parameter.
Joern Rennecke [Tue, 6 Nov 2012 05:01:47 +0000 (05:01 +0000)]
epiphany.c (epiphany_address_cost): Use MODE parameter.

        * config/epiphany/epiphany.c (epiphany_address_cost):
        Use MODE parameter.

From-SVN: r193205

11 years agoFunction Multiversioning
Sriraman Tallam [Tue, 6 Nov 2012 02:35:17 +0000 (02:35 +0000)]
Function Multiversioning
========================

Sriraman Tallam, tmsriram@google.com

Overview of the patch which adds support to specify function versions.  This is
only enabled for target i386.

Example:

int foo ();  /* Default version */
int foo () __attribute__ ((target("avx,popcnt")));/*Specialized for avx and popcnt */
int foo () __attribute__ ((target("arch=core2,ssse3")));/*Specialized for core2 and ssse3*/

int main ()
{
 int (*p)() = &foo;
 return foo () + (*p)();
}

int foo ()
{
 return 0;
}

int __attribute__ ((target("avx,popcnt")))
foo ()
{
 return 0;
}

int __attribute__ ((target("arch=core2,ssse3")))
foo ()
{
 return 0;
}

The above example has foo defined 3 times, but all 3 definitions of foo are
different versions of the same function. The call to foo in main, directly and
via a pointer, are calls to the multi-versioned function foo which is dispatched
to the right foo at run-time.

Front-end changes:

The front-end changes are calls at appropriate places to target hooks that
determine the following:

* Determine if two function decls with the same signature are versions.
* Determine the assembler name of a function version.
* Generate the dispatcher function for a set of function versions.
* Compare versions to see if one has a higher priority over the other.

All the implementation happens in the target-specific config/i386/i386.c.

What does the patch do?

* Tracking decls that correspond to function versions of function
name, say "foo":

When the front-end sees more than one decl for "foo", it calls a target hook to
determine if they are versions. To prevent duplicate definition errors with
other versions of "foo", "decls_match" function in cp/decl.c is made to return
false when 2 decls have are deemed versions by the target. This will make all
function versions of "foo" to be added to the overload list of "foo".

* Change the assembler names of the function versions.

For i386, the target changes the assembler names of the function versions by
 suffixing the sorted list of args to "target" to the function name of "foo".
For example, the assembler name of
 "void foo () __attribute__ ((target ("sse4")))" will
become _Z3foov.sse4.  The target hook mangle_decl_assembler_name is used
for this.

* Overload resolution:

 Function "build_over_call" in cp/call.c sees a call to function
"foo", which is multi-versioned. The overload resolution happens in
function "joust" in "cp/call.c". Here, the call to "foo" has all
possible versions of "foo" as candidates. All the candidates of "foo" are
stored in the cgraph side data structure. Each version of foo is chained in a
doubly-linked list with the default function as the first element.  This allows
any pass to access all the semantically identical versions. A call to a
multi-versioned function will be replaced by a call to a dispatcher function,
determined by a target hook, to execute the right function version at run-time.

Optimization to directly call a version when possible:
Also, in joust, where overload resolution happens, a multiversioned function
resolution is made to return the most specialized version.  This is the version
that will be checked for dispatching first and is determined by the target.
Now, if the caller can inline this function version then a direct call is made
to this function version rather than go through the dispatcher. When a direct
call cannot be made, a call to the dispatcher function is created.

* Creating the dispatcher body.

The dispatcher body, called the resolver is made only when there is a call to a
multiversioned function dispatcher or the address of a function is taken. This
is generated during cgraph_analyze_function. This is done by another target hook.

* Dispatch ordering.

The order in which the function versions are checked during dispatch is based
on a priority value assigned for the ISA that is catered. More specialized
versions are checked for dispatching first.  This is to mitigate the ambiguity
that can arise when more than one function version is valid for execution on
a particular platform.  This is not a perfect solution, and in future the user
should be allowed to assign a dispatching priority value to each version.

Function MV in the Intel compiler:

The intel compiler supports function multiversioning and the syntax is
similar to the patch proposed here.  Here is an example of how to
generate multiple function versions with the intel compiler.

/* Create a stub function to specify the various versions of function that
   will be created, using declspec attribute cpu_dispatch.  */
__declspec (cpu_dispatch (core_i7_sse4_2, atom, generic))
void foo () {};

/* Bodies of each function version.  */

/* Intel Corei7 processor + SSE4.2 version.  */
__declspec (cpu_specific(core_i7_sse4_2))
void foo ()
{
  printf ("corei7 + sse4.2");
}

/* Atom processor.  */
__declspec (cpu_specific(atom))
void foo ()
{
  printf ("atom");
}

/* The generic or the default version.  */
__declspec (cpu_specific(generic))
void foo ()
{
  printf ("This is generic");
}

A new function version is generated by defining a new function with the same
signature but with a different cpu_specific declspec attribute string.  The
set of cpu_specific strings that are allowed is the following:

"core_2nd_gen_avx"
"core_aes_pclmulqdq"
"core_i7_sse4_2"
"core_2_duo_sse4_1"
"core_2_duo_ssse3"
"atom"
"pentium_4_sse3"
"pentium_4"
"pentium_m"
"pentium_iii"
"generic"

Comparison with the GCC MV implementation in this patch:

* Version creation syntax:

The implementation in this patch also has a similar syntax to specify function
versions. The first stub function is not needed.  Here is the code to generate
the function versions with this patch:

/* Intel Corei7 processor + SSE4.2 version.  */
__attribute__ ((target ("arch=corei7, sse4.2")))
void foo ()
{
  printf ("corei7 + sse4.2");
}

/* Atom processor.  */
__attribute__ ((target ("arch=atom")))
void foo ()
{
  printf ("atom");
}

void foo ()
{
}

The target attribute can have one of the following arch names:

"amd"
"intel"
"atom"
"core2"
"corei7"
"nehalem"
"westmere"
"sandybridge"
"amdfam10h"
"barcelona"
"shanghai"
"istanbul"
"amdfam15h"
"bdver1"
"bdver2"

and any number of the following ISA names:

"cmov"
"mmx"
"popcnt"
"sse"
"sse2"
"sse3"
"ssse3"
"sse4.1"
"sse4.2"
"avx"
"avx2"

* doc/tm.texi.in (TARGET_OPTION_FUNCTION_VERSIONS): New hook
description.
* (TARGET_COMPARE_VERSION_PRIORITY): New hook description.
* (TARGET_GET_FUNCTION_VERSIONS_DISPATCHER): New hook description.
* (TARGET_GENERATE_VERSION_DISPATCHER_BODY): New hook description.
* doc/tm.texi: Regenerate.
* target.def (compare_version_priority): New target hook.
* (generate_version_dispatcher_body): New target hook.
* (get_function_versions_dispatcher): New target hook.
* (function_versions): New target hook.
* cgraph.c (cgraph_fnver_htab): New htab.
(cgraph_fn_ver_htab_hash): New function.
(cgraph_fn_ver_htab_eq): New function.
(version_info_node): New pointer.
(insert_new_cgraph_node_version): New function.
(get_cgraph_node_version): New function.
(delete_function_version): New function.
(record_function_versions): New function.
* cgraph.h (cgraph_node): New bitfield dispatcher_function.
(cgraph_function_version_info): New struct.
(get_cgraph_node_version): New function.
(insert_new_cgraph_node_version): New function.
(record_function_versions): New function.
(delete_function_version): New function.
(init_lowered_empty_function): Expose function.
* tree.h (DECL_FUNCTION_VERSIONED): New macro.
(tree_function_decl): New bit-field versioned_function.
* cgraphunit.c (cgraph_analyze_function): Generate body of multiversion
function dispatcher.
(cgraph_analyze_functions): Analyze dispatcher function.
(init_lowered_empty_function): Make non-static. New parameter in_ssa.
(assemble_thunk): Add parameter to call to init_lowered_empty_function.
* config/i386/i386.c (add_condition_to_bb): New function.
(get_builtin_code_for_version): New function.
(ix86_compare_version_priority): New function.
(feature_compare): New function.
(dispatch_function_versions): New function.
(ix86_function_versions): New function.
(attr_strcmp): New function.
(ix86_mangle_function_version_assembler_name): New function.
(ix86_mangle_decl_assembler_name): New function.
(make_name): New function.
(make_dispatcher_decl): New function.
(is_function_default_version): New function.
(ix86_get_function_versions_dispatcher): New function.
(make_attribute): New function.
(make_resolver_func): New function.
(ix86_generate_version_dispatcher_body): New function.
(fold_builtin_cpu): Return integer for cpu builtins.
(TARGET_MANGLE_DECL_ASSEMBLER_NAME): New macro.
(TARGET_COMPARE_VERSION_PRIORITY): New macro.
(TARGET_GENERATE_VERSION_DISPATCHER_BODY): New macro.
(TARGET_GET_FUNCTION_VERSIONS_DISPATCHER): New macro.
(TARGET_OPTION_FUNCTION_VERSIONS): New macro.

* class.c (add_method): Change assembler names of function versions.
(mark_versions_used): New static function.
(resolve_address_of_overloaded_function): Create dispatcher decl and
return address of dispatcher instead.
* decl.c (decls_match): Make decls unmatched for versioned
functions.
(duplicate_decls): Remove ambiguity for versioned functions.
Delete versioned function data for merged decls.
* decl2.c (check_classfn): Check attributes of versioned functions
for match.
* call.c (get_function_version_dispatcher): New function.
(mark_versions_used): New static function.
(build_over_call): Make calls to multiversioned functions
to call the dispatcher.
(joust): For calls to multi-versioned functions, make the most
specialized function version win.

* testsuite/g++.dg/mv1.C: New test.
* testsuite/g++.dg/mv2.C: New test.
* testsuite/g++.dg/mv3.C: New test.
* testsuite/g++.dg/mv4.C: New test.
* testsuite/g++.dg/mv5.C: New test.
* testsuite/g++.dg/mv6.C: New test.

From-SVN: r193204

11 years ago* recog.c (extract_insn): Enabled alternative defaults to 1.
Joern Rennecke [Tue, 6 Nov 2012 00:30:54 +0000 (00:30 +0000)]
* recog.c (extract_insn): Enabled alternative defaults to 1.

From-SVN: r193203

11 years ago* include/profile/map.h (map::emplace_hint): Add missing return.
Jonathan Wakely [Tue, 6 Nov 2012 00:19:57 +0000 (00:19 +0000)]
* include/profile/map.h (map::emplace_hint): Add missing return.

From-SVN: r193202

11 years agoDaily bump.
GCC Administrator [Tue, 6 Nov 2012 00:18:31 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r193201

11 years agoReplace REX_INT_REG_P with REX_INT_REGNO_P
H.J. Lu [Tue, 6 Nov 2012 00:07:47 +0000 (00:07 +0000)]
Replace REX_INT_REG_P with REX_INT_REGNO_P

* config/i386/i386.c (print_reg): Replace REX_INT_REG_P with
REX_INT_REGNO_P.

From-SVN: r193197

11 years agodeque: Constrain InputIterator parameters.
Jonathan Wakely [Tue, 6 Nov 2012 00:06:42 +0000 (00:06 +0000)]
deque: Constrain InputIterator parameters.

* include/profile/deque: Constrain InputIterator parameters.
* include/profile/forward_list: Likewise.
* include/profile/list: Likewise.
* include/profile/map.h: Likewise.
* include/profile/multimap.h: Likewise.
* include/profile/set.h: Likewise.
* include/profile/multiset.h: Likewise.
* include/profile/vector: Likewise.

From-SVN: r193196

11 years agore PR testsuite/55186 (gcc.dg/const-uniq-1.c fails due to vector expected but not...
Hans-Peter Nilsson [Mon, 5 Nov 2012 22:17:14 +0000 (22:17 +0000)]
re PR testsuite/55186 (gcc.dg/const-uniq-1.c fails due to vector expected but not being in the constant pool)

PR testsuite/55186
* gcc.dg/const-uniq-1.c (a): Increase length four times.

From-SVN: r193194

11 years agoUse -Wl,-undefined,dynamic_lookup on darwin
Jack Howarth [Mon, 5 Nov 2012 21:59:49 +0000 (21:59 +0000)]
Use -Wl,-undefined,dynamic_lookup on darwin

* gcc.dg/torture/pr53922.c: Use -Wl,-undefined,dynamic_lookup on
darwin.

From-SVN: r193193

11 years agore PR tree-optimization/54986 (segfault on constant initialized to object address...
Eric Botcazou [Mon, 5 Nov 2012 21:39:02 +0000 (21:39 +0000)]
re PR tree-optimization/54986 (segfault on constant initialized to object address at -O)

PR tree-optimization/54986
* gimple-fold.c (canonicalize_constructor_val): Strip again all no-op
conversions on entry but add them back on exit if needed.

From-SVN: r193188

11 years agofinal.c (final_scan_insn): Handle all comparison codes in non-jump and cmove insn.
Andreas Schwab [Mon, 5 Nov 2012 21:11:04 +0000 (21:11 +0000)]
final.c (final_scan_insn): Handle all comparison codes in non-jump and cmove insn.

* gcc/final.c (final_scan_insn) [HAVE_cc0]: Handle all comparison
codes in non-jump and cmove insn.

* gcc/testsuite/gcc.dg/torture/fp-compare.c: New testcase.

From-SVN: r193187

11 years agoforward_list: Update to meet allocator-aware requirements.
Jonathan Wakely [Mon, 5 Nov 2012 21:10:27 +0000 (21:10 +0000)]
forward_list: Update to meet allocator-aware requirements.

* include/profile/forward_list: Update to meet allocator-aware
requirements.
* include/debug/forward_list: Likewise.
* include/debug/vector: Verify allocators are swapped or equal.
* include/debug/macros.h (__glibcxx_check_equal_allocs): Define.
* include/debug/formatter.h: Add new debug message.
* src/c++11/debug.cc: Likewise.
* testsuite/23_containers/forward_list/allocator/swap.cc: Do not
swap containers with non-propagating, non-equal allocators.
* testsuite/23_containers/vector/allocator/swap.cc: Likewise.

From-SVN: r193186

11 years agore PR libstdc++/55028 (_GLIBCXX_DEBUG is broken when using v7 namespace)
Benjamin Kosnik [Mon, 5 Nov 2012 21:01:08 +0000 (21:01 +0000)]
re PR libstdc++/55028 (_GLIBCXX_DEBUG is broken when using v7 namespace)

2012-11-05  Benjamin Kosnik  <bkoz@redhat.com>
            Oleg Smolsky  <oleg@smolsky.net>

PR libstdc++/55028
*  config/abi/pre/gnu-versioned-namespace.ver: Add symbols.
* testsuite/23_containers/unordered_multimap/insert/55028-debug.cc: New.

Co-Authored-By: Oleg Smolsky <oleg@smolsky.net>
From-SVN: r193185

11 years agothrow_allocator.h (__throw_value_base): Add move semantic, not throwing.
François Dumont [Mon, 5 Nov 2012 20:58:35 +0000 (20:58 +0000)]
throw_allocator.h (__throw_value_base): Add move semantic, not throwing.

2012-10-05  François Dumont  <fdumont@gcc.gnu.org>

* include/ext/throw_allocator.h (__throw_value_base): Add move
semantic, not throwing.
(__throw_value_limit): Likewise.
(__throw_value_random): Likewise.
* testsuite/util/exception/safety.h: Add validation of C++11
methods emplace/emplace_front/emplace_back/emplace_hint.
* testsuite/util/testsuite_container_traits.h: Signal emplace
support on deque, forward_list, list and vector.
* testsuite/23_containers/deque/requirements/exception/
propagation_consistent.cc: Remove dg-do run fail.

From-SVN: r193184

11 years agomode-switching.c (create_pre_exit): Force late switching if __builtin_{apply,return...
Uros Bizjak [Mon, 5 Nov 2012 19:46:31 +0000 (20:46 +0100)]
mode-switching.c (create_pre_exit): Force late switching if __builtin_{apply,return} emitted a load that require...

* mode-switching.c (create_pre_exit): Force late switching if
__builtin_{apply,return} emitted a load that require mode,
other than MODE_EXIT.

Co-Authored-By: Vladimir Yakovlev <vladimir.b.yakovlev@intel.com>
From-SVN: r193182

11 years agore PR libstdc++/55215 (Constructor seeding is broken for Mersenne twister)
Paolo Carlini [Mon, 5 Nov 2012 19:25:20 +0000 (19:25 +0000)]
re PR libstdc++/55215 (Constructor seeding is broken for Mersenne twister)

2012-11-05  Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/55215
* include/bits/random.tcc (mersenne_twister_engine<>::seed(_Sseq&)):
Assign state_size to _M_p.
* testsuite/26_numerics/random/mersenne_twister_engine/cons/55215.cc:
New.
* testsuite/26_numerics/random/independent_bits_engine/cons/55215.cc:
Likewise.
* testsuite/26_numerics/random/shuffle_order_engine/cons/55215.cc:
Likewise.
* testsuite/26_numerics/random/subtract_with_carry_engine/cons/
55215.cc: Likewise.
* testsuite/26_numerics/random/discard_block_engine/cons/55215.cc:
Likewise.
* testsuite/26_numerics/random/linear_congruential_engine/cons/
55215.cc: Likewise.

From-SVN: r193181

11 years agore PR target/55204 (ICE: in extract_insn, at recog.c:2140 (unrecognizable insn) with...
Richard Sandiford [Mon, 5 Nov 2012 18:51:33 +0000 (18:51 +0000)]
re PR target/55204 (ICE: in extract_insn, at recog.c:2140 (unrecognizable insn) with -O --param loop-invariant-max-bbs-in-loop=0)

gcc/
PR target/55204
* config/i386/i386.c (ix86_address_subreg_operand): Remove stack
pointer check.
(print_reg): Use true_regnum rather than REGNO.
(ix86_print_operand_address): Remove SUBREG handling.

From-SVN: r193178

11 years agoconst-1.c: Update.
Jan Hubicka [Mon, 5 Nov 2012 18:12:37 +0000 (19:12 +0100)]
const-1.c: Update.

* gcc.dg/const-1.c: Update.
* gcc.dg/pure-1.c: Update.
* tree-ssa-loop-niter.c (finite_loop_p): Revamp to be just wrapper of
max_loop_iterations.

From-SVN: r193175

11 years agoDetect overflow in size calculations in __cxa_vec_new{2,3}
Florian Weimer [Mon, 5 Nov 2012 17:48:46 +0000 (18:48 +0100)]
Detect overflow in size calculations in __cxa_vec_new{2,3}

2012-11-03  Florian Weimer  <fweimer@redhat.com>

* libsupc++/vec.cc (compute_size): New.
(__cxa_vec_new2, __cxa_vec_new3): Use it.
* testsuite/18_support/cxa_vec.cc: New.

From-SVN: r193174

11 years agoruntime: provide initcontext and fixcontext for NetBSD
Ian Lance Taylor [Mon, 5 Nov 2012 17:41:07 +0000 (17:41 +0000)]
runtime: provide initcontext and fixcontext for NetBSD

From-SVN: r193173

11 years agoos: support more OSes
Ian Lance Taylor [Mon, 5 Nov 2012 17:36:40 +0000 (17:36 +0000)]
os: support more OSes

From-SVN: r193172

11 years agoreorg.c (fill_simple_delay_slots): Avoid calling optimize_skip with a return instruction.
Joern Rennecke [Mon, 5 Nov 2012 17:16:33 +0000 (17:16 +0000)]
reorg.c (fill_simple_delay_slots): Avoid calling optimize_skip with a return instruction.

* reorg.c (fill_simple_delay_slots): Avoid calling optimize_skip
with a return instruction.

From-SVN: r193171

11 years agore PR rtl-optimization/55151 (ICE: in assign_by_spills, at lra-assigns.c:1217 with...
Vladimir Makarov [Mon, 5 Nov 2012 16:38:27 +0000 (16:38 +0000)]
re PR rtl-optimization/55151 (ICE: in assign_by_spills, at lra-assigns.c:1217 with -fPIC)

2012-11-05  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/55151
* lra-constraints.c (process_alt_operands): Permit putting reg
value into memory.  Increase reject for this case.

2012-11-05  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/55151
* gcc.dg/pr55151.c: New test.

From-SVN: r193170

11 years agofinal.c (reemit_insn_block_notes): Do not change scope if insn location is UNKNOWN_LO...
Dehao Chen [Mon, 5 Nov 2012 15:47:18 +0000 (15:47 +0000)]
final.c (reemit_insn_block_notes): Do not change scope if insn location is UNKNOWN_LOCATION.

2012-11-05  Dehao Chen  <dehao@google.com>

* final.c (reemit_insn_block_notes): Do not change scope if insn
location is UNKNOWN_LOCATION.

From-SVN: r193169

11 years agomd.texi (Defining Attributes): Document that we are defining HAVE_ATTR_name macors...
Joern Rennecke [Mon, 5 Nov 2012 15:18:10 +0000 (15:18 +0000)]
md.texi (Defining Attributes): Document that we are defining HAVE_ATTR_name macors as 1 for defined attributes...

* doc/md.texi (Defining Attributes): Document that we are defining
HAVE_ATTR_name macors as 1 for defined attributes, and as 0
for undefined special attributes.
* final.c (asm_insn_count, align_fuzz): Always define.
(insn_current_reference_address): Likewise.
(init_insn_lengths): Use if (HAVE_ATTR_length) instead of
#ifdef HAVE_ATTR_length.
(get_attr_length_1, shorten_branches, final): Likewise.
(final_scan_insn, output_asm_name): Likewise.
* genattr.c (gen_attr): Define HAVE_ATTR_name macros for
defined attributes as 1.
Remove ancient get_attr_alternative compatibility code.
For special purpose attributes not provided, define HAVE_ATTR_name
as 0.
In case no length attribute is given, provide stub definitions
for insn_*_length* functions, and also include insn-addr.h.
In case no enabled attribute is given, provide stub definition.
* genattrtab.c (write_length_unit_log): Always write a definition.
* hooks.c (hook_int_rtx_1, hook_int_rtx_unreachable): New functions.
* hooks.h (hook_int_rtx_1, hook_int_rtx_unreachable): Declare.
* lra-int.h (struct lra_insn_recog_data): Make member
alternative_enabled_p unconditional.
* lra.c (free_insn_recog_data): Use if (HAVE_ATTR_length) instead of
#ifdef HAVE_ATTR_length.
(lra_set_insn_recog_data): Likewise.  Make initialization of
alternative_enabled_p unconditional.
(lra_update_insn_recog_data): Use #if instead of #ifdef for
HAVE_ATTR_enabled.
* recog.c [!HAVE_ATTR_enabled] (get_attr_enabled): Don't define.
(extract_insn): Check HAVE_ATTR_enabled.
(gate_handle_split_before_regstack): Use #if instead of
#if defined for HAVE_ATTR_length.

From-SVN: r193168

11 years agore PR debug/54970 (Missing DW_OP_GNU_implicit_pointer in debuginfo)
Jakub Jelinek [Mon, 5 Nov 2012 14:36:47 +0000 (15:36 +0100)]
re PR debug/54970 (Missing DW_OP_GNU_implicit_pointer in debuginfo)

PR debug/54970
PR debug/54971
* gcc.dg/guality/pr54970.c: Use NOP instead of "NOP" in inline-asm.

From-SVN: r193162

11 years agoipa-inline.c (compute_uninlined_call_time, [...]): New functions.
Jan Hubicka [Mon, 5 Nov 2012 14:00:46 +0000 (15:00 +0100)]
ipa-inline.c (compute_uninlined_call_time, [...]): New functions.

* ipa-inline.c (compute_uninlined_call_time,
compute_inlined_call_time): New functions.
(RELATIVE_TIME_BENEFIT_RANGE): New macro.
(relative_time_benefit): Rewrite.
(edge_badness): Rewrite path with guessed profile and estimated profile.
* ipa-inline.h (INLINE_HINT_declared_inline, INLINE_HINT_cross_module):
New hints.
(struct inline_summary): Add GROWTH filed.
* ipa-inline-analysis.c (dump_inline_hints): Update.
(reset_inline_summary): Update.
(dump_inline_summary): Update.
(will_be_nonconstant_predicate): Cleanup to use gimple_store_p and
gimple_assign_load_p predicates.
(estimate_node_size_and_time): Drop INLINE_HINT_declared_inline hint.
(simple_edge_hints): New function.
(do_estimate_edge_time): Return time of invocation of callee rather
than the time scaled by edge frequency; update hints code.
(do_estimate_edge_hints): Update.
(do_estimate_growth): Cleanup.

From-SVN: r193161

11 years agotree-ssa-loop-niter.c (find_loop_niter): Remove just_once_each_iteration_p.
Jan Hubicka [Mon, 5 Nov 2012 11:14:16 +0000 (12:14 +0100)]
tree-ssa-loop-niter.c (find_loop_niter): Remove just_once_each_iteration_p.

* tree-ssa-loop-niter.c (find_loop_niter): Remove just_once_each_iteration_p.
(maybe_lower_iteration_bound): Initialize not_executed_last_iteration to  NULL
* tree-ssa-loop-ivcanon.c (canonicalize_loop_induction_variables): Skip
just_once_each_iteration_p; record estimated bound when loop has only one
likely exit; test just_once_each_iteration_p before IV canon itself.

From-SVN: r193159

11 years agore PR target/55194 (h8300 ICE during conftest in libgcc dwarf2out:7605)
Jakub Jelinek [Mon, 5 Nov 2012 11:11:28 +0000 (12:11 +0100)]
re PR target/55194 (h8300 ICE during conftest in libgcc dwarf2out:7605)

PR target/55194
* dwarf2out.c (value_format) <case dw_val_class_high_pc>: Handle
also DWARF2_ADDR_SIZE 1 and 2.

From-SVN: r193158

11 years agoipa-inline.c (leaf_node_p): Rename to ...
Jan Hubicka [Mon, 5 Nov 2012 11:10:18 +0000 (12:10 +0100)]
ipa-inline.c (leaf_node_p): Rename to ...

* ipa-inline.c (leaf_node_p): Rename to ...
(num_calls) ... this one.
(want_early_inline_function_p): Allow smal growth on non-leafs.

From-SVN: r193157

11 years agore PR testsuite/51128 (New LTO failures)
Uros Bizjak [Mon, 5 Nov 2012 10:59:49 +0000 (11:59 +0100)]
re PR testsuite/51128 (New LTO failures)

PR testsuite/51128
* gcc.dg/torture/pr55018.c: Skip if -fno-fat-lto-objects was passed.

From-SVN: r193156

11 years ago* gcc.dg/autopar/pr49960.c: Fix testcase.
Jan Hubicka [Mon, 5 Nov 2012 10:45:03 +0000 (11:45 +0100)]
* gcc.dg/autopar/pr49960.c: Fix testcase.

From-SVN: r193155

11 years ago* gcc.dg/tree-ssa/cunroll-9.c: Fix scan file name.
Uros Bizjak [Mon, 5 Nov 2012 10:28:16 +0000 (11:28 +0100)]
* gcc.dg/tree-ssa/cunroll-9.c: Fix scan file name.

From-SVN: r193154

11 years agocunroll-9.c: Dump cunrolli details.
Uros Bizjak [Mon, 5 Nov 2012 10:22:52 +0000 (11:22 +0100)]
cunroll-9.c: Dump cunrolli details.

* gcc.dg/tree-ssa/cunroll-9.c: Dump cunrolli details.
Fix scan-tree-dump-times directive.

From-SVN: r193153

11 years agore PR debug/54402 (var-tracking does not scale)
Jakub Jelinek [Mon, 5 Nov 2012 07:58:48 +0000 (08:58 +0100)]
re PR debug/54402 (var-tracking does not scale)

PR debug/54402
* var-tracking.c (fp_setter): Return false if there is REG_CFA_RESTORE
hfp note.
(vt_initialize): Look for fp_setter in any bb, not just successor of
entry bb.

From-SVN: r193152

11 years agosh.h (TARGET_CACHE32, [...]): Delete macro.
Oleg Endo [Mon, 5 Nov 2012 01:06:18 +0000 (01:06 +0000)]
sh.h (TARGET_CACHE32, [...]): Delete macro.

* config/sh/sh.h (TARGET_CACHE32, TARGET_HARVARD): Delete macro.
(TARGET_SUPERSCALAR): Add TARGET_SH2A.
(CACHE_LOG): Use TARGET_HARD_SH4 and TARGET_SH5 instead of
TARGET_CACHE32.
(TRAMPOLINE_ALIGNMENT): Use TARGET_HARD_SH4 and TARGET_SH5 instead of
TARGET_HARVARD.
* config/sh/sh.c (sh_trampoline_init): Likewise.

From-SVN: r193151

11 years ago* system.h (loc_t): Poison.
David Edelsohn [Mon, 5 Nov 2012 00:20:21 +0000 (00:20 +0000)]
* system.h (loc_t): Poison.

From-SVN: r193150

11 years agoDaily bump.
GCC Administrator [Mon, 5 Nov 2012 00:18:22 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r193149

11 years agofold-const.c (fold_unary_loc): Disable conversion optimization for void type.
Marc Glisse [Sun, 4 Nov 2012 23:38:10 +0000 (00:38 +0100)]
fold-const.c (fold_unary_loc): Disable conversion optimization for void type.

2012-11-05  Marc Glisse  <marc.glisse@inria.fr>

* fold-const.c (fold_unary_loc): Disable conversion optimization
for void type.

From-SVN: r193146

11 years agoacinclude.m4 (LIBAT_CHECK_IFUNC): Clarify message.
Thomas Schwinge [Sun, 4 Nov 2012 23:27:03 +0000 (00:27 +0100)]
acinclude.m4 (LIBAT_CHECK_IFUNC): Clarify message.

libatomic/
* acinclude.m4 (LIBAT_CHECK_IFUNC): Clarify message.
* configure: Regenerate.

From-SVN: r193145

11 years agoconfigure: Regenerate.
Thomas Schwinge [Sun, 4 Nov 2012 23:17:34 +0000 (00:17 +0100)]
configure: Regenerate.

libatomic/
* configure: Regenerate.

libitm/
* configure: Regenerate.

From-SVN: r193144

11 years agobid_functions.h: Check for __GLIBC__ additionally to LINUX when defining format speci...
Thomas Schwinge [Sun, 4 Nov 2012 23:08:42 +0000 (00:08 +0100)]
bid_functions.h: Check for __GLIBC__ additionally to LINUX when defining format specifiers.

libgcc/config/libbid/
* bid_functions.h: Check for __GLIBC__ additionally to LINUX when
defining format specifiers.

config/
* dfp.m4 (enable_decimal_float): Enable for i?86*-*-gnu*.

gcc/
* configure: Regenerate.

libdecnumber/
* configure: Regenerate.

libgcc/
* configure: Regenerate.

From-SVN: r193143

11 years agoconfigure.ac: Add stanza for *-*-gnu* threads configuration.
Samuel Thibault [Sun, 4 Nov 2012 22:56:02 +0000 (22:56 +0000)]
configure.ac: Add stanza for *-*-gnu* threads configuration.

boehm-gc/
* configure.ac: Add stanza for *-*-gnu* threads configuration.
* configure: Regenerate.
* include/gc_config.h.in: Likewise.
* dyn_load.c (_GNU_SOURCE): Define for __GNU__.
* include/gc_config_macros.h (_REENTRANT, GC_PTHREADS): Define for
GC_GNU_THREADS.
* include/private/gcconfig.h (DATASTART): Don't define for I386 &&
HURD.
(SIG_SUSPEND, SIG_THR_RESTART, SEARCH_FOR_DATA_START): Define for
I386 && HURD.
(UNIX_LIKE, REGISTER_LIBRARIES_EARLY): Define for HURD.
* os_dep.c (GC_init_linux_data_start): Handle for HURD.
* pthread_support.c (GC_thr_init): Add case for GC_GNU_THREADS.
* specific.c: Use for GC_GNU_THREADS.
* threadlibs.c: Add case for GC_GNU_THREADS.

From-SVN: r193142

11 years agocombine.c: Adjust toplevel comment.
Eric Botcazou [Sun, 4 Nov 2012 22:28:42 +0000 (22:28 +0000)]
combine.c: Adjust toplevel comment.

* combine.c: Adjust toplevel comment.
(make_extraction): Adjust head comment and move up canonicalization.

From-SVN: r193141

11 years agore PR debug/54693 (VTA guality issues with loops)
Alexandre Oliva [Sun, 4 Nov 2012 18:44:25 +0000 (18:44 +0000)]
re PR debug/54693 (VTA guality issues with loops)

PR debug/54693
* tree-ssa-loop-ivopts.c (remove_unused_ivs): Emit debug temps
for dropped IV sets.

From-SVN: r193139

11 years agore PR debug/54693 (VTA guality issues with loops)
Alexandre Oliva [Sun, 4 Nov 2012 18:44:13 +0000 (18:44 +0000)]
re PR debug/54693 (VTA guality issues with loops)

PR debug/54693
* tree-ssa-threadedge.c (propagate_threaded_block_debug_into):
New, rewritten from debug stmt copying code...
(thread_around_empty_block): ... removed from here.
(thread_across_edge): Call propagate_threaded_block_debug_into.

From-SVN: r193138

11 years agoexpr.c (expand_expr_real_1): Change to not using input_location.
Dehao Chen [Sun, 4 Nov 2012 17:18:19 +0000 (17:18 +0000)]
expr.c (expand_expr_real_1): Change to not using input_location.

2012-11-01  Dehao Chen  <dehao@google.com>

* expr.c (expand_expr_real_1): Change to not using input_location.

From-SVN: r193137

11 years agore PR fortran/55199 ([OOP] Equivalenced variable has wrong type when used with generi...
Janus Weil [Sun, 4 Nov 2012 17:13:16 +0000 (18:13 +0100)]
re PR fortran/55199 ([OOP] Equivalenced variable has wrong type when used with generic member function)

2012-11-04  Janus Weil  <janus@gcc.gnu.org>

PR fortran/55199
* primary.c (gfc_match_varspec): Clear typespec if it cannot be
determined at this point.

2012-11-04  Janus Weil  <janus@gcc.gnu.org>

PR fortran/55199
* gfortran.dg/associate_12.f90: New.

From-SVN: r193136

11 years agoinvoke.texi (profile-use): update documentation.
Jan Hubicka [Sun, 4 Nov 2012 15:51:18 +0000 (16:51 +0100)]
invoke.texi (profile-use): update documentation.

* invoke.texi (profile-use): update documentation.
* opts.c (common_handle_option): Enable tree-vectorize
and tree-loop-distribute-patterns.
* tree-loop-distribution.c (tree_loop_distribution): Skip loops
optimized for size.
* config/i386/i386.c (ix86_option_override_internal): Enabe
prefetch_lop_arrays for profile-use.

From-SVN: r193135

11 years agoChangeLog: Fix whitespace.
Uros Bizjak [Sun, 4 Nov 2012 14:03:50 +0000 (15:03 +0100)]
ChangeLog: Fix whitespace.

* ChangeLog: Fix whitespace.
* testsuite/ChangeLog: Ditto.

From-SVN: r193134

11 years agoDaily bump.
GCC Administrator [Sun, 4 Nov 2012 00:18:12 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r193132

11 years agoFix for building against Mingw64 w32api
Corinna Vinschen [Sat, 3 Nov 2012 23:56:44 +0000 (23:56 +0000)]
Fix for building against Mingw64 w32api

* configure.ac (FLAGS_FOR_TARGET,target=cygwin): Fix for building
against Mingw64 w32api.
* configure: Regenerate.

From-SVN: r193129

11 years agoRegenerate top-level configure
H.J. Lu [Sat, 3 Nov 2012 23:45:55 +0000 (23:45 +0000)]
Regenerate top-level configure

* configure: Regenerated.

From-SVN: r193128

11 years agoAdd check_effective_target_masm_intel
Jack Howarth [Sat, 3 Nov 2012 21:39:06 +0000 (21:39 +0000)]
Add check_effective_target_masm_intel

PR target/54255
* lib/target-supports.exp (check_effective_target_masm_intel): New
proc.
* gcc.target/i386/asm-dialect-1.c: Use dg-require-effective-target
masm_intel.

From-SVN: r193127

11 years agoAdd check_effective_target_maybe_x32
H.J. Lu [Sat, 3 Nov 2012 21:36:48 +0000 (14:36 -0700)]
Add check_effective_target_maybe_x32

* lib/target-supports.exp (check_effective_target_maybe_x32): New
proc.
* gcc.target/i386/pr54457.c: Use dg-require-effective-target
maybe_x32.
* gcc.target/i386/pr53249.c: Likewise.

Co-Authored-By: Jack Howarth <howarth@bromo.med.uc.edu>
From-SVN: r193126

11 years agoocteon-bbit-3.c: Change the second call to abort to call abort1 so that cross jumping...
Andrew Pinski [Sat, 3 Nov 2012 19:22:08 +0000 (19:22 +0000)]
octeon-bbit-3.c: Change the second call to abort to call abort1 so that cross jumping does not...

2012-11-03  Andrew Pinski  <apinski@cavium.com>

 * gcc.target/mips/octeon-bbit-3.c: Change the second call to abort to
call abort1 so that cross jumping does not happen.

From-SVN: r193125

11 years agofinal patch for enabling VxWorks
Robert Mason [Sat, 3 Nov 2012 15:53:28 +0000 (15:53 +0000)]
final patch for enabling VxWorks

From-SVN: r193124

11 years agoextend.texi: Copy-edit to use present tense except when explicitly describing future...
Sandra Loosemore [Sat, 3 Nov 2012 15:13:08 +0000 (11:13 -0400)]
extend.texi: Copy-edit to use present tense except when explicitly describing future or past...

2012-11-03  Sandra Loosemore  <sandra@codesourcery.com>

gcc/
* doc/extend.texi: Copy-edit to use present tense except when
explicitly describing future or past behavior.

From-SVN: r193123

11 years agosh.c (output_movedouble, [...]): Use multi-line strings for asm.
Oleg Endo [Sat, 3 Nov 2012 12:02:43 +0000 (12:02 +0000)]
sh.c (output_movedouble, [...]): Use multi-line strings for asm.

* config/sh/sh.c (output_movedouble, output_far_jump,
output_ieee_ccmpeq): Use multi-line strings for asm.
(find_regmode_weight): Wrap lines.
(sh_optimize_target_register_callee_saved): Remove commented out
variable.
(emit_load_ptr): Remove prototype.

From-SVN: r193120

11 years agore PR target/51244 ([SH] Inefficient conditional branch and code around T bit)
Oleg Endo [Sat, 3 Nov 2012 12:01:01 +0000 (12:01 +0000)]
re PR target/51244 ([SH] Inefficient conditional branch and code around T bit)

PR target/51244
* config/sh/sh.md (*cbranch_t): Allow splitting after reload.
Allow going beyond current basic block before reload when looking for
the reg set insn.
* config/sh/sh.c (sh_find_set_of_reg): Don't stop at labels.

PR target/51244
* gcc.target/sh/pr51244-18.c: New.
* gcc.target/sh/pr51244-19.c: New.

From-SVN: r193119

11 years agoocteon-exts-7.c (bar): Make sure the extraction of b requires a 64-bit operation...
Richard Sandiford [Sat, 3 Nov 2012 09:48:36 +0000 (09:48 +0000)]
octeon-exts-7.c (bar): Make sure the extraction of b requires a 64-bit operation followed by a truncation.

gcc/testsuite/
* gcc.target/mips/octeon-exts-7.c (bar): Make sure the extraction of
b requires a 64-bit operation followed by a truncation.

From-SVN: r193118

11 years agoloop-38.c: Correct testcase.
Jan Hubicka [Sat, 3 Nov 2012 00:46:52 +0000 (01:46 +0100)]
loop-38.c: Correct testcase.

* gcc.dg/tree-ssa/loop-38.c: Correct testcase.

* tree-ssa-loop-niter.c (discover_iteration_bound_by_body_walk): Add
missing sign to unsigned.

From-SVN: r193117

11 years ago* doc/html/*: Regenerate.
Jonathan Wakely [Sat, 3 Nov 2012 00:22:18 +0000 (00:22 +0000)]
* doc/html/*: Regenerate.

From-SVN: r193116

11 years agoDaily bump.
GCC Administrator [Sat, 3 Nov 2012 00:18:36 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r193115

11 years agosyscall, mksysinfo: Prepare syscall package for 64-bit int.
Ian Lance Taylor [Fri, 2 Nov 2012 23:39:36 +0000 (23:39 +0000)]
syscall, mksysinfo: Prepare syscall package for 64-bit int.

From-SVN: r193112

11 years agore PR rtl-optimization/54524 (Spurious add on sum of bitshifts (forward-propagate...
Andrew Pinski [Fri, 2 Nov 2012 23:32:32 +0000 (23:32 +0000)]
re PR rtl-optimization/54524 (Spurious add on sum of bitshifts (forward-propagate issue))

2012-11-02  Andrew Pinski  <apinski@cavium.com>

        PR rtl-opt/54524
        * simplify-rtx.c (simplify_relational_operation_1): Don't simplify
        (LTU/GEU (PLUS a 0) 0) into (GEU/LTU a 0) since they are not equivalent.

From-SVN: r193111

11 years agoruntime: Fix reflect.Call support for 64-bit ints.
Ian Lance Taylor [Fri, 2 Nov 2012 23:17:05 +0000 (23:17 +0000)]
runtime: Fix reflect.Call support for 64-bit ints.

From-SVN: r193110

11 years agoconfigure.xml: Adjust GNU libc link.
Gerald Pfeifer [Fri, 2 Nov 2012 21:59:43 +0000 (21:59 +0000)]
configure.xml: Adjust GNU libc link.

* doc/xml/manual/configure.xml: Adjust GNU libc link.

* doc/xml/manual/debug.xml: Adjust GDB documentation link.
Use GCC instead of gcc.

* doc/xml/manual/prerequisites.xml: Remove detailed reference
to binutils downloads.

From-SVN: r193109

11 years agopr48258-2.c: Simplfy the acceptance conditions to verify the reduction code is vector...
Michael Meissner [Fri, 2 Nov 2012 20:07:20 +0000 (20:07 +0000)]
pr48258-2.c: Simplfy the acceptance conditions to verify the reduction code is vectorized.

2012-11-02  Michael Meissner  <meissner@linux.vnet.ibm.com>

* gcc.target/powerpc/pr48258-2.c: Simplfy the acceptance
conditions to verify the reduction code is vectorized.

From-SVN: r193107

11 years agoUpdate ChangeLog files as requested for cgraph change to checked down cast.
Lawrence Crowl [Fri, 2 Nov 2012 20:01:02 +0000 (20:01 +0000)]
Update ChangeLog files as requested for cgraph change to checked down cast.

Index: gcc/cp/ChangeLog

2012-10-31  Lawrence Crowl  <crowl@google.com>

* decl2.c (var_finalized_p): Rename varpool_node to
varpool_node_for_decl.
(maybe_emit_vtables): Likewise.

Index: gcc/ada/ChangeLog

2012-10-31  Lawrence Crowl  <crowl@google.com>

* gcc-interface/utils.c (gnat_write_global_declarations):
Rename varpool_node to varpool_node_for_decl.

Index: gcc/lto/ChangeLog

2012-10-31  Lawrence Crowl  <crowl@google.com>

* lto.c (lto_wpa_write_files): Change symtab checking to a checked
down-cast via dyn_cast.
* lto-partition.c (add_symbol_to_partition_1): Likewise.
(undo_partition): Likewise.
(lto_balanced_map): Likewise.
(get_symbol_class): Likewise and via is_a.
(lto_balanced_map): Change symtab checking to is_a.

From-SVN: r193106

11 years agoAdd a new option --clean_build to validate_failures.py
Diego Novillo [Fri, 2 Nov 2012 19:43:25 +0000 (15:43 -0400)]
Add a new option --clean_build to validate_failures.py

This is useful when you have two builds of the same compiler.  One with
your changes.  The other one, a clean build at the same revision.
Instead of using a manifest file, --clean_build will compare the
results it gather from the patched build against those it gathers from
the clean build.

Usage

$ cd /top/of/patched/gcc/bld
$ validate_failures.py --clean_build=clean/bld-gcc
Source directory: /usr/local/google/home/dnovillo/gcc/trunk
Build target:     x86_64-unknown-linux-gnu
Getting actual results from build directory .
        ./x86_64-unknown-linux-gnu/libstdc++-v3/testsuite/libstdc++.sum
        ./x86_64-unknown-linux-gnu/libffi/testsuite/libffi.sum
        ./x86_64-unknown-linux-gnu/libgomp/testsuite/libgomp.sum
        ./x86_64-unknown-linux-gnu/libgo/libgo.sum
        ./x86_64-unknown-linux-gnu/boehm-gc/testsuite/boehm-gc.sum
        ./x86_64-unknown-linux-gnu/libatomic/testsuite/libatomic.sum
        ./x86_64-unknown-linux-gnu/libmudflap/testsuite/libmudflap.sum
        ./x86_64-unknown-linux-gnu/libitm/testsuite/libitm.sum
        ./x86_64-unknown-linux-gnu/libjava/testsuite/libjava.sum
        ./gcc/testsuite/g++/g++.sum
        ./gcc/testsuite/gnat/gnat.sum
        ./gcc/testsuite/ada/acats/acats.sum
        ./gcc/testsuite/gcc/gcc.sum
        ./gcc/testsuite/gfortran/gfortran.sum
        ./gcc/testsuite/obj-c++/obj-c++.sum
        ./gcc/testsuite/go/go.sum
        ./gcc/testsuite/objc/objc.sum
Getting actual results from build directory clean/bld-gcc
        clean/bld-gcc/x86_64-unknown-linux-gnu/libstdc++-v3/testsuite/libstdc++.sum
        clean/bld-gcc/x86_64-unknown-linux-gnu/libffi/testsuite/libffi.sum
        clean/bld-gcc/x86_64-unknown-linux-gnu/libgomp/testsuite/libgomp.sum
        clean/bld-gcc/x86_64-unknown-linux-gnu/libgo/libgo.sum
        clean/bld-gcc/x86_64-unknown-linux-gnu/boehm-gc/testsuite/boehm-gc.sum
        clean/bld-gcc/x86_64-unknown-linux-gnu/libatomic/testsuite/libatomic.sum
        clean/bld-gcc/x86_64-unknown-linux-gnu/libmudflap/testsuite/libmudflap.sum
        clean/bld-gcc/x86_64-unknown-linux-gnu/libitm/testsuite/libitm.sum
        clean/bld-gcc/x86_64-unknown-linux-gnu/libjava/testsuite/libjava.sum
        clean/bld-gcc/gcc/testsuite/g++/g++.sum
        clean/bld-gcc/gcc/testsuite/gnat/gnat.sum
        clean/bld-gcc/gcc/testsuite/ada/acats/acats.sum
        clean/bld-gcc/gcc/testsuite/gcc/gcc.sum
        clean/bld-gcc/gcc/testsuite/gfortran/gfortran.sum
        clean/bld-gcc/gcc/testsuite/obj-c++/obj-c++.sum
        clean/bld-gcc/gcc/testsuite/go/go.sum
        clean/bld-gcc/gcc/testsuite/objc/objc.sum

SUCCESS: No unexpected failures.

2012-11-02  Diego Novillo  <dnovillo@google.com>

* testsuite-management/validate_failures.py: Add option
--clean_build to compare test results against another
build.

From-SVN: r193105

11 years agotree-ssa-loop-niter.c (double_int_cmp, [...]): New functions.
Jan Hubicka [Fri, 2 Nov 2012 19:35:44 +0000 (20:35 +0100)]
tree-ssa-loop-niter.c (double_int_cmp, [...]): New functions.

* tree-ssa-loop-niter.c (double_int_cmp, bound_index,
discover_iteration_bound_by_body_walk): New functions.
(discover_iteration_bound_by_body_walk): Use it.

* gcc.dg/tree-ssa/loop-38.c: New testcase.

From-SVN: r193104

11 years agoPass -fno-ident to tests making sure "pow" is not called
Michael Meissner [Fri, 2 Nov 2012 19:21:02 +0000 (19:21 +0000)]
Pass -fno-ident to tests making sure "pow" is not called

From-SVN: r193103

11 years agopredict.c (predict_loops): Predict also exits not dominating latch.
Jan Hubicka [Fri, 2 Nov 2012 19:19:58 +0000 (20:19 +0100)]
predict.c (predict_loops): Predict also exits not dominating latch.

* predict.c (predict_loops): Predict also exits not dominating
latch.

From-SVN: r193102

11 years ago* predict.c (predict_loops): Do not predict infinite loops.
Jan Hubicka [Fri, 2 Nov 2012 19:19:15 +0000 (20:19 +0100)]
* predict.c (predict_loops): Do not predict infinite loops.

From-SVN: r193101

11 years agofmaq.c (fmaq): Fix build.
Tobias Burnus [Fri, 2 Nov 2012 18:08:05 +0000 (19:08 +0100)]
fmaq.c (fmaq): Fix build.

2012-11-01  Tobias Burnus  <burnus@net-b.de>

        * math/fmaq.c (fmaq): Fix build.

From-SVN: r193100

11 years agofmaq.c (fmaq): Merge from GLIBC.
Tobias Burnus [Fri, 2 Nov 2012 16:59:30 +0000 (17:59 +0100)]
fmaq.c (fmaq): Merge from GLIBC.

2012-11-01  Tobias Burnus  <burnus@net-b.de>
            Joseph Myers  <joseph@codesourcery.com>

        * math/fmaq.c (fmaq): Merge from GLIBC. Handle cases
        with small x * y using scaling, not as x * y + z.
        * math/lgammaq.c (lgammaq): Fix signgam handling.

Co-Authored-By: Joseph Myers <joseph@codesourcery.com>
From-SVN: r193099

11 years agore PR tree-optimization/55079 (false positive -Warray-bounds (also seen at -O3 bootst...
Jan Hubicka [Fri, 2 Nov 2012 16:34:52 +0000 (17:34 +0100)]
re PR tree-optimization/55079 (false positive -Warray-bounds (also seen at -O3 bootstrap))

PR middle-end/55079
* tree-ssa-loop-niter.c (number_of_iterations_exit): Update
MAX field if NITER was folded to contant.
(record_estimate): Sanity check.
* tree-ssa-loop-ivcanon.c (remove_exits_and_undefined_stmts): New
function.
(remove_redundant_iv_test): New function.
(loops_to_unloop, loops_to_unloop_nunroll): New static vars.
(unloop_loops): Break out from ...
(try_unroll_loop_completely): ... here; Pass in MAXITER; use
remove_exits_and_undefined_stmts; do not unloop.
(canonicalize_loop_induction_variables): Compute MAXITER;
use remove_redundant_iv_test; remove loop_close_ssa_invalidated
and irred_invalidated arguments.
(canonicalize_induction_variables): Compute fresh bound estimates;
unloop; walk from innermost.
(tree_unroll_loops_completely): Likewise.

* gcc.dg/tree-ssa/cunroll-10.c: New testcase.
* gcc.dg/tree-ssa/cunroll-9.c: New testcase.

From-SVN: r193098

11 years agoFix typo in changelog.
Vladimir Makarov [Fri, 2 Nov 2012 14:49:30 +0000 (14:49 +0000)]
Fix typo in changelog.

From-SVN: r193097

11 years agore PR middle-end/55130 (ICE in insn_rhs_dead_pseudo_p, at lra-constraints.c:3224)
Vladimir Makarov [Fri, 2 Nov 2012 14:44:12 +0000 (14:44 +0000)]
re PR middle-end/55130 (ICE in insn_rhs_dead_pseudo_p, at lra-constraints.c:3224)

2012-11-02  Vladimir Makarov  <vmakarov@redhat.com>

PR middle-end/55130
* lra-constraints.c (debug_loc_equivalence_change_p): Rename to
loc_equivalence_change_p.
(lra_constraints): Check equiv_insn_bitmap for debug insn.  Call
loc_equivalence_change_p for non-transformed insn.

2012-11-02  Vladimir Makarov  <vmakarov@redhat.com>

PR middle-end/55150
* gcc.target/i386/pr55130.c: New test.

From-SVN: r193096

11 years agore PR target/55175 (i386/sfp-exceptions.c:52:7: error: impossible constraint in ...
Uros Bizjak [Fri, 2 Nov 2012 14:09:02 +0000 (15:09 +0100)]
re PR target/55175 (i386/sfp-exceptions.c:52:7: error: impossible constraint in 'asm')

PR target/55175
* config/i386/sfp-exceptions.c: Guard with _SOFT_FLOAT.
* config/i386/sfp-machine.h: Guard exception handling
code with _SOFT_FLOAT.
* config/i386/32/sfp-machine.h: Guard rounding handling
code with _SOFT_FLOAT.
* config/i386/64/sfp-machine.h: Ditto.

From-SVN: r193095

11 years agocfg-flags.def (ABNORMAL_CALL): Fix comment.
Eric Botcazou [Fri, 2 Nov 2012 12:10:36 +0000 (12:10 +0000)]
cfg-flags.def (ABNORMAL_CALL): Fix comment.

* cfg-flags.def (ABNORMAL_CALL): Fix comment.
(EH): Likewise.
(SIBCALL): Likewise.
* cfgrtl.c (rtl_verify_flow_info_1): Adjust error messages.
Deal with EDGE_SIBCALL and fix the EDGE_ABNORMAL check.

From-SVN: r193094

11 years agore PR libstdc++/55169 (std::discrete_distribution::operator(generator&) makes unneces...
Paolo Carlini [Fri, 2 Nov 2012 10:45:25 +0000 (10:45 +0000)]
re PR libstdc++/55169 (std::discrete_distribution::operator(generator&) makes unnecessary copy of parameter vector)

2012-11-02  Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/55169
* include/bits/random.h: Remove all uses of param().
(chi_squared_distribution<>::__generate_impl(_ForwardIterator,
_ForwardIterator, _UniformRandomNumberGenerator&): Declare
* include/bits/random.tcc: ... define.
* include/ext/random: Remove all uses of param().

From-SVN: r193092

11 years agoallocator.xml: Update reference to Hoard.
Gerald Pfeifer [Fri, 2 Nov 2012 08:57:18 +0000 (08:57 +0000)]
allocator.xml: Update reference to Hoard.

* doc/xml/manual/allocator.xml: Update reference to Hoard.
Update reference to Berger's OOPSLA 2002 paper.

From-SVN: r193091

11 years agore PR target/55147 (x86: wrong code for 64-bit load)
Jakub Jelinek [Fri, 2 Nov 2012 08:03:02 +0000 (09:03 +0100)]
re PR target/55147 (x86: wrong code for 64-bit load)

PR target/55147
* config/i386/i386.md (bswapdi2): Limit to TARGET_64BIT.
(*bswapdi2_doubleword): Removed.

* gcc.target/i386/pr55147.c: New test.

From-SVN: r193090

11 years agoprinters.py (Tr1HashtableIterator): Update.
Jonathan Wakely [Fri, 2 Nov 2012 01:47:17 +0000 (01:47 +0000)]
printers.py (Tr1HashtableIterator): Update.

* python/libstdcxx/v6/printers.py (Tr1HashtableIterator): Update.
(StdForwardListPrinter): Likewise.

From-SVN: r193087

11 years agoforward_list.h (forward_list(size_type)): Add missing allocator parameter.
Jonathan Wakely [Fri, 2 Nov 2012 01:29:00 +0000 (01:29 +0000)]
forward_list.h (forward_list(size_type)): Add missing allocator parameter.

* include/bits/forward_list.h (forward_list(size_type)): Add missing
allocator parameter.
(_Fwd_list_node_base): Use NSDMI and define constructor as defaulted.
(_Fwd_list_node::_M_value): Replace with uninitialized storage.
(_Fwd_list_node::_M_valptr()): Define functions to access storage.
(_Fwd_list_iterator, _Fwd_list_const_iterator): Use _M_valptr.
(_Fwd_list_base::_M_create_node): Only use allocator to construct the
element not the node.
* include/bits/forward_list.tcc (_Fwd_list_base::_M_erase_after): Only
use allocator to destroy the element not the node.
* testsuite/23_containers/forward_list/cons/11.cc: Remove unused
headers.
* testsuite/23_containers/forward_list/cons/12.cc: Likewise.
* testsuite/23_containers/forward_list/cons/13.cc: New.
* testsuite/23_containers/forward_list/cons/14.cc: New.

From-SVN: r193086

11 years agocodecvt.xml: Fix reference to Austin Common Standards Revision Group.
Gerald Pfeifer [Fri, 2 Nov 2012 00:25:46 +0000 (00:25 +0000)]
codecvt.xml: Fix reference to Austin Common Standards Revision Group.

* doc/xml/manual/codecvt.xml: Fix reference to Austin Common
Standards Revision Group.
* doc/xml/manual/messages.xml: Ditto.
* doc/xml/manual/using_exceptions.xml: Ditto.

* doc/xml/manual/messages.xml: Fix reference to GNU gettext.

* doc/xml/manual/policy_data_structures.xml: Fix reference to
STL at SGI.
Update reference to COM at Microsoft.
Update reference to Worst-case efficient priority queues at ACM.

From-SVN: r193084

11 years agodefault_format_1.f90: XFAIL on AIX.
David Edelsohn [Fri, 2 Nov 2012 00:23:19 +0000 (00:23 +0000)]
default_format_1.f90: XFAIL on AIX.

        * gfortran.dg/default_format_1.f90: XFAIL on AIX.
        * gfortran.dg/default_format_denormal_1.f90: Same.

From-SVN: r193083

11 years agoDaily bump.
GCC Administrator [Fri, 2 Nov 2012 00:18:13 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r193082

11 years ago* doc/install.texi (Specific): Remove moxie web reference.
Gerald Pfeifer [Thu, 1 Nov 2012 23:58:38 +0000 (23:58 +0000)]
* doc/install.texi (Specific): Remove moxie web reference.

From-SVN: r193078

11 years agore PR middle-end/55001 (Handle VEC_COND_EXPR better in tree-vect-generic.c)
Marc Glisse [Thu, 1 Nov 2012 23:39:44 +0000 (00:39 +0100)]
re PR middle-end/55001 (Handle VEC_COND_EXPR better in tree-vect-generic.c)

2012-11-01  Marc Glisse  <marc.glisse@inria.fr>

PR middle-end/55001

gcc/
* tree-vect-generic.c (expand_vector_condition): New function.
(expand_vector_operations_1): Call it.

testsuite/
* g++.dg/ext/vector19.C: Remove target restrictions.
* gcc.dg/fold-compare-7.c: New testcase.

From-SVN: r193077

11 years agorange_access.cc: Fix copying permission statement.
Jonathan Wakely [Thu, 1 Nov 2012 23:20:37 +0000 (23:20 +0000)]
range_access.cc: Fix copying permission statement.

* testsuite/18_support/initializer_list/range_access.cc: Fix copying
permission statement.
* testsuite/20_util/specialized_algorithms/uninitialized_copy/
808590.cc: Likewise.
* testsuite/20_util/specialized_algorithms/uninitialized_copy/
move_iterators/1.cc: Likewise.
* testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
move_iterators/1.cc: Likewise.
* testsuite/21_strings/basic_string/capacity/char/shrink_to_fit.cc:
Likewise.
* testsuite/21_strings/basic_string/capacity/wchar_t/shrink_to_fit.cc:
Likewise.
* testsuite/21_strings/basic_string/range_access/char/1.cc: Likewise.
* testsuite/21_strings/basic_string/range_access/wchar_t/1.cc:
Likewise.
* testsuite/23_containers/array/element_access/at_neg.cc: Likewise.
* testsuite/23_containers/array/range_access.cc: Likewise.
* testsuite/23_containers/deque/capacity/29134-2.cc: Likewise.
* testsuite/23_containers/deque/capacity/29134.cc: Likewise.
* testsuite/23_containers/deque/capacity/shrink_to_fit.cc: Likewise.
* testsuite/23_containers/deque/range_access.cc: Likewise.
* testsuite/23_containers/deque/requirements/do_the_right_thing.cc:
Likewise.
* testsuite/23_containers/forward_list/capacity/1.cc: Likewise.
* testsuite/23_containers/forward_list/cons/1.cc: Likewise.
* testsuite/23_containers/forward_list/cons/10.cc: Likewise.
* testsuite/23_containers/forward_list/cons/11.cc: Likewise.
* testsuite/23_containers/forward_list/cons/12.cc: Likewise.
* testsuite/23_containers/forward_list/cons/2.cc: Likewise.
* testsuite/23_containers/forward_list/cons/3.cc: Likewise.
* testsuite/23_containers/forward_list/cons/4.cc: Likewise.
* testsuite/23_containers/forward_list/cons/5.cc: Likewise.
* testsuite/23_containers/forward_list/cons/6.cc: Likewise.
* testsuite/23_containers/forward_list/cons/7.cc: Likewise.
* testsuite/23_containers/forward_list/cons/8.cc: Likewise.
* testsuite/23_containers/forward_list/cons/9.cc: Likewise.
* testsuite/23_containers/forward_list/debug/clear.cc: Likewise.
* testsuite/23_containers/forward_list/debug/erase_after1_neg.cc:
Likewise.
* testsuite/23_containers/forward_list/debug/erase_after2_neg.cc:
Likewise.
* testsuite/23_containers/forward_list/debug/erase_after3_neg.cc:
Likewise.
* testsuite/23_containers/forward_list/debug/erase_after4_neg.cc:
Likewise.
* testsuite/23_containers/forward_list/debug/erase_after5_neg.cc:
Likewise.
* testsuite/23_containers/forward_list/debug/erase_after6_neg.cc:
Likewise.
* testsuite/23_containers/forward_list/debug/erase_after7_neg.cc:
Likewise.
* testsuite/23_containers/forward_list/debug/erase_after8_neg.cc:
Likewise.
* testsuite/23_containers/forward_list/debug/erase_after9_neg.cc:
Likewise.
* testsuite/23_containers/forward_list/debug/insert_after1_neg.cc:
Likewise.
* testsuite/23_containers/forward_list/debug/insert_after2_neg.cc:
Likewise.
* testsuite/23_containers/forward_list/debug/insert_after3_neg.cc:
Likewise.
* testsuite/23_containers/forward_list/debug/move_constructor.cc:
Likewise.
* testsuite/23_containers/forward_list/debug/splice_after.cc: Likewise.
* testsuite/23_containers/forward_list/debug/splice_after1_neg.cc:
Likewise.
* testsuite/23_containers/forward_list/debug/splice_after2_neg.cc:
Likewise.
* testsuite/23_containers/forward_list/debug/splice_after3_neg.cc:
Likewise.
* testsuite/23_containers/forward_list/debug/splice_after4_neg.cc:
Likewise.
* testsuite/23_containers/forward_list/debug/splice_after5_neg.cc:
Likewise.
* testsuite/23_containers/forward_list/debug/splice_after6_neg.cc:
Likewise.
* testsuite/23_containers/forward_list/debug/splice_after7_neg.cc:
Likewise.
* testsuite/23_containers/forward_list/debug/swap.cc: Likewise.
* testsuite/23_containers/forward_list/modifiers/1.cc: Likewise.
* testsuite/23_containers/forward_list/modifiers/2.cc: Likewise.
* testsuite/23_containers/forward_list/modifiers/3.cc: Likewise.
* testsuite/23_containers/forward_list/modifiers/4.cc: Likewise.
* testsuite/23_containers/forward_list/modifiers/5.cc: Likewise.
* testsuite/23_containers/forward_list/modifiers/6.cc: Likewise.
* testsuite/23_containers/forward_list/operations/1.cc: Likewise.
* testsuite/23_containers/forward_list/operations/2.cc: Likewise.
* testsuite/23_containers/forward_list/operations/3.cc: Likewise.
* testsuite/23_containers/forward_list/operations/4.cc: Likewise.
* testsuite/23_containers/forward_list/operations/5.cc: Likewise.
* testsuite/23_containers/forward_list/operations/6.cc: Likewise.
* testsuite/23_containers/forward_list/operations/7.cc: Likewise.
* testsuite/23_containers/forward_list/range_access.cc: Likewise.
* testsuite/23_containers/forward_list/requirements/
do_the_right_thing.cc: Likewise.
* testsuite/23_containers/list/capacity/1.cc: Likewise.
* testsuite/23_containers/list/capacity/1.h: Likewise.
* testsuite/23_containers/list/capacity/29134.cc: Likewise.
* testsuite/23_containers/list/modifiers/1.cc: Likewise.
* testsuite/23_containers/list/modifiers/1.h: Likewise.
* testsuite/23_containers/list/modifiers/1_c++0x.cc: Likewise.
* testsuite/23_containers/list/modifiers/2.cc: Likewise.
* testsuite/23_containers/list/modifiers/2.h: Likewise.
* testsuite/23_containers/list/modifiers/3.cc: Likewise.
* testsuite/23_containers/list/modifiers/3.h: Likewise.
* testsuite/23_containers/list/modifiers/insert/25288.cc: Likewise.
* testsuite/23_containers/list/modifiers/insert/25288.h: Likewise.
* testsuite/23_containers/list/operations/1.cc: Likewise.
* testsuite/23_containers/list/operations/1.h: Likewise.
* testsuite/23_containers/list/operations/2.cc: Likewise.
* testsuite/23_containers/list/operations/2.h: Likewise.
* testsuite/23_containers/list/operations/2_c++0x.cc: Likewise.
* testsuite/23_containers/list/operations/3.cc: Likewise.
* testsuite/23_containers/list/operations/3.h: Likewise.
* testsuite/23_containers/list/operations/3_c++0x.cc: Likewise.
* testsuite/23_containers/list/operations/4.cc: Likewise.
* testsuite/23_containers/list/operations/4.h: Likewise.
* testsuite/23_containers/list/operations/42352.cc: Likewise.
* testsuite/23_containers/list/operations/5.cc: Likewise.
* testsuite/23_containers/list/operations/5.h: Likewise.
* testsuite/23_containers/list/range_access.cc: Likewise.
* testsuite/23_containers/list/requirements/do_the_right_thing.cc:
Likewise.
* testsuite/23_containers/map/capacity/29134.cc: Likewise.
* testsuite/23_containers/map/range_access.cc: Likewise.
* testsuite/23_containers/multimap/capacity/29134.cc: Likewise.
* testsuite/23_containers/multimap/range_access.cc: Likewise.
* testsuite/23_containers/multiset/capacity/29134.cc: Likewise.
* testsuite/23_containers/multiset/range_access.cc: Likewise.
* testsuite/23_containers/set/capacity/29134.cc: Likewise.
* testsuite/23_containers/set/range_access.cc: Likewise.
* testsuite/23_containers/unordered_map/final_hash.cc: Likewise.
* testsuite/23_containers/unordered_map/observers.cc: Likewise.
* testsuite/23_containers/unordered_map/range_access.cc: Likewise.
* testsuite/23_containers/unordered_map/requirements/52942.cc:
Likewise.
* testsuite/23_containers/unordered_map/requirements/53067.cc:
Likewise.
* testsuite/23_containers/unordered_map/requirements/53339.cc:
Likewise.
* testsuite/23_containers/unordered_multimap/final_hash.cc: Likewise.
* testsuite/23_containers/unordered_multimap/observers.cc: Likewise.
* testsuite/23_containers/unordered_multimap/range_access.cc: Likewise.
* testsuite/23_containers/unordered_multimap/requirements/53339.cc:
Likewise.
* testsuite/23_containers/unordered_multiset/final_hash.cc: Likewise.
* testsuite/23_containers/unordered_multiset/observers.cc: Likewise.
* testsuite/23_containers/unordered_multiset/range_access.cc: Likewise.
* testsuite/23_containers/unordered_set/final_hash.cc: Likewise.
* testsuite/23_containers/unordered_set/instantiation_neg.cc: Likewise.
* testsuite/23_containers/unordered_set/observers.cc: Likewise.
* testsuite/23_containers/unordered_set/range_access.cc: Likewise.
* testsuite/23_containers/unordered_set/requirements/52942.cc:
Likewise.
* testsuite/23_containers/unordered_set/requirements/53067.cc:
Likewise.
* testsuite/23_containers/vector/bool/capacity/29134.cc: Likewise.
* testsuite/23_containers/vector/bool/modifiers/insert/31370.cc:
Likewise.
* testsuite/23_containers/vector/capacity/29134-2.cc: Likewise.
* testsuite/23_containers/vector/capacity/29134.cc: Likewise.
* testsuite/23_containers/vector/capacity/shrink_to_fit.cc: Likewise.
* testsuite/23_containers/vector/capacity/shrink_to_fit2.cc: Likewise.
* testsuite/23_containers/vector/range_access.cc: Likewise.
* testsuite/23_containers/vector/requirements/do_the_right_thing.cc:
Likewise.
* testsuite/24_iterators/range_access.cc: Likewise.
* testsuite/25_algorithms/copy/1.cc: Likewise.
* testsuite/25_algorithms/copy/2.cc: Likewise.
* testsuite/25_algorithms/copy/3.cc: Likewise.
* testsuite/25_algorithms/copy/34595.cc: Likewise.
* testsuite/25_algorithms/copy/4.cc: Likewise.
* testsuite/25_algorithms/copy/deque_iterators/1.cc: Likewise.
* testsuite/25_algorithms/copy/move_iterators/1.cc: Likewise.
* testsuite/25_algorithms/copy/streambuf_iterators/char/1.cc: Likewise.
* testsuite/25_algorithms/copy/streambuf_iterators/char/2.cc: Likewise.
* testsuite/25_algorithms/copy/streambuf_iterators/char/3.cc: Likewise.
* testsuite/25_algorithms/copy/streambuf_iterators/char/4.cc: Likewise.
* testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/1.cc:
Likewise.
* testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/2.cc:
Likewise.
* testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/3.cc:
Likewise.
* testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/4.cc:
Likewise.
* testsuite/25_algorithms/copy_backward/deque_iterators/1.cc: Likewise.
* testsuite/25_algorithms/copy_backward/move_iterators/1.cc: Likewise.
* testsuite/25_algorithms/copy_n/1.cc: Likewise.
* testsuite/25_algorithms/copy_n/2.cc: Likewise.
* testsuite/25_algorithms/copy_n/3.cc: Likewise.
* testsuite/25_algorithms/copy_n/4.cc: Likewise.
* testsuite/25_algorithms/copy_n/50119.cc: Likewise.
* testsuite/25_algorithms/copy_n/move_iterators/1.cc: Likewise.
* testsuite/25_algorithms/fill/4.cc: Likewise.
* testsuite/25_algorithms/fill_n/1.cc: Likewise.
* testsuite/25_algorithms/find/istreambuf_iterators/char/1.cc:
Likewise.
* testsuite/25_algorithms/find/istreambuf_iterators/char/2.cc:
Likewise.
* testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/1.cc:
Likewise.
* testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/2.cc:
Likewise.
* testsuite/25_algorithms/heap/1.cc: Likewise.
* testsuite/25_algorithms/heap/moveable.cc: Likewise.
* testsuite/25_algorithms/heap/moveable2.cc: Likewise.
* testsuite/25_algorithms/is_heap/1.cc: Likewise.
* testsuite/25_algorithms/is_heap_until/1.cc: Likewise.
* testsuite/25_algorithms/is_sorted/1.cc: Likewise.
* testsuite/25_algorithms/is_sorted_until/1.cc: Likewise.
* testsuite/25_algorithms/move/1.cc: Likewise.
* testsuite/25_algorithms/move/deque_iterators/1.cc: Likewise.
* testsuite/25_algorithms/move_backward/1.cc: Likewise.
* testsuite/25_algorithms/move_backward/deque_iterators/1.cc: Likewise.
* testsuite/25_algorithms/partition/1.cc: Likewise.
* testsuite/25_algorithms/partition/moveable.cc: Likewise.
* testsuite/25_algorithms/pop_heap/empty2_neg.cc: Likewise.
* testsuite/25_algorithms/pop_heap/empty_neg.cc: Likewise.
* testsuite/25_algorithms/stable_partition/1.cc: Likewise.
* testsuite/25_algorithms/stable_partition/moveable.cc: Likewise.
* testsuite/25_algorithms/stable_partition/pr52822.cc: Likewise.
* testsuite/26_numerics/valarray/range_access.cc: Likewise.
* testsuite/28_regex/range_access.cc: Likewise.
* testsuite/ext/vstring/capacity/29134.cc: Likewise.
* testsuite/ext/vstring/capacity/shrink_to_fit.cc: Likewise.
* testsuite/ext/vstring/hash/char/1.cc: Likewise.
* testsuite/ext/vstring/hash/wchar_t/1.cc: Likewise.
* testsuite/ext/vstring/range_access.cc: Likewise.
* testsuite/ext/vstring/requirements/do_the_right_thing.cc: Likewise.
* testsuite/performance/25_algorithms/copy_backward_deque_iterators.cc:
Likewise.
* testsuite/performance/25_algorithms/copy_deque_iterators.cc:
Likewise.
* testsuite/tr1/6_containers/unordered_map/capacity/29134-map.cc:
Likewise.
* testsuite/tr1/6_containers/unordered_multimap/capacity/
29134-multimap.cc: Likewise.
* testsuite/tr1/6_containers/unordered_multiset/capacity/
29134-multiset.cc: Likewise.
* testsuite/tr1/6_containers/unordered_set/capacity/29134-set.cc:
Likewise.

From-SVN: r193076

11 years agotarget-globals.c (save_target_globals): Save lra_int struct.
Steve Ellcey [Thu, 1 Nov 2012 23:11:50 +0000 (23:11 +0000)]
target-globals.c (save_target_globals): Save lra_int struct.

2012-11-01  Steve Ellcey  <sellcey@mips.com>

* target-globals.c (save_target_globals): Save lra_int struct.

From-SVN: r193075

11 years agostandards.texi (Standards): Adjust reference to Go specification.
Gerald Pfeifer [Thu, 1 Nov 2012 22:56:15 +0000 (22:56 +0000)]
standards.texi (Standards): Adjust reference to Go specification.

* doc/standards.texi (Standards): Adjust reference to Go
specification.

From-SVN: r193073

11 years agoThis patch removes the unused ebitmap, and then removes some sbitmap functions only...
Lawrence Crowl [Thu, 1 Nov 2012 22:39:26 +0000 (22:39 +0000)]
This patch removes the unused ebitmap, and then removes some sbitmap functions only used by ebitmap.

This patch removes the unused ebitmap, and then removes some sbitmap functions
only used by ebitmap.  The functions removed are:

SET_BIT_WITH_POPCOUNT
RESET_BIT_WITH_POPCOUNT
bitmap_copy_n
bitmap_range_empty_p
sbitmap_popcount

In addition, two functions have been made private to the implementation file:

SBITMAP_SIZE_BYTES
sbitmap_verify_popcount

Tested on x86-64.

Index: gcc/ChangeLog

2012-11-01  Lawrence Crowl  <crowl@google.com>

* ebitmap.h: Remove unused.
* ebitmap.c: Remove unused.
* Makefile.in: Remove ebitmap.h and ebitmap.c.
* sbitmap.h (SBITMAP_SIZE_BYTES): Move to source file.
(SET_BIT_WITH_POPCOUNT): Remove unused.
(RESET_BIT_WITH_POPCOUNT): Remove unused.
(bitmap_copy_n): Remove unused.
(bitmap_range_empty_p): Remove unused.
(sbitmap_popcount): Remove unused.
(sbitmap_verify_popcount): Make private to source file.
* sbitmap.c (SBITMAP_SIZE_BYTES): Move here from header.
(bitmap_copy_n): Remove unused.
(bitmap_range_empty_p): Remove unused.
(sbitmap_popcount): Remove unused.
(sbitmap_verify_popcount): Make private to source file.

2012-11-01  Lawrence Crowl  <crowl@google.com>

From-SVN: r193072

11 years agore PR target/55160 (Counterproductive loop induction variable optimization)
Oleg Endo [Thu, 1 Nov 2012 21:28:49 +0000 (21:28 +0000)]
re PR target/55160 (Counterproductive loop induction variable optimization)

PR target/55160
* gcc.target/sh/pr55160.c: New.

From-SVN: r193071

11 years agoThis patch renames sbitmap iterators to unify them with the bitmap iterators.
Lawrence Crowl [Thu, 1 Nov 2012 21:02:15 +0000 (21:02 +0000)]
This patch renames sbitmap iterators to unify them with the bitmap iterators.

Remove the unused EXECUTE_IF_SET_IN_SBITMAP_REV, which has an unconventional
interface.

Rename the sbitmap_iter_* functions to match bitmap's bmp_iter_* functions.
Add an additional parameter to the initialization and next functions to
match the interface in bmp_iter_*.  This extra parameter is mostly hidden
by the use of the EXECUTE_IF macros.

Rename the EXECUTE_IF_SET_IN_SBITMAP macro to EXECUTE_IF_SET_IN_BITMAP.  Its
implementation is now identical to that in bitmap.h.  To prevent redefinition
errors, both definitions are now guarded by #ifndef.  An alternate strategy
is to simply include bitmap.h from sbitmap.h.  As this would increase build
time, I have elected to use the #ifndef version.  I do not have a strong
preference here.

The sbitmap_iterator type is still distinctly named because it is often
declared in contexts where the bitmap type is not obvious.  There are less
than 40 uses of this type, so the burden to modify it when changing bitmap
types is not large.

Tested on x86-64, config-list.mk testing.

Index: gcc/ChangeLog

2012-10-31  Lawrence Crowl  <crowl@google.com>

* sbitmap.h (sbitmap_iter_init): Rename bmp_iter_set_init and add
unused parameter to match bitmap iterator.  Update callers.
(sbitmap_iter_cond): Rename bmp_iter_set.  Update callers.
(sbitmap_iter_next): Rename bmp_iter_next and add unused parameter to
match bitmap iterator.  Update callers.
(EXECUTE_IF_SET_IN_SBITMAP_REV): Remove unused.
(EXECUTE_IF_SET_IN_SBITMAP): Rename EXECUTE_IF_SET_IN_BITMAP and
adjust to be identical to the definition in bitmap.h.  Conditionalize
the definition based on not having been defined.  Update callers.
* bitmap.h (EXECUTE_IF_SET_IN_BITMAP): Conditionalize the definition
based on not having been defined.  (To match the above.)

From-SVN: r193069

11 years agohashtable_policy.h (__details::_Before_begin<>): New, combine a base node instance...
François Dumont [Thu, 1 Nov 2012 20:55:51 +0000 (20:55 +0000)]
hashtable_policy.h (__details::_Before_begin<>): New, combine a base node instance and an allocator.

2012-11-01  François Dumont  <fdumont@gcc.gnu.org>

* include/bits/hashtable_policy.h (__details::_Before_begin<>):
New, combine a base node instance and an allocator.
* include/bits/hashtable.h (_Hashtable<>::_M_node_allocator): Remove.
(_Hashtable<>::_M_before_begin): Rename into _M_bbegin and type
modified to __detail::_Before_begin<>.
(_Hashtable<>::_M_node_allocator()): New, get the node allocator
part of _M_bbegin.
(_Hashtable<>::_M_before_begin()): New, get the before begin node
part of _M_bbegin.
(_Hashtable<>): Adapt to use latter.

From-SVN: r193068