gcc.git
9 years ago* Makefile.in (etags tags TAGS): Use && instead of ;.
Mike Stump [Thu, 12 Nov 2015 19:18:54 +0000 (19:18 +0000)]
* Makefile.in (etags tags TAGS): Use && instead of ;.

From-SVN: r230270

9 years agoAdd initial qualcomm support.
Jim Wilson [Thu, 12 Nov 2015 17:27:13 +0000 (17:27 +0000)]
Add initial qualcomm support.

gcc/
* config/aarch64/aarch64-cores.def (qdf24xx): New.
* config/aarch64/aarch64-tune.md: Regenerated.
* config/arm/arm-cores.def (qdf24xx): New.
* config/arm/arm-tables.opt, config/arm/arm-tune.md: Regenerated.
* config/arm/bpabi.h (BE8_LINK_SPEC): Add qdf24xx support.
* doc/invoke.texi (AArch64 Options/-mtune): Add "qdf24xx".
(ARM Options/-mtune); Likewise.

From-SVN: r230268

9 years agoExtend valid values of iostream bitmask types
Jonathan Wakely [Thu, 12 Nov 2015 17:08:42 +0000 (17:08 +0000)]
Extend valid values of iostream bitmask types

PR libstdc++/56158
* include/bits/ios_base.h (_Ios_Fmtflags, _Ios_Openmode, _Ios_Iostate):
Define enumerators to ensure all values of type int are valid values
of the enumeration type.
* testsuite/27_io/ios_base/types/fmtflags/case_label.cc: Add new cases.
* testsuite/27_io/ios_base/types/iostate/case_label.cc: Likewise.
* testsuite/27_io/ios_base/types/openmode/case_label.cc: Likewise.

From-SVN: r230267

9 years ago* include/std/thread: Include <cerrno> for EINTR.
Jonathan Wakely [Thu, 12 Nov 2015 16:13:06 +0000 (16:13 +0000)]
* include/std/thread: Include <cerrno> for EINTR.

From-SVN: r230266

9 years agoFix big memory leak in ix86_valid_target_attribute_p
Martin Liska [Thu, 12 Nov 2015 15:50:05 +0000 (16:50 +0100)]
Fix big memory leak in ix86_valid_target_attribute_p

* config/i386/i386.c (ix86_valid_target_attribute_p):
Finalize options at the of the function.
* gcc.c (driver_get_configure_time_options): Call newly
introduced init_opts_obstack.
* lto-wrapper.c (main): Likewise.
* opts.c (init_opts_obstack): New function.
(init_options_struct): Call newly
introduced init_opts_obstack.
* opts.h (init_options_struct): Declare.

From-SVN: r230264

9 years agore PR ipa/68035 (ipa performance issue when no procedures are present)
Martin Liska [Thu, 12 Nov 2015 15:16:00 +0000 (16:16 +0100)]
re PR ipa/68035 (ipa performance issue when no procedures are present)

Fix PR ipa/68035

PR ipa/68035
* ipa-icf.c (void sem_item::set_hash): New function.
(sem_function::get_hash): Use renamed m_hash member variable.
(sem_item::update_hash_by_addr_refs): Utilize get_hash.
(sem_item::update_hash_by_local_refs): Likewise.
(sem_variable::get_hash): Use renamed m_hash member variable.
(sem_item_optimizer::update_hash_by_addr_refs): Utilize get_hash.
(sem_item_optimizer::build_hash_based_classes): Utilize set_hash.
(sem_item_optimizer::build_graph): As the hash value of an item
is lazy initialized, force the calculation.
* ipa-icf.h (set_hash): Declare new function and rename hash member
variable to m_hash.
* gcc.dg/ipa/pr68035.c: New test.

From-SVN: r230263

9 years agotree-vectorizer.h (vect_slp_analyze_data_ref_dependences): Rename to vect_slp_analyze...
Richard Biener [Thu, 12 Nov 2015 14:59:26 +0000 (14:59 +0000)]
tree-vectorizer.h (vect_slp_analyze_data_ref_dependences): Rename to vect_slp_analyze_instance_dependence.

2015-11-12  Richard Biener  <rguenther@suse.de>

* tree-vectorizer.h (vect_slp_analyze_data_ref_dependences):
Rename to vect_slp_analyze_instance_dependence.
* tree-vect-data-refs.c (vect_slp_analyze_data_ref_dependence):
Remove WAR special-case.
(vect_slp_analyze_node_dependences): Instead add more specific
code here, not relying on other instances being vectorized.
(vect_slp_analyze_instance_dependence): Adjust accordingly.
* tree-vect-slp.c (vect_build_slp_tree_1): Remove excessive
vertical space in dump files.
(vect_print_slp_tree): Likewise.
(vect_analyze_slp_instance): Dump a header for the final SLP tree.
(vect_slp_analyze_bb_1): Delay computing relevant stmts and
not vectorized stmts until after dependence analysis removed
instances.  Merge alignment and dependence checks.
* tree-vectorizer.c (pass_slp_vectorize::execute): Clear visited
flag on all stmts.

From-SVN: r230262

9 years ago[AArch64] Add extra tuning parameters for target processors
Evandro Menezes [Thu, 12 Nov 2015 14:46:52 +0000 (14:46 +0000)]
[AArch64] Add extra tuning parameters for target processors

gcc/

* config/aarch64/aarch64-protos.h (tune_params): Add new members
"max_case_values" and "cache_line_size".
* config/aarch64/aarch64.c (aarch64_case_values_threshold): New
function.
(aarch64_override_options_internal): Tune heuristics based on new
members in "tune_params".
(TARGET_CASE_VALUES_THRESHOLD): Define macro.

From-SVN: r230261

9 years agore PR tree-optimization/68306 (ICE: in vectorizable_store, at tree-vect-stmts.c:5651)
Richard Biener [Thu, 12 Nov 2015 14:02:44 +0000 (14:02 +0000)]
re PR tree-optimization/68306 (ICE: in vectorizable_store, at tree-vect-stmts.c:5651)

2015-11-12  Richard Biener  <rguenther@suse.de>

PR tree-optimization/68306
* tree-vect-data-refs.c (verify_data_ref_alignment): Remove
relevant and vectorizable checks here.
(vect_verify_datarefs_alignment): Add relevant check here.

* gcc.dg/pr68306.c: New testcase.

From-SVN: r230260

9 years agoImplement D0013R2, logical type traits.
Ville Voutilainen [Thu, 12 Nov 2015 13:56:31 +0000 (15:56 +0200)]
Implement D0013R2, logical type traits.

2015-11-12  Ville Voutilainen  <ville.voutilainen@gmail.com>

Implement D0013R2, logical type traits.

/libstdc++-v3
* include/experimental/type_traits (conjunction_v, disjunction_v,
negation_v): New.
* include/std/type_traits (conjunction, disjunction, negation):
Likewise.
* testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
Likewise.
* testsuite/experimental/type_traits/value.cc: Likewise.
* testsuite/20_util/logical_traits/requirements/explicit_instantiation.cc: New.
* testsuite/20_util/logical_traits/requirements/typedefs.cc: Likewise.
* testsuite/20_util/logical_traits/value.cc: Likewise.

/testsuite
* g++.dg/cpp0x/Wattributes1.C: Adjust.

From-SVN: r230258

9 years agomissed error format change in previous commit
Nathan Sidwell [Thu, 12 Nov 2015 13:52:30 +0000 (13:52 +0000)]
missed error format change in previous commit

From-SVN: r230257

9 years agogimplify.c (oacc_default_clause): New.
Nathan Sidwell [Thu, 12 Nov 2015 13:51:13 +0000 (13:51 +0000)]
gimplify.c (oacc_default_clause): New.

gcc/
* gimplify.c (oacc_default_clause): New.
(omp_notice_variable): Call it.

gcc/testsuite/
* c-c++-common/goacc/data-default-1.c: New.

libgomp/
* testsuite/libgomp.oacc-c-c++-common/default-1.c: New.

Co-Authored-By: Cesar Philippidis <cesar@codesourcery.com>
From-SVN: r230256

9 years ago* gcc.target/powerpc/pr67789.c: Skip on AIX and Darwin.
David Edelsohn [Thu, 12 Nov 2015 13:42:14 +0000 (13:42 +0000)]
* gcc.target/powerpc/pr67789.c: Skip on AIX and Darwin.

From-SVN: r230255

9 years ago[multiple changes]
Arnaud Charlet [Thu, 12 Nov 2015 13:28:05 +0000 (14:28 +0100)]
[multiple changes]

2015-11-12  Philippe Gil  <gil@adacore.com>

* g-debpoo.adb (Print_Address): print address in hexadecimal as
in previous GNAT version (without secondary stack use)
(Deallocate): Deallocate calling once Unlock_Task.all when it
raise exception.

2015-11-12  Ed Schonberg  <schonberg@adacore.com>

* sem_ch3.adb (Analyze_Subtype_Declaration): Remove redundant
copying of dimensions from parent type to subtype. This is
properly done in Analyze_Dimension.
* sem_dim.adb (Analyze_Dimension_Subtype_Declaration): Add entity
to error message, so that reference to entity can be formatted
properly.
* opt.ads: Fix typo.

From-SVN: r230254

9 years ago[multiple changes]
Arnaud Charlet [Thu, 12 Nov 2015 13:25:40 +0000 (14:25 +0100)]
[multiple changes]

2015-11-12  Bob Duff  <duff@adacore.com>

* impunit.adb, lib-xref.ads, restrict.ads, scos.ads, sem_attr.ads,
types.ads: Get rid of some global variables.
* output.adb, output.ads: Move some global variables to the body.

2015-11-12  Yannick Moy  <moy@adacore.com>

* lib-xref-spark_specific.adb
(Is_Constant_Object_Without_Variable_Input): Add special case
for imported constants.

2015-11-12  Philippe Gil  <gil@adacore.com>

* g-debpoo.adb (Allocate): Avoid having allocations not handled.

2015-11-12  Ed Schonberg  <schonberg@adacore.com>

* checks.adb (Apply_Scalar_Range_Check): If the expression is
a real literal and the context type has static bounds, remove
range check when possible.

2015-11-12  Ed Schonberg  <schonberg@adacore.com>

* sem_util.adb (Collect_Primitive_Operations): If the type is
derived from a type declared elsewhere that has an incomplete
type declaration, the primitives are found in the scope of the
type nat that of its ancestor.

2015-11-12  Arnaud Charlet  <charlet@adacore.com>

* switch-c.adb, debug.adb, osint-c.adb, gnat1drv.adb: Remove -gnatd.V
debug switch.
* exp_aggr.adb, exp_util.adb: Fix typos.

2015-11-12  Jerome Lambourg  <lambourg@adacore.com>

* init.c: Properly adjust PC values in case of signals.

2015-11-12  Bob Duff  <duff@adacore.com>

* sem_prag.adb (Check_Arg_Is_Library_Level_Local_Name): A
pragma that comes from an aspect does not "come from source",
so we need to test whether it comes from an aspect.

From-SVN: r230253

9 years agore PR tree-optimization/68305 (ICE on valid code at -O3 on x86_64-linux-gnu: tree...
Ilya Enkovich [Thu, 12 Nov 2015 12:59:05 +0000 (12:59 +0000)]
re PR tree-optimization/68305 (ICE on valid code at -O3 on x86_64-linux-gnu: tree check: expected class ‘expression’, have ‘exceptional’ (ssa_name) in tree_operand_check, at tree.h:3436)

gcc/

PR tree-optimization/68305
* tree-vect-slp.c (vect_get_constant_vectors): Support
COND_EXPR with SSA_NAME as a condition.

gcc/testsuite/

PR tree-optimization/68305
* gcc.dg/vect/pr68305.c: New test.

From-SVN: r230252

9 years agovisium-protos.h (notice_update_cc): Delete.
Eric Botcazou [Thu, 12 Nov 2015 12:20:43 +0000 (12:20 +0000)]
visium-protos.h (notice_update_cc): Delete.

* config/visium/visium-protos.h (notice_update_cc): Delete.
(print_operand): Likewise.
(print_operand_address): Likewise.

From-SVN: r230251

9 years agoalpha.h (FUNCTION_VALUE, [...]): Remove.
Uros Bizjak [Thu, 12 Nov 2015 12:17:01 +0000 (13:17 +0100)]
alpha.h (FUNCTION_VALUE, [...]): Remove.

* config/alpha/alpha.h (FUNCTION_VALUE, LIBCALL_VALUE,
FUNCTION_VALUE_REGNO_P): Remove.
* config/alpha/alpha-protos.h (function_value): Remove.
* config/alpha/alpha.c (function_value): Rename to...
(alpha_function_value_1): ... this.  Make static.
(alpha_function_value, alpha_libcall_value,
alpha_function_value_regno_p): New functions.
(TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
TARGET_FUNCTION_VALUE_REGNO_P): Define.

* config/alpha/alpha.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
* config/alpha/alpha.c (alpha_memory_latency): Make static.
(alpha_register_move_cost, alpha_memory_move_cost): New functions.
(TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define.

From-SVN: r230250

9 years agoswitch-c.adb, [...]: Reserve -gnateg for generation of C headers.
Arnaud Charlet [Thu, 12 Nov 2015 12:00:56 +0000 (12:00 +0000)]
switch-c.adb, [...]: Reserve -gnateg for generation of C headers.

2015-11-12  Arnaud Charlet  <charlet@adacore.com>

* switch-c.adb, gnat1drv.adb, opt.ads: Reserve -gnateg for generation
of C headers.

From-SVN: r230248

9 years ago[multiple changes]
Arnaud Charlet [Thu, 12 Nov 2015 11:59:18 +0000 (12:59 +0100)]
[multiple changes]

2015-11-12  Arnaud Charlet  <charlet@adacore.com>

* back_end.adb, opt.ads (Debugger_Level): Update comment.
(Scan_Back_End_Switches): Set Debugger_Level.

2015-11-12  Bob Duff  <duff@adacore.com>

* fmap.adb, debug.ads, checks.adb, exp_ch11.adb: Minor edits.

2015-11-12  Doug Rupp  <rupp@adacore.com>

* s-stchop-vxworks.adb (Stack_Limit): Export vice Import.

2015-11-12  Gary Dismukes  <dismukes@adacore.com>

* sem_dim.adb: Minor reformatting.

From-SVN: r230246

9 years agore PR target/67265 ([x86] 'asm' operand has impossible constraints with -fstack-check)
Eric Botcazou [Thu, 12 Nov 2015 11:55:11 +0000 (11:55 +0000)]
re PR target/67265 ([x86] 'asm' operand has impossible constraints with -fstack-check)

PR target/67265
* config/i386/i386.c (ix86_adjust_stack_and_probe): Remove obsolete
assertion on the CFA register.

From-SVN: r230245

9 years ago[multiple changes]
Arnaud Charlet [Thu, 12 Nov 2015 11:54:53 +0000 (12:54 +0100)]
[multiple changes]

2015-11-12  Gary Dismukes  <dismukes@adacore.com>

* gnat1drv.adb, opt.ads: Minor reformatting.

2015-11-12  Ed Schonberg  <schonberg@adacore.com>

* sem_ch3.adb (Analyze_Number_Declaration): Call Analyze_Dimension,
to propagate dimension information from expression to named
number.
* sem_dim.ads: Documentation:  number declaration and explicit
dereference can carry dimension information.
* sem_dim.adb (Analyze_Dimension_Number_Declaration): New
procedure, to propagate dimension information from expression
of declaration to named number, whose type becomes one of the
dimensioned base types rather than universal real.
(Analyze_Dimension_Binary_Op):
a) If one operand is a literal that is the value of a declared
constant after constant-foloding, use the dimensions of the
declared constant.
b) If an operand is a literal that is a contant-folded expression,
and expander is active, do not report a dimension mismatch if
literal does not carry them, because dimension matching will
have been checked previously.

From-SVN: r230244

9 years ago[multiple changes]
Arnaud Charlet [Thu, 12 Nov 2015 11:52:59 +0000 (12:52 +0100)]
[multiple changes]

2015-11-12  Ed Schonberg  <schonberg@adacore.com>

* sem_ch8.adb (Find_Selected_Component): In a synchronized
body, a reference to an operation of an object of the same
synchronized type was always interpreted as a reference to the
current instance. This is not always the case, as the prefix of
the reference may designate an object of the same type declared
in the enclosing context prior to the body.

2015-11-12  Arnaud Charlet  <charlet@adacore.com>

* impunit.ads, impunit.adb (Get_Kind_Of_File): New. Cleaned up
implementation from previous Get_Kind_Of_Unit.
(Get_Kind_Of_Unit): Reimplemented using Get_Kind_Of_File.
* debug.adb: Remove d.4 switch, no longer used.
* opt.ads: Update doc on Debugger_Level.
* gnat1drv.adb: Code clean ups.
* sinput.ads: minor fix in comment

2015-11-12  Bob Duff  <duff@adacore.com>

* sinfo.adb, sinfo.ads, sem_ch6.adb, atree.ads: Add
Was_Expression_Function flag, which is set in sem_ch6.adb when
converting an Expression_Function into a Subprogram_Body.

2015-11-12  Pascal Obry  <obry@adacore.com>

* usage.adb: Update overflow checking documentation.

From-SVN: r230243

9 years ago[multiple changes]
Arnaud Charlet [Thu, 12 Nov 2015 11:46:35 +0000 (12:46 +0100)]
[multiple changes]

2015-11-12  Tristan Gingold  <gingold@adacore.com>

* snames.ads-tmpl: Name_Gnat_Extended_Ravenscar: New identifier.
* s-rident.ads (Profile_Name): Add GNAT_Extended_Ravenscar.
(Profile_Info): Add new entry for GNAT_Extended_Ravenscar.
* sem_prag.adb (Set_Ravenscar_Profile): Add Profile parameter
to handle various ravenscar profiles. Adjust error messages.
(Analyze_Pragma): Handle GNAT_Extended_Ravenscar profile.
* targparm.adb (Get_Target_Parameters): Handle
GNAT_Extended_Ravenscar profile.

2015-11-12  Ed Schonberg  <schonberg@adacore.com>

* sem_warn.adb (Warn_On_Unreferenced_Entity): If the entity is an
Out_Parameter the front-end does not emit any warning on it, so
do not suppress warnings on the entity because the backend might
be able to determine an uninitialized path and warn accordingly.

2015-11-12  Ed Schonberg  <schonberg@adacore.com>

* sem_ch4.adb (Analyze_Selected_Component): Diagnose an attempt
to reference an internal entity from a synchronized type from
within the body of that type, when the prefix of the selected
component is not the current instance.

2015-11-12  Ed Falis  <falis@adacore.com>

* s-stchop-vxworks.adb: Clean up in stack checking code.

2015-11-12  Gary Dismukes  <dismukes@adacore.com>

* exp_ch6.adb (Is_Build_In_Place_Function_Call):
Test Expression (N) in N_Type_Conversion cases as well,
since conversions can occur in actual parameter contexts.
(Make_Build_In_Place_Call_In_Anonymous_Context): Retrieve
function call from Expression (Func_Call) when Nkind (Func_Call)
is N_Type_Conversion, since conversions are allowed in "anonymous"
contexts (specifically, as actual parameters).

From-SVN: r230242

9 years agosem_ch4.adb (analyze_If_Expression): Reject IF-expression where THEN-expression is...
Arnaud Charlet [Thu, 12 Nov 2015 11:42:00 +0000 (12:42 +0100)]
sem_ch4.adb (analyze_If_Expression): Reject IF-expression where THEN-expression is overloaded and none of its...

2015-11-12  Thomas Quinot  <quinot@adacore.com>

* sem_ch4.adb (analyze_If_Expression): Reject IF-expression where
THEN-expression is overloaded and none of its interpretation is
compatible with the ELSE-expression.

From-SVN: r230241

9 years ago[multiple changes]
Arnaud Charlet [Thu, 12 Nov 2015 11:40:26 +0000 (12:40 +0100)]
[multiple changes]

2015-11-12  Jerome Lambourg  <lambourg@adacore.com>

* init.c: Do not try to mess with the MSR values in RTP mode:
not needed and forbidden.

2015-11-12  Ed Schonberg  <schonberg@adacore.com>

* exp_attr.adb (Compile_Stream_Body_In_Scope): Do not install
full view of a type that has pragma Stream_Convert, because
this indicates special processing for the stream operations of
the type.

From-SVN: r230240

9 years ago[multiple changes]
Arnaud Charlet [Thu, 12 Nov 2015 11:38:28 +0000 (12:38 +0100)]
[multiple changes]

2015-11-12  Gary Dismukes  <dismukes@adacore.com>

* exp_ch5.adb, sem_ch3.adb, exp_util.ads, inline.adb, freeze.adb,
sem_util.adb, sem_util.ads, par-ch6.adb, sem_elab.adb: Minor
reformatting and a typo fix.

2015-11-12  Ed Schonberg  <schonberg@adacore.com>

* sem_ch12.adb (Preanalyze_Actuals): Add guard on use of
Incomplete_Actuals, which are only stored for a package
instantiation, in order to place the instance in the body of
the enclosing unit.

2015-11-12  Ed Schonberg  <schonberg@adacore.com>

* exp_intr.adb: Add legality checks on calls to a
Generic_Dispatching_Constructor: the given tag must be defined,
it cannot be the tag of an abstract type, and its accessibility
level must not be greater than that of the constructor.

2015-11-12  Ed Schonberg  <schonberg@adacore.com>

* sem_ch4.adb (Try_Container_Indexing, Constant_Indexing_OK): If
the context is an overloaded call, assume that Constant_Indexing
is not OK if an interpretation has an assignable parameter
corresponding to the indexing expression.

2015-11-12  Jerome Lambourg  <lambourg@adacore.com>

* init.c (__gnat_error_handler): Force the SPE bit of the MSR
when executing on e500v2 CPU.

2015-11-12  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_prag.adb (Analyze_Constituent): Stop the
analysis after detecting a misplaced constituent as this is a
critical error.

From-SVN: r230239

9 years agoexpr.c (do_store_flag): Expand vector comparison as VEC_COND_EXPR if...
Ilya Enkovich [Thu, 12 Nov 2015 11:38:24 +0000 (11:38 +0000)]
expr.c (do_store_flag): Expand vector comparison as VEC_COND_EXPR if...

gcc/

* expr.c (do_store_flag): Expand vector comparison as
VEC_COND_EXPR if vector comparison is not supported
by target.

gcc/testsuite/

* gcc.dg/pr68286.c: New test.

From-SVN: r230238

9 years agosem_ch10.adb, atree.adb: Minor reformatting.
Hristian Kirtchev [Thu, 12 Nov 2015 11:35:30 +0000 (11:35 +0000)]
sem_ch10.adb, atree.adb: Minor reformatting.

2015-11-12  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_ch10.adb, atree.adb: Minor reformatting.

2015-11-12  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_elab.adb (Check_A_Call): Add new variable
Is_DIC_Proc. Report elaboration issue in SPARK concerning calls
to source subprograms or nontrivial Default_Initial_Condition
procedures. Add specialized error message to avoid outputting
the internal name of the Default_Initial_Condition procedure.
* sem_util.ads, sem_util.adb
(Is_Non_Trivial_Default_Init_Cond_Procedure): New routine.

From-SVN: r230237

9 years agocontracts.adb (Analyze_Entry_Or_Subprogram_Body_Contract): Remove the guard concernin...
Hristian Kirtchev [Thu, 12 Nov 2015 11:15:12 +0000 (11:15 +0000)]
contracts.adb (Analyze_Entry_Or_Subprogram_Body_Contract): Remove the guard concerning entry bodies as it is spurious.

2015-11-12  Hristian Kirtchev  <kirtchev@adacore.com>

* contracts.adb (Analyze_Entry_Or_Subprogram_Body_Contract):
Remove the guard concerning entry bodies as it is spurious.
(Analyze_Entry_Or_Subprogram_Contract): Skip the analysis of
Contract_Cases when not annotating the tree.
* einfo.adb: Node25 is now used as Contract_Wrapper.
(Contract_Wrapper): New routine.
(PPC_Wrapper): Removed.
(Set_Contract_Wrapper): New routine.
(Set_PPC_Wrapper): Removed.
(Write_Field25_Name): Add output for Contract_Wrapper. Remove
output for PPC_Wrapper.
* einfo.ads: New attribute Contract_Wrapper along with usage
in entities. Remove attribute PPC_Wrapper along with usage in nodes.
(Contract_Wrapper): New routine along with pragma Inline.
(PPC_Wrapper): Removed along with pragma Inline.
(Set_Contract_Wrapper): New routine along with pragma Inline.
(Set_PPC_Wrapper): Removed along with pragma Inline.
* exp_ch9.adb (Build_Contract_Wrapper): New routine.
(Build_PPC_Wrapper): Removed.
(Build_Protected_Entry): Code cleanup.
(Expand_Entry_Declaration): Create a contract wrapper
which now verifies Contract_Cases along with pre/postconditions.
(Expand_N_Task_Type_Declaration): There is no need to check
whether an entry has pre/postconditions as this is now done
in Build_Contract_Wrapper.
* sem_ch13.adb (Analyze_Aspect_Specifications): Pragma
Refined_Post is now properly inserted in entry bodies.
(Insert_Pragma): Add circuitry to insert in an entry body. Redo
the instance "header" circuitry. Remove the now obsolete special
case of inserting pre- conditions.
* sem_prag.adb (Analyze_Pragma): Pragma Contract_Cases now
applies to entries.
* sem_res.adb (Resolve_Entry_Call): Update the calls to
PPC_Wrapper.

From-SVN: r230236

9 years agoexp_attr.adb, [...]: Minor reformatting.
Hristian Kirtchev [Thu, 12 Nov 2015 11:12:23 +0000 (11:12 +0000)]
exp_attr.adb, [...]: Minor reformatting.

2015-11-12  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_attr.adb, freeze.adb, sem_util.adb, sem_ch13.adb: Minor
reformatting.

From-SVN: r230235

9 years agoexp_attr.adb (Compile_Stream_Body_In_Scope): When compiling a stream operation for...
Ed Schonberg [Thu, 12 Nov 2015 11:09:59 +0000 (11:09 +0000)]
exp_attr.adb (Compile_Stream_Body_In_Scope): When compiling a stream operation for an array type...

2015-11-12  Ed Schonberg  <schonberg@adacore.com>

* exp_attr.adb (Compile_Stream_Body_In_Scope): When compiling
a stream operation for an array type, install the scope of the
component type if it is private and not in scope, to prevent
spurious errors if the full view of the component type has
defaulted discriminants.

From-SVN: r230234

9 years agosem_ch13.adb (Analyze_Attribute_Definition_Clause): For a variable, if this is not...
Eric Botcazou [Thu, 12 Nov 2015 11:06:34 +0000 (11:06 +0000)]
sem_ch13.adb (Analyze_Attribute_Definition_Clause): For a variable, if this is not an overlay, set on Treat_As_Volatile on it.

2015-11-12  Eric Botcazou  <ebotcazou@adacore.com>

* sem_ch13.adb (Analyze_Attribute_Definition_Clause): For a
variable, if this is not an overlay, set on Treat_As_Volatile on it.
* gcc-interface/decl.c (E_Variable): Do not force the type to volatile
for address clauses. Tweak and adjust various RM references.

2015-11-12  Eric Botcazou  <ebotcazou@adacore.com>

* checks.ads: Minor comment fix.

From-SVN: r230233

9 years agognat_rm.texi, [...]: Update documentation.
Arnaud Charlet [Thu, 12 Nov 2015 11:03:35 +0000 (12:03 +0100)]
gnat_rm.texi, [...]: Update documentation.

        * gnat_rm.texi, gnat_ugn.texi,
        doc/gnat_ugn/platform_specific_information.rst,
        doc/gnat_ugn/gnat_and_program_execution.rst,
        doc/gnat_ugn/the_gnat_compilation_model.rst,
        doc/gnat_rm/standard_and_implementation_defined_restrictions.rst,
        doc/gnat_rm/implementation_defined_pragmas.rst: Update documentation.

From-SVN: r230232

9 years agognat_rm.texi, [...]: Update documentation.
Arnaud Charlet [Thu, 12 Nov 2015 11:03:00 +0000 (12:03 +0100)]
gnat_rm.texi, [...]: Update documentation.

        * gnat_rm.texi, gnat_ugn.texi,
        doc/gnat_ugn/platform_specific_information.rst,
        doc/gnat_ugn/gnat_and_program_execution.rst,
        doc/gnat_ugn/the_gnat_compilation_model.rst,
        doc/gnat_rm/standard_and_implementation_defined_restrictions.rst,
        doc/gnat_rm/implementation_defined_pragmas.rst: Update documentation.

From-SVN: r230231

9 years agoCode clean ups.
Arnaud Charlet [Thu, 12 Nov 2015 11:02:17 +0000 (12:02 +0100)]
Code clean ups.

From-SVN: r230230

9 years agoeinfo.ads (Overlays_Constant): Document usage for E_Constant.
Eric Botcazou [Thu, 12 Nov 2015 10:59:25 +0000 (10:59 +0000)]
einfo.ads (Overlays_Constant): Document usage for E_Constant.

2015-11-12  Eric Botcazou  <ebotcazou@adacore.com>

* einfo.ads (Overlays_Constant): Document usage for E_Constant.
* freeze.adb (Warn_Overlay): Small reformatting.
(Check_Address_Clause): Deal specifically with deferred
constants.  For a variable or a non-imported constant
overlaying a constant object and with initialization value,
either remove the initialization or issue a warning.  Fix a
couple of typos.
* sem_util.adb (Note_Possible_Modification): Overhaul the condition for
the warning on modified constants and use Find_Overlaid_Entity instead
of doing it manually.
* sem_ch13.adb (Analyze_Attribute_Definition_Clause): Compute and
set Overlays_Constant once on entry.  Do not treat the overlaid
entity as volatile.  Do not issue the warning on modified
constants here.
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Constant>: Remove
over-restrictive condition for the special treatment of deferred
constants.
<E_Variable>: Remove obsolete associated code.

From-SVN: r230229

9 years agotrans.c (gnat_to_gnu): Do not materialize renamed subprograms if only annotating...
Eric Botcazou [Thu, 12 Nov 2015 10:57:17 +0000 (10:57 +0000)]
trans.c (gnat_to_gnu): Do not materialize renamed subprograms if only annotating types.

2015-11-12  Eric Botcazou  <ebotcazou@adacore.com>

        * gcc-interface/trans.c (gnat_to_gnu) <N_Subprogram_Renaming_Decl>: Do
        not materialize renamed subprograms if only annotating types.

From-SVN: r230228

9 years agodecl.c (gnat_to_gnu_entity): Create IMPORTED_DECL nodes to describe the subprogram...
Arnaud Charlet [Thu, 12 Nov 2015 10:55:37 +0000 (11:55 +0100)]
decl.c (gnat_to_gnu_entity): Create IMPORTED_DECL nodes to describe the subprogram renamings which are...

2015-11-12  Pierre-Marie de Rodat  <derodat@adacore.com>

        * gcc-interface/decl.c (gnat_to_gnu_entity): Create
        IMPORTED_DECL nodes to describe the subprogram renamings which
        are relevant at debug time.
        * gcc-interface/gigi.h (get_debug_scope): Add declaration.
        * gcc-interface/trans.c (Identifier_to_gnu): Consider
        N_Defining_Operator_Symbol as valid entities.
        (gnat_to_gnu): Handle N_Defining_Operator_Symbol the same way as
        other entities.  Introduce a specific handling for
        N_Subprogram_Renaming_Declaration: call gnat_to_gnu_entity on
        the entity defined for relevant ones.
        (process_decls): Process subprogram renaming declarations during
        the second pass only.
        * gcc-interface/utils.c (get_debug_scope): Make it external.
        Consider N_Defining_Operator_Symbol as valid entities.
        (gnat_write_global_declarations): Output debugging information
        for top-level imported declarations.
        * gcc-interface/Makefile.in: Fix typo.

From-SVN: r230227

9 years ago[multiple changes]
Arnaud Charlet [Thu, 12 Nov 2015 10:49:07 +0000 (11:49 +0100)]
[multiple changes]

2015-11-12  Emmanuel Briot  <briot@adacore.com>

* s-os_lib.ads: Documentation update.

2015-11-12  Arnaud Charlet  <charlet@adacore.com>

* s-taprop-vxworks.adb, s-osinte-vxworks.ads: Use a single import of
taskDelay to avoid confusion.

2015-11-12  Ed Schonberg  <schonberg@adacore.com>

* exp_ch6.adb (Expand_Simple_Function_Return): If the return
type is class-wide and the expression is a view conversion,
remove the conversion to prevent overriding of the tag, which
must be that of the object being returned.

2015-11-12  Tristan Gingold  <gingold@adacore.com>

* bindgen.adb (Gen_Adainit): Code cleanup.

2015-11-12  Hristian Kirtchev  <kirtchev@adacore.com>

* s-stalib.ads: Code cleanup.

2015-11-12  Ed Schonberg  <schonberg@adacore.com>

* sem_ch3.adb (Analyze_Incomplete_Type_Decl): small optimization.
(Analyze_Subtype_Declaration): For floating point types,
inherit dimensions.
(OK_For_Limited_Init_In_05): Handle properly a conditional
expression whose condition is static, and is rewritten as the
branch that will be executed.

2015-11-12  Ed Schonberg  <schonberg@adacore.com>

* sem_attr.adb (Resolve_Attribute, case 'Access): If the context
type is an access constant type, do not mark the attribute
reference as a possible modification of the prefix.

From-SVN: r230226

9 years ago2015-11-12 Steve Baird <baird@adacore.com>
Steve Baird [Thu, 12 Nov 2015 10:44:37 +0000 (10:44 +0000)]
2015-11-12  Steve Baird  <baird@adacore.com>

* sem_ch6.adb (Analyze_Procedure_Call) If CodePeer_Mode is True,
do not analyze the expression of a machine code insertion.
* sem_ch13.adb (Analyze_Code_Statement) If CodePeer_Mode is True,
mark the N_Code_Statement node as analyzed and do nothing else.

From-SVN: r230225

9 years ago[multiple changes]
Arnaud Charlet [Thu, 12 Nov 2015 10:43:33 +0000 (11:43 +0100)]
[multiple changes]

2015-11-12  Ed Schonberg  <schonberg@adacore.com>

* sem_ch6.adb (Check_Limited_Return): Make global to package
for use elsewhere.
(Analyze_Expression_Function): Remove duplicated code, pre-analyze
expression to capture names and call Check_Limited_Return so
that semantic checks are identical to those for regular functions
returning limited types.

2015-11-12  Gary Dismukes  <dismukes@adacore.com>

* bindgen.adb: Fix typo.
* sem_ch6.adb: Minor reformatting.

2015-11-12  Emmanuel Briot  <briot@adacore.com>

* s-os_lib.adb (Argument_String_To_List): fix handling of
windows separators

From-SVN: r230224

9 years agommx-1.c: Adjust for unified asm.
Christian Bruel [Thu, 12 Nov 2015 10:20:29 +0000 (11:20 +0100)]
mmx-1.c: Adjust for unified asm.

2015-11-12  Christian Bruel  <christian.bruel@st.com>

* gcc.target/arm/mmx-1.c: Adjust for unified asm.

From-SVN: r230223

9 years ago[PATCH][ARM]Fix addsi3_compare_op2 pattern.
Renlin Li [Thu, 12 Nov 2015 10:14:35 +0000 (10:14 +0000)]
[PATCH][ARM]Fix addsi3_compare_op2 pattern.

gcc/

2015-11-12  Renlin Li  <renlin.li@arm.com>

* config/arm/arm.md (addsi3_compare_op2): Make the order of
assembly pattern consistent with constraint order.

From-SVN: r230222

9 years ago* include/experimental/bits/string_view.tcc: Fix doxygen @file.
Jonathan Wakely [Thu, 12 Nov 2015 10:08:49 +0000 (10:08 +0000)]
* include/experimental/bits/string_view.tcc: Fix doxygen @file.

From-SVN: r230221

9 years agogen-pass-instances.awk: Simplify match regexp in handle_line
Tom de Vries [Thu, 12 Nov 2015 10:02:58 +0000 (10:02 +0000)]
gen-pass-instances.awk: Simplify match regexp in handle_line

2015-11-12  Tom de Vries  <tom@codesourcery.com>

* gen-pass-instances.awk (handle_line): Simplify match regexp.

From-SVN: r230220

9 years agogen-pass-instances.awk: Simplify init of postfix_starts_at in handle_line
Tom de Vries [Thu, 12 Nov 2015 10:02:49 +0000 (10:02 +0000)]
gen-pass-instances.awk: Simplify init of postfix_starts_at in handle_line

2015-11-12  Tom de Vries  <tom@codesourcery.com>

* gen-pass-instances.awk (handle_line): Simplify init of
postfix_starts_at.

From-SVN: r230219

9 years agogen-pass-instances.awk: Rename var where to call_starts_at in handle_line
Tom de Vries [Thu, 12 Nov 2015 10:02:40 +0000 (10:02 +0000)]
gen-pass-instances.awk: Rename var where to call_starts_at in handle_line

2015-11-12  Tom de Vries  <tom@codesourcery.com>

* gen-pass-instances.awk (handle_line): Rename var where to
call_starts_at.

From-SVN: r230218

9 years agoarc.c (gen_compare_reg): Swap operands also when we do not expand to rtl.
Claudiu Zissulescu [Thu, 12 Nov 2015 09:28:19 +0000 (10:28 +0100)]
arc.c (gen_compare_reg): Swap operands also when we do not expand to rtl.

2015-11-11  Claudiu Zissulescu  <claziss@synopsys.com>

* config/arc/arc.c (gen_compare_reg): Swap operands also when we
do not expand to rtl.

From-SVN: r230217

9 years agore PR tree-optimization/58497 (SLP vectorizes identical operations)
Richard Biener [Thu, 12 Nov 2015 09:00:37 +0000 (09:00 +0000)]
re PR tree-optimization/58497 (SLP vectorizes identical operations)

2015-11-12  Richard Biener  <rguenther@suse.de>

PR tree-optimization/58497
* tree-vect-generic.c: Include gimplify.h.
(tree_vec_extract): Lookup constant/constructor DEFs.
(do_cond): Unshare cond.

From-SVN: r230216

9 years agoi386.c (ix86_legitimate_combined_insn): Reject combined insn if the alignment of...
Uros Bizjak [Thu, 12 Nov 2015 08:11:11 +0000 (09:11 +0100)]
i386.c (ix86_legitimate_combined_insn): Reject combined insn if the alignment of vector mode memory operand is less...

* config/i386/i386.c (ix86_legitimate_combined_insn): Reject
combined insn if the alignment of vector mode memory operand
is less than ssememalign.

testsuite/ChangeLog:

* gcc.target/i386/sse-1.c (swizzle): Assume that a is
aligned to 64 bits.

From-SVN: r230215

9 years agogen-pass-instances.awk: Make print command clearer in handle_line
Tom de Vries [Thu, 12 Nov 2015 07:31:47 +0000 (07:31 +0000)]
gen-pass-instances.awk: Make print command clearer in handle_line

2015-11-12  Tom de Vries  <tom@codesourcery.com>

* gen-pass-instances.awk (handle_line): Print parentheses and pass_name
explicitly.

From-SVN: r230213

9 years agogen-pass-instances.awk: Add pass_num, prefix and postfix vars in handle_line
Tom de Vries [Thu, 12 Nov 2015 07:31:38 +0000 (07:31 +0000)]
gen-pass-instances.awk: Add pass_num, prefix and postfix vars in handle_line

2015-11-12  Tom de Vries  <tom@codesourcery.com>

* gen-pass-instances.awk (handle_line): Add pass_num, prefix and postfix
vars.

From-SVN: r230212

9 years agogen-pass-instances.awk: Add comments in handle_line
Tom de Vries [Thu, 12 Nov 2015 07:31:30 +0000 (07:31 +0000)]
gen-pass-instances.awk: Add comments in handle_line

2015-11-12  Tom de Vries  <tom@codesourcery.com>

* gen-pass-instances.awk (handle_line): Add comments.

From-SVN: r230211

9 years agogen-pass-instances.awk: Rename len_of_end to len_of_close in handle_line
Tom de Vries [Thu, 12 Nov 2015 07:31:22 +0000 (07:31 +0000)]
gen-pass-instances.awk: Rename len_of_end to len_of_close in handle_line

2015-11-12  Tom de Vries  <tom@codesourcery.com>

* gen-pass-instances.awk (handle_line): Rename len_of_end to
len_of_close.

From-SVN: r230210

9 years agogen-pass-instances.awk: Add len_of_call var in handle_line
Tom de Vries [Thu, 12 Nov 2015 07:31:13 +0000 (07:31 +0000)]
gen-pass-instances.awk: Add len_of_call var in handle_line

2015-11-12  Tom de Vries  <tom@codesourcery.com>

* gen-pass-instances.awk (handle_line): Add len_of_call variable.

From-SVN: r230209

9 years agogen-pass-instances.awk: Use early-out in handle_line
Tom de Vries [Thu, 12 Nov 2015 07:31:01 +0000 (07:31 +0000)]
gen-pass-instances.awk: Use early-out in handle_line

2015-11-12  Tom de Vries  <tom@codesourcery.com>

* gen-pass-instances.awk (handle_line): Restructure using early-out.

From-SVN: r230208

9 years agogen-pass-instances.awk: Unify semicolon use in handle_line
Tom de Vries [Thu, 12 Nov 2015 07:30:52 +0000 (07:30 +0000)]
gen-pass-instances.awk: Unify semicolon use in handle_line

2015-11-12  Tom de Vries  <tom@codesourcery.com>

* gen-pass-instances.awk (handle_line): Unify semicolon use.

From-SVN: r230207

9 years agogen-pass-instances.awk: Remove unused var in handle_line
Tom de Vries [Thu, 12 Nov 2015 07:30:44 +0000 (07:30 +0000)]
gen-pass-instances.awk: Remove unused var in handle_line

2015-11-12  Tom de Vries  <tom@codesourcery.com>

* gen-pass-instances.awk (handle_line): Remove unused var line_length.

From-SVN: r230206

9 years agogen-pass-instances.awk: Add emacs indent setting
Tom de Vries [Thu, 12 Nov 2015 07:30:32 +0000 (07:30 +0000)]
gen-pass-instances.awk: Add emacs indent setting

2015-11-12  Tom de Vries  <tom@codesourcery.com>

* gen-pass-instances.awk: Add emacs indent setting.

From-SVN: r230205

9 years agofold-const.c (fold_binary_loc): Move Convert A/B/C to A/(B*C) to match.pd.
Naveen H.S [Thu, 12 Nov 2015 05:34:54 +0000 (05:34 +0000)]
fold-const.c (fold_binary_loc): Move Convert A/B/C to A/(B*C) to match.pd.

2015-11-12  Naveen H.S  <Naveen.Hurugalawadi@caviumnetworks.com>

* fold-const.c (fold_binary_loc) : Move Convert A/B/C to A/(B*C)
to match.pd.
Move Convert A/(B/C) to (A/B)*C to match.pd.
Move Convert C1/(X*C2) into (C1/C2)/X to match.pd.
Move Optimize (X & (-A)) / A where A is a power of 2, to
X >> log2(A) to match.pd.

* match.pd (rdiv (rdiv:s @0 @1) @2): New simplifier.
(rdiv @0 (rdiv:s @1 @2)): New simplifier.
(div (convert? (bit_and @0 INTEGER_CST@1)) INTEGER_CST@2):
New simplifier.
(rdiv REAL_CST@0 (mult @1 REAL_CST@2)): New simplifier.

From-SVN: r230204

9 years ago[ARM] remove unused variable
Charles Baylis [Thu, 12 Nov 2015 02:24:24 +0000 (02:24 +0000)]
[ARM] remove unused variable

gcc/Changelog

2015-11-12  Charles Baylis  <charles.baylis@linaro.org>

        * config/arm/neon.md: (neon_vld2_lane<mode>): Remove unused max
        variable.
        (neon_vst2_lane<mode>): Likewise.
        (neon_vld3_lane<mode>): Likewise.
        (neon_vst3_lane<mode>): Likewise.
        (neon_vld4_lane<mode>): Likewise.
        (neon_vst4_lane<mode>): Likewise.

From-SVN: r230203

9 years agodecl.c (duplicate_decls): When combining typedefs, remove the new type from the varia...
Jason Merrill [Thu, 12 Nov 2015 01:16:59 +0000 (20:16 -0500)]
decl.c (duplicate_decls): When combining typedefs, remove the new type from the variants list.

* decl.c (duplicate_decls): When combining typedefs, remove the
new type from the variants list.

From-SVN: r230202

9 years agopt.c (instantiate_class_template_1): Set function_depth around instantiation of lambd...
Jason Merrill [Thu, 12 Nov 2015 00:53:19 +0000 (19:53 -0500)]
pt.c (instantiate_class_template_1): Set function_depth around instantiation of lambda op().

* pt.c (instantiate_class_template_1): Set function_depth around
instantiation of lambda op().

From-SVN: r230201

9 years agoPreserve the original program while using graphite.
Aditya Kumar [Thu, 12 Nov 2015 00:37:47 +0000 (00:37 +0000)]
Preserve the original program while using graphite.

Earlier, graphite used to translate portions of the original program after
scop-detection in order to represent the SCoP into polyhedral model.  This was
required because each basic block was represented as independent basic block in
the polyhedral model. So all the cross-basic-block dependencies were translated
out-of-ssa.

With this patch those dependencies are also exposed to the ISL, so there is no
need to modify the original structure of the program.

After this patch we should be able to enable graphite at some default
optimization level.

Highlights:
Remove cross bb scalar to array translation
For reductions, add support for more than just INT_CST
Early bailout on codegen.
Verify loop-closed ssa structure during copy of renames
The uses of exprs should come from bb which dominates the bb
Collect the init value of close phi in loop-guard
Do not follow vuses for close-phi, postpone loop-close phi until the
    corresponding loop-phi is processed
Bail out if no bb found to place cond/loop -phis
Move insertion of liveouts at the end of codegen
Insert loop-phis in the loop-header.

This patch passes regtest and bootstrap with BOOT_CFLAGS='-O2 -fgraphite-identity -floop-nest-optimize'

2015-11-11  Aditya Kumar  <aditya.k7@samsung.com>
      Sebastian Pop  <s.pop@samsung.com>

* graphite-isl-ast-to-gimple.c (class translate_isl_ast_to_gimple):
  New member codegen_error
(translate_isl_ast_for_loop): Remove call to single_succ_edge and early return.
(translate_isl_ast_node_user): Early return in case of error.
(translate_isl_ast_to_gimple::translate_isl_ast): Same.
(translate_isl_ast_to_gimple::translate_pending_phi_nodes): New.
(add_parameters_to_ivs_params): Remove macro.
(graphite_regenerate_ast_isl): Add if_region pointer to region.
* graphite-poly.c (new_poly_dr): Remove macro.
(print_pdr): Same.
(new_gimple_poly_bb): Same.
(free_gimple_poly_bb): Same.
(print_scop_params): Same.
* graphite-poly.h (struct poly_dr): Same.
(struct poly_bb): Add new_bb.
(gbb_from_bb): Remove dead code.
(pbb_from_bb): Same.
* graphite-scop-detection.c (parameter_index_in_region_1): Same.
(parameter_index_in_region): Same.
(find_scop_parameters): Same.
(build_cross_bb_scalars_def): New.
(build_cross_bb_scalars_use): New.
(graphite_find_cross_bb_scalar_vars): New
(try_generate_gimple_bb): Reads and Writes.
(build_alias_set): Move.
(gather_bbs::before_dom_children): Gather bbs visited.
(build_scops): call build_alias_set.
* graphite-sese-to-poly.c (phi_arg_in_outermost_loop): Delete.
(remove_simple_copy_phi): Delete.
(remove_invariant_phi): Delete.
(simple_copy_phi_p): Delete.
(reduction_phi_p): Delete.
(isl_id_for_dr): Remove unused param.
(parameter_index_in_region_1): Remove macro usage.
(set_scop_parameter_dim): Same.
(add_param_constraints): Same.
(add_conditions_to_constraints): Same
(build_scop_iteration_domain): Same.
(pdr_add_alias_set): Comment.
(add_scalar_version_numbers): New.
(build_poly_dr): ISL id.
(build_scop_drs): Move.
(build_poly_sr_1): Same.
(insert_stmts): Remove.
(build_poly_sr): New.
(new_pbb_from_pbb): Delete.
(insert_out_of_ssa_copy_on_edge): Delete.
(create_zero_dim_array): Delete.
(scalar_close_phi_node_p): Delete.
(propagate_expr_outside_region): Delete.
(rewrite_close_phi_out_of_ssa): Delete.
(rewrite_phi_out_of_ssa): Delete.
(rewrite_degenerate_phi): Delete.
(rewrite_reductions_out_of_ssa): Delete.
(rewrite_cross_bb_scalar_dependence): Delete.
(handle_scalar_deps_crossing_scop_limits):
(rewrite_cross_bb_scalar_deps): Delete.
(build_poly_scop): Remove calls to out-of-ssa functions.
* graphite.c (graphite_transform_loops): Early return in case of codegen error.
* sese.c (debug_rename_map_1): Delete.
(debug_rename_map): Delete.
(sese_record_loop): Remove macro.
(build_sese_loop_nests): Same.
(new_sese_info): Same.
(free_sese_info): Same.
(sese_insert_phis_for_liveouts):
(is_loop_closed_ssa_use): New.
(number_of_phi_nodes): New.
(bb_contains_loop_close_phi_nodes): New.
(bb_contains_loop_phi_nodes): New.
(phi_uses_name): New.
(is_valid_rename):
(get_rename): Add old_bb and loop_phi for more precise matching of
exprs.
(set_rename): Pass region.
(later_of_the_two): New.
(gsi_insert_earliest): New.
(collect_all_ssa_names): New.
(substitute_ssa_name): New.
(rename_all_uses): New.
(get_rename_from_scev): New.
(rename_uses): Pass old_bb for more precise matching of exprs.
(get_def_bb_for_const): New.
(get_new_name): New.
(get_loc): New.
(get_edges): New.
(copy_loop_phi_args): New.
(copy_loop_phi_nodes): New.
(get_loop_init_value): New.
(find_init_value): New.
(find_init_value_close_phi): New.
(copy_loop_close_phi_args): New.
(copy_loop_close_phi_nodes): New.
(add_phi_arg_for_new_expr): New.
(copy_cond_phi_args): New.
(copy_cond_phi_nodes): New.
(copy_phi_nodes): New.
(should_copy_to_new_region): New.
(set_rename_for_each_def): New.
(graphite_copy_stmts_from_block): Early return in case of error.
(copy_bb_and_scalar_dependences): Same.
* sese.h (vec_find): New.
(SESE_PARAMS): Delete.
(SESE_LOOPS): Delete.
(SESE_LOOP_NEST): Delete.
(sese_contains_loop): Remove macro usage.
(sese_nb_params): Same.
(struct gimple_poly_bb): Added read_scalar_refs, write_scalar_refs.

Co-Authored-By: Sebastian Pop <s.pop@samsung.com>
From-SVN: r230200

9 years agoDaily bump.
GCC Administrator [Thu, 12 Nov 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r230199

9 years ago* gcc.dg/pr65521.c: Fail on AIX.
David Edelsohn [Wed, 11 Nov 2015 21:32:09 +0000 (21:32 +0000)]
* gcc.dg/pr65521.c: Fail on AIX.

From-SVN: r230195

9 years agoimprove construction of the original schedule
Abderrazek Zaafrani [Wed, 11 Nov 2015 20:43:51 +0000 (20:43 +0000)]
improve construction of the original schedule

The patch builds the original schedule based on the now optimized scattering
dimension instead of building one based on the loop index only.

The implementation is simpler and catches more cases where the original schedule
and the transformed schedule are the same, such as the one below:

for (i = 0; i < 1000; i++)
{
  Temp = F[i];
  for (j = 0; j < 1000; j++)
 {
    D[j] = E[j]  * Temp;
    A[i][j] = A[i][j]  + B[i][j] * C[i][j] - D[j] ;
  }
  D[i] = E[i] * F[i];
}

  * graphite-sese-to-poly.c (build_scop_original_schedule): Call
  isl_union_map_add_map on every pbb->schedule.

From-SVN: r230191

9 years agoadd testsuite automatic dg-options and dg-do action for isl-ast-gen-* and fuse-*...
Sebastian Pop [Wed, 11 Nov 2015 20:43:45 +0000 (20:43 +0000)]
add testsuite automatic dg-options and dg-do action for isl-ast-gen-* and fuse-* files

        * gcc.dg/graphite/fuse-1.c: Adjust pattern.  Remove dg-do.
        * gcc.dg/graphite/fuse-2.c: Same.
        * gcc.dg/graphite/graphite.exp (opt_files): Add fuse-*.c and
        isl-ast-gen-*.c files.
        * gcc.dg/graphite/isl-ast-gen-blocks-1.c: Remove dg-do and dg-options.
        * gcc.dg/graphite/isl-ast-gen-blocks-2.c: Same.
        * gcc.dg/graphite/isl-ast-gen-blocks-3.c: Same.
        * gcc.dg/graphite/isl-ast-gen-blocks-4.c: Same.
        * gcc.dg/graphite/isl-ast-gen-if-1.c: Same.
        * gcc.dg/graphite/isl-ast-gen-if-2.c: Same.
        * gcc.dg/graphite/isl-ast-gen-single-loop-1.c: Same.
        * gcc.dg/graphite/isl-ast-gen-single-loop-2.c: Same.
        * gcc.dg/graphite/isl-ast-gen-single-loop-3.c: Same.
        * gcc.dg/graphite/isl-ast-gen-user-1.c: Same.
        * gcc.dg/graphite/isl-codegen-loop-dumping.c: Remove.

From-SVN: r230190

9 years agoMake create_parallel_loop return void
Tom de Vries [Wed, 11 Nov 2015 20:22:22 +0000 (20:22 +0000)]
Make create_parallel_loop return void

2015-11-11  Tom de Vries  <tom@codesourcery.com>

* tree-parloops.c (create_parallel_loop): Return void.

From-SVN: r230189

9 years agoInsert new exit block only when needed in transform_to_exit_first_loop_alt
Tom de Vries [Wed, 11 Nov 2015 20:22:12 +0000 (20:22 +0000)]
Insert new exit block only when needed in transform_to_exit_first_loop_alt

2015-11-11  Tom de Vries  <tom@codesourcery.com>

* tree-parloops.c (transform_to_exit_first_loop_alt): Insert new exit
block only when needed.

From-SVN: r230188

9 years ago* libsupc++/new_handler.cc: Fix for explicit constructor change.
Jonathan Wakely [Wed, 11 Nov 2015 17:29:39 +0000 (17:29 +0000)]
* libsupc++/new_handler.cc: Fix for explicit constructor change.

From-SVN: r230184

9 years agoLoop in std::this_thread sleep functions
Jonathan Wakely [Wed, 11 Nov 2015 17:08:51 +0000 (17:08 +0000)]
Loop in std::this_thread sleep functions

PR libstdc++/60421
* include/std/thread (this_thread::sleep_for): Retry on EINTR.
(this_thread::sleep_until): Retry if time not reached.
* src/c++11/thread.cc (__sleep_for): Retry on EINTR.
* testsuite/30_threads/this_thread/60421.cc: Test interruption and
non-steady clocks.

From-SVN: r230183

9 years agoalpha-protos.h (print_operand): Remove.
Uros Bizjak [Wed, 11 Nov 2015 16:17:47 +0000 (17:17 +0100)]
alpha-protos.h (print_operand): Remove.

* config/alpha/alpha-protos.h (print_operand): Remove.
(print_operand_address): Remove.
* config/alpha/alpha.h (PRINT_OPERAND): Remove.
(PRINT_OPERAND_ADDRESS): Remove.
(PRINT_OPERAND_PUNCT_VALID_P): Remove.
* config/alpha/alpha.c (TARGET_PRINT_OPERAND): New hook define.
(TARGET_PRINT_OPERAND_ADDRESS): New hook define.
(TARGET_PRINT_OPERAND_PUNCT_VALID_P): New hook define.
(print_operand_address): Rename to...
(alpha_print_operand_address): ...this and make static.
(print_operand): Rename to...
(alpha_print_operand): ...this and make static.
(alpha_print_operand_punct_valid_p): New static function.

From-SVN: r230181

9 years agoCorrect the Changelog date of the previous commit.
Ville Voutilainen [Wed, 11 Nov 2015 14:56:17 +0000 (16:56 +0200)]
Correct the Changelog date of the previous commit.

From-SVN: r230177

9 years agoLWG 2510, make the default constructors of library tag types explicit.
Ville Voutilainen [Wed, 11 Nov 2015 14:47:19 +0000 (16:47 +0200)]
LWG 2510, make the default constructors of library tag types explicit.

2015-11-10  Ville Voutilainen  <ville.voutilainen@gmail.com>

LWG 2510, make the default constructors of library tag types
explicit.
* include/bits/mutex.h (defer_lock_t, try_lock_t,
adopt_lock_t): Add an explicit default constructor.
* include/bits/stl_pair.h (piecewise_construct_t): Likewise.
* include/bits/uses_allocator.h (allocator_arg_t): Likewise.
* libsupc++/new (nothrow_t): Likewise.
* testsuite/17_intro/tag_type_explicit_ctor.cc: New.

From-SVN: r230175

9 years agore PR c/68107 (Non-VLA type whose size is half or more of the address space construct...
Marek Polacek [Wed, 11 Nov 2015 14:47:03 +0000 (14:47 +0000)]
re PR c/68107 (Non-VLA type whose size is half or more of the address space constructed via a pointer)

PR c/68107
PR c++/68266
* c-common.c (valid_array_size_p): New function.
* c-common.h (valid_array_size_p): Declare.

* c-decl.c (grokdeclarator): Call valid_array_size_p.  Remove code
checking the size of an array.

* decl.c (grokdeclarator): Call valid_array_size_p.  Remove code
checking the size of an array.

* c-c++-common/pr68107.c: New test.
* g++.dg/init/new38.C (large_array_char): Adjust dg-error.
(large_array_char_template): Likewise.
* g++.dg/init/new44.C: Adjust dg-error.

From-SVN: r230174

9 years agotree-vectorizer.h (vect_slp_analyze_and_verify_instance_alignment): Declare.
Richard Biener [Wed, 11 Nov 2015 14:40:36 +0000 (14:40 +0000)]
tree-vectorizer.h (vect_slp_analyze_and_verify_instance_alignment): Declare.

2015-11-11  Richard Biener  <rguenther@suse.de>

* tree-vectorizer.h (vect_slp_analyze_and_verify_instance_alignment):
Declare.
(vect_analyze_data_refs_alignment): Make loop vect specific.
(vect_verify_datarefs_alignment): Likewise.
* tree-vect-data-refs.c (vect_slp_analyze_data_ref_dependences):
Add missing continue.
(vect_compute_data_ref_alignment): Export.
(vect_compute_data_refs_alignment): Merge into...
(vect_analyze_data_refs_alignment): ... this.
(verify_data_ref_alignment): Split out from ...
(vect_verify_datarefs_alignment): ... here.
(vect_slp_analyze_and_verify_node_alignment): New function.
(vect_slp_analyze_and_verify_instance_alignment): Likewise.
* tree-vect-slp.c (vect_supported_load_permutation_p): Remove
misplaced checks on alignment.
(vect_slp_analyze_bb_1): Add fatal output parameter.  Do
alignment analysis after SLP discovery and do it per instance.
(vect_slp_bb): When vect_slp_analyze_bb_1 fatally failed do not
bother to re-try using different vector sizes.

From-SVN: r230173

9 years agore PR bootstrap/68271 (Boostrap fails on x86_64-apple-darwin14 at r230084)
Dominique d'Humieres [Wed, 11 Nov 2015 14:30:16 +0000 (15:30 +0100)]
re PR bootstrap/68271 (Boostrap fails on x86_64-apple-darwin14 at r230084)

gcc/cp/ChangeLog
2015-11-11  Dominique d'Humieres <dominiq@lps.ens.fr>

PR bootstrap/68271
* parser.h (cp_token): Update pragma_kind to 8.

gcc/c-family/ChangeLog
2015-11-11  Dominique d'Humieres <dominiq@lps.ens.fr>

PR bootstrap/68271
* c-pragma.c (c_register_pragma_1): Update the gcc_assert to 256.

From-SVN: r230172

9 years agocount-headers: Initial file.
Andrew MacLeod [Wed, 11 Nov 2015 14:28:46 +0000 (14:28 +0000)]
count-headers: Initial file.

2015-11-11  Andrew MacLeod  <amacleod@redhat.com>

* count-headers: Initial file.
* gcc-order-headers: Initial file.
* graph-header-logs: Initial file.
* graph-include-web: Initial file.
* headerutils.py: Initial file.
* included-by: Initial file.
* README: Initial file.
* reduce-headers: Initial file.
* replace-header: Initial file.
* show-headers: Initial file.

From-SVN: r230171

9 years agore PR target/67265 ([x86] 'asm' operand has impossible constraints with -fstack-check)
Eric Botcazou [Wed, 11 Nov 2015 14:24:39 +0000 (14:24 +0000)]
re PR target/67265 ([x86] 'asm' operand has impossible constraints with -fstack-check)

PR target/67265
* config/i386/i386.c (ix86_finalize_stack_realign_flags): Likewise.

From-SVN: r230170

9 years agogimplify.c (enum omp_region_type): Add ORT_ACC, ORT_ACC_DATA, ORT_ACC_PARALLEL, ORT_A...
Nathan Sidwell [Wed, 11 Nov 2015 14:24:09 +0000 (14:24 +0000)]
gimplify.c (enum omp_region_type): Add ORT_ACC, ORT_ACC_DATA, ORT_ACC_PARALLEL, ORT_ACC_KERNELS.

gcc/
* gcc/gimplify.c (enum  omp_region_type): Add ORT_ACC,
ORT_ACC_DATA, ORT_ACC_PARALLEL, ORT_ACC_KERNELS.  Adjust ORT_NONE.
(gimple_add_tmp_var): Add ORT_ACC checks.
(gimplify_var_or_parm_decl): Likewise.
(omp_firstprivatize_variable): Likewise. Use ORT_TARGET_DATA as a
mask.
(omp_add_variable): Look in outer contexts for openacc and allow
reductions with other sharing. Add ORT_ACC and ORT_TARGET_DATA
checks.
(omp_notice_variable, omp_is_private, omp_check_private): Add
ORT_ACC checks.
(gimplify_scan_omp_clauses: Treat ORT_ACC as ORT_WORKSHARE.
Permit private openacc reductions.
(gimplify_oacc_cache): Specify ORT_ACC.
(gimplify_omp_workshare): Adjust OpenACC region types.
(gimplify_omp_target_update): Likewise.
* gcc/omp-low.c (scan_sharing_clauses): Remove Openacc
firstprivate sorry.
(lower-rec_input_clauses): Don't handle openacc firstprivate
references here.
(lower_omp_target): Emit initializers for openacc firstprivate vars.

gcc/testsuite/
* gfortran.dg/goacc/private-3.f95: Remove xfail.
* gfortran.dg/goacc/combined_loop.f90: Remove xfail.

libgomp/
* testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Remove xfail.
* testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Remove xfail.
* testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
* testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.

Co-Authored-By: Cesar Philippidis <cesar@codesourcery.com>
From-SVN: r230169

9 years agore PR target/67265 ([x86] 'asm' operand has impossible constraints with -fstack-check)
Eric Botcazou [Wed, 11 Nov 2015 14:22:43 +0000 (14:22 +0000)]
re PR target/67265 ([x86] 'asm' operand has impossible constraints with -fstack-check)

PR target/67265
* ira.c (ira_setup_eliminable_regset): Do not necessarily create the
frame pointer for stack checking if non-call exceptions aren't used.
* config/i386/i386.c (ix86_finalize_stack_realign_flags): Likewise.

From-SVN: r230168

9 years agors6000: Extend 20050603-3.c testcase to 64-bit
Segher Boessenkool [Wed, 11 Nov 2015 14:21:25 +0000 (15:21 +0100)]
rs6000: Extend 20050603-3.c testcase to 64-bit

The testcase used to fail on 64-bit, but it was disabled there.
This patch makes it run there, and beefs up the checking of the
generated code a bit.

gcc/testsuite/
* gcc.target/powerpc/20050603-3.c: Don't restrict to ilp32.  Do more
tests for the expected generated code.

From-SVN: r230167

9 years agodecl.c: Remove unused header files.
Andrew MacLeod [Wed, 11 Nov 2015 14:18:08 +0000 (14:18 +0000)]
decl.c: Remove unused header files.

ada

* gcc-interface/decl.c: Remove unused header files.
* gcc-interface/misc.c: Likewise.
* gcc-interface/targtyps.c: Likewise.
* gcc-interface/trans.c: Likewise.
* gcc-interface/utils.c: Likewise.
c

* c-array-notation.c: Remove unused header files.
* c-aux-info.c: Likewise.
* c-convert.c: Likewise.
* c-decl.c: Likewise.
* c-errors.c: Likewise.
* c-lang.c: Likewise.
* c-objc-common.c: Likewise.
* c-parser.c: Likewise.
* c-typeck.c: Likewise.
* gccspec.c: Likewise.

c-family

* array-notation-common.c: Remove unused header files.
* c-ada-spec.c: Likewise.
* c-cilkplus.c: Likewise.
* c-common.c: Likewise.
* c-cppbuiltin.c: Likewise.
* c-dump.c: Likewise.
* c-format.c: Likewise.
* c-gimplify.c: Likewise.
* c-indentation.c: Likewise.
* c-lex.c: Likewise.
* c-omp.c: Likewise.
* c-opts.c: Likewise.
* c-pch.c: Likewise.
* c-ppoutput.c: Likewise.
* c-pragma.c: Likewise.
* c-pretty-print.c: Likewise.
* c-semantics.c: Likewise.
* c-ubsan.c: Likewise.
* cilk.c: Likewise.
* stub-objc.c: Likewise.

cp

* call.c: Remove unused header files.
* class.c: Likewise.
* constexpr.c: Likewise.
* cp-array-notation.c: Likewise.
* cp-cilkplus.c: Likewise.
* cp-gimplify.c: Likewise.
* cp-lang.c: Likewise.
* cp-objcp-common.c: Likewise.
* cp-ubsan.c: Likewise.
* cvt.c: Likewise.
* cxx-pretty-print.c: Likewise.
* decl.c: Likewise.
* decl2.c: Likewise.
* dump.c: Likewise.
* error.c: Likewise.
* except.c: Likewise.
* expr.c: Likewise.
* friend.c: Likewise.
* g++spec.c: Likewise.
* init.c: Likewise.
* lambda.c: Likewise.
* lex.c: Likewise.
* mangle.c: Likewise.
* method.c: Likewise.
* name-lookup.c: Likewise.
* optimize.c: Likewise.
* parser.c: Likewise.
* pt.c: Likewise.
* ptree.c: Likewise.
* repo.c: Likewise.
* rtti.c: Likewise.
* search.c: Likewise.
* semantics.c: Likewise.
* tree.c: Likewise.
* typeck.c: Likewise.
* typeck2.c: Likewise.
* vtable-class-hierarchy.c: Likewise.

Fortran

* array.c: Remove unused header files.
* convert.c: Likewise.
* cpp.c: Likewise.
* decl.c: Likewise.
* f95-lang.c: Likewise.
* frontend-passes.c: Likewise.
* iresolve.c: Likewise.
* match.c: Likewise.
* module.c: Likewise.
* options.c: Likewise.
* parse.c: Likewise.
* target-memory.c: Likewise.
* trans-array.c: Likewise.
* trans-common.c: Likewise.
* trans-const.c: Likewise.
* trans-decl.c: Likewise.
* trans-expr.c: Likewise.
* trans-intrinsic.c: Likewise.
* trans-io.c: Likewise.
* trans-openmp.c: Likewise.
* trans-stmt.c: Likewise.
* trans-types.c: Likewise.
* trans.c: Likewise.

go

* go-backend.c: Remove unused header files.
* go-gcc.cc: Likewise.
* go-lang.c: Likewise.
* gospec.c: Likewise.

Java

* boehm.c: Remove unused header files.
* builtins.c: Likewise.
* class.c: Likewise.
* constants.c: Likewise.
* decl.c: Likewise.
* except.c: Likewise.
* expr.c: Likewise.
* java-gimplify.c: Likewise.
* jcf-dump.c: Likewise.
* jcf-io.c: Likewise.
* jcf-parse.c: Likewise.
* jvgenmain.c: Likewise.
* lang.c: Likewise.
* mangle.c: Likewise.
* mangle_name.c: Likewise.
* resource.c: Likewise.
* typeck.c: Likewise.
* verify-glue.c: Likewise.
* verify-impl.c: Likewise.
* zextract.c: Likewise.

jit

* dummy-frontend.c: Remove unused header files.
* jit-builtins.c: Likewise.
* jit-playback.c: Likewise.
* jit-recording.c: Likewise.
* jit-spec.c: Likewise.
* libgccjit.c: Likewise.

lto

* lto-lang.c: Remove unused header files.
* lto-object.c: Likewise.
* lto-partition.c: Likewise.
* lto-symtab.c: Likewise.
* lto.c: Likewise.

objc

* objc-act.c: Remove unused header files.
* objc-encoding.c: Likewise.
* objc-gnu-runtime-abi-01.c: Likewise.
* objc-lang.c: Likewise.
* objc-map.c: Likewise.
* objc-next-runtime-abi-01.c: Likewise.
* objc-next-runtime-abi-02.c: Likewise.
* objc-runtime-shared-support.c: Likewise.

objcp

* objcp-decl.c: Remove unused header files.
* objcp-lang.c: Likewise.

From-SVN: r230166

9 years agosimplify-rtx: Simplify trunc of and of shiftrt
Segher Boessenkool [Wed, 11 Nov 2015 14:09:30 +0000 (15:09 +0100)]
simplify-rtx: Simplify trunc of and of shiftrt

If we have

(truncate:M1 (and:M2 (lshiftrt:M2 (x:M2) C) C2))

we can write it instead as

(and:M1 (lshiftrt:M1 (truncate:M1 (x:M2)) C) C2)

(if that is valid, of course), which has smaller modes for the
binary ops, and the truncate can often simplify further (if "x"
is a register, for example).

* gcc/simplify-rtx.c (simplify_truncation): Simplify TRUNCATE
of AND of [LA]SHIFTRT.

From-SVN: r230164

9 years agore PR rtl-optimization/68287 (conditional jump or move depends on uninitialized value...
Martin Liska [Wed, 11 Nov 2015 14:04:47 +0000 (15:04 +0100)]
re PR rtl-optimization/68287 (conditional jump or move depends on uninitialized value in lra-lives.c:1048)

Fix PR rtl-optimization/68287

PR rtl-optimization/68287
* lra-lives.c (lra_create_live_ranges_1): Reserve the right
number of elements.

Co-Authored-By: Richard Biener <rguenther@suse.de>
From-SVN: r230163

9 years agoUndo delay slot filling and use compact branches in selected cases.
Simon Dardis [Wed, 11 Nov 2015 13:40:08 +0000 (13:40 +0000)]
Undo delay slot filling and use compact branches in selected cases.

gcc/
* config/mips/mips.c (mips_breakable_sequence_p): New function.
(mips_break_sequence): New function.
(mips_reorg_process_insns) Use them. Use compact branches in selected
          situations.

gcc/testsuite/
        * gcc.target/mips/split-ds-sequence.c: New test.

From-SVN: r230160

9 years agoFix whitespace+typo from "Share code from fold_array_ctor_reference with fold."
Alan Lawrence [Wed, 11 Nov 2015 13:31:46 +0000 (13:31 +0000)]
Fix whitespace+typo from "Share code from fold_array_ctor_reference with fold."

* fold-const.c (get_array_ctor_element_at_index): Fix whitespace, typo.

From-SVN: r230159

9 years ago[ARM] PR67305, tighten neon_vector_mem_operand on eliminable registers
Jiong Wang [Wed, 11 Nov 2015 12:30:46 +0000 (12:30 +0000)]
[ARM] PR67305, tighten neon_vector_mem_operand on eliminable registers

2015-11-11  Jiong Wang  <jiong.wang@arm.com>
    Jim Wilson  <wilson@gcc.gnu.org>

PR target/67305
* config/arm/arm.md (neon_vector_mem_operand): Return FALSE if strict
be true and eliminable registers mentioned.

Co-Authored-By: Jim Wilson <wilson@gcc.gnu.org>
From-SVN: r230158

9 years agoarc-common.c (arc_handle_option): Handle ARCv2 options.
Claudiu Zissulescu [Wed, 11 Nov 2015 12:28:37 +0000 (13:28 +0100)]
arc-common.c (arc_handle_option): Handle ARCv2 options.

2015-11-11  Claudiu Zissulescu  <claziss@synopsys.com>

* common/config/arc/arc-common.c (arc_handle_option): Handle ARCv2
options.
* config/arc/arc-opts.h: Add ARCv2 CPUs.
* config/arc/arc-protos.h (arc_secondary_reload_conv): Prototype.
* config/arc/arc.c (arc_secondary_reload): Handle subreg (reg)
situation, and store instructions with large offsets.
(arc_secondary_reload_conv): New function.
(arc_init): Add ARCv2 options.
(arc_conditional_register_usage): Select the proper register usage
for ARCv2 processors.
(arc_handle_interrupt_attribute): ILINK2 is only valid for ARCv1
architecture.
(arc_compute_function_type): Likewise.
(arc_print_operand): Handle new ARCv2 punctuation characters.
(arc_return_in_memory): ARCv2 ABI returns in registers up to 16
bytes.
(workaround_arc_anomaly, arc_asm_insn_p, arc_loop_hazard): New
function.
(arc_reorg, arc_hazard): Use it.
* config/arc/arc.h (TARGET_CPU_CPP_BUILTINS): Define __HS__ and
__EM__.
(ASM_SPEC): Add ARCv2 options.
(TARGET_NORM): ARC HS has norm instructions by default.
(TARGET_OPTFPE): Use optimized floating point emulation for ARC
HS.
(TARGET_AT_DBR_CONDEXEC): Only for ARC600 family.
(TARGET_EM, TARGET_HS, TARGET_V2, TARGET_MPYW, TARGET_MULTI):
Define.
(SIGNED_INT16, TARGET_MPY, TARGET_ARC700_MPY, TARGET_ANY_MPY):
Likewise.
(TARGET_ARC600_FAMILY, TARGET_ARCOMPACT_FAMILY): Likewise.
(TARGET_LP_WR_INTERLOCK): Likewise.
* config/arc/arc.md
(commutative_binary_mult_comparison_result_used, movsicc_insn)
(mulsi3, mulsi3_600_lib, mulsidi3, mulsidi3_700, mulsi3_highpart)
(umulsi3_highpart_i, umulsi3_highpart_int, umulsi3_highpart)
(umulsidi3, umulsidi3_700, cstoresi4, simple_return, p_return_i):
Use it for ARCv2.
(mulhisi3, mulhisi3_imm, mulhisi3_reg, umulhisi3, umulhisi3_imm)
(umulhisi3_reg, umulhisi3_reg, mulsi3_v2, nopv, bswapsi2)
(prefetch, divsi3, udivsi3 modsi3, umodsi3, arcset, arcsetltu)
(arcsetgeu, arcsethi, arcsetls, reload_*_load, reload_*_store)
(extzvsi): New pattern.
* config/arc/arc.opt: New ARCv2 options.
* config/arc/arcEM.md: New file.
* config/arc/arcHS.md: Likewise.
* config/arc/constraints.md (C3p): New constraint, accepts 1 and 2
values.
(Cm2): A signed 9-bit integer constant constraint.
(C62): An unsigned 6-bit integer constant constraint.
(C16): A signed 16-bit integer constant constraint.
* config/arc/predicates.md (mult_operator): Add ARCv2 processort.
(short_const_int_operand): New predicate.
* config/arc/t-arc-newlib: Add ARCv2 multilib options.
* doc/invoke.texi: Add documentation for -mcpu=<archs/arcem>
-mcode-density and -mdiv-rem.

From-SVN: r230156

9 years agoFix typo.
Julia Koval [Wed, 11 Nov 2015 11:47:00 +0000 (12:47 +0100)]
Fix typo.

gcc/
* config/i386/i386.c (m_SKYLAKE_AVX512): Fix typo.

From-SVN: r230155

9 years agoFix target arch attribute for Skylake.
Julia Koval [Wed, 11 Nov 2015 11:40:50 +0000 (12:40 +0100)]
Fix target arch attribute for Skylake.

gcc/
* config/i386/i386.c: Handle "skylake" and
"skylake-avx512".

gcc/testsuite/
* g++.dg/ext/mv16.C: New functions.

From-SVN: r230153

9 years agoFix various memory leaks
Martin Liska [Wed, 11 Nov 2015 11:21:44 +0000 (12:21 +0100)]
Fix various memory leaks

* gimple-ssa-strength-reduction.c (create_phi_basis):
Use auto_vec.
* passes.c (release_dump_file_name): New function.
(pass_init_dump_file): Used from this function.
(pass_fini_dump_file): Likewise.
* tree-sra.c (convert_callers_for_node): Use xstrdup_for_dump.
* var-tracking.c (vt_initialize): Use pool_allocator.

From-SVN: r230152

9 years agodp-hack.h: Add support for ARCHS.
Claudiu Zissulescu [Wed, 11 Nov 2015 11:04:32 +0000 (12:04 +0100)]
dp-hack.h: Add support for ARCHS.

2015-11-11  Claudiu Zissulescu  <claziss@synopsys.com>

* config/arc/dp-hack.h: Add support for ARCHS.
* config/arc/ieee-754/divdf3.S: Likewise.
* config/arc/ieee-754/divsf3-stdmul.S: Likewise.
* config/arc/ieee-754/muldf3.S: Likewise.
* config/arc/ieee-754/mulsf3.S: Likewise
* config/arc/lib1funcs.S: Likewise
* config/arc/gmon/dcache_linesz.S: Don't read the build register
for ARCv2 cores.
* config/arc/gmon/profil.S (__profil, __profil_irq): Don't profile
for ARCv2 cores.
* config/arc/ieee-754/arc-ieee-754.h (MPYHU, MPYH): Define.
* config/arc/t-arc700-uClibc: Remove hard selection for ARC 700
cores.

From-SVN: r230151

9 years ago[Patch] PR tree-optimization/68234 Improve range info for loop Phi node
Richard Biener [Wed, 11 Nov 2015 10:51:31 +0000 (10:51 +0000)]
[Patch] PR tree-optimization/68234 Improve range info for loop Phi node

2015-11-11  Richard Biener  <rguenth@gcc.gnu.org>
    Jiong Wang      <jiong.wang@arm.com>
gcc/
  PR tree-optimization/68234
  * tree-vrp.c (vrp_visit_phi_node): Extend SCEV check to those loop PHI
  node which estimiated to be VR_VARYING initially.

gcc/testsuite/
  * gcc.dg/tree-ssa/pr68234.c: New testcase.

Co-Authored-By: Jiong Wang <jiong.wang@arm.com>
From-SVN: r230150

9 years agoTighten up checks when tying chains.
Robert Suchanek [Wed, 11 Nov 2015 10:36:00 +0000 (10:36 +0000)]
Tighten up checks when tying chains.

gcc/
* regname.c (scan_rtx_reg): Check the matching number of consecutive
registers when tying chains.
(build_def_use): Move terminated_this_insn earlier in the function.

From-SVN: r230149

9 years agore PR fortran/67826 (gcc/fortran/openmp.c:1808: bad test ?)
Dominique d'Humieres [Wed, 11 Nov 2015 10:30:25 +0000 (11:30 +0100)]
re PR fortran/67826 (gcc/fortran/openmp.c:1808: bad test ?)

2015-11-11  Dominique d'Humieres <dominiq@lps.ens.fr>

PR fortran/67826
* openmp.c (gfc_omp_udr_find): Fix typo.

From-SVN: r230148

9 years agore PR libstdc++/64651 (std::rethrow_exception not found by ADL)
Jonathan Wakely [Wed, 11 Nov 2015 10:08:23 +0000 (10:08 +0000)]
re PR libstdc++/64651 (std::rethrow_exception not found by ADL)

PR libstdc++/64651
* libsupc++/exception_ptr.h (rethrow_exception): Add using-declaration
to __exception_ptr namespace.
* testsuite/18_support/exception_ptr/rethrow_exception.cc: Test ADL.
Remove unnecessary test variables.

From-SVN: r230147

9 years agogcc: configure: fix test == bashisms
Mike Frysinger [Wed, 11 Nov 2015 08:06:03 +0000 (08:06 +0000)]
gcc: configure: fix test == bashisms

From-SVN: r230146