Sriraman Tallam [Fri, 18 Oct 2013 02:47:12 +0000 (02:47 +0000)]
opth-gen.awk: Define target_flags_explicit.
* opth-gen.awk: Define target_flags_explicit.
From-SVN: r203808
GCC Administrator [Fri, 18 Oct 2013 00:16:56 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r203807
Michael Meissner [Thu, 17 Oct 2013 21:20:46 +0000 (21:20 +0000)]
p8vector-fp.c: New test for floating point scalar operations when...
2013-10-03 Michael Meissner <meissner@linux.vnet.ibm.com>
* gcc.target/powerpc/p8vector-fp.c: New test for floating point
scalar operations when using -mupper-regs-sf and -mupper-regs-df.
* gcc.target/powerpc/ppc-target-1.c: Update tests to allow either
VSX scalar operations or the traditional floating point form of
the instruction.
* gcc.target/powerpc/ppc-target-2.c: Likewise.
* gcc.target/powerpc/recip-3.c: Likewise.
* gcc.target/powerpc/recip-5.c: Likewise.
* gcc.target/powerpc/pr72747.c: Likewise.
* gcc.target/powerpc/vsx-builtin-3.c: Likewise.
From-SVN: r203800
Charles Baylis [Thu, 17 Oct 2013 20:57:21 +0000 (22:57 +0200)]
builtin-apply2.c: Skip test on arm hardfloat ABI targets.
2013-10-17 Charles Bayis <charles.baylis@linaro.org>
* gcc.dg/builtin-apply2.c: Skip test on arm hardfloat ABI targets.
* gcc.dg/tls/pr42894.c: Remove dg-options for arm*-*-* targets.
* gcc.target/arm/thumb-ltu.c: Remove dg-skip-if and require
effective target arm_thumb1_ok.
* lib/target-supports.exp
(check_effective_target_arm_fp16_ok_nocache): Don't force
-mfloat-abi=soft when building for hardfloat target.
From-SVN: r203799
Tim Shen [Thu, 17 Oct 2013 20:46:50 +0000 (20:46 +0000)]
regex.h (regex_token_iterator<>::regex_token_iterator): Fix initialization orders in initialization list and add explicit braces for...
2013-10-17 Tim Shen <timshen91@gmail.com>
* include/bits/regex.h (regex_token_iterator<>::regex_token_iterator):
Fix initialization orders in initialization list and add explicit braces
for potentially ambiguous(actually not) `else` branch to eliminate
warnings.
* include/bits/regex_automaton.h (_NFA<>::_NFA): Likewise.
* include/bits/regex_compiler.h (_CharMatcher<>::_CharMatcher,
_BracketMatcher<>::_BracketMatcher): Likewise.
* include/bits/regex_compiler.tcc (_Compiler<>::_Compiler,
_Compiler<>::_M_atom): Likewise.
* include/bits/regex_executor.h (_Executor<>::_Executor): Likewise.
* include/bits/regex_executor.tcc (_DFSExecutor<>::_M_dfs,
_Executor<>::_M_word_boundry): Likewise.
* include/bits/regex_scanner.tcc (_Scanner<>::_Scanner,
_Scanner<>::_M_eat_class): Likewise.
* include/bits/regex.tcc (__regex_algo_impl<>,
regex_iterator<>::operator++): Likewise, and remove unused typedef.
From-SVN: r203798
Michael Meissner [Thu, 17 Oct 2013 20:30:34 +0000 (20:30 +0000)]
Fix typo in ChangeLog
From-SVN: r203797
Ian Lance Taylor [Thu, 17 Oct 2013 20:08:42 +0000 (20:08 +0000)]
compiler: Rework handling of imported anonymous builtin types again.
From-SVN: r203795
Michael Meissner [Thu, 17 Oct 2013 19:12:57 +0000 (19:12 +0000)]
rs6000.c (enum rs6000_reload_reg_type): Add new fields to the reg_addr array that describes the valid addressing mode...
2013-10-17 Michael Meissner <meissner@linux.vnet.ibm.com>
* config/rs6000/rs6000.c (enum rs6000_reload_reg_type): Add new
fields to the reg_addr array that describes the valid addressing
mode for any register, general purpose registers, floating point
registers, and Altivec registers.
(FIRST_RELOAD_REG_CLASS): Likewise.
(LAST_RELOAD_REG_CLASS): Likewise.
(struct reload_reg_map_type): Likewise.
(reload_reg_map_type): Likewise.
(RELOAD_REG_VALID): Likewise.
(RELOAD_REG_MULTIPLE): Likewise.
(RELOAD_REG_INDEXED): Likewise.
(RELOAD_REG_OFFSET): Likewise.
(RELOAD_REG_PRE_INCDEC): Likewise.
(RELOAD_REG_PRE_MODIFY): Likewise.
(reg_addr): Likewise.
(mode_supports_pre_incdec_p): New helper functions to say whether
a given mode supports PRE_INC, PRE_DEC, and PRE_MODIFY.
(mode_supports_pre_modify_p): Likewise.
(rs6000_debug_vector_unit): Rearrange the -mdebug=reg output to
print the valid address mode bits for each mode.
(rs6000_debug_print_mode): Likewise.
(rs6000_debug_reg_global): Likewise.
(rs6000_setup_reg_addr_masks): New function to set up the address
mask bits for each type.
(rs6000_init_hard_regno_mode_ok): Use memset to clear arrays.
Call rs6000_setup_reg_addr_masks to set up the address mask bits.
(rs6000_legitimate_address_p): Use mode_supports_pre_incdec_p and
mode_supports_pre_modify_p to determine if PRE_INC, PRE_DEC, and
PRE_MODIFY are supported.
(rs6000_output_move_128bit): Change to use {src,dest}_vmx_p for altivec
registers, instead of {src,dest}_av_p.
(rs6000_print_options_internal): Tweak the debug output slightly.
From-SVN: r203791
Michael Meissner [Thu, 17 Oct 2013 19:04:37 +0000 (19:04 +0000)]
rs6000.c (enum rs6000_reload_reg_type): Add new fields to the reg_addr array that describes the valid addressing mode...
2013-10-07 Michael Meissner <meissner@linux.vnet.ibm.com>
* config/rs6000/rs6000.c (enum rs6000_reload_reg_type): Add new
fields to the reg_addr array that describes the valid addressing
mode for any register, general purpose registers, floating point
registers, and Altivec registers.
(FIRST_RELOAD_REG_CLASS): Likewise.
(LAST_RELOAD_REG_CLASS): Likewise.
(struct reload_reg_map_type): Likewise.
(reload_reg_map_type): Likewise.
(RELOAD_REG_VALID): Likewise.
(RELOAD_REG_MULTIPLE): Likewise.
(RELOAD_REG_INDEXED): Likewise.
(RELOAD_REG_OFFSET): Likewise.
(RELOAD_REG_PRE_INCDEC): Likewise.
(RELOAD_REG_PRE_MODIFY): Likewise.
(reg_addr): Likewise.
(mode_supports_pre_incdec_p): New helper functions to say whether
a given mode supports PRE_INC, PRE_DEC, and PRE_MODIFY.
(mode_supports_pre_modify_p): Likewise.
(rs6000_debug_vector_unit): Rearrange the -mdebug=reg output to
print the valid address mode bits for each mode.
(rs6000_debug_print_mode): Likewise.
(rs6000_debug_reg_global): Likewise.
(rs6000_setup_reg_addr_masks): New function to set up the address
mask bits for each type.
(rs6000_init_hard_regno_mode_ok): Use memset to clear arrays.
Call rs6000_setup_reg_addr_masks to set up the address mask bits.
(rs6000_legitimate_address_p): Use mode_supports_pre_incdec_p and
mode_supports_pre_modify_p to determine if PRE_INC, PRE_DEC, and
PRE_MODIFY are supported.
(rs6000_print_options_internal): Tweak the debug output slightly.
From-SVN: r203790
Ian Lance Taylor [Thu, 17 Oct 2013 18:41:12 +0000 (18:41 +0000)]
syscall: Add Dup3, {Get,List,Remove,Set}xattr, {Get,Set}priority.
From-SVN: r203788
Uros Bizjak [Thu, 17 Oct 2013 17:44:11 +0000 (19:44 +0200)]
sse.md (*vec_widen_smult_even_v8si): Remove isa attribute.
* config/i386/sse.md (*vec_widen_smult_even_v8si): Remove
isa attribute.
From-SVN: r203787
Andrew MacLeod [Thu, 17 Oct 2013 17:41:07 +0000 (17:41 +0000)]
tree-flow.h (struct omp_region): Move to omp-low.c.
* tree-flow.h (struct omp_region): Move to omp-low.c.
Remove omp_ prototypes and variables.
* gimple.h (omp_reduction_init): Move prototype to omp-low.h.
(copy_var_decl): Relocate prototype from tree-flow.h.
* gimple.c (copy_var_decl): Relocate from omp-low.c.
* tree.h: Move prototype to omp-low.h.
* omp-low.h: New File. Relocate prototypes here.
* omp-low.c (struct omp_region): Make local here.
(root_omp_region): Make static.
(copy_var_decl) Move to gimple.c.
(new_omp_region): Make static.
(make_gimple_omp_edges): New. Refactored from tree-cfg.c make_edges.
* tree-cfg.c: Include omp-low.h.
(make_edges): Factor out OMP specific bits to make_gimple_omp_edges.
* gimplify.c: Include omp-low.h.
* tree-parloops.c: Likewise.
c
* c-parser.c: Include omp-low.h.
* c-typeck.c: Likewise.
cp
* parser.c: Include omp-low.h.
* semantics.c: Likewise.
fortran
* trans-openmp.c: Include omp-low.h.
From-SVN: r203786
Uros Bizjak [Thu, 17 Oct 2013 17:30:31 +0000 (19:30 +0200)]
i386.c (ix86_fixup_binary_operands): When both source operands are in memory...
* config/i386/i386.c (ix86_fixup_binary_operands): When both source
operands are in memory, prefer to force non-matched operand 1 to
the register.
From-SVN: r203785
Bernd Edlinger [Thu, 17 Oct 2013 17:11:52 +0000 (17:11 +0000)]
re PR libmudflap/58230 (multiple test fail in german language version)
2013-10-17 Bernd Edlinger <bernd.edlinger@hotmail.de>
PR libmudflap/58230
* testsuite/lib/mfdg.exp: Use C locale.
From-SVN: r203783
Michael Meissner [Thu, 17 Oct 2013 17:07:49 +0000 (17:07 +0000)]
re PR target/58673 (ICE in final_scan_insn for movti_ppc64 with base+offset address)
[gcc]
2013-10-17 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/58673
* config/rs6000/rs6000.c (rs6000_legitimate_address_p): Only
restrict TImode addresses to single indirect registers if both
-mquad-memory and -mvsx-timode are used.
(rs6000_output_move_128bit): Use quad_load_store_p to determine if
we should emit load/store quad. Remove using %y for quad memory
addresses.
* config/rs6000/rs6000.md (mov<mode>_ppc64, TI/PTImode): Add
constraints to allow load/store quad on machines where TImode is
not allowed in VSX registers. Use 'n' instead of 'F' constraint
for TImode to load integer constants.
[gcc/testsuite]
2013-10-17 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/58673
* gcc.target/powerpc/pr58673-1.c: New file to test whether
-mquad-word + -mno-vsx-timode causes errors.
* gcc.target/powerpc/pr58673-2.c: Likewise.
From-SVN: r203782
Michael Meissner [Thu, 17 Oct 2013 17:06:24 +0000 (17:06 +0000)]
re PR target/58673 (ICE in final_scan_insn for movti_ppc64 with base+offset address)
[gcc]
2013-10-17 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/58673
* config/rs6000/rs6000.c (rs6000_legitimate_address_p): Only
restrict TImode addresses to single indirect registers if both
-mquad-memory and -mvsx-timode are used.
(rs6000_output_move_128bit): Use quad_load_store_p to determine if
we should emit load/store quad. Remove using %y for quad memory
addresses.
* config/rs6000/rs6000.md (mov<mode>_ppc64, TI/PTImode): Add
constraints to allow load/store quad on machines where TImode is
not allowed in VSX registers. Use 'n' instead of 'F' constraint
for TImode to load integer constants.
[gcc/testsuite]
2013-10-17 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/58673
* gcc.target/powerpc/pr58673-1.c: New file to test whether
-mquad-word + -mno-vsx-timode causes errors.
* gcc.target/powerpc/pr58673-2.c: Likewise.
From-SVN: r203781
Paolo Carlini [Thu, 17 Oct 2013 16:58:45 +0000 (16:58 +0000)]
re PR c++/58596 ([c++11] ICE with decltype in non-static data member initializer)
/cp
2013-10-17 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58596
* lambda.c (lambda_expr_this_capture): Handle NSDMIs in the
cp_unevaluated_operand case.
/testsuite
2013-10-17 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58596
* g++.dg/cpp0x/lambda/lambda-nsdmi5.C: New
From-SVN: r203780
Kyrylo Tkachov [Thu, 17 Oct 2013 16:49:49 +0000 (16:49 +0000)]
aarch64.c (aarch64_print_operand): Handle 'c'.
[gcc/]
2013-10-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* config/aarch64/aarch64.c (aarch64_print_operand): Handle 'c'.
[gcc/testsuite/]
2013-10-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* gcc.target/aarch64/c-output-template.c: New testcase.
* gcc.target/aarch64/c-output-template-2.c: Likewise.
* gcc.target/aarch64/c-output-template-3.c: Likewise.
From-SVN: r203779
Marcus Shawcroft [Thu, 17 Oct 2013 16:31:47 +0000 (16:31 +0000)]
[AArch64] Fix preferred_reload_class for regclass STACK_REG.
From-SVN: r203778
Michael Hudson-Doyle [Thu, 17 Oct 2013 15:49:27 +0000 (15:49 +0000)]
[AArch64] Enable building libatomic on AArch64.
From-SVN: r203774
Michael Hudson-Doyle [Thu, 17 Oct 2013 15:46:39 +0000 (15:46 +0000)]
[AArch64] Enable effective_target_sync_long_long*
From-SVN: r203773
Ian Lance Taylor [Thu, 17 Oct 2013 15:44:04 +0000 (15:44 +0000)]
compiler: Don't warn for unknown type when importing anonymous field.
From-SVN: r203772
Arnaud Charlet [Thu, 17 Oct 2013 14:09:14 +0000 (16:09 +0200)]
[multiple changes]
2013-10-17 Hristian Kirtchev <kirtchev@adacore.com>
* sem_prag.adb (Check_Dependency_Clause):
Recognize the scenario where successful clause matching has
depleted the available refinement items and the clause to match
technically refines to null => null.
2013-10-17 Tristan Gingold <gingold@adacore.com>
* exp_prag.adb (Expand_Pragma_Import_Or_Interface): Specify
External_Name instead of Link_Name for the RTTI declaration.
From-SVN: r203769
Arnaud Charlet [Thu, 17 Oct 2013 14:07:57 +0000 (16:07 +0200)]
[multiple changes]
2013-10-17 Yannick Moy <moy@adacore.com>
* sem_res.adb (Resolve_Short_Circuit): Only
generate expression-with-action when full expansion is set.
2013-10-17 Yannick Moy <moy@adacore.com>
* debug.adb Remove obsolete comment.
2013-10-17 Thomas Quinot <quinot@adacore.com>
* exp_ch4.adb (Process_Transient_Object.Find_Enclosing_Contexts):
Avoid late insertion when expanding an expression with action
nested within a transient block; Do not inconditionally generate
a finalization call if the generated object is from a specific
branch of a conditional expression.
2013-10-17 Pascal Obry <obry@adacore.com>
* g-arrspl.adb: Ensure Finalize call is idempotent.
* g-arrspl.adb (Finalize): Makes the call idempotent.
From-SVN: r203768
Arnaud Charlet [Thu, 17 Oct 2013 14:06:56 +0000 (16:06 +0200)]
[multiple changes]
2013-10-17 Robert Dewar <dewar@adacore.com>
* sem_prag.adb (Record_Possible_Body_Reference): Fix test for
being in body.
(Add_Constituent): Merged into Check_Refined_Global_Item.
(Check_Matching_Constituent): A constituent that has the proper Part_Of
option and comes from a private child or a sibling is now collected.
(Check_Matching_Modes): Merged into Check_Refined_Global_Item.
(Check_Refined_Global_Item): Code cleanup.
(Collect_Constituent): New routine.
(Inconsistent_Mode_Error): Moved out from Check_Matching_Modes.
2013-10-17 Ed Schonberg <schonberg@adacore.com>
* freeze.adb (Check_Current_Instance, Process): Add RM reference
and mention immutably limited types, when the current instance
is illegal in Ada 2012.
2013-10-17 Ed Schonberg <schonberg@adacore.com>
* sem_warn.adb (Check_Unused_Withs): If the main unit is a
subunit, apply the check to the units mentioned in its context
only. This provides additional warnings on with_clauses that
are superfluous.
2013-10-17 Hristian Kirtchev <kirtchev@adacore.com>
* sem_ch3.adb (Analyze_Declarations): Emit an
error message concerning state refinement when the spec defines at
least one non-null abstract state and the body's SPARK mode is On.
(Requires_State_Refinement): New routine.
2013-10-17 Robert Dewar <dewar@adacore.com>
* sem_ch7.ads: Comment fixes.
2013-10-17 Robert Dewar <dewar@adacore.com>
* sem_ch7.adb (Analyze_Package_Specification): Remove circuit
for ensuring that a package spec requires a body for some other
reason than that it contains the declaration of an abstract state.
2013-10-17 Tristan Gingold <gingold@adacore.com>
* exp_ch11.adb (Expand_N_Raise_Expression): Fix call of
Possible_Local_Raise.
2013-10-17 Thomas Quinot <quinot@adacore.com>
* exp_pakd.adb (Expand_Bit_Packed_Element_Set): Unchecked
conversion of Or_Rhs to Etype of New_Rhs is required only when
the latter is the result of a byte swap operation.
2013-10-17 Thomas Quinot <quinot@adacore.com>
* exp_dist.adb (Build_To_Any_Function): For a type with opaque
representation that is not transmitted as an unconstrained value,
use 'Write, not 'Output, to generate the opaque representation.
2013-10-17 Yannick Moy <moy@adacore.com>
* sem_res.adb (Resolve_Short_Circuit): Only
generate expression-with-action when full expansion is set.
2013-10-17 Yannick Moy <moy@adacore.com>
* debug.adb Remove obsolete comment.
2013-10-17 Thomas Quinot <quinot@adacore.com>
* exp_ch4.adb (Process_Transient_Object.Find_Enclosing_Contexts):
Avoid late insertion when expanding an expression with action
nested within a transient block; Do not inconditionally generate
a finalization call if the generated object is from a specific
branch of a conditional expression.
2013-10-17 Pascal Obry <obry@adacore.com>
* g-arrspl.adb: Ensure Finalize call is idempotent.
* g-arrspl.adb (Finalize): Makes the call idempotent.
From-SVN: r203767
Arnaud Charlet [Thu, 17 Oct 2013 14:02:49 +0000 (16:02 +0200)]
[multiple changes]
2013-10-17 Hristian Kirtchev <kirtchev@adacore.com>
* sem_prag.adb (Is_Matching_Input): Account
for the case where a state with a null refinement appears as
the last input of a refinement clause.
2013-10-17 Robert Dewar <dewar@adacore.com>
* sem_aux.ads, sem_aux.adb: Minor reformatting.
From-SVN: r203766
Hristian Kirtchev [Thu, 17 Oct 2013 14:01:39 +0000 (14:01 +0000)]
aspects.adb, [...]: Remove all entries for Refined_Pre from the various tables.
2013-10-17 Hristian Kirtchev <kirtchev@adacore.com>
* aspects.adb, aspects.ads, sem_prag.ads: Remove all entries
for Refined_Pre from the various tables.
* par-prag.adb: Remove the entry for Refined_Pre from the list
of pragmas not needing special processing by the parser.
* sem_ch13.adb (Analyze_Aspect_Specifications):
Remove the processing for aspect Refined_Pre.
(Check_Aspect_At_Freeze_Point): Remove the entry for aspect
Refined_Pre.
* sem_prag.adb (Analyze_Pragma): Refined_Pre is no longer a
valid assertion kind. Remove the analysis of pragma Refined_Pre.
(Analyze_Refined_Pragma): Update the comment on usage.
(Find_Related_Subprogram_Or_Body): Update the comment on
usage. Pragma Refined_Pre is no longer processed by this routine.
(Is_Valid_Assertion_Kind): Refined_Pre is no longer a valid
assertion kind.
* snames.ads-tmpl: Remove predefined name Refined_Pre. Remove
the pragma id for Refined_Pre.
From-SVN: r203765
Hristian Kirtchev [Thu, 17 Oct 2013 14:00:46 +0000 (14:00 +0000)]
exp_util.adb, [...] (Entity_Of): Moved to Sem_Util.
2013-10-17 Hristian Kirtchev <kirtchev@adacore.com>
* exp_util.adb, exp_util.ads (Entity_Of): Moved to Sem_Util.
* sem_prag.adb (Analyze_Global_In_Decl_List): Mark a null
item list as being analyzed.
(Analyze_Global_List): Mark a
null global list and multiple global items as being analyzed.
(Analyze_Input_Item): Check the unit that defines the input
variable or state, not the reference to it.
* sem_util.ads, sem_util.adb (Entity_Of): Moved from Exp_Util. Ensure
that the input has an entity.
From-SVN: r203764
Thomas Quinot [Thu, 17 Oct 2013 13:58:39 +0000 (13:58 +0000)]
exp_util.adb (Get_Current_Value_Condition, [...]): Handle the case of expressions with actions * exp_util.adb (Insert_Actions):...
2013-10-17 Thomas Quinot <quinot@adacore.com>
* exp_util.adb (Get_Current_Value_Condition,
Set_Current_Value_Condition): Handle the case of expressions
with actions * exp_util.adb (Insert_Actions): Handle the case
of an expression with actions whose Actions list is empty.
* exp_util.adb (Remove_Side_Effects.Side_Effect_Free): An
expression with actions that has no Actions and whose Expression
is side effect free is itself side effect free.
* exp_util.adb (Remove_Side_Effects): Do not set an incorrect etype on
temporary 'R' (Def_Id), which is in general an access to Exp_Type, not
an Exp_Type.
* sem_res.adb (Resolve): For an expression with
actions, resolve the expression early. * sem_res.adb
(Resolve_Expression_With_Actions): Rewrite an expression with
actions whose value is compile time known and which has no
actions into just its expression, so that its constant value is
available downstream.
* sem_res.adb (Resolve_Short_Circuit):
Wrap the left operand in an expression with actions to contain
any required finalization actions.
* exp_ch4.adb (Expand_Expression_With_Actions): For an
expression with actions returning a Boolean expression, ensure
any finalization action is kept within the Actions list.
* sem_warn.adb (Check_References, Check_Unset_Reference): add
missing circuitry to handle expressions with actions.
* checks.adb (Ensure_Valid): For an expression with actions,
insert the validity check on the Expression.
* sem_ch13.adb (Build_Static_Predicate.Get_RList): An expression
with actions that has a non-empty Actions list is not static. An
expression with actions that has an empty Actions list has the
static ranges of its Expression.
* sem_util.adb (Has_No_Obvious_Side_Effects): An expression with
actions with an empty Actions list has no obvious side effects
if its Expression itsekf has no obvious side effects.
From-SVN: r203763
Ed Schonberg [Thu, 17 Oct 2013 13:54:29 +0000 (13:54 +0000)]
sem_aux.ads, [...] (Is_Immutably_Limited_Type): Make predicate compatible with Ada 2012 definition
2013-10-17 Ed Schonberg <schonberg@adacore.com>
* sem_aux.ads, sem_aux.adb (Is_Immutably_Limited_Type): Make
predicate compatible with Ada 2012 definition
(Is_Limited_View): New name for previous version of
Is_Immutably_Limited_Type. Predicate is true for an untagged
record type with a limited component.
* exp_ch7.adb, exp_ch6.adb, exp_ch4.adb, exp_ch3.adb, exp_aggr.adb,
sem_util.adb, sem_res.adb, sem_prag.adb, sem_attr.adb, sem_ch8.adb,
sem_ch6.adb, sem_ch3.adb, exp_util.adb: Use Is_Limited_View
* freeze.adb Use Is_Immutably_Limited_Type to check the legality
of references to the current instance, Is_Limited_View otherwise.
From-SVN: r203762
Hristian Kirtchev [Thu, 17 Oct 2013 13:52:37 +0000 (13:52 +0000)]
sem_ch13.adb (Analyze_Aspect_Specifications): Flag aspect Refined_Pre as not supported.
2013-10-17 Hristian Kirtchev <kirtchev@adacore.com>
* sem_ch13.adb (Analyze_Aspect_Specifications): Flag aspect
Refined_Pre as not supported.
* sem_prag.adb (Analyze_Pragma): Ignore pragma Refined_Pre.
From-SVN: r203761
Arnaud Charlet [Thu, 17 Oct 2013 13:50:34 +0000 (15:50 +0200)]
[multiple changes]
2013-10-17 Ed Schonberg <schonberg@adacore.com>
* sem_ch12.adb (Validated_Access_Subprogram_Instance): According
to AI05-288, actuals for access_to_subprograms must be subtype
conformant with the generic formal. Previous to AI05-288
only mode conformance was required, but the AI is a binding
interpretation that applies to previous versions of the language,
2013-10-17 Robert Dewar <dewar@adacore.com>
* gnat_ugn.texi: Minor text correction.
* ug_words: Add entry for -gnateu /IGNORE_UNRECOGNIZED.
* vms_data.ads: Add /IGNORE_UNRECOGNIZED for -gnateu.
2013-10-17 Tristan Gingold <gingold@adacore.com>
* impunit.adb (Non_Imp_File_Names_95): Add g-cppexc.
2013-10-17 Hristian Kirtchev <kirtchev@adacore.com>
* sem_prag.adb (Analyze_Constituent): Move the check
concerning option Part_Of to routine Check_Matching_Constituent.
(Check_Matching_Constituent): Verify that an abstract state
that acts as a constituent has the prope Part_Op option in
its aspect/pragma Abstract_State. Account for the case when a
constituent comes from a private child or private sibling.
* sem_util.ads, sem_util.adb (Is_Child_Or_Sibling): New routine.
From-SVN: r203760
Tristan Gingold [Thu, 17 Oct 2013 13:47:37 +0000 (13:47 +0000)]
g-cppexc.adb, [...]: New files.
2013-10-17 Tristan Gingold <gingold@adacore.com>
* g-cppexc.adb, g-cppexc.ads: New files.
* gcc-interface/Makefile.in: Add g-cppexc when building zcx runtimes.
From-SVN: r203757
Christian Bruel [Thu, 17 Oct 2013 13:46:48 +0000 (15:46 +0200)]
fix typo comment
From-SVN: r203756
Arnaud Charlet [Thu, 17 Oct 2013 13:46:14 +0000 (15:46 +0200)]
[multiple changes]
2013-10-17 Thomas Quinot <quinot@adacore.com>
* exp_ch7.adb: Minor reformatting.
2013-10-17 Ed Schonberg <schonberg@adacore.com>
* sem_dim.adb (Process_Minus, Process_Divide): Label dimension
expression with standard operator and type, for pretty-printing
use.
2013-10-17 Bob Duff <duff@adacore.com>
* gnat_ugn.texi: Document --pp-new and --pp-old switches.
2013-10-17 Hristian Kirtchev <kirtchev@adacore.com>
* einfo.adb: Flag 159 is now known as From_Limited_With. Replace
all references to attribute From_With_Type with From_Limited_With.
(From_With_Type): Renamed to From_Limited_With.
(Set_From_With_Type): Renamd to Set_From_Limited_With.
* einfo.ads: Remove attribute From_With_Type and occurrences in
nodes. Add attribute From_Limited_With along with occurrences
in nodes.
(From_With_Type): Renamed to From_Limited_With along with pragma Inline.
(Set_From_With_Type): Renamed to
Set_From_Limited_With along with pragma Inline.
* sem_ch7.adb, sem_ch8.adb, sem_ch12.adb, sem_ch13.adb, sem_disp.adb,
sem_res.adb, sem_type.adb, sem_util.adb, sem_warn.adb,
exp_attr.adb, exp_disp.adb, freeze.adb, itypes.adb, layout.adb,
lib-writ.adb, rtsfind.adb, sem_attr.adb, sem_aux.adb, sem_ch3.adb,
sem_ch4.adb: Replace all references to attribute From_With_Type
with From_Limited_With.
* sem_ch6.adb: Replace all references to attribute From_With_Type
with From_Limited_With.
(Designates_From_With_Type): Renamed to Designates_From_Limited_With.
(Process_Formals): Update the call to Designates_From_With_Type.
* sem_ch10.adb: Replace all references to attribute From_With_Type
with From_Limited_With.
(Build_Limited_Views): Reimplemented.
* gcc-interface/decl.c Replace all references to attribute
From_With_Type with From_Limited_With.
(finalize_from_with_types): Renamed to finalize_from_limited_with.
* gcc-interface/gigi.h (finalize_from_with_types): Renamed to
finalize_from_limited_with.
* gcc-interface/trans.c: Replace all references to attribute
From_With_Type with From_Limited_With.
(Compilation_Unit_to_gnu): Update the call to finalize_from_with_types.
2013-10-17 Pascal Obry <obry@adacore.com>
* projects.texi: Update VCS_Kind documentation.
2013-10-17 Matthew Heaney <heaney@adacore.com>
* a-convec.adb, a-coinve.adb, a-cobove.adb (Insert, Insert_Space):
Inspect value range before converting type.
2013-10-17 Hristian Kirtchev <kirtchev@adacore.com>
* sem_prag.adb (Analyze_Pragma): Flag the use of pragma Refined_Pre as
illegal.
From-SVN: r203755
Arnaud Charlet [Thu, 17 Oct 2013 10:42:38 +0000 (12:42 +0200)]
[multiple changes]
2013-10-17 Vincent Celier <celier@adacore.com>
* gnat_ugn.texi: Remove VMS conversion of -gnatet and -gnateT,
now that they are both in ug_words.
* ug_words: Update qualifier for -gnatet Add qualifier for -gnateT
* vms_data.ads: Update qualifier for -gnatet Add qualifier
for -gnateT
* projects.texi: Continue to update the project documentation
for VMS.
2013-10-17 Robert Dewar <dewar@adacore.com>
* einfo.ads, einfo.adb (Has_Body_References): New flag.
(Body_References): New field.
* sem_prag.adb (Record_Possible_Body_Reference): New procedure
(Analyze_Input_Output): Call Record_Possible_Body_Reference
(Analyze_Global_Item): Call Record_Possible_Body_Reference
(Analyze_Refinement_Clause): Output messages if illegal global refs.
2013-10-17 Thomas Quinot <quinot@adacore.com>
* freeze.adb (Check_Component_Storage_Order): Reject a record or
array type that does not have an explicit Scalar_Storage_Order
attribute definition if a component of the record, or the
elements of the array, have one.
* gnat_rm.texi (attribute Scalar_Storage_Order): Document the above
rule.
From-SVN: r203750
Arnaud Charlet [Thu, 17 Oct 2013 10:37:17 +0000 (12:37 +0200)]
[multiple changes]
2013-10-17 Vincent Celier <celier@adacore.com>
* gnat_ugn.texi: Add examples of switches -gnateD, including
one where the value is a string.
* projects.texi: Do not convert switches in project files to
VMS qualifiers.
2013-10-17 Robert Dewar <dewar@adacore.com>
* sem_prag.adb (Report_Extra_Clauses): Don't complain about
refinements with null input since null should be considered to
always match.
From-SVN: r203749
Robert Dewar [Thu, 17 Oct 2013 10:36:08 +0000 (10:36 +0000)]
gnat_ugn.texi: Document -gnatw.y/-gnatw.Y.
2013-10-17 Robert Dewar <dewar@adacore.com>
* gnat_ugn.texi: Document -gnatw.y/-gnatw.Y.
* opt.ads (List_Body_Required_Info): New flag.
* prep.adb: Minor reformatting.
* sem_ch7.adb (Unit_Requires_Body_Info): New
procedure (Analyze_Package_Specification): Add call to
Unit_Requires_Body_Info.
* ug_words: Add entries for -gnatw.y and -gnatw.Y.
* usage.adb: Add line for new warning switch -gnatw.y/.Y.
* vms_data.ads: Add entry for [NO_]WHY_SPEC_NEEDS_BODY warning
qualifier.
* warnsw.ads, warnsw.adb: Implement new warning switch -gnatw.y/.Y.
From-SVN: r203748
Arnaud Charlet [Thu, 17 Oct 2013 10:32:09 +0000 (12:32 +0200)]
[multiple changes]
2013-10-17 Yannick Moy <moy@adacore.com>
* sem_ch8.adb (Find_Direct_Name): Keep track of assignments for
renamings in SPARK mode.
2013-10-17 Yannick Moy <moy@adacore.com>
* exp_spark.adb (Expand_SPARK): Remove special case for NOT IN
operation.
* sinfo.ads: Add special comment section to describe SPARK mode
effect on tree.
* exp_spark.ads: Remove comments, moved to sinfo.ads.
2013-10-17 Yannick Moy <moy@adacore.com>
* exp_ch3.adb (Expand_Freeze_Class_Wide_Type,
Expand_Freeze_Class_Wide_Type, Expand_Freeze_Class_Wide_Type):
Remove useless special cases.
* exp_ch4.adb (Expand_Allocator_Expression, Expand_N_Allocator,
Expand_N_Op_Expon): Remove useless special cases.
* exp_ch6.adb (Is_Build_In_Place_Function_Call): Disable build-in-place
in SPARK mode by testing Full_Expander_Active instead of
Expander_Active.
(Make_Build_In_Place_Call_In_Allocator): Remove useless special case.
* exp_util.adb (Build_Allocate_Deallocate_Proc): Remove
useless special case.
* sem_eval.adb (Compile_Time_Known_Value): Remove special handling of
deferred constant.
2013-10-17 Yannick Moy <moy@adacore.com>
* gnat_ugn.texi: Document -gnateT and target file format.
2013-10-17 Vincent Celier <celier@adacore.com>
* prep.adb (Check_Command_Line_Symbol_Definition): Is_A_String is
always False, even when the value starts and ends with double quotes.
From-SVN: r203747
Arnaud Charlet [Thu, 17 Oct 2013 10:28:53 +0000 (12:28 +0200)]
[multiple changes]
2013-10-17 Tristan Gingold <gingold@adacore.com>
* a-exexpr-gcc.adb: Synchronize declarations of other/all others.
2013-10-17 Thomas Quinot <quinot@adacore.com>
* exp_pakd.adb: Add missing guard protecting Reverse_Storage_Order
call.
* sem_res.adb: Minor code cleanup: use named parameter association
(not positional) for Boolean parameter Sec_Stack in calls to
Establish_Transient_Scope.
From-SVN: r203746
Richard Biener [Thu, 17 Oct 2013 09:59:47 +0000 (09:59 +0000)]
re PR tree-optimization/58143 (wrong code at -O3)
2013-10-17 Richard Biener <rguenther@suse.de>
PR tree-optimization/58143
* tree-ssa-loop-im.c (arith_code_with_undefined_signed_overflow):
New function.
(rewrite_to_defined_overflow): Likewise.
(move_computations_dom_walker::before_dom): Rewrite stmts
with undefined signed overflow that are not always executed
into unsigned arithmetic.
* gcc.dg/torture/pr58143-1.c: New testcase.
* gcc.dg/torture/pr58143-2.c: Likewise.
* gcc.dg/torture/pr58143-3.c: Likewise.
From-SVN: r203745
Marek Polacek [Thu, 17 Oct 2013 08:14:23 +0000 (08:14 +0000)]
re PR c/58267 (Alignment specifier allowed within array declarator;)
PR c/58267
c/
* c-parser.c (c_parser_declspecs): Add alignspec_ok parameter.
Document syntax of the array-declarator.
(c_parser_declspecs) <RID_ALIGNAS>: Bail out if alignment specs
are not permitted.
(c_parser_declaration_or_fndef): Adjust c_parser_declspecs call.
(c_parser_struct_declaration): Likewise.
(c_parser_declarator): Likewise.
(c_parser_direct_declarator_inner): Likewise.
(c_parser_parameter_declaration): Likewise.
(c_parser_type_name): Likewise.
testsuite/
* gcc.dg/c1x-align-5.c: New test.
From-SVN: r203742
GCC Administrator [Thu, 17 Oct 2013 00:16:48 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r203738
Michael Meissner [Wed, 16 Oct 2013 23:06:36 +0000 (23:06 +0000)]
re PR target/57756 (Function target attribute is retaining state of previously seen function)
2013-10-16 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/57756
* config/rs6000/rs6000.opt (rs6000_isa_flags_explicit): Move the
explicit isa flag to be an options variable, instead of using
global_options_set. Remove define from rs6000.h.
* config/rs6000/rs6000.h (rs6000_isa_flags_explicit): Likewise.
* config/rs6000/rs6000.c (rs6000_option_override_internal):
Initialize rs6000_isa_flags_explicit.
(rs6000_function_specific_save): Add gcc_options* parameter, so
that the powerpc builds after the 2013-10-15 changes.
(rs6000_function_specific_restore): Likewise.
From-SVN: r203734
DJ Delorie [Wed, 16 Oct 2013 22:55:34 +0000 (18:55 -0400)]
rl78.c (rl78_alloc_address_registers_macax): Verify op is a REG before checking REGNO.
* config/rl78/rl78.c (rl78_alloc_address_registers_macax): Verify
op is a REG before checking REGNO.
(rl78_alloc_physical_registers): Verify pattern is a SET before
checking SET_SRC.
From-SVN: r203733
Tim Shen [Wed, 16 Oct 2013 22:28:28 +0000 (22:28 +0000)]
regex.h (regex_token_iterator<>::regex_token_iterator): Add initialization for _M_has_m1.
2013-10-16 Tim Shen <timshen91@gmail.com>
* include/bits/regex.h (regex_token_iterator<>::regex_token_iterator):
Add initialization for _M_has_m1.
* include/bits/regex.tcc (regex_token_iterator<>::operator=): Add return
statment.
From-SVN: r203732
Mike Stump [Wed, 16 Oct 2013 22:14:15 +0000 (22:14 +0000)]
Fix spacing.
From-SVN: r203729
Jason Merrill [Wed, 16 Oct 2013 21:58:35 +0000 (17:58 -0400)]
pt.c (apply_late_template_attributes): Use attribute_takes_identifier_p.
* pt.c (apply_late_template_attributes): Use
attribute_takes_identifier_p.
From-SVN: r203727
Jason Merrill [Wed, 16 Oct 2013 21:58:29 +0000 (17:58 -0400)]
error.c (dump_exception_spec): Print "noexcept" rather than "noexcept (true)".
* error.c (dump_exception_spec): Print "noexcept" rather than
"noexcept (true)".
From-SVN: r203726
Jason Merrill [Wed, 16 Oct 2013 21:58:19 +0000 (17:58 -0400)]
Core 1591
Core 1591
* pt.c (unify_array_domain): Split out from unify.
(unify): Use it for list deduction, too.
From-SVN: r203725
Jason Merrill [Wed, 16 Oct 2013 21:57:36 +0000 (17:57 -0400)]
re PR c++/57850 (Option -fdump-translation-unit not working)
PR c++/57850
* decl2.c (dump_tu): Split out from...
(cp_write_global_declarations): ...here. Call it in PCH mode.
From-SVN: r203724
Tobias Burnus [Wed, 16 Oct 2013 20:46:33 +0000 (22:46 +0200)]
re PR fortran/58652 (ICE with move_alloc and unlimited polymorphic)
2013-10-16 Tobias Burnus <burnus@net-b.de>
PR fortran/58652
* interface.c (compare_parameter): Accept passing CLASS(*)
to CLASS(*).
2013-10-16 Tobias Burnus <burnus@net-b.de>
PR fortran/58652
* gfortran.dg/unlimited_polymorphic_12.f90: New.
From-SVN: r203720
Mike Stump [Wed, 16 Oct 2013 18:25:31 +0000 (18:25 +0000)]
* .dir-locals.el: Add.
From-SVN: r203715
Bill Schmidt [Wed, 16 Oct 2013 17:56:22 +0000 (17:56 +0000)]
vector.md (vec_unpacks_hi_v4sf): Correct for endianness.
2013-10-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gcc/config/rs6000/vector.md (vec_unpacks_hi_v4sf): Correct for
endianness.
(vec_unpacks_lo_v4sf): Likewise.
(vec_unpacks_float_hi_v4si): Likewise.
(vec_unpacks_float_lo_v4si): Likewise.
(vec_unpacku_float_hi_v4si): Likewise.
(vec_unpacku_float_lo_v4si): Likewise.
From-SVN: r203714
Bill Schmidt [Wed, 16 Oct 2013 17:48:03 +0000 (17:48 +0000)]
vsx.md (vsx_concat_<mode>): Adjust output for LE.
2013-10-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* config/rs6000/vsx.md (vsx_concat_<mode>): Adjust output for LE.
(vsx_concat_v2sf): Likewise.
From-SVN: r203713
James Greenhalgh [Wed, 16 Oct 2013 16:51:22 +0000 (16:51 +0000)]
[AArch64] Fix output template for Scalar Neon->Neon register move.
gcc/
* config/aarch64/aarch64.md
(*mov<mode>_aarch64): Fix output template for DUP (element) Scalar.
From-SVN: r203711
Andrew MacLeod [Wed, 16 Oct 2013 15:48:47 +0000 (15:48 +0000)]
re PR tree-optimization/58697 (wrong code (segfaults) at -O3)
PR tree-optimization/58697
* cfgloop.c (get_estimated_loop_iterations_int): Rename from
estimated_loop_iterations_int.
(max_stmt_executions_int): Call get_max_loop_iterations_int.
(get_max_loop_iterations_int): New. HWINT version of
get_max_loop_iterations.
* cfgloop.h: Add prototypes.
* loop-iv.c (find_simple_exit): call get_estimated_loop_iterations_int.
* loop-unroll.c (decide_peel_once_rolling): Call
get_estimated_loop_iterations_int.
* tree-ssa-loop-niter.c (estimated_loop_iterations_int): Add back.
* tree-ssa-loop-niter.h: Tweak prototypes.
From-SVN: r203709
David Malcolm [Wed, 16 Oct 2013 15:25:23 +0000 (15:25 +0000)]
gengtype: Ignore access-control keywords when parsing fields
* gengtype-parse.c (struct_field_seq): Ignore access-control
keywords ("public:" etc).
From-SVN: r203708
Marcus Shawcroft [Wed, 16 Oct 2013 14:46:13 +0000 (14:46 +0000)]
[AArch64] Classify FRAME_POINTER_REGNUM and ARG_POINTER_REGNUM as POINTER_REGS.
From-SVN: r203707
Ian Lance Taylor [Wed, 16 Oct 2013 13:37:35 +0000 (13:37 +0000)]
runtime: Fix build on systems without split stack.
From Uros Bizjak.
From-SVN: r203703
Paolo Carlini [Wed, 16 Oct 2013 12:04:50 +0000 (12:04 +0000)]
pt.c (tsubst): Fix typo in last commit.
2013-10-16 Paolo Carlini <paolo.carlini@oracle.com>
* pt.c (tsubst): Fix typo in last commit.
From-SVN: r203701
Paolo Carlini [Wed, 16 Oct 2013 11:56:01 +0000 (11:56 +0000)]
pt.c (tsubst): Fix typo in last commit.
2013-10-16 Paolo Carlini <paolo.carlini@oracle.com>
* pt.c (tsubst): Fix typo in last commit.
From-SVN: r203700
Yvan Roux [Wed, 16 Oct 2013 11:36:18 +0000 (11:36 +0000)]
arm.opt (mlra): New option.
2013-10-16 Yvan Roux <yvan.roux@linaro.org>
* config/arm/arm.opt (mlra): New option.
* config/arm/arm.c (arm_lra_p): New function.
(TARGET_LRA_P): Define.
From-SVN: r203698
Thomas Schwinge [Wed, 16 Oct 2013 10:53:36 +0000 (12:53 +0200)]
openmp-define-1.c: Move dg-require-effective-target fopenmp after dg-do directive.
gcc/testsuite/
* c-c++-common/cpp/openmp-define-1.c: Move
dg-require-effective-target fopenmp after dg-do directive.
* c-c++-common/cpp/openmp-define-2.c: Likewise.
* gfortran.dg/openmp-define-1.f90: Likewise.
* gfortran.dg/openmp-define-2.f90: Likewise.
* gfortran.dg/openmp-define-3.f90: Likewise.
Completion of r203588, fix-up for r203417.
From-SVN: r203697
Paulo Matos [Wed, 16 Oct 2013 10:09:17 +0000 (10:09 +0000)]
tree-core.h (tree_code_name): Remove.
gcc/
* tree-core.h (tree_code_name): Remove.
* tree.h (get_tree_code_name): New prototype.
* tree.c (tree_code_name): Make static.
(get_tree_code_name): New function.
(dump_tree_statistics, tree_check_failed, tree_not_check_failed,
tree_class_check_failed, tree_range_check_failed,
tree_not_class_check_failed, omp_clause_check_failed,
tree_contains_struct_check_failed, tree_operand_check_failed): Use new
wrapper get_tree_code_name instead of calling tree_code_name directly.
* tree-vrp.c (dump_asserts_for): Likewise.
* tree-dump.c (dequeue_and_dump): Likewise.
* tree-pretty-print.c (do_niy, dump_generic_node): Likewise.
* tree-pretty-print.h (pp_unsupported_tree): Likewise.
* lto-streamer-out.c (lto_write_tree, DFS_write_tree): Likewise.
* tree-ssa-dom.c (print_expr_hash_elt): Likewise.
* gimple-pretty-print.c (dump_unary_rhs, dump_binary_rhs,
dump_ternary_rhs, dump_gimple_assign, dump_gimple_cond,
dump_gimple_omp_for): Likewise.
* tree-vect-data-refs.c (vect_create_data_ref_ptr): Likewise.
* tree-ssa-pre.c (print_pre_expr): Likewise.
* ipa-prop.c (ipa_print_node_jump_functions_for_edge): Likewise.
* print-tree.c (print_node_brief, print_node): Likewise.
* gimple.c (gimple_check_failed): Likewise.
* lto-streamer.c (lto_tag_name, print_lto_report): Likewise.
* config/frv/frv.c (frv_init_cumulative_args): Likewise.
* config/mep/mep.c (mep_validate_vliw): Likewise.
* config/iq2000/iq2000.c (init_cumulative_args): Likewise.
* config/rs6000/rs6000.c (init_cumulative_args): Likewise.
gcc/cp/
* error.c (code_to_string): Use new wrapper get_tree_code_name.
* cxx-pretty-print.c (pp_cxx_assignment_operator): Likewise.
* pt.c (tsubst): Likewise.
* semantics.c (cxx_eval_constant_expression,
potential_constant_expression_1): Likewise.
* mangle.c (MANGLE_TRACE_TREE, dump_substitution_candidates,
add_substitution, find_substitution): Likewise.
From-SVN: r203695
Ganesh Gopalasubramanian [Wed, 16 Oct 2013 09:51:24 +0000 (09:51 +0000)]
Enable FMA4 for AMD bdver3 architecture
From-SVN: r203694
Paulo Matos [Wed, 16 Oct 2013 09:50:21 +0000 (09:50 +0000)]
tree-prof.exp: Fix comment.
* gcc.dg/tree-prof/tree-prof.exp: Fix comment.
From-SVN: r203693
Hans-Peter Nilsson [Wed, 16 Oct 2013 01:43:14 +0000 (01:43 +0000)]
For CRIS ports, switch to soft-fp. Improve arit.c and longlong.h.
* config.host (cpu_type) <Setting default>: Add entry for
crisv32-*-*.
(tmake_file) <crisv32-*-elf, cris-*-elf, cris-*-linux*>
<crisv32-*-linux*>: Adjust.
* longlong.h: Wrap the whole CRIS section in a single
defined(__CRIS__) conditional. Add comment about add_ssaaaa
and sub_ddmmss.
(COUNT_LEADING_ZEROS_0): Define when count_leading_zeros is
defined.
[__CRIS__] (__umulsidi3): Define.
[__CRIS__] (umul_ppmm): Define in terms of __umulsidi3.
* config/cris/sfp-machine.h: New file.
* config/cris/umulsidi3.S: New file.
* config/cris/t-elfmulti (LIB2ADD_ST): Add umulsidi3.S.
* config/cris/arit.c (SIGNMULT): New macro.
(__Div, __Mod): Use SIGNMULT instead of naked multiplication.
* config/cris/mulsi3.S: Tweak to avoid redundant register-copying;
saving 3 out of originally 33 cycles from the fastest
path, 3 out of 54 from the medium path and one from the longest
path. Improve comments.
From-SVN: r203640
Hans-Peter Nilsson [Wed, 16 Oct 2013 01:38:27 +0000 (01:38 +0000)]
* config/cris/t-elfmulti (MULTILIB_OPTIONS, MULTILIB_DIRNAMES)
(MULTILIB_MATCHES): Add multilib for -march=v8.
From-SVN: r203639
GCC Administrator [Wed, 16 Oct 2013 00:16:45 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r203638
Tobias Burnus [Tue, 15 Oct 2013 22:08:46 +0000 (00:08 +0200)]
intrinsic.texi (OpenMP Modules): Update to OpenMPv4.
gcc/fortran/
2013-10-16 Tobias Burnus <burnus@net-b.de>
* intrinsic.texi (OpenMP Modules): Update to OpenMPv4.
Document omp_proc_bind_kind.
libgomp/
2013-10-16 Tobias Burnus <burnus@net-b.de>
* libgomp.texi: (Runtime Library Routines): Update references
* for
OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
omp_get_team_num, omp_is_initial_device, omp_set_default_device.
(Environment Variables): Update references for OpenMP 4.0. Add
OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
order.
From-SVN: r203635
Sriraman Tallam [Tue, 15 Oct 2013 21:43:21 +0000 (21:43 +0000)]
re PR target/57756 (Function target attribute is retaining state of previously seen function)
PR target/57756
The root-cause of this PR is that global_options is not restored to
default before calling ix86_valid_target_attribute_tree and hence
target attributes are incorrectly processed sometimes.
This patch refactors code in i386.c in functions in the call-chain of
ix86_valid_target_attribute_tree to use any gcc_options struct passed
as a parameter. It replaces existing code which always uses the
global_options struct.
2013-10-15 Sriraman Tallam <tmsriram@google.com>
PR target/57756
* optc-save-gen.awk: Add extra parameter to the save and restore
target calls.
* opth-gen.awk: Generate new TARGET_* macros to accept a parameter.
* tree.c (build_optimization_node): New parameter. Add extra parameter
to call to cl_optimization_save.
(build_target_option_node): New parameter. Add extra parameter
to call to cl_target_option_save.
* tree.h (build_optimization_node): New parameter.
(build_target_option_node): New parameter.
* c-family/c-common.c (handle_optimize_attribute): Fix calls to
build_optimization_node and build_target_option_node.
* c-family/c-pragma.c (handle_pragma_optimize): Ditto.
(handle_pragma_push_options): Ditto.
* toplev.c (process_options): Ditto.
* opts.c (init_options_struct): Check for opts_set non-null.
* target.def (target_option.save): New parameter.
(target_option.restore): New parameter.
* tm.texi: Generate.
* config/i386/i386-c.c (ix86_target_macros_internal): Ditto.
(ix86_pragma_target_parse): Ditto.
* config/i386/i386-protos.h (ix86_valid_target_attribute_tree): New
parameters.
* config/rs6000/rs6000.c (rs6000_option_override_internal): Fix calls
to build_optimization_node and build_target_option_node.
(rs6000_valid_attribute_p): Ditto.
(rs6000_pragma_target_parse): Ditto.
* config/i386/i386.opt (x_ix86_target_flags_explicit): New TargetSave
data.
* config/i386/i386.h:
TARGET_64BIT_P: New Macro
TARGET_MMX_P: New Macro.
TARGET_3DNOW_P: New Macro.
TARGET_3DNOW_A_P: New Macro.
TARGET_SSE_P: New Macro.
TARGET_SSE2_P: New Macro.
TARGET_SSE3_P: New Macro.
TARGET_SSSE3_P: New Macro.
TARGET_SSE4_1_P: New Macro.
TARGET_SSE4_2_P: New Macro.
TARGET_AVX_P: New Macro.
TARGET_AVX2_P: New Macro.
TARGET_AVX512F_P: New Macro.
TARGET_AVX512PF_P: New Macro.
TARGET_AVX512ER_P: New Macro.
TARGET_AVX512CD_P: New Macro.
TARGET_FMA_P: New Macro.
TARGET_SSE4A_P: New Macro.
TARGET_FMA4_P: New Macro.
TARGET_XOP_P: New Macro.
TARGET_LWP_P: New Macro.
TARGET_ABM_P: New Macro.
TARGET_BMI_P: New Macro.
TARGET_BMI2_P: New Macro.
TARGET_LZCNT_P: New Macro.
TARGET_TBM_P: New Macro.
TARGET_POPCNT_P: New Macro.
TARGET_SAHF_P: New Macro.
TARGET_MOVBE_P: New Macro.
TARGET_CRC32_P: New Macro.
TARGET_AES_P: New Macro.
TARGET_PCLMUL_P: New Macro.
TARGET_CMPXCHG16B_P: New Macro.
TARGET_FSGSBASE_P: New Macro.
TARGET_RDRND_P: New Macro.
TARGET_F16C_P: New Macro.
TARGET_RTM_P: New Macro.
TARGET_HLE_P: New Macro.
TARGET_RDSEED_P: New Macro.
TARGET_PRFCHW_P: New Macro.
TARGET_ADX_P: New Macro.
TARGET_FXSR_P: New Macro.
TARGET_XSAVE_P: New Macro.
TARGET_XSAVEOPT_P: New Macro.
TARGET_LP64_P: New Macro.
TARGET_X32_P: New Macro.
TARGET_FPMATH_DEFAULT_P: New Macro.
TARGET_FLOAT_RETURNS_IN_80387_P: New Macro.
* config/i386/i386.c (ix86_option_override_internal): New parameters.
opts and opts_set.
Change ix86_tune_string to access opts->x_ix86_tune_string.
Change ix86_isa_flags to access opts->x_ix86_isa_flags.
Change ix86_arch_string to access opts->x_ix86_arch_string.
Change ix86_stringop_alg to access opts->x_ix86_stringop_alg.
Change ix86_pmode to access opts->x_ix86_pmode.
Change ix86_abi to access opts->x_ix86_abi.
Change ix86_cmodel to access opts->x_ix86_cmodel.
Change ix86_asm_dialect to access opts->x_ix86_asm_dialect.
Change ix86_isa_flags_explicit to access
opts->x_ix86_isa_flags_explicit.
Change ix86_dump_tunes to access opts->x_ix86_dump_tunes.
Change ix86_regparm to access opts->x_ix86_regparm.
Change ix86_branch_cost to access opts->x_ix86_branch_cost.
Change ix86_preferred_stack_boundary_arg to access
opts->x_ix86_preferred_stack_boundary_arg.
Change ix86_force_align_arg_pointer to access
opts->x_ix86_force_align_arg_pointer.
Change ix86_incoming_stack_boundar_arg to access
opts->x_ix86_incoming_stack_boundar_arg.
Change ix86_fpmath to access opts->x_ix86_fpmath.
Change ix86_veclibabi_type to access opts->x_ix86_veclibabi_type.
Change ix86_recip_name to access opts->x_ix86_recip_name.
Change ix86_stack_protector_guard to access
opts->x_ix86_stack_protector_guard.
Change ix86_tune_memcpy_strategy to access
opts->x_ix86_tune_memcpy_strategy.
Change ix86_tune_memset_strategy to access
opts->x_ix86_tune_memset_strategy.
Change global_options to access opts.
Change global_options_set to access opts_set.
Change TARGET_64BIT to TARGET_64BIT_P (opts->...)
Change TARGET_MMX to TARGET_MMX_P (opts->...)
Change TARGET_3DNOW to TARGET_3DNOW_P (opts->...)
Change TARGET_3DNOW_A to TARGET_3DNOW_A_P (opts->...)
Change TARGET_SSE to TARGET_SSE_P (opts->...)
Change TARGET_SSE2 to TARGET_SSE2_P (opts->...)
Change TARGET_SSE3 to TARGET_SSE3_P (opts->...)
Change TARGET_SSSE3 to TARGET_SSSE3_P (opts->...)
Change TARGET_SSE4_1 to TARGET_SSE4_1_P (opts->...)
Change TARGET_SSE4_2 to TARGET_SSE4_2_P (opts->...)
Change TARGET_AVX to TARGET_AVX_P (opts->...)
Change TARGET_AVX2 to TARGET_AVX2_P (opts->...)
Change TARGET_AVX512F to TARGET_AVX512F_P (opts->...)
Change TARGET_AVX512PF to TARGET_AVX512PF_P (opts->...)
Change TARGET_AVX512ER to TARGET_AVX512ER_P (opts->...)
Change TARGET_AVX512CD to TARGET_AVX512CD_P (opts->...)
Change TARGET_FMA to TARGET_FMA_P (opts->...)
Change TARGET_SSE4A to TARGET_SSE4A_P (opts->...)
Change TARGET_FMA4 to TARGET_FMA4_P (opts->...)
Change TARGET_XOP to TARGET_XOP_P (opts->...)
Change TARGET_LWP to TARGET_LWP_P (opts->...)
Change TARGET_ABM to TARGET_ABM_P (opts->...)
Change TARGET_BMI to TARGET_BMI_P (opts->...)
Change TARGET_BMI2 to TARGET_BMI2_P (opts->...)
Change TARGET_LZCNT to TARGET_LZCNT_P (opts->...)
Change TARGET_TBM to TARGET_TBM_P (opts->...)
Change TARGET_POPCNT to TARGET_POPCNT_P (opts->...)
Change TARGET_SAHF to TARGET_SAHF_P (opts->...)
Change TARGET_MOVBE to TARGET_MOVBE_P (opts->...)
Change TARGET_CRC32 to TARGET_CRC32_P (opts->...)
Change TARGET_AES to TARGET_AES_P (opts->...)
Change TARGET_PCLMUL to TARGET_PCLMUL_P (opts->...)
Change TARGET_CMPXCHG16B to TARGET_CMPXCHG16B_P (opts->...)
Change TARGET_FSGSBASE to TARGET_FSGSBASE_P (opts->...)
Change TARGET_RDRND to TARGET_RDRND_P (opts->...)
Change TARGET_F16C to TARGET_F16C_P (opts->...)
Change TARGET_RTM to TARGET_RTM_P (opts->...)
Change TARGET_HLE to TARGET_HLE_P (opts->...)
Change TARGET_RDSEED to TARGET_RDSEED_P (opts->...)
Change TARGET_PRFCHW to TARGET_PRFCHW_P (opts->...)
Change TARGET_ADX to TARGET_ADX_P (opts->...)
Change TARGET_FXSR to TARGET_FXSR_P (opts->...)
Change TARGET_XSAVE to TARGET_XSAVE_P (opts->...)
Change TARGET_XSAVEOPT to TARGET_XSAVEOPT_P (opts->...)
Change TARGET_LP64 to TARGET_LP64_P (opts->...)
Change TARGET_X32 to TARGET_X32_P (opts->...)
Change TARGET_FPMATH_DEFAULT to TARGET_FPMATH_DEFAULT_P (opts->...)
Change TARGET_FLOAT_RETURNS_IN_80387 to
TARGET_FLOAT_RETURNS_IN_80387_P (opts->...)
(ix86_function_specific_save): New parameter. Use opts-> fields
to replace global fields.
(ix86_function_specific_restore): Ditto.
(ix86_valid_target_attribute_inner_p): New parameters.
Fix recursive call.
Fix call to ix86_handle_option and set_option.
(ix86_valid_target_attribute_tree): New parameters.
Change global_options to access opts.
Change global_options_set to access opts_set.
Fix call to ix86_valid_target_attribute_inner_p.
Change ix86_tune_string to access opts->x_ix86_tune_string.
Change ix86_arch_string to access opts->x_ix86_arch_string.
Change ix86_fpmath to access opts->x_ix86_fpmath
Fix call to ix86_option_override_internal.
Fix call to ix86_add_new_builtins.
Fix calls to build_optimization_node and build_target_option_node.
(ix86_valid_target_attribute_p): Remove access to global_options.
Use new gcc_options structure func_options.
Fix call to ix86_valid_target_attribute_tree.
Fix call to build_optimization_node.
(get_builtin_code_for_version): Fix call to
ix86_valid_target_attribute_tree.
PR target/57756
* gcc.target/i386/pr57756.c: New test.
* gcc.target/i386/pr57756_2.c: New test.
From-SVN: r203634
Jeff Law [Tue, 15 Oct 2013 20:50:33 +0000 (14:50 -0600)]
Move Paulo's 9/27/2013 ChangeLog entry to the right file
From-SVN: r203633
David Malcolm [Tue, 15 Oct 2013 20:33:55 +0000 (20:33 +0000)]
Add --enable-host-shared configuration option
/
* configure.ac: Add --enable-host-shared
* configure: Regenerate.
gcc/
* Makefile.in (PICFLAG): New.
(enable_host_shared): New.
(INTERNAL_CFLAGS): Use PICFLAG.
(LIBIBERTY): Use pic build of libiberty.a if configured with
--enable-host-shared.
* configure.ac: Add --enable-host-shared, setting up new
PICFLAG variable.
* configure: Regenerate.
* doc/install.texi (--enable-shared): Add note contrasting it
with...
(--enable-host-shared): New option.
libbacktrace/
* configure.ac: Add --enable-host-shared, setting up
pre-existing PIC_FLAG variable within Makefile.am et al.
* configure: Regenerate.
libcpp/
* Makefile.in (PICFLAG): New.
(ALL_CFLAGS): Add PICFLAG.
(ALL_CXXFLAGS): Likewise.
* configure.ac: Add --enable-host-shared, setting up new
PICFLAG variable.
* configure: Regenerate.
libdecnumber/
* Makefile.in (PICFLAG): New.
(ALL_CFLAGS): Add PICFLAG.
* configure.ac: Add --enable-host-shared, setting up new
PICFLAG variable.
* configure: Regenerate.
libiberty/
* configure.ac: If --enable-host-shared, use -fPIC.
* configure: Regenerate.
zlib/
* configure.ac: Add --enable-host-shared, setting up new
PICFLAG variable.
* Makefile.am: Add PICFLAG to libz_a_CFLAGS.
* Makefile.in: Regenerate.
* configure: Regenerate.
From-SVN: r203632
Diego Novillo [Tue, 15 Oct 2013 18:51:37 +0000 (14:51 -0400)]
Add missing function in 20_util/exchange/1.cc.
When this test is compiled at -O0, the compiler does not remove the
address comparison. This causes a link failure, since the body of f()
is missing.
* testsuite/20_util/exchange/1.cc: Add missing function
bodies.
From-SVN: r203629
Richard Sandiford [Tue, 15 Oct 2013 18:24:30 +0000 (18:24 +0000)]
tree-tailcall.c (find_tail_calls): Don't use tail-call recursion for built-in functions.
gcc/
2013-10-15 Richard Biener <rguenther@suse.de>
* tree-tailcall.c (find_tail_calls): Don't use tail-call recursion
for built-in functions.
gcc/testsuite/
* gcc.dg/torture/builtin-self.c: New file.
libgcc/
* sync.c: Remove static aliases and define each function directly
under its real name.
From-SVN: r203628
Zhenqiang Chen [Tue, 15 Oct 2013 17:48:44 +0000 (17:48 +0000)]
tree-ssa-reassoc.c: Include rtl.h and tm_p.h.
* tree-ssa-reassoc.c: Include rtl.h and tm_p.h.
(optimize_range_tests_1): New function,
extracted from optimize_range_tests.
(optimize_range_tests_xor): Similarly.
(optimize_range_tests_diff): New function.
(optimize_range_tests): Use optimize_range_tests_1.
* gcc.dg/tree-ssa/reassoc-32.c: New test case.
* gcc.dg/tree-ssa/reassoc-33.c: New test case.
* gcc.dg/tree-ssa/reassoc-34.c: New test case.
* gcc.dg/tree-ssa/reassoc-35.c: New test case.
* gcc.dg/tree-ssa/reassoc-36.c: New test case.
From-SVN: r203627
Cong Hou [Tue, 15 Oct 2013 17:17:43 +0000 (13:17 -0400)]
tree-vect-loop.c (vect_is_simple_reduction_1): Relax the requirement of the reduction pattern so that one operand of the ...
2013-10-15 Cong Hou <congh@google.com>
* tree-vect-loop.c (vect_is_simple_reduction_1): Relax the
requirement of the reduction pattern so that one operand of the
reduction operation can come from outside of the loop.
2013-10-15 Cong Hou <congh@google.com>
* gcc.dg/vect/vect-reduc-pattern-3.c: New test.
From-SVN: r203625
Paolo Carlini [Tue, 15 Oct 2013 16:36:11 +0000 (16:36 +0000)]
re PR c++/58707 ([C++11] A greater-than operator in square brackets should not end a template argument list)
/cp
2013-10-15 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58707
* parser.c (cp_parser_postfix_open_square_expression): Set
parser->greater_than_is_operator_p for the argument.
/testsuite
2013-10-15 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58707
* g++.dg/cpp0x/pr58707.C: New.
From-SVN: r203624
Jeff Law [Tue, 15 Oct 2013 15:52:37 +0000 (09:52 -0600)]
Move Martin's most recent entry into the right ChangeLog file
From-SVN: r203622
James Greenhalgh [Tue, 15 Oct 2013 15:41:37 +0000 (15:41 +0000)]
[ARM] [Neon types 10/10] Remove neon-schedgen.ml
gcc/
* config/arm/neon-schedgen.ml: Remove.
* config/arm/cortex-a9-neon.md: Remove comment regarding
neon-schedgen.ml.
From-SVN: r203621
James Greenhalgh [Tue, 15 Oct 2013 15:37:23 +0000 (15:37 +0000)]
[ARM] [Neon types 9/10] Remove old neon types
gcc/
* config/arm/types: Remove old neon types.
From-SVN: r203620
James Greenhalgh [Tue, 15 Oct 2013 15:36:15 +0000 (15:36 +0000)]
[ARM] [Neon types 8/10] Cortex-A7 neon pipeline model
gcc/
* config/arm/cortex-a7.md
(cortex_a7_neon_type): New.
(cortex_a7_neon_mul): Update for new types.
(cortex_a7_neon_mla): Likewise.
(cortex_a7_neon): Likewise.
From-SVN: r203619
James Greenhalgh [Tue, 15 Oct 2013 15:35:05 +0000 (15:35 +0000)]
[ARM] [Neon types 7/10] Cortex-A15 neon pipeline changes
* config/arm/cortex-a15-neon.md: Update pipeline model.
From-SVN: r203618
James Greenhalgh [Tue, 15 Oct 2013 15:33:31 +0000 (15:33 +0000)]
[ARM] [Neon types 6/10] Cortex-A9 neon pipeline changes
gcc/
* config/arm/cortex-a8-neon.md (cortex_a9_neon_type): New.
* config/arm/cortex-a8-neon.md: Update all pipeline units for
new types.
From-SVN: r203617
James Greenhalgh [Tue, 15 Oct 2013 15:31:38 +0000 (15:31 +0000)]
[ARM] [Neon types 5/10] Update Cortex-A8 pipeline model
gcc/
* config/arm/cortex-a8-neon.md (cortex_a8_neon_type): New.
* config/arm/cortex-a8-neon.md: Update all pipeline units.
From-SVN: r203616
James Greenhalgh [Tue, 15 Oct 2013 15:30:00 +0000 (15:30 +0000)]
[AArch64] [Neon types 4/10] Add type attributes to all simd insns
gcc/
* config/aarch64/iterators.md (Vetype): Add SF and DF modes.
(fp): New.
* config/aarch64/aarch64-simd.md (neon_type): Remove.
* config/aarch64/aarch64-simd.md: Add "type" attribute to all
patterns.
From-SVN: r203614
James Greenhalgh [Tue, 15 Oct 2013 15:28:04 +0000 (15:28 +0000)]
[ARM] [Neon types 3/10] Update Current type attributes to new Neon Types.
gcc/
* config/arm/iterators.md (V_elem_ch): New.
(q): Likewise.
(VQH_type): Likewise.
* config/arm/arm.md (is_neon_type): New.
(conds): Use is_neon_type.
(anddi3_insn): Update type attribute.
(xordi3_insn): Likewise.
(one_cmpldi2): Likewise.
* gcc/config/arm/vfp.md (movhf_vfp_neon): Update type attribute.
* gcc/config/arm/neon.md (neon_mov): Update type attributes for
all patterns.
From-SVN: r203613
James Greenhalgh [Tue, 15 Oct 2013 15:26:15 +0000 (15:26 +0000)]
[AArch64] [Neon types 2/10] Update Current type attributes to new Neon Types.
gcc/
* config/aarch64/aarch64.md (movtf_aarch64): Update type attribute.
(load_pair): Update type attribute.
(store_pair): Update type attribute.
* config/aarch64/iterators.md (q): New.
From-SVN: r203612
James Greenhalgh [Tue, 15 Oct 2013 15:24:29 +0000 (15:24 +0000)]
[ARM] [Neon Types 1/10] Add new types to describe Neon insns.
gcc/
* config/arm/types.md: Add new types for Neon insns.
From-SVN: r203611
Tim Shen [Tue, 15 Oct 2013 15:01:44 +0000 (15:01 +0000)]
re PR libstdc++/58737 (leak in std::regex_match)
2013-10-15 Tim Shen <timshen91@gmail.com>
PR libstdc++/58737
* include/bits/regex_automaton.h (_Automaton<>::~_Automaton): Fix memory
leak by adding it.
* include/bits/regex_executor.h (_Executor<>::~_Executor): Likewise.
From-SVN: r203610
Alexander Ivchenko [Tue, 15 Oct 2013 14:33:34 +0000 (14:33 +0000)]
sse.md (unspec): Add UNSPEC_RCP14...
* config/i386/sse.md (unspec): Add UNSPEC_RCP14, UNSPEC_RSQRT14,
UNSPEC_FIXUPIMM, UNSPEC_SCALEF, UNSPEC_GETEXP, UNSPEC_GETMANT,
UNSPEC_EXP2, UNSPEC_RCP28, UNSPEC_RSQRT28.
(rcp14<mode>): New.
(srcp14<mode>): Ditto.
(rsqrt14<mode>): Ditto.
(rsqrt14<mode>): Ditto.
(avx512f_vmscalef<mode>): Ditto.
(avx512f_scalef<mode>): Ditto.
(avx512f_getexp<mode>): Ditto.
(avx512f_sgetexp<mode>): Ditto.
(avx512f_fixupimm<mode>): Ditto.
(avx512f_sfixupimm<mode>): Ditto.
(avx512f_rndscale<mode>): Ditto.
(*avx512er_exp2<mode>): Ditto.
(*avx512er_rcp28<mode>): Ditto.
(avx512er_rsqrt28<mode>): Ditto.
(avx512f_getmant<mode>): Ditto.
(avx512f_getmant<mode>): Ditto.
(avx512f_rndscale<mode>): Fix formatting.
Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
Co-Authored-By: Sergey Lega <sergey.s.lega@intel.com>
From-SVN: r203609
Martin Jambor [Tue, 15 Oct 2013 14:15:07 +0000 (16:15 +0200)]
ipa-utils.h (ipa_edge_within_scc): Declare.
2013-10-15 Martin Jambor <mjambor@suse.cz>
* ipa-utils.h (ipa_edge_within_scc): Declare.
* ipa-cp.c (edge_within_scc): Moved...
* ipa-utils.c (ipa_edge_within_scc): ...here. Updated all callers.
From-SVN: r203607
Alexander Ivchenko [Tue, 15 Oct 2013 13:54:52 +0000 (13:54 +0000)]
predicates.md (const_8_to_15_operand): New.
* config/i386/predicates.md (const_8_to_15_operand): New.
(const_16_to_31_operand): Ditto.
* config/i386/sse.md (V8FI): New.
(V16FI): Ditto.
(reduc_splus_v8df): Ditto.
(reduc_splus_v16sf): Ditto.
(avx512f_vextract<shuffletype>32x4_1): Ditto.
(vec_extract_hi_<mode>): Ditto.
(avx512f_vinsert<shuffletype>32x4_1): Ditto.
(vec_set_lo_<mode>): Ditto.
(vec_set_hi_<mode>): Ditto.
(avx512f_shuf_<shuffletype>64x2_1): Ditto.
(avx512f_shuf_<shuffletype>32x4_1): Ditto.
(avx512f_pshufd_1): Ditto.
(avx512f_broadcast<mode>): Ditto.
(avx512f_broadcast<mode>): Ditto.
(define_split): Split vec_extract_lo into move.
(ssequartermode): Ditto.
(ssedoublemode): Extened with wider modes.
(vec_extract_lo_<mode>): Ditto.
Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
Co-Authored-By: Sergey Lega <sergey.s.lega@intel.com>
From-SVN: r203606
Alexander Ivchenko [Tue, 15 Oct 2013 13:51:56 +0000 (13:51 +0000)]
predicates.md (register_or_constm1_operand): New.
* config/i386/predicates.md (register_or_constm1_operand): New.
* config/i386/sse.md (unspec): Add UNSPEC_UNSIGNED_PCMP, UNSPEC_TESTM,
UNSPEC_TESTNM, UNSPEC_VTERNLOG, UNSPEC_ALIGN, UNSPEC_CONFLICT,
UNSPEC_MASKED_EQ, UNSPEC_MASKED_GT, UNSPEC_GATHER_PREFETCH,
UNSPEC_SCATTER_PREFETCH
(VI48_512): New.
(avx512f_ucmp<mode>3): Ditto.
(avx512f_vternlog<mode>): Ditto.
(avx512f_align<mode>): Ditto.
(<shift_insn><mode>3): Ditto.
(avx512f_<rotate>v<mode>): Ditto.
(avx512f_<rotate><mode>): Ditto.
(avx512f_eq<mode>3): Ditto.
(avx512f_eq<mode>3_1): Ditto.
(avx512f_gt<mode>3): Ditto.
(avx512f_testm<mode>3): Ditto.
(avx512f_testnm<mode>3): Ditto.
(avx512pf_gatherpf<mode>): Ditto.
(*avx512pf_gatherpf<mode>_mask): Ditto.
(*avx512pf_gatherpf<mode>): Ditto.
(avx512pf_scatterpf<mode>): Ditto.
(*avx512pf_scatterpf<mode>_mask): Ditto.
(*avx512pf_scatterpf<mode>): Ditto.
(avx512f_vec_dup_gpr<mode>): Ditto.
(clz<mode>2): Ditto.
(conflict<mode>): Ditto.
(REDUC_SMINMAX_MODE): Extened with wider modes.
(reduc_<code>_<mode>): Ditto.
(vlshr<mode>3): Ditto.
(vashl<mode>3): Ditto.
Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
Co-Authored-By: Sergey Lega <sergey.s.lega@intel.com>
From-SVN: r203605
Alexander Ivchenko [Tue, 15 Oct 2013 13:49:55 +0000 (13:49 +0000)]
sse.md (unspec): Added UNSPEC_VPERMI2, UNSPEC_VPERMT2, UNSPEC_SCATTER.
* config/i386/sse.md (unspec): Added UNSPEC_VPERMI2, UNSPEC_VPERMT2,
UNSPEC_SCATTER.
(VI48F_512): New.
(avx512fmaskmode): Ditto.
(bcstscalarsuff): Ditto.
(avx512f_blendm<mode>): Ditto.
(cmp_imm_predicate): Ditto.
(avx512f_cmp<mode>3): Ditto.
(avx512f_vec_dup<mode>): Ditto.
(avx512f_vec_dup_mem<mode>): Ditto.
(avx512f_vpermi2var<mode>3): Ditto.
(avx512f_vpermt2var<mode>3): Ditto.
(vec_init<mode>): Ditto.
(avx512f_gathersi<mode>): Ditto.
(*avx512f_gathersi<mode>): Ditto.
(*avx512f_gathersi<mode>_2): Ditto.
(avx512f_gatherdi<mode>): Ditto.
(*avx512f_gatherdi<mode>): Ditto.
(*avx512f_gatherdi<mode>_2): Ditto.
(avx512f_scattersi<mode>): Ditto.
(*avx512f_scattersi<mode>): Ditto.
(avx512f_scatterdi<mode>): Ditto.
(*avx512f_scatterdi<mode>): Ditto.
(sseintprefix): Extened with wider modes.
(VEC_GATHER_IDXSI): Ditto.
(VEC_GATHER_IDXDI): Ditto.
(VEC_GATHER_SRCDI): Ditto.
Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
Co-Authored-By: Sergey Lega <sergey.s.lega@intel.com>
From-SVN: r203604
Matthew Gretton-Dann [Tue, 15 Oct 2013 13:23:44 +0000 (13:23 +0000)]
Add A profile only multilib make file fragment.
2013-10-15 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
* config/arm/t-aprofile: New file.
* config.gcc: Handle --with-multilib-list option.
Co-Authored-By: Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
From-SVN: r203603
Richard Biener [Tue, 15 Oct 2013 11:13:04 +0000 (11:13 +0000)]
lto.c (hash_canonical_type): Split out from ...
2013-10-15 Richard Biener <rguenther@suse.de>
lto/
* lto.c (hash_canonical_type): Split out from ...
(iterative_hash_canonical_type): ... here. Register types
we recurse to.
(gimple_canonical_type_hash): Adjust.
(gimple_register_canonical_type_1): Split out from ...
(gimple_register_canonical_type): ... here. Cache computed
hash value.
(lto_register_canonical_types): Split into two modes,
clearing and computing TYPE_CANONICAL.
(lto_read_decls): Adjust.
(read_cgraph_and_symbols): Do two passes over global trees,
first clearing then computing TYPE_CANONICAL.
From-SVN: r203600
Arnaud Charlet [Tue, 15 Oct 2013 11:01:03 +0000 (13:01 +0200)]
[multiple changes]
2013-10-15 Thomas Quinot <quinot@adacore.com>
* exp_pakd.adb (Expand_Packed_Element_Set,
Expand_Packed_Element_Reference): Adjust for the case of packed
arrays of reverse-storage-order types.
2013-10-15 Robert Dewar <dewar@adacore.com>
* sem_prag.adb: Minor reformatting.
2013-10-15 Ed Schonberg <schonberg@adacore.com>
* sem_attr.adb (Analyze_Attribute_Specification, case
To_Address): If the expression is an identifier, do not modify
its type; it will be converted when necessary, and the type of
the expression must remain consistent with that of the entity
for back-end consistency.
2013-10-15 Robert Dewar <dewar@adacore.com>
* sem_ch7.adb (Unit_Requires_Body): Add flag
Ignore_Abstract_State (Analyze_Package_Specification): Enforce
rule requiring Elaborate_Body if a non-null abstract state is
specified for a library-level package.
* sem_ch7.ads (Unit_Requires_Body): Add flag Ignore_Abstract_State.
From-SVN: r203598
Bernd Schmidt [Tue, 15 Oct 2013 10:36:03 +0000 (10:36 +0000)]
Fix a miscompilation where a reload reg is reused after it has been clobbered.
* reload1.c (reloads_unique_chain_p): Ensure that r1 is the input for
r2.
From-SVN: r203596