platform/upstream/linaro-gcc.git
11 years ago2012-11-06 Yannick Moy <moy@adacore.com>
charlet [Tue, 6 Nov 2012 10:01:03 +0000 (10:01 +0000)]
2012-11-06  Yannick Moy  <moy@adacore.com>

* s-bignum.adb (Div_Rem): Fix another bug in step D3.

2012-11-06  Tristan Gingold  <gingold@adacore.com>

* s-tarest.adb (Create_Restricted_Task): Call
Create_Restricted_Task_Sequential in sequential case.

2012-11-06  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_prag.adb (Expand_Pragma_Loop_Assertion): Do not rewrite the
pragma into a null statement as its presence is desirable in -gnatG
output.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193219 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-11-06 Ed Schonberg <schonberg@adacore.com>
charlet [Tue, 6 Nov 2012 09:59:02 +0000 (09:59 +0000)]
2012-11-06  Ed Schonberg  <schonberg@adacore.com>

* sem_ch8.adb (Check_Constrained_Object): Do nothing if the
renamed object is a limited record.

2012-11-06  Bernard Banner  <banner@adacore.com>

* sysdep.c (_getpagesize): New. Minor reformatting.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193218 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-11-06 Robert Dewar <dewar@adacore.com>
charlet [Tue, 6 Nov 2012 09:55:50 +0000 (09:55 +0000)]
2012-11-06  Robert Dewar  <dewar@adacore.com>

* sem_prag.adb: Minor reformatting.

2012-11-06  Robert Dewar  <dewar@adacore.com>

* s-bignum.adb (Div_Rem): Fix bug in step D3.
* uintp.adb (UI_Div_Rem): Add comment on bug in step D3.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193217 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-11-06 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Tue, 6 Nov 2012 09:53:42 +0000 (09:53 +0000)]
2012-11-06  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_prag.adb (Expand_Pragma_Loop_Assertion): Update the comment
on intended expansion. Reimplement the logic which expands the
termination variants.
(Process_Increase_Decrease): Update the parameter profile and the
comment related to it. Accommodate the new aggregate-like appearance of
the termination variants.
* sem_prag.adb (Analyze_Pragma): Update the syntax of pragma
Loop_Assertion. Reimplement the semantic analysis of the pragma
to accommodate the new aggregate-like variant.
(Check_Variant): New routine.
* snames.ads-tmpl: Change names Name_Decreases and Name_Increases
to Name_Decreasing and Name_Increasing respectively. Add name
Variant.

2012-11-06  Ed Schonberg  <schonberg@adacore.com>

* sem_eval.adb: Static evaluation of case expressions.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193216 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-11-06 Robert Dewar <dewar@adacore.com>
charlet [Tue, 6 Nov 2012 09:49:23 +0000 (09:49 +0000)]
2012-11-06  Robert Dewar  <dewar@adacore.com>

* exp_prag.adb, impunit.adb, exp_ch9.adb, par-ch4.adb,
s-tarest.adb: Minor reformatting.

2012-11-06  Tristan Gingold  <gingold@adacore.com>

* s-tposen.ads: Minor comment update.

2012-11-06  Arnaud Charlet  <charlet@adacore.com>

* sysdep.c: Rename sig* wrappers to use unique names.

2012-11-06  Yannick Moy  <moy@adacore.com>

* exp_dbug.adb (Qualify_Entity_Name): Mark entity as having a qualified
name after being treated, in formal verification mode.

2012-11-06  Fedor Rybin  <frybin@adacore.com>

* gnat_ugn.texi: Updating gnattest section to reflect changes
in default behaviour of the tool.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193215 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-11-06 Thomas Quinot <quinot@adacore.com>
charlet [Tue, 6 Nov 2012 09:44:51 +0000 (09:44 +0000)]
2012-11-06  Thomas Quinot  <quinot@adacore.com>

* s-oscons-tmplt.c: Interfaces.C now needs to be WITH'd even
on platforms that do not support sockets (for the benefit of
subtype IOCTL_Req_T).

2012-11-06  Ed Schonberg  <schonberg@adacore.com>

* par-ch4.adb (P_Primary): if-expressions, case-expressions,
and quantified expressions are legal if surrounded by parentheses
from an enclosing context, such as a call or an instantiation.

2012-11-06  Yannick Moy  <moy@adacore.com>

* impunit.adb (Get_Kind_Of_Unit): Return appropriate kind for
predefined implementation files, instead of returning
Not_Predefined_Unit on all .adb files.

2012-11-06  Tristan Gingold  <gingold@adacore.com>

* exp_ch9.adb (Build_Activation_Chain_Entity): Return immediately if
partition elaboration policy is sequential.
(Build_Task_Activation_Call): Likewise. Use
Activate_Restricted_Tasks on restricted profile.
(Make_Task_Create_Call): Do not use the _Chain
parameter if elaboration policy is sequential. Call
Create_Restricted_Task_Sequential in that case.
* exp_ch3.adb (Build_Initialization_Call): Change condition to
support concurrent elaboration policy.
(Build_Record_Init_Proc): Likewise.
(Init_Formals): Likewise.
* bindgen.adb (Gen_Adainit): Declare Partition_Elaboration_Policy
and set it in generated code if the elaboration policy is
sequential. The procedure called to activate all tasks is now
named __gnat_activate_all_tasks.
* rtsfind.adb (RE_Activate_Restricted_Task,
RE_Create_Restricted_Task_Sequential): New RE_Id literals.
* s-tarest.adb (Create_Restricted_Task): Added to create a task without
adding it on an activation chain.
(Activate_Tasks): Has now a Chain parameter.
(Activate_All_Tasks_Sequential): Added. Called by the binder to
activate all tasks.
(Activate_Restricted_Tasks): Added. Called during elaboration to
activate tasks of the units.
* s-tarest.ads: Remove pragma Partition_Elaboration_Policy.
(Partition_Elaboration_Policy): New variable (set by the binder).
(Create_Restricted_Task): Revert removal of the chain parameter.
(Create_Restricted_Task_Sequential): New procedure.
(Activate_Restricted_Tasks): Revert removal.
(Activate_All_Tasks_Sequential): New procedure.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193214 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-11-06 Bernard Banner <banner@adacore.com>
charlet [Tue, 6 Nov 2012 09:41:56 +0000 (09:41 +0000)]
2012-11-06  Bernard Banner  <banner@adacore.com>

* adaint.c Add file macro definitions missing on Android.
* adaint.h Avoid definitions related to task affinity and CPU
sets since this functionality is missing on the Android
* errno.c (__set_errno): Android already contains such a named
procedure so do include again.
* gsocket.h: Sockets not supported on Android.
* init.c: Avoid linux related code not supported on Android.
* sysdep.c (sigismember, sigaddset, sigdelset, sigemptyset,
sigfillset): wrapper functions since sig routines are defined
as inline macros on Android.
* terminals.c: Add stubs for terminal related functions not
supported on Android.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193213 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-11-06 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Tue, 6 Nov 2012 09:38:48 +0000 (09:38 +0000)]
2012-11-06  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_prag.adb (Analyze_Pragma): Do not
output the characters of an illegal argument as it may not have
characters to begin with.

2012-11-06  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_prag.adb (Expand_Pragma_Loop_Assertion):
Change the order of argument processing to avoid disappearing
increase / decrease expressions.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193212 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-11-06 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Tue, 6 Nov 2012 09:37:34 +0000 (09:37 +0000)]
2012-11-06  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_prag.adb: Add with and use clause for Sem_Ch8.
(Expand_N_Pragma): Add a new variant to expand pragma Loop_Assertion.
(Expand_Pragma_Loop_Assertion): New routine.
* par-prag.adb (Prag): The semantic analysis of pragma
Loop_Assertion is carried out by Analyze_Pragma. No need for
checks in the parser.
* sem_prag.adb: Add a reference position value for pragma
Loop_Assertion in Sig_Flags.
(Analyze_Pragma): Add semantic analysis for pragma Loop_Assertion.
* snames.ads-tmpl: Add the following new names:
Name_Decreases Name_Increases Name_Loop_Assertion.
Add new pragma id Pragma_Loop_Assertion.

2012-11-06  Ed Schonberg  <schonberg@adacore.com>

* exp_ch5.adb: Identifier in iterator must have debug
information.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193211 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR target/41993
kkojima [Tue, 6 Nov 2012 09:16:34 +0000 (09:16 +0000)]
PR target/41993
* mode-switching.c (create_pre_exit): Set return_copy to
last_insn when copy_start is a pseudo reg.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193210 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agolibada/
charlet [Tue, 6 Nov 2012 09:03:55 +0000 (09:03 +0000)]
libada/
* Makefile.in (osconstool): Fix target.
ada/
* gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Remove
duplicate rules handled by Make-generated.in.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193209 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * config/i386/i386.c (bdesc_args): Rename CODE_FOR_avx2_umulhrswv16hi3 to
kyukhin [Tue, 6 Nov 2012 07:43:37 +0000 (07:43 +0000)]
* config/i386/i386.c (bdesc_args): Rename CODE_FOR_avx2_umulhrswv16hi3 to
CODE_FOR_avx2_pmulhrswv16hi3.
* config/i386/predicates.md (const1_operand): Extend for vectors.
* config/i386/sse.md (ssse3_avx2): Extend.
(ssedoublemode): Ditto.
(<sse2_avx2>_uavg<mode>3): Merge avx2_uavgv32qi3, sse2_uavgv16qi3,
avx2_uavgv16hi3 and sse2_uavgv8hi3 into one.
(*<sse2_avx2>_uavg<mode>3): Merge *avx2_uavgv32qi3, *sse2_uavgv16qi3,
*avx2_uavgv16hi3 and *sse2_uavgv8hi3 into one.
(PMULHRSW): New.
(<ssse3_avx2>_pmulhrsw<mode>3): Merge avx2_umulhrswv16hi3,
ssse3_pmulhrswv8hi3 and ssse3_pmulhrswv4hi3 into one.
(*avx2_pmulhrswv16hi3): Replace const_vector with const1_operand
predicate.
(*ssse3_pmulhrswv8hi3): Ditto.
(*ssse3_pmulhrswv4hi3): Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193208 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoUpdate Copyright years.
amylaar [Tue, 6 Nov 2012 05:16:42 +0000 (05:16 +0000)]
Update Copyright years.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193207 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoFix ChangeLog typo.
amylaar [Tue, 6 Nov 2012 05:15:56 +0000 (05:15 +0000)]
Fix ChangeLog typo.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193206 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * config/epiphany/epiphany.c (epiphany_address_cost):
amylaar [Tue, 6 Nov 2012 05:01:47 +0000 (05:01 +0000)]
    * config/epiphany/epiphany.c (epiphany_address_cost):
        Use MODE parameter.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193205 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoFunction Multiversioning
tmsriram [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193204 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193203 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193202 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193201 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoReplace REX_INT_REG_P with REX_INT_REGNO_P
hjl [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193197 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * include/profile/deque: Constrain InputIterator parameters.
redi [Tue, 6 Nov 2012 00:06:42 +0000 (00:06 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193196 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR testsuite/55186
hp [Mon, 5 Nov 2012 22:17:14 +0000 (22:17 +0000)]
PR testsuite/55186
* gcc.dg/const-uniq-1.c (a): Increase length four times.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193194 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoUse -Wl,-undefined,dynamic_lookup on darwin
hjl [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193193 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR tree-optimization/54986
ebotcazou [Mon, 5 Nov 2012 21:39:02 +0000 (21:39 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193188 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago* gcc/final.c (final_scan_insn) [HAVE_cc0]: Handle all comparison
schwab [Mon, 5 Nov 2012 21:11:04 +0000 (21:11 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193187 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * include/profile/forward_list: Update to meet allocator-aware
redi [Mon, 5 Nov 2012 21:10:27 +0000 (21:10 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193186 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-11-05 Benjamin Kosnik <bkoz@redhat.com>
bkoz [Mon, 5 Nov 2012 21:01:08 +0000 (21:01 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193185 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-10-05 François Dumont <fdumont@gcc.gnu.org>
fdumont [Mon, 5 Nov 2012 20:58:35 +0000 (20:58 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193184 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * mode-switching.c (create_pre_exit): Force late switching if
uros [Mon, 5 Nov 2012 19:46:31 +0000 (19:46 +0000)]
* mode-switching.c (create_pre_exit): Force late switching if
__builtin_{apply,return} emitted a load that require mode,
other than MODE_EXIT.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193182 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-11-05 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Mon, 5 Nov 2012 19:25:20 +0000 (19:25 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193181 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agogcc/
rsandifo [Mon, 5 Nov 2012 18:51:33 +0000 (18:51 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193178 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * gcc.dg/const-1.c: Update.
hubicka [Mon, 5 Nov 2012 18:12:37 +0000 (18:12 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193175 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoDetect overflow in size calculations in __cxa_vec_new{2,3}
fw [Mon, 5 Nov 2012 17:48:46 +0000 (17:48 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193174 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193173 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193172 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * reorg.c (fill_simple_delay_slots): Avoid calling optimize_skip
amylaar [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193171 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-11-05 Vladimir Makarov <vmakarov@redhat.com>
vmakarov [Mon, 5 Nov 2012 16:38:27 +0000 (16:38 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193170 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-11-05 Dehao Chen <dehao@google.com>
dehao [Mon, 5 Nov 2012 15:47:18 +0000 (15:47 +0000)]
2012-11-05  Dehao Chen  <dehao@google.com>

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193169 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * doc/md.texi (Defining Attributes): Document that we are defining
amylaar [Mon, 5 Nov 2012 15:18:10 +0000 (15:18 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193168 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR debug/54970
jakub [Mon, 5 Nov 2012 14:36:47 +0000 (14:36 +0000)]
PR debug/54970
PR debug/54971
* gcc.dg/guality/pr54970.c: Use NOP instead of "NOP" in inline-asm.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193162 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * ipa-inline.c (compute_uninlined_call_time,
hubicka [Mon, 5 Nov 2012 14:00:46 +0000 (14:00 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193161 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * tree-ssa-loop-niter.c (find_loop_niter): Remove just_once_each_iteration_p.
hubicka [Mon, 5 Nov 2012 11:14:16 +0000 (11:14 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193159 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR target/55194
jakub [Mon, 5 Nov 2012 11:11:28 +0000 (11:11 +0000)]
PR target/55194
* dwarf2out.c (value_format) <case dw_val_class_high_pc>: Handle
also DWARF2_ADDR_SIZE 1 and 2.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193158 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * ipa-inline.c (leaf_node_p): Rename to ...
hubicka [Mon, 5 Nov 2012 11:10:18 +0000 (11:10 +0000)]
* ipa-inline.c (leaf_node_p): Rename to ...
(num_calls) ... this one.
(want_early_inline_function_p): Allow smal growth on non-leafs.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193157 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR testsuite/51128
uros [Mon, 5 Nov 2012 10:59:49 +0000 (10:59 +0000)]
PR testsuite/51128
* gcc.dg/torture/pr55018.c: Skip if -fno-fat-lto-objects was passed.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193156 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193155 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193154 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * gcc.dg/tree-ssa/cunroll-9.c: Dump cunrolli details.
uros [Mon, 5 Nov 2012 10:22:52 +0000 (10:22 +0000)]
* gcc.dg/tree-ssa/cunroll-9.c: Dump cunrolli details.
Fix scan-tree-dump-times directive.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193153 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR debug/54402
jakub [Mon, 5 Nov 2012 07:58:48 +0000 (07:58 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193152 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * config/sh/sh.h (TARGET_CACHE32, TARGET_HARVARD): Delete macro.
olegendo [Mon, 5 Nov 2012 01:06:18 +0000 (01:06 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193151 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193150 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193149 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-11-05 Marc Glisse <marc.glisse@inria.fr>
glisse [Sun, 4 Nov 2012 23:38:10 +0000 (23:38 +0000)]
2012-11-05  Marc Glisse  <marc.glisse@inria.fr>

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193146 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agolibatomic/
tschwinge [Sun, 4 Nov 2012 23:27:03 +0000 (23:27 +0000)]
libatomic/
* acinclude.m4 (LIBAT_CHECK_IFUNC): Clarify message.
* configure: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193145 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agolibatomic/
tschwinge [Sun, 4 Nov 2012 23:17:34 +0000 (23:17 +0000)]
libatomic/
* configure: Regenerate.

libitm/
* configure: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193144 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agolibgcc/config/libbid/
tschwinge [Sun, 4 Nov 2012 23:08:42 +0000 (23:08 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193143 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoboehm-gc/
tschwinge [Sun, 4 Nov 2012 22:56:02 +0000 (22:56 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193142 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * combine.c: Adjust toplevel comment.
ebotcazou [Sun, 4 Nov 2012 22:28:42 +0000 (22:28 +0000)]
* combine.c: Adjust toplevel comment.
(make_extraction): Adjust head comment and move up canonicalization.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193141 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoPR debug/54693
aoliva [Sun, 4 Nov 2012 18:44:25 +0000 (18:44 +0000)]
PR debug/54693
* tree-ssa-loop-ivopts.c (remove_unused_ivs): Emit debug temps
for dropped IV sets.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193139 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoPR debug/54693
aoliva [Sun, 4 Nov 2012 18:44:13 +0000 (18:44 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193138 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-11-01 Dehao Chen <dehao@google.com>
dehao [Sun, 4 Nov 2012 17:18:19 +0000 (17:18 +0000)]
2012-11-01  Dehao Chen  <dehao@google.com>

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193137 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-11-04 Janus Weil <janus@gcc.gnu.org>
janus [Sun, 4 Nov 2012 17:13:16 +0000 (17:13 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193136 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * invoke.texi (profile-use): update documentation.
hubicka [Sun, 4 Nov 2012 15:51:18 +0000 (15:51 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193135 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * ChangeLog: Fix whitespace.
uros [Sun, 4 Nov 2012 14:03:50 +0000 (14:03 +0000)]
* ChangeLog: Fix whitespace.
* testsuite/ChangeLog: Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193134 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193132 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoFix for building against Mingw64 w32api
hjl [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193129 138bc75d-0d04-0410-961f-82ee72b054a4

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

* configure: Regenerated.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193128 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoAdd check_effective_target_masm_intel
hjl [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193127 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoAdd check_effective_target_maybe_x32
hjl [Sat, 3 Nov 2012 21:36:48 +0000 (21:36 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193126 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-11-03 Andrew Pinski <apinski@cavium.com>
pinskia [Sat, 3 Nov 2012 19:22:08 +0000 (19:22 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193125 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193124 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-11-03 Sandra Loosemore <sandra@codesourcery.com>
sandra [Sat, 3 Nov 2012 15:13:08 +0000 (15:13 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193123 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * config/sh/sh.c (output_movedouble, output_far_jump,
olegendo [Sat, 3 Nov 2012 12:02:43 +0000 (12:02 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193120 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR target/51244
olegendo [Sat, 3 Nov 2012 12:01:01 +0000 (12:01 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193119 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agogcc/testsuite/
rsandifo [Sat, 3 Nov 2012 09:48:36 +0000 (09:48 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193118 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * gcc.dg/tree-ssa/loop-38.c: Correct testcase.
hubicka [Sat, 3 Nov 2012 00:46:52 +0000 (00:46 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193117 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193116 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193115 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193112 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-11-02 Andrew Pinski <apinski@cavium.com>
pinskia [Fri, 2 Nov 2012 23:32:32 +0000 (23:32 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193111 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193110 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * doc/xml/manual/configure.xml: Adjust GNU libc link.
gerald [Fri, 2 Nov 2012 21:59:43 +0000 (21:59 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193109 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-11-02 Michael Meissner <meissner@linux.vnet.ibm.com>
meissner [Fri, 2 Nov 2012 20:07:20 +0000 (20:07 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193107 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoUpdate ChangeLog files as requested for cgraph change to checked down cast.
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193106 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoAdd a new option --clean_build to validate_failures.py
dnovillo [Fri, 2 Nov 2012 19:43:25 +0000 (19:43 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193105 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * tree-ssa-loop-niter.c (double_int_cmp, bound_index,
hubicka [Fri, 2 Nov 2012 19:35:44 +0000 (19:35 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193104 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193103 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * predict.c (predict_loops): Predict also exits not dominating
hubicka [Fri, 2 Nov 2012 19:19:58 +0000 (19:19 +0000)]
* predict.c (predict_loops): Predict also exits not dominating
latch.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193102 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193101 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-11-01 Tobias Burnus <burnus@net-b.de>
burnus [Fri, 2 Nov 2012 18:08:05 +0000 (18:08 +0000)]
2012-11-01  Tobias Burnus  <burnus@net-b.de>

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193100 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-11-01 Tobias Burnus <burnus@net-b.de>
burnus [Fri, 2 Nov 2012 16:59:30 +0000 (16:59 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193099 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR middle-end/55079
hubicka [Fri, 2 Nov 2012 16:34:52 +0000 (16:34 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193098 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193097 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-11-02 Vladimir Makarov <vmakarov@redhat.com>
vmakarov [Fri, 2 Nov 2012 14:44:12 +0000 (14:44 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193096 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR target/55175
uros [Fri, 2 Nov 2012 14:09:02 +0000 (14:09 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193095 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * cfg-flags.def (ABNORMAL_CALL): Fix comment.
ebotcazou [Fri, 2 Nov 2012 12:10:36 +0000 (12:10 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193094 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-11-02 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Fri, 2 Nov 2012 10:45:25 +0000 (10:45 +0000)]
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().

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193092 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * doc/xml/manual/allocator.xml: Update reference to Hoard.
gerald [Fri, 2 Nov 2012 08:57:18 +0000 (08:57 +0000)]
* doc/xml/manual/allocator.xml: Update reference to Hoard.
Update reference to Berger's OOPSLA 2002 paper.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193091 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR target/55147
jakub [Fri, 2 Nov 2012 08:03:02 +0000 (08:03 +0000)]
PR target/55147
* config/i386/i386.md (bswapdi2): Limit to TARGET_64BIT.
(*bswapdi2_doubleword): Removed.

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193090 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * python/libstdcxx/v6/printers.py (Tr1HashtableIterator): Update.
redi [Fri, 2 Nov 2012 01:47:17 +0000 (01:47 +0000)]
* python/libstdcxx/v6/printers.py (Tr1HashtableIterator): Update.
(StdForwardListPrinter): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193087 138bc75d-0d04-0410-961f-82ee72b054a4