Kyrylo Tkachov [Thu, 6 Feb 2014 16:51:03 +0000 (16:51 +0000)]
[ARM] Cortex-A57 rtx costs
* config/arm/aarch-cost-tables.h (cortexa57_extra_costs): New table.
Remove extra newline at end of file.
* config/arm/arm.c (arm_cortex_a57_tune): New tuning struct.
(arm_issue_rate): Handle cortexa57.
* config/arm/arm-cores.def (cortex-a57): Use cortex_a57 tuning.
(cortex-a57.cortex-a53): Likewise.
From-SVN: r207565
Jakub Jelinek [Thu, 6 Feb 2014 15:52:36 +0000 (16:52 +0100)]
re PR debug/59575 (ICE in maybe_record_trace_start, at dwarf2cfi.c:2239)
PR target/59575
* config/arm/arm.c (emit_multi_reg_push): Add dwarf_regs_mask argument,
don't record in REG_FRAME_RELATED_EXPR registers not set in that
bitmask.
(arm_expand_prologue): Adjust all callers.
(arm_unwind_emit_sequence): Allow saved, but not important for unwind
info, registers also at the lowest numbered registers side. Use
gcc_assert instead of abort, and SET_SRC/SET_DEST macros instead of
XEXP.
* gcc.target/arm/pr59575.c: New test.
From-SVN: r207564
Jakub Jelinek [Thu, 6 Feb 2014 15:52:17 +0000 (16:52 +0100)]
re PR debug/59575 (ICE in maybe_record_trace_start, at dwarf2cfi.c:2239)
PR target/59575
* config/arm/arm.c (emit_multi_reg_push): Add dwarf_regs_mask argument,
don't record in REG_FRAME_RELATED_EXPR registers not set in that
bitmask.
(arm_expand_prologue): Adjust all callers.
(arm_unwind_emit_sequence): Allow saved, but not important for unwind
info, registers also at the lowest numbered registers side. Use
gcc_assert instead of abort, and SET_SRC/SET_DEST macros instead of
XEXP.
* gcc.target/arm/pr59575.c: New test.
From-SVN: r207563
Jakub Jelinek [Thu, 6 Feb 2014 15:47:12 +0000 (16:47 +0100)]
re PR debug/59992 (Compilation of insn-recog.c too slow due to var-tracking)
PR debug/59992
* var-tracking.c (adjust_mems): Before adding a SET
to amd->side_effects, adjust it's SET_SRC using
simplify_replace_fn_rtx.
* gcc.dg/pr59992.c: New test.
From-SVN: r207562
Marc Glisse [Thu, 6 Feb 2014 15:32:27 +0000 (16:32 +0100)]
constexpr-attribute2.C: Restrict to target init_priority.
2014-02-06 Marc Glisse <marc.glisse@inria.fr>
* g++.dg/cpp0x/constexpr-attribute2.C: Restrict to target
init_priority. Test alignment of variable instead of function.
From-SVN: r207561
Arnaud Charlet [Thu, 6 Feb 2014 14:16:52 +0000 (15:16 +0100)]
Code clean ups.
From-SVN: r207560
Arnaud Charlet [Thu, 6 Feb 2014 14:15:51 +0000 (15:15 +0100)]
[multiple changes]
2014-02-06 Hristian Kirtchev <kirtchev@adacore.com>
* sem_prag.adb (Analyze_Refined_Pragma): Remove
local variable Pack_Spec. Refinement pragmas may now apply to
bodies of both visible and private subprograms.
2014-02-06 Robert Dewar <dewar@adacore.com>
* exp_attr.adb (Expand_Loop_Entry_Attribute):
Minor change (Attr => N) (Expand_Pred_Succ): New name
Expand_Pred_Succ_Attribute (Expand_N_Attribute_Reference, case
Max): Expand into if expression if Modify_Tree_For_C mode.
(Expand_N_Attribute_Reference, case Min): ditto
* sinfo.ads: Modify_Tree_For_C takes care of expanding Min and
Max attributes.
2014-02-06 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Analyze_Object_Declaration): Do not generate
predicate check if this is an internal declaration with
No_Initialization set, as for an expanded aggregate component.
2014-02-06 Doug Rupp <rupp@adacore.com>
* init.c (__gnat_default_resignal_p) [VMS]: Test for and resignal
conditions with severity of "SUCCESS" or "INFORMATIONAL".
From-SVN: r207559
Arnaud Charlet [Thu, 6 Feb 2014 14:13:53 +0000 (15:13 +0100)]
[multiple changes]
2014-02-06 Yannick Moy <moy@adacore.com>
* sem_prag.adb (Analyze_Pragma): Analyze pragma
Debug rewritten node before rewriting it as a null statement in
GNATprove mode.
2014-02-06 Robert Dewar <dewar@adacore.com>
* sem_attr.adb (Min_Max): New procedure.
(Max_Alignment_For_Allocation_Max_Size_In_Storage_Elements): New
procedure.
From-SVN: r207558
Arnaud Charlet [Thu, 6 Feb 2014 14:11:59 +0000 (15:11 +0100)]
2014-02-06 Sergey Rybin <rybin@adacore.com frybin>
* gnat_ugn.texi, vms_data.ads: Add documentation of '-t' option for
gnatmetric/gnatpp.
2014-02-06 Hristian Kirtchev <kirtchev@adacore.com>
* sem_prag.adb (Analyze_Abstract_State): Update
all calls to Create_Abstract_State to pass the proper state
"declaration".
(Create_Abstract_State): Add new formal parameter
State_Decl along with comment on usage. Establish a link between
the abstract state entity and the state declaration.
From-SVN: r207557
Robert Dewar [Thu, 6 Feb 2014 14:09:36 +0000 (14:09 +0000)]
sem_attr.adb (Analyze_Attribute, case Max): Check for improper comparison of unordered enumeration type.
2014-02-06 Robert Dewar <dewar@adacore.com>
* sem_attr.adb (Analyze_Attribute, case Max): Check for improper
comparison of unordered enumeration type.
(Analyze_Attribute, case Max): Check for improper comparison of
unordered enumeration type.
* sem_res.adb (Bad_Unordered_Enumeration_Reference): Moved to
sem_util.adb.
* sem_util.ads, sem_util.adb (Bad_Unordered_Enumeration_Reference):
Moved here from Sem_Res.
From-SVN: r207556
Arnaud Charlet [Thu, 6 Feb 2014 14:04:00 +0000 (15:04 +0100)]
[multiple changes]
2014-02-06 Robert Dewar <dewar@adacore.com>
* sem_ch3.adb, sem_prag.adb, sem_res.adb, lib-xref.adb: Minor
reformatting.
2014-02-06 Hristian Kirtchev <kirtchev@adacore.com>
* sem_ch6.adb (Process_Formals): Error message reformatting.
From-SVN: r207555
Marek Polacek [Thu, 6 Feb 2014 13:57:37 +0000 (13:57 +0000)]
re PR c/60087 (Incorrect column number for -Wsign-compare)
PR c/60087
c-family/
* c-common.c (warn_for_sign_compare): Call warning_at with location
instead of warning.
testsuite/
* gcc.dg/pr60087.c: New test.
From-SVN: r207554
Alan Modra [Thu, 6 Feb 2014 13:25:38 +0000 (23:55 +1030)]
re PR target/60032 (ICE in reload_cse_simplify_operands, at postreload.c:411)
PR target/60032
gcc/
* config/rs6000/rs6000.c (rs6000_secondary_memory_needed_mode): Only
change SDmode to DDmode when lra_in_progress.
gcc/testsuite/
* gcc.target/powerpc/pr60032.c: New.
From-SVN: r207553
Jakub Jelinek [Thu, 6 Feb 2014 10:59:30 +0000 (11:59 +0100)]
re PR middle-end/59150 (ICE: in expand_one_var, at cfgexpand.c:1242 with -fopenmp)
PR middle-end/59150
* tree-vect-data-refs.c (vect_analyze_data_refs): For clobbers, call
free_data_ref on the dr first, and before goto again also set dr
to the next dr. For simd_lane_access, free old datarefs[i] before
overwriting it. For get_vectype_for_scalar_type failure, don't
free_data_ref if simd_lane_access.
From-SVN: r207551
Jakub Jelinek [Thu, 6 Feb 2014 10:58:16 +0000 (11:58 +0100)]
* Makefile.in (prefix.o, cppbuiltin.o): Depend on $(BASEVER).
From-SVN: r207550
Jakub Jelinek [Thu, 6 Feb 2014 10:54:20 +0000 (11:54 +0100)]
re PR target/60062 (wrong code (for code with the optimize attribute) at -O1 and above on x86_64-linux-gnu in 32-bit mode)
PR target/60062
* tree.h (opts_for_fn): New inline function.
(opt_for_fn): Define.
* config/i386/i386.c (ix86_function_regparm): Use
opt_for_fn (decl, optimize) instead of optimize.
* gcc.c-torture/execute/pr60062.c: New test.
* gcc.c-torture/execute/pr60072.c: New test.
From-SVN: r207549
Hristian Kirtchev [Thu, 6 Feb 2014 10:26:32 +0000 (10:26 +0000)]
sem_ch3.adb (Handle_Late_Controlled_Primitive): Add local variable Spec.
2014-02-06 Hristian Kirtchev <kirtchev@adacore.com>
* sem_ch3.adb (Handle_Late_Controlled_Primitive): Add local
variable Spec. Do not inherit the null indicator from the
subprogram body when generating the spec.
From-SVN: r207548
Arnaud Charlet [Thu, 6 Feb 2014 10:23:17 +0000 (11:23 +0100)]
[multiple changes]
2014-02-06 Robert Dewar <dewar@adacore.com>
* casing.adb (Determine_Casing): Consider SPARK_Mode to be
mixed case.
2014-02-06 Ed Schonberg <schonberg@adacore.com>
* exp_ch6.adb (Is_Build_In_Place_Function): Predicate is false
when the function has a foreign convention, but not if only the
limited return type has such a convention.
2014-02-06 Hristian Kirtchev <kirtchev@adacore.com>
* sem_ch3.adb (Handle_Late_Controlled_Primitive): Remove local
variable Spec. Comment reformatting. Use Copy_Separate_Tree
rather than New_Copy_Tree when building the corresponding
subprogram declaration.
2014-02-06 Hristian Kirtchev <kirtchev@adacore.com>
* sem_prag.adb (Analyze_Global_Item): Remove
the mode-related checks on abstract states with enabled external
properties.
(Property_Error): Removed.
2014-02-06 Javier Miranda <miranda@adacore.com>
* lib-xref.adb (Generate_Reference): When
generating the reference to the first private entity take care
of handling swapped entities.
From-SVN: r207547
Arnaud Charlet [Thu, 6 Feb 2014 10:21:40 +0000 (11:21 +0100)]
2014-02-06 Sergey Rybin <rybin@adacore.com frybin>
* gnat_ugn.texi, vms_data.ads: Add documentation of -j option for
gnatmetric.
2014-02-06 Robert Dewar <dewar@adacore.com>
* exp_ch4.adb (Expand_N_Shift_Left): Handle shift counts greater
than the word size when operating in Modify_Tree_For_C mode.
* sinfo.ads: Add documentation section on Modify_Tree_For_C mode.
2014-02-06 Robert Dewar <dewar@adacore.com>
* erroutc.adb (Warning_Specifically_Suppressed.Matches):
compare is case insensitive.
* gnat_rm.texi: Document that string compare for Warnings Off
is now case insensitive.
From-SVN: r207546
Arnaud Charlet [Thu, 6 Feb 2014 10:19:06 +0000 (11:19 +0100)]
[multiple changes]
2014-02-06 Eric Botcazou <ebotcazou@adacore.com>
* gnat_rm.texi: Small wording tweak.
2014-02-06 Pascal Obry <obry@adacore.com>
* prj-attr.adb, projects.texi, snames.ads-tmpl: Add Included_Patterns
and Included_Artifact_Patterns attribute definitions.
2014-02-06 Yannick Moy <moy@adacore.com>
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Set
SPARK_Mode pragma component for all subprograms, including stubs.
2014-02-06 Hristian Kirtchev <kirtchev@adacore.com>
* sem_ch10.adb (Analyze_Package_Body_Stub): Maintain
the configuration options of the enclosing context in a
stack-like fasion.
(Analyze_Subprogram_Body_Stub): Maintain the
configuration options of the enclosing context in a stack-like
fashion.
2014-02-06 Robert Dewar <dewar@adacore.com>
* debug.adb: -gnatd.u sets Modify_Tree_For C
* exp_ch4.adb (Expand_N_Op_Rotate_Left): Expand out
if Modify_Tree_For_C (Expand_N_Op_Rotate_Right): ditto.
(Expand_N_Op_Arithmetic_Right_Shift): ditto.
* exp_intr.adb (Expand_Shift): Call expander so we do
Modify_Tree_For_C expansions.
* gnat1drv.adb (Adjust_Global_Switches): Set Modify_Tree_For_C
if -gnatd.u set.
2014-02-06 Fedor Rybin <frybin@adacore.com>
* prj-proc.ads (Tree_Loaded_Callback): new type Callback used
after the phase 1 of the processing of each aggregated project
to get access to project trees of aggregated projects.
(Process_Project_Tree_Phase_1): new parameter On_New_Tree_Loaded
If specified, On_New_Tree_Loaded is called after each aggregated
project has been processed succesfully.
(Process): new parameter On_New_Tree_Loaded.
* prj-proc.adb (Process_Aggregated_Projects): On_New_Tree_Loaded
callback added after processing of each aggregated project.
(Recursive_Process): new parameter On_New_Tree_Loaded.
(Process): new parameter On_New_Tree_Loaded.
(Process_Project_Tree_Phase_1): new parameter On_New_Tree_Loaded.
* prj-conf.ads (Parse_Project_And_Apply_Config): new parameter
On_New_Tree_Loaded.
* prj-conf.adb (Parse_Project_And_Apply_Config): new parameter
On_New_Tree_Loaded.
2014-02-06 Bob Duff <duff@adacore.com>
* gnat_ugn.texi: Implement --insert-blank-lines and
--preserve-blank-lines switches.
From-SVN: r207545
Marcus Shawcroft [Thu, 6 Feb 2014 10:17:18 +0000 (10:17 +0000)]
[AArch64] Fix SYMBOL_REF symbol classification.
The symbol classification logic in correctly classifies all
SYMBOL_REF's as SYMBOL_FORCE_TO_MEM, the intention of the code is to
catch only the large memory model case.
From-SVN: r207544
Arnaud Charlet [Thu, 6 Feb 2014 10:13:42 +0000 (11:13 +0100)]
2014-02-06 Sergey Rybin <rybin@adacore.com frybin>
* gnat_ugn.texi, vms_data.ads: Add documentation of -j option for
gnatelim.
2014-02-06 Eric Botcazou <ebotcazou@adacore.com>
* gnat_rm.texi (Pragma Optimize_Alignment): Document the effect
of the pragma on individual objects.
2014-02-06 Hristian Kirtchev <kirtchev@adacore.com>
* einfo.adb Node29 is now used as BIP_Initialization_Call.
(BIP_Initialization_Call): New routine.
(Set_BIP_Initialization_Call): New routine.
(Write_Field29_Name): Add an entry for constants and variables.
* einfo.ads Add new attribute BIP_Initialization_Call and update
its usage in nodes.
(BIP_Initialization_Call): New routine along with pragma Inline.
(Set_BIP_Initialization_Call): New routine along with pragma Inline.
* exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration):
Add local declaration Res_Decl. Capture the build-in-place
initialization call when the related object declaration has
created a transient block.
* exp_ch7.adb (Process_Transient_Objects): Add local variable
Fin_Insrt. Recognize a scenario where an object declaration acts
as a transient context and is initialized by a build-in-place
function call.
From-SVN: r207543
Arnaud Charlet [Thu, 6 Feb 2014 10:11:07 +0000 (11:11 +0100)]
[multiple changes]
2014-02-06 Pascal Obry <obry@adacore.com>
* prj-util.adb (For_Interface_Sources): Fix handling of required
bodies for aggregate libs.
2014-02-06 Robert Dewar <dewar@adacore.com>
* nlists.ads: Minor comment clarifications.
2014-02-06 Robert Dewar <dewar@adacore.com>
* gnat1drv.adb (Adjust_Global_Switches): Set Modify_Tree_For_C
if gnatd.V set.
* opt.ads (Modify_Tree_For_C): New flag.
* output.ads, output.adb (Last_Char): New function.
2014-02-06 Pascal Obry <obry@adacore.com>
* projects.texi, prj-env.adb (Initialize_Default_Project_Path): Add
share/gpr for cross-builds.
From-SVN: r207542
Ian Bolton [Thu, 6 Feb 2014 10:10:41 +0000 (10:10 +0000)]
Fix pr59597.c test to work with PIC variants too
From-SVN: r207541
Robert Dewar [Thu, 6 Feb 2014 10:08:16 +0000 (10:08 +0000)]
exp_util.ads, [...]: Minor reformatting and code clean ups.
2014-02-06 Robert Dewar <dewar@adacore.com>
* exp_util.ads, checks.adb, sem_prag.adb, prj-util.adb, sem_ch13.adb:
Minor reformatting and code clean ups.
From-SVN: r207540
Kyrylo Tkachov [Thu, 6 Feb 2014 10:08:12 +0000 (10:08 +0000)]
aarch64-cores.def (cortex-a53): Specify CRC32 and crypto support.
2014-02-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* config/aarch64/aarch64-cores.def (cortex-a53): Specify CRC32
and crypto support.
(cortex-a57): Likewise.
(cortex-a57.cortex-a53): Likewise.
From-SVN: r207539
Pascal Obry [Thu, 6 Feb 2014 10:06:38 +0000 (10:06 +0000)]
prj-util.adb (For_Interface_Sources): Skip non compilable languages.
2014-02-06 Pascal Obry <obry@adacore.com>
* prj-util.adb (For_Interface_Sources): Skip non compilable languages.
* prj.ads: Minor typo fix in comment.
From-SVN: r207538
Arnaud Charlet [Thu, 6 Feb 2014 10:04:39 +0000 (11:04 +0100)]
[multiple changes]
2014-02-06 Hristian Kirtchev <kirtchev@adacore.com>
* sem_prag.adb (Analyze_Depends_In_Decl_Part): Add
local variable Expr. Flag clauses with extra parenthesis as this
is not allowed by the syntax of the pragma. Code reformatting.
2014-02-06 Hristian Kirtchev <kirtchev@adacore.com>
* exp_attr.adb (Expand_N_Attribute_Reference): Alphabetize
variables. Rename variabme Tnn to Temp. Do not create a temporary
if assertions are disabled. Find enclosing routine _Postconditions
and insert the temporary that captures the value of the prefix
before the routine.
* exp_ch6.adb (Build_Postconditions_Procedure):
Insert the generated _Postconditions routine
before the first source declaration of the related
subprogram.
(Insert_After_Last_Declaration): Removed.
(Insert_Before_First_Source_Declaration): New routine.
2014-02-06 Ed Schonberg <schonberg@adacore.com>
* exp_util.adb, exp_util.ads (Within_Internal_Subprogram):
Utility to determine whether current expansion is for the body
of a predefined primitive operation.
(Make_Predicate_Check): Use Within_Internal_Subpgram
* checks.adb (Apply_Predicate_Check): Use
Within_Internal_Subprogram
* sem_ch13.adb (Freeze_Entity_Checks): Ditto.
2014-02-06 Pascal Obry <obry@adacore.com>
* prj.ads, prj-util.adb: Minor reformatting.
From-SVN: r207537
Arnaud Charlet [Thu, 6 Feb 2014 09:58:37 +0000 (10:58 +0100)]
[multiple changes]
2014-02-06 Ed Schonberg <schonberg@adacore.com>
* exp_ch6.adb (Expand_Subprogram_Contract, Append_Enabled_Item):
Take into account the Split_PPC flag to ensure that conjuncts
in a composite postcondition aspect are tested in source order.
2014-02-06 Hristian Kirtchev <kirtchev@adacore.com>
* sem_ch6.adb (Analyze_Generic_Subprogram_Body): Flag illegal
use of SPARK_Mode.
* sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): Flag
illegal use of SPARK_Mode.
(Instantiate_Subprogram_Body): Flag illegal use of SPARK_Mode.
* sem_prag.adb (Analyze_Pragma): Code reformatting.
* sem_util.adb Add with and use clause for Aspects.
(Check_SPARK_Mode_In_Generic): New routine.
* sem_util.ads (Check_SPARK_Mode_In_Generic): New routine.
2014-02-06 Thomas Quinot <quinot@adacore.com>
* a-calend.adb (Formatting_Operations.Split): Ensure that
Time_Error is raised for invalid time values.
From-SVN: r207536
Arnaud Charlet [Thu, 6 Feb 2014 09:56:29 +0000 (10:56 +0100)]
[multiple changes]
2014-02-06 Arnaud Charlet <charlet@adacore.com>
* sem_prag.adb (Analyze_Pragma): Rewrite as a null statement
in GNATprove_Mode.
2014-02-06 Robert Dewar <dewar@adacore.com>
* einfo.ads, einfo.adb (Is_Discriminant_Check_Function): New flag.
* exp_ch3.adb (Build_Dcheck_Function): Set
Is_Discriminant_Check_Function.
2014-02-06 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch7.adb (Is_Subprogram_Call): Inspect
the original tree in certain cases where a construct has been
factored out and replaced by a reference to a temporary.
2014-02-06 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Process_Full_View): Fix typo in the order of
parameters when propagating predicate function to full view.
(Find_Type_Of_Object): Freeze base type of object type to catch
premature use of discriminated private type without a full view.
From-SVN: r207535
Arnaud Charlet [Thu, 6 Feb 2014 09:53:00 +0000 (10:53 +0100)]
[multiple changes]
2014-02-06 Robert Dewar <dewar@adacore.com>
* sprint.adb: Minor reformatting.
2014-02-06 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch4.adb (Process_Transient_Object): Add local variable
Temp_Ins. When the transient object is initialized by an
aggregate, the hook must capture the object after the last
component assignment takes place.
* exp_ch7.adb (Detect_Subprogram_Call): Expose the subprogram to
routine Is_Subprogram_Call.
(Is_Subprogram_Call): Inspect an
aggregate that has been heavily expanded for subprogram calls.
(Process_Transient_Objects): Add local variables Expr, Ptr_Id
and Temp_Ins. Remove the nested declare block and adjust the
indentation. When the transient object is initialized by an
aggregate, the hook must capture the object after the last
component assignment takes place.
2014-02-06 Hristian Kirtchev <kirtchev@adacore.com>
* sem_prag.adb (Analyze_Global_Item): Detect illegal uses of
external states with enabled properties that do not match the
global mode.
(Property_Error): New routine.
* sem_res.adb (Property_Error): New routine.
(Resolve_Actuals): Detect illegal uses of external variables with
enabled properties in procedure calls that do not match the mode of
the corresponding formal parameter.
2014-02-06 Hristian Kirtchev <kirtchev@adacore.com>
* sem_util.adb (Has_Enabled_Property): Rename
formal parameter Prop_Nam to Property. Update the comment on usage
and all occurrences in the body. Add local variable Prop_Nam. When
inspecting a property with an expression, the property name
appears as the first choice of the component association.
From-SVN: r207534
Yury Gribov [Thu, 6 Feb 2014 09:48:15 +0000 (09:48 +0000)]
arm.c (arm_vector_alignment_reachable): Check unaligned_access.
2014-02-06 Yury Gribov <y.gribov@samsung.com>
Kugan Vivekanandarajah <kuganv@linaro.org>
gcc/
* config/arm/arm.c (arm_vector_alignment_reachable): Check
unaligned_access.
* config/arm/arm.c (arm_builtin_support_vector_misalignment): Likewise.
testsuite/
* gcc.target/arm/vect-noalign.c: New file.
Co-Authored-By: Kugan Vivekanandarajah <kuganv@linaro.org>
From-SVN: r207533
Richard Biener [Thu, 6 Feb 2014 09:41:44 +0000 (09:41 +0000)]
tree-cfg.c (gimple_duplicate_sese_region): Fix ordering of set_loop_copy and initialize_original_copy_tables.
2014-02-06 Richard Biener <rguenther@suse.de>
* tree-cfg.c (gimple_duplicate_sese_region): Fix ordering of
set_loop_copy and initialize_original_copy_tables.
From-SVN: r207532
Alex Velenko [Thu, 6 Feb 2014 09:27:57 +0000 (09:27 +0000)]
[AArch64] Shift right pattern fix
gcc/
* config/aarch64/aarch64-simd.md
(aarch64_ashr_simddi): Change QI to SI.
From-SVN: r207531
Jan Hubicka [Thu, 6 Feb 2014 07:39:24 +0000 (08:39 +0100)]
re PR middle-end/60013 (Build of 176.gcc from CPU2000 loops in cc1 starting with r207231)
PR middle-end/60013
* ipa-inline-analysis.c (compute_bb_predicates): Ensure monotonicity
of the dataflow.
* gcc.dg/pr60013.c: New testcase.
Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r207529
GCC Administrator [Thu, 6 Feb 2014 00:16:40 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r207528
Bill Schmidt [Wed, 5 Feb 2014 23:54:57 +0000 (23:54 +0000)]
rs6000.c (altivec_expand_vec_perm_const): Change CODE_FOR_altivec_vpku[hw]um to CODE_FOR_altivec_vpku[hw]um_direct.
2014-02-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* config/rs6000/rs6000.c (altivec_expand_vec_perm_const): Change
CODE_FOR_altivec_vpku[hw]um to
CODE_FOR_altivec_vpku[hw]um_direct.
* config/rs6000/altivec.md (vec_unpacks_hi_<VP_small_lc>): Change
UNSPEC_VUNPACK_HI_SIGN to UNSPEC_VUNPACK_HI_SIGN_DIRECT.
(vec_unpacks_lo_<VP_small_lc>): Change UNSPEC_VUNPACK_LO_SIGN to
UNSPEC_VUNPACK_LO_SIGN_DIRECT.
From-SVN: r207525
Marek Polacek [Wed, 5 Feb 2014 21:06:56 +0000 (21:06 +0000)]
re PR c/53123 (Double return statement in c-omp.c source file)
PR c/53123
c-family/
* c-omp.c (c_finish_omp_atomic): Remove unreachable return
statement.
From-SVN: r207524
Jan Hubicka [Wed, 5 Feb 2014 20:42:37 +0000 (20:42 +0000)]
* gimple-fold.c (can_refer_decl_in_current_unit_p): Default visibility is safe.
From-SVN: r207523
Bill Schmidt [Wed, 5 Feb 2014 20:15:57 +0000 (20:15 +0000)]
altivec.md (altivec_vsum2sws): Adjust code generation for -maltivec=be.
gcc:
2014-02-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* config/rs6000/altivec.md (altivec_vsum2sws): Adjust code
generation for -maltivec=be.
(altivec_vsumsws): Simplify redundant test.
gcc/testsuite:
2014-02-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gcc.dg/vmx/sum2s.c: New.
* gcc.dg/vmx/sum2s-be-order.c: New.
From-SVN: r207521
Bill Schmidt [Wed, 5 Feb 2014 20:07:51 +0000 (20:07 +0000)]
altivec.md (UNSPEC_VPACK_UNS_UNS_MOD_DIRECT): New unspec.
gcc:
2014-02-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* altivec.md (UNSPEC_VPACK_UNS_UNS_MOD_DIRECT): New unspec.
(UNSPEC_VUNPACK_HI_SIGN_DIRECT): Likewise.
(UNSPEC_VUNPACK_LO_SIGN_DIRECT): Likewise.
(mulv8hi3): Use gen_altivec_vpkuwum_direct instead of
gen_altivec_vpkuwum.
(altivec_vpkpx): Test for VECTOR_ELT_ORDER_BIG instead of for
BYTES_BIG_ENDIAN.
(altivec_vpks<VI_char>ss): Likewise.
(altivec_vpks<VI_char>us): Likewise.
(altivec_vpku<VI_char>us): Likewise.
(altivec_vpku<VI_char>um): Likewise.
(altivec_vpku<VI_char>um_direct): New (copy of
altivec_vpku<VI_char>um that still relies on BYTES_BIG_ENDIAN, for
internal use).
(altivec_vupkhs<VU_char>): Emit vupkls* instead of vupkhs* when
target is little endian and -maltivec=be is not specified.
(*altivec_vupkhs<VU_char>_direct): New (copy of
altivec_vupkhs<VU_char> that always emits vupkhs*, for internal
use).
(altivec_vupkls<VU_char>): Emit vupkhs* instead of vupkls* when
target is little endian and -maltivec=be is not specified.
(*altivec_vupkls<VU_char>_direct): New (copy of
altivec_vupkls<VU_char> that always emits vupkls*, for internal
use).
(altivec_vupkhpx): Emit vupklpx instead of vupkhpx when target is
little endian and -maltivec=be is not specified.
(altivec_vupklpx): Emit vupkhpx instead of vupklpx when target is
little endian and -maltivec=be is not specified.
gcc/testsuite:
2014-02-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gcc.dg/vmx/pack.c: New.
* gcc.dg/vmx/pack-be-order.c: New.
* gcc.dg/vmx/unpack.c: New.
* gcc.dg/vmx/unpack-be-order.c: New.
From-SVN: r207520
Balaji V. Iyer [Wed, 5 Feb 2014 19:46:33 +0000 (11:46 -0800)]
catch_exc.cc: Disable test for -O1.
2014-02-05 Balaji V. Iyer <balaji.v.iyer@intel.com>
* g++.dg/cilk-plus/CK/catch_exc.cc: Disable test for -O1.
* c-c++-common/cilk-plus/CK/spawner_inline.c: Likewise.
From-SVN: r207519
Richard Henderson [Wed, 5 Feb 2014 18:42:19 +0000 (10:42 -0800)]
re PR debug/52727 (internal compiler error at dwarf2cfi.c2:685)
PR debug/52727
* combine-stack-adj.c: Revert r206943.
* sched-int.h (struct deps_desc): Add last_args_size.
* sched-deps.c (init_deps): Initialize it.
(sched_analyze_insn): Add OUTPUT dependencies between insns that
contain REG_ARGS_SIZE notes.
From-SVN: r207518
Jan Hubicka [Wed, 5 Feb 2014 17:22:08 +0000 (17:22 +0000)]
lto-cgraph.c (asm_nodes_output): Make global.
* lto-cgraph.c (asm_nodes_output): Make global.
* lto-wrapper.c (run_gcc): Pass down paralelizm to WPA.
* gcc.c (AS_NEEDS_DASH_FOR_PIPED_INPUT): Allow WPA
parameter
(driver_handle_option): Handle OPT_fwpa.
From-SVN: r207516
Jan Hubicka [Wed, 5 Feb 2014 17:21:07 +0000 (18:21 +0100)]
lto-cgraph.c (asm_nodes_output): Make global.
* lto-cgraph.c (asm_nodes_output): Make global.
* lto-wrapper.c (run_gcc): Pass down paralelizm to WPA.
* gcc.c (AS_NEEDS_DASH_FOR_PIPED_INPUT): Allow WPA
parameter
(driver_handle_option): Handle OPT_fwpa.
* lto.c (lto_parallelism): New static var.
(do_stream_out, wait_for_child, stream_out): New static functions.
(lto_wpa_write_files): Add support for parallel streaming.
(do_whole_program_analysis): Set parallelism.
* lang.opt (fwpa): Add parameter.
* lto-lang.c (lto_handle_option): Handle flag_wpa.
(lto_init): Update use of flag_wpa.
* lto-streamer.h (asm_nodes_output): Declare.
From-SVN: r207515
Rainer Orth [Wed, 5 Feb 2014 16:36:13 +0000 (16:36 +0000)]
Fix gcc.target/i386/avx512f-vrndscaless-2.c on Solaris 9/x86
* gcc.target/i386/avx512f-vrndscaless-2.c (compute_rndscaless):
Use __builtin_floorf, __builtin_ceilf.
* gcc.target/i386/sse4_1-floorf-sfix-vec.c (floorf): Remove
declaration.
(TEST): Use __builtin_floorf.
* gcc.target/i386/sse4_1-floorf-vec.c: Likewise.
From-SVN: r207514
Jakub Jelinek [Wed, 5 Feb 2014 15:34:25 +0000 (16:34 +0100)]
re PR ipa/59947 (Segmentation fault with #pragma GCC optimize ("O2"), ICE in get_odr_type)
PR ipa/59947
* ipa-devirt.c (possible_polymorphic_call_targets): Fix
a comment typo and formatting issue. If odr_hash hasn't been
created, return vNULL and set *completep to false.
* g++.dg/opt/pr59947.C: New test.
From-SVN: r207512
Jakub Jelinek [Wed, 5 Feb 2014 15:32:01 +0000 (16:32 +0100)]
re PR c++/58703 (ICE with invalid types in OpenMP declare reduction clause)
PR c++/58703
* parser.c (cp_parser_omp_declare_reduction): Save and free
declarator_obstack.
* c-c++-common/gomp/pr58703.c: New test.
From-SVN: r207511
Richard Biener [Wed, 5 Feb 2014 15:23:36 +0000 (15:23 +0000)]
lto.h (lto_global_var_decls): Remove.
2014-02-05 Richard Biener <rguenther@suse.de>
lto/
* lto.h (lto_global_var_decls): Remove.
* lto-lang.c (lto_init): Do not allocate lto_global_var_decls.
(lto_write_globals): Do nothing in WPA stage, gather globals from
the varpool here ...
* lto.c (lto_main): ... not here.
(materialize_cgraph): Do not call rest_of_decl_compilation
on the empty lto_global_var_decls vector.
(lto_global_var_decls): Remove.
From-SVN: r207510
Richard Biener [Wed, 5 Feb 2014 15:14:56 +0000 (15:14 +0000)]
re PR target/60076 (gcc.dg/vect/pr60012.c FAILs on Solaris/SPARC)
2014-02-05 Richard Biener <rguenther@suse.de>
PR testsuite/60076
* gcc.dg/vect/pr60012.c: Require vect_extract_even_odd and
avoid using unsigned long long.
From-SVN: r207509
Andreas Krebbel [Wed, 5 Feb 2014 15:02:50 +0000 (15:02 +0000)]
config.host: Include t-floattodi also for s390x.
2014-02-05 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* config.host: Include t-floattodi also for s390x.
* config/s390/32/_fixdfdi.c: Omit in 64 bit mode.
* config/s390/32/_fixsfdi.c: Likewise.
* config/s390/32/_fixtfdi.c: Likewise.
* config/s390/32/_fixunsdfdi.c: Likewise.
* config/s390/32/_fixunssfdi.c: Likewise.
* config/s390/32/_fixunstfdi.c: Likewise.
From-SVN: r207507
Jakub Jelinek [Wed, 5 Feb 2014 14:34:30 +0000 (15:34 +0100)]
re PR middle-end/57499 (ICE when noreturn destructor returns after throw with -O)
PR middle-end/57499
* tree-eh.c (cleanup_empty_eh): Bail out on totally empty
bb with no successors.
* g++.dg/torture/pr57499.C: New test.
From-SVN: r207504
James Greenhalgh [Wed, 5 Feb 2014 11:42:50 +0000 (11:42 +0000)]
[ARM Documentation] Clarify -mcpu, -mtune, -march
gcc/
PR target/59718
* doc/invoke.texi (-march=): Clarify documentation for ARM.
(-mtune=): Likewise.
(-mcpu=): Likewise.
From-SVN: r207501
Richard Biener [Wed, 5 Feb 2014 10:28:26 +0000 (10:28 +0000)]
tree-vect-loop.c (vect_analyze_loop_2): Be more informative when not vectorizing because of too many alias checks.
2014-02-05 Richard Biener <rguenther@suse.de>
* tree-vect-loop.c (vect_analyze_loop_2): Be more informative
when not vectorizing because of too many alias checks.
* tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
Add more verboseness, avoid duplicate MSG_MISSED_OPTIMIZATION.
From-SVN: r207499
Nick Clifton [Wed, 5 Feb 2014 09:47:59 +0000 (09:47 +0000)]
mn10300.c (mn10300_hard_regno_mode_ok): Do not accept extended registers in any mode when compiling for the MN10300.
* config/mn10300/mn10300.c (mn10300_hard_regno_mode_ok): Do not
accept extended registers in any mode when compiling for the
MN10300.
From-SVN: r207498
Yury Gribov [Wed, 5 Feb 2014 05:22:29 +0000 (05:22 +0000)]
re PR sanitizer/59600 (no_sanitize_address mishandled when function is inlined)
PR sanitizer/59600
gcc/
* cif-code.def (ATTRIBUTE_MISMATCH): New CIF code.
* ipa-inline.c (report_inline_failed_reason): Handle mismatched
sanitization attributes.
(can_inline_edge_p): Likewise.
(sanitize_attrs_match_for_inline_p): New function.
gcc/testsuite/
* gcc.dg/asan/nosanitize-and-inline.c: : New test.
From-SVN: r207497
Jan Hubicka [Wed, 5 Feb 2014 00:52:53 +0000 (01:52 +0100)]
ipa-prop.c (detect_type_change): Shor circuit testing of type changes on THIS pointer.
* ipa-prop.c (detect_type_change): Shor circuit testing of
type changes on THIS pointer.
* g++.dg/ipa/devirrt-22.C: Fix template.
From-SVN: r207495
John David Anglin [Wed, 5 Feb 2014 00:43:56 +0000 (00:43 +0000)]
re PR target/59777 (Incorrect expansion of TLS arguments in a call)
PR target/59777
* config/pa/pa.c (legitimize_tls_address): Return original address
if not passed a SYMBOL_REF rtx.
(hppa_legitimize_address): Call legitimize_tls_address for all TLS
addresses.
(pa_emit_move_sequence): Simplify TLS source operands.
(pa_legitimate_constant_p): Reject all TLS constants.
* config/pa/pa.h (PA_SYMBOL_REF_TLS_P): Correct comment.
(CONSTANT_ADDRESS_P): Reject TLS CONST addresses.
From-SVN: r207493
GCC Administrator [Wed, 5 Feb 2014 00:17:03 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r207492
Jan Hubicka [Tue, 4 Feb 2014 23:26:36 +0000 (00:26 +0100)]
ipa.c (function_and_variable_visibility): Decompose DECL_ONE_ONLY groups when we know they are controlled by LTO.
* ipa.c (function_and_variable_visibility): Decompose DECL_ONE_ONLY
groups when we know they are controlled by LTO.
* varasm.c (default_binds_local_p_1): If object is in other partition,
it will be resolved locally.
* lto-partition.c (get_symbol_class): Only unforced DECL_ONE_ONLY
needs duplicating, not generic COMDAT.
From-SVN: r207489
Bernd Edlinger [Tue, 4 Feb 2014 21:08:29 +0000 (21:08 +0000)]
host-linux.c (linux_gt_pch_use_address): Don't use SSIZE_MAX because it is not always defined.
2014-02-04 Bernd Edlinger <bernd.edlinger@hotmail.de>
* gcc/config/host-linux.c (linux_gt_pch_use_address): Don't
use SSIZE_MAX because it is not always defined.
From-SVN: r207488
Vladimir Makarov [Tue, 4 Feb 2014 18:56:59 +0000 (18:56 +0000)]
re PR bootstrap/59913 ([4.9 Regresion] bootstrap failure on arm-linux-gnueabihf)
2014-02-04 Vladimir Makarov <vmakarov@redhat.com>
PR bootstrap/59913
* lra-constraints.c (need_for_split_p): Use more 3 reloads as
threshold for pseudo splitting.
(update_ebb_live_info): Process call argument hard registers and
hard registers from insn definition too.
(max_small_class_regs_num): New constant.
(inherit_in_ebb): Update live hard regs through EBBs. Update
reloads_num only for small register classes. Don't split for
outputs of jumps.
From-SVN: r207485
Marek Polacek [Tue, 4 Feb 2014 18:05:29 +0000 (18:05 +0000)]
re PR c/60036 (Spurious signedness conversion warning with relational operator)
PR c/60036
c-family/
* c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
SAVE_EXPR.
testsuite/
* gcc.dg/pr60036.c: New test.
From-SVN: r207481
Markus Trippelsdorf [Tue, 4 Feb 2014 17:25:38 +0000 (17:25 +0000)]
re PR ipa/60058 (internal compiler error: Segmentation fault)
PR ipa/60058
* ipa-cp.c (ipa_get_indirect_edge_target_1): Check that target
is non-null.
* g++.dg/torture/pr60058.C: New testcase.
From-SVN: r207478
Jan Hubicka [Tue, 4 Feb 2014 17:16:09 +0000 (17:16 +0000)]
* gimple-fold.c (can_refer_decl_in_current_unit_p): Default visibility is safe.
From-SVN: r207477
Marek Polacek [Tue, 4 Feb 2014 15:34:24 +0000 (15:34 +0000)]
* gdbinit.in (pel): Define.
From-SVN: r207474
Bernd Edlinger [Tue, 4 Feb 2014 15:18:34 +0000 (15:18 +0000)]
invoke.texi (fstrict-volatile-bitfields): Clarify current behavior.
2014-02-04 Bernd Edlinger <bernd.edlinger@hotmail.de>
* doc/invoke.texi (fstrict-volatile-bitfields): Clarify current
behavior.
From-SVN: r207473
Max Ostapenko [Tue, 4 Feb 2014 15:03:41 +0000 (17:03 +0200)]
* g++.dg/tsan/default_options.C: Invert check.
From-SVN: r207472
Richard Biener [Tue, 4 Feb 2014 14:53:24 +0000 (14:53 +0000)]
re PR lto/59723 (ICE: in lto_output_tree, at lto-streamer-out.c:1390 when compiling some Fortran tests with -flto)
2014-02-04 Richard Biener <rguenther@suse.de>
PR lto/59723
* lto-streamer-out.c (tree_is_indexable): Force NAMELIST_DECLs
in function context local.
(lto_output_tree_ref): Do not write trees from lto_output_tree_ref.
* lto-streamer-in.c (lto_input_tree_ref): Handle LTO_namelist_decl_ref
similar to LTO_imported_decl_ref.
lto/
* lto.c (mentions_vars_p): Handle NAMELIST_DECL.
(lto_fixup_prevailing_decls): Handle fixing up CONSTRUCTOR values.
From-SVN: r207471
Robert Dewar [Tue, 4 Feb 2014 14:52:05 +0000 (14:52 +0000)]
exp_ch5.adb, [...]: Minor reformatting.
2014-02-04 Robert Dewar <dewar@adacore.com>
* exp_ch5.adb, einfo.ads, freeze.adb, sem_ch8.adb: Minor reformatting.
From-SVN: r207470
Arnaud Charlet [Tue, 4 Feb 2014 14:49:39 +0000 (15:49 +0100)]
[multiple changes]
2014-02-04 Gary Dismukes <dismukes@adacore.com>
* sem_aggr.adb: Change "runtime" to "run time" in warning message,
for consistency with other messages.
2014-02-04 Ed Schonberg <schonberg@adacore.com>
* exp_ch5.adb (Expand_Iterator_Loop): For a container element
iterator, indicate that the element is a constant if the container
type does not have a variable indexing aspect.
* sem_ch8.adb (Analyze_Object_Renaming): If the entity is already
marked as constant, do not reset its Ekind, to ensure that
container elements in an element loop are not modified if the
container (e.g. a hashed set) only has a constant indexing aspect.
2014-02-04 Arnaud Charlet <charlet@adacore.com>
* g-souinf.ads: Subprograms in this unit are actually not pure.
* freeze.adb (Freeze_Subprogram): Do not reset Is_Pure for Intrinsics.
* einfo.ads (Is_Pure): Update doc to match implementation.
From-SVN: r207469
Arnaud Charlet [Tue, 4 Feb 2014 14:32:37 +0000 (15:32 +0100)]
[multiple changes]
2014-02-04 Gary Dismukes <dismukes@adacore.com>
* exp_ch13.adb: Minor spelling fix.
2014-02-04 Robert Dewar <dewar@adacore.com>
* opt.ads: Minor comment update.
2014-02-04 Robert Dewar <dewar@adacore.com>
* exp_ch4.adb (Expand_N_Expression_With_Actions): Use Rewrite
instead of Replace.
2014-02-04 Ed Schonberg <schonberg@adacore.com>
* sem_aggr.adb (Resolve_Array_Aggregate): Suppress warnings
on null expressions if component type is non-null, when the
corresponding association covers an empty range of index values.
From-SVN: r207468
Arnaud Charlet [Tue, 4 Feb 2014 14:28:24 +0000 (15:28 +0100)]
[multiple changes]
2014-02-04 Robert Dewar <dewar@adacore.com>
* sinfo.ads: Further comments on N_Expression_With_Actions node.
2014-02-04 Hristian Kirtchev <kirtchev@adacore.com>
* sem_prag.adb (Analyze_Refined_Depends_In_Decl_Part): Remove global
variables Out_Items and Ref_Global. Remove local constant
Body_Id along with dummy variables D1, D2, D3, D4, D5, D6, D7
and D8. Remove the useless collection of global items as this
was a leftover from an earlier version of the routine. Move
several routines out to avoid deep nesting and indentation.
(Inputs_Match): Add formal parameter Dep_Clause. Rename formal
parameter Do_Checks to Post_Errors. Update the comment on usage.
(Is_Matching_Input): Renamed to Input_Match. Add formal parameters
Ref_Inputs and Do_Checks. Rename formal parameter Do_Checks
to Post_Errors. Update the comment on usage. Account for the
case where a self referential state may have a null input_list.
(Is_Self_Referential): New routine.
2014-02-04 Ed Schonberg <schonberg@adacore.com>
* sem_ch13.adb (Analyze_Attribute_Definition_Clause): If the
entity renames an expression, as in the case of an object of
an unconstrained type initialized by a function call, defer the
rewriting of the expression to the expander.
* exp_ch13.adb (Expand_N_Attribute_Definition_Clause, case
'Alignment): If the entity renames an expression, introduce
temporary to capture value, and rewrite original declaration to
use temporary.
From-SVN: r207467
Arnaud Charlet [Tue, 4 Feb 2014 14:25:46 +0000 (15:25 +0100)]
[multiple changes]
2014-02-04 Gary Dismukes <dismukes@adacore.com>
* g-comlin.adb: Minor typo fix.
2014-02-04 Ed Schonberg <schonberg@adacore.com>
* freeze.adb (Freeze_All): Types derived from a formal
access_to_classwide type do not have a finalization master.
2014-02-04 Robert Dewar <dewar@adacore.com>
* sprint.adb: Minor reformatting.
2014-02-04 Robert Dewar <dewar@adacore.com>
* exp_ch4.adb (Expand_N_Expression_With_Actions): Eliminate
cases where Actions is a null list.
* sinfo.ads (N_Expression_With_Actions): Actions can be
temporarily empty during semantic analysis, but must be non-empty
in the final expanded tree.
From-SVN: r207466
Jakub Jelinek [Tue, 4 Feb 2014 13:38:13 +0000 (14:38 +0100)]
re PR tree-optimization/60002 (ICE: SIGSEGV in skip_artificial_parms_for() with -O2 -fcompare-debug -fdeclone-ctor-dtor -fipa-cp-clone)
PR tree-optimization/60002
* cgraphclones.c (build_function_decl_skip_args): Clear
DECL_LANG_SPECIFIC.
* g++.dg/opt/pr60002.C: New test.
From-SVN: r207465
Jakub Jelinek [Tue, 4 Feb 2014 13:08:00 +0000 (14:08 +0100)]
re PR tree-optimization/60023 (ICE: verify_gimple failed: dead STMT in EH table with -O3 -fnon-call-exceptions -mavx2)
PR tree-optimization/60023
* tree-if-conv.c (predicate_mem_writes): Pass true instead of
false to gsi_replace.
* tree-vect-stmts.c (vect_finish_stmt_generation): If stmt
has been in some EH region and vec_stmt could throw, add
vec_stmt into the same EH region.
* tree-data-ref.c (get_references_in_stmt): If IFN_MASK_LOAD
has no lhs, ignore it.
* internal-fn.c (expand_MASK_LOAD): Likewise.
* g++.dg/vect/pr60023.cc: New test.
From-SVN: r207464
Jakub Jelinek [Tue, 4 Feb 2014 13:04:37 +0000 (14:04 +0100)]
re PR ipa/60026 (ICE at -O3 on valid code (with the optimize pragma) on x86_64-linux-gnu)
PR ipa/60026
* tree-inline.c (copy_forbidden): Fail for
__attribute__((optimize (0))) functions.
* c-c++-common/torture/pr60026.c: New test.
From-SVN: r207463
Jakub Jelinek [Tue, 4 Feb 2014 12:31:30 +0000 (13:31 +0100)]
re PR other/58712 (issues found by --enable-checking=valgrind)
PR other/58712
* omp-low.c (simd_clone_struct_copy): If from->inbranch
is set, copy one less argument.
(expand_simd_clones): Don't subtract clone_info->inbranch
from simd_clone_struct_alloc argument.
From-SVN: r207462
Jakub Jelinek [Tue, 4 Feb 2014 12:19:32 +0000 (13:19 +0100)]
re PR other/58712 (issues found by --enable-checking=valgrind)
PR other/58712
* omp-low.c (simd_clone_struct_copy): If from->inbranch
is set, copy one less argument.
From-SVN: r207461
Jakub Jelinek [Tue, 4 Feb 2014 12:14:52 +0000 (13:14 +0100)]
re PR rtl-optimization/57915 (ICE in set_address_disp, at rtlanal.c:5537)
PR rtl-optimization/57915
* recog.c (simplify_while_replacing): If all unary/binary/relational
operation arguments are constant, attempt to simplify those.
* gcc.target/i386/pr57915.c: New test.
From-SVN: r207460
Jakub Jelinek [Tue, 4 Feb 2014 10:46:22 +0000 (11:46 +0100)]
re PR sanitizer/60055 (Invalid binding of __tsan_default_options)
PR sanitizer/60055
* tsan/tsan_flags.cc (__tsan_default_options): Add
SANITIZER_INTERFACE_ATTRIBUTE. Backport from upstream r200747.
* tsan/tsan_rtl.cc (__tsan::OnFinalize): Likewise.
From-SVN: r207459
Rainer Orth [Tue, 4 Feb 2014 10:22:23 +0000 (10:22 +0000)]
Fix g++.dg/init/dso_handle2.C on Solaris
* g++.dg/init/dso_handle2.C: Compile with -fuse-cxa-atexit.
From-SVN: r207458
Renlin Li [Tue, 4 Feb 2014 10:05:30 +0000 (10:05 +0000)]
* gcc.target/arm/ftest-armv7a-thumb.c: Change aramv7-a to armv7-a.
From-SVN: r207457
Jakub Jelinek [Tue, 4 Feb 2014 09:36:18 +0000 (10:36 +0100)]
re PR middle-end/59261 (FAIL: gcc.dg/vect/bb-slp-26.c -flto -ffat-lto-objects (internal compiler error))
PR middle-end/59261
* expmed.c (expand_mult): For MODE_VECTOR_INT multiplication
if there is no vashl<mode>3 or ashl<mode>3 insn, skip_synth.
* gcc.dg/pr59261.c: New test.
From-SVN: r207456
Richard Biener [Tue, 4 Feb 2014 09:34:58 +0000 (09:34 +0000)]
re PR tree-optimization/60012 (Vectorizer generates unnecessary loop versioning for alias)
2014-02-04 Richard Biener <rguenther@suse.de>
PR tree-optimization/60012
* tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Apply
TBAA disambiguation to all DDRs.
* gcc.dg/vect/pr60012.c: New testcase.
From-SVN: r207455
Rainer Orth [Tue, 4 Feb 2014 09:31:38 +0000 (09:31 +0000)]
Ensure libgcc_s unwinder is always used on 64-bit Solaris 10+/x86 (PR target/59788)
gcc:
PR target/59788
* config/sol2.h (LINK_LIBGCC_MAPFILE_SPEC): Define.
(LINK_SPEC): Use it for -shared, -shared-libgcc.
libgcc:
PR target/59788
* config/t-slibgcc-sld (libgcc-unwind.map): New target.
(install-libgcc-unwind-map-forbuild): New target.
(all): Depend on install-libgcc-unwind-map-forbuild.
(install-libgcc-unwind-map): New target.
(install): Depend on install-libgcc-unwind-map.
gcc/testsuite:
PR target/59788
* g++.dg/eh/unwind-direct.C: New test.
toplevel:
PR target/59788
* ltmain.sh (opt_duplicate_compiler_generated_deps): Enable on
*solaris2*.
From-SVN: r207454
Uros Bizjak [Tue, 4 Feb 2014 09:08:38 +0000 (10:08 +0100)]
tsan-dg.exp (tsan_init): Set trivial testcase timeout value to 20s.
* lib/tsan-dg.exp (tsan_init): Set trivial testcase
timeout value to 20s.
From-SVN: r207453
Jakub Jelinek [Tue, 4 Feb 2014 07:37:44 +0000 (08:37 +0100)]
re PR sanitizer/60038 (AddressSanitizer CHECK failed ... "((*tls_addr + *tls_size)) <= ((*stk_addr + *stk_size))" on CentOS 5.10)
PR sanitizer/60038
* sanitizer_common/sanitizer_linux_libcdep.cc: Include
sanitizer_atomic.h and unistd.h.
(kThreadDescriptorSize): Made static, remove initializer and const,
change type to atomic_uintptr_t.
(ThreadDescriptorSize): Use confstr(_CS_GNU_LIBC_VERSION, ...) to
query glibc version, compute kThreadDescriptorSize depending on
glibc version minor number.
(GetThreadStackAndTls): Use ThreadDescriptorSize() instead of
kThreadDescriptorSize directly.
From-SVN: r207452
Jan Hubicka [Tue, 4 Feb 2014 06:28:22 +0000 (07:28 +0100)]
re PR ipa/59882 (internal compiler error: Segmentation fault)
PR ipa/59882
* tree.c (get_binfo_at_offset): Do not get confused by empty classes;
* g++.dg/torture/pr59882.C: New testcase
From-SVN: r207451
Jan Hubicka [Tue, 4 Feb 2014 06:04:32 +0000 (07:04 +0100)]
gimple-fold.c (gimple_extract_devirt_binfo_from_cst): Remove.
* gimple-fold.c (gimple_extract_devirt_binfo_from_cst): Remove.
* gimple-fold.h (gimple_extract_devirt_binfo_from_cst): Remove.
From-SVN: r207450
Jan Hubicka [Tue, 4 Feb 2014 05:50:18 +0000 (06:50 +0100)]
re PR ipa/59469 (LLVM build failure with gcc LTO)
PR ipa/59469
* lto-symtab.c (lto_cgraph_replace_node, lto_varpool_replace_node):
merge force_output and forced_by_abi flags.
From-SVN: r207449
Jan Hubicka [Tue, 4 Feb 2014 05:40:21 +0000 (06:40 +0100)]
ipa-cp.c (ipa_get_indirect_edge_target_1): Do direct lookup via vtable pointer...
* ipa-cp.c (ipa_get_indirect_edge_target_1): Do direct
lookup via vtable pointer; check for type consistency
and turn inconsitent facts into UNREACHABLE.
* ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
* gimple-fold.c (gimple_get_virt_method_for_vtable):
Do not ICE on type inconsistent querries; return UNREACHABLE
instead.
* testsuite/g++.dg/ipa/devirt-25.C: New testcase.
From-SVN: r207448
Jan Hubicka [Tue, 4 Feb 2014 03:42:37 +0000 (04:42 +0100)]
ipa-cp.c (ipa_get_indirect_edge_target_1): Do direct lookup via vtable pointer...
* ipa-cp.c (ipa_get_indirect_edge_target_1): Do direct
lookup via vtable pointer; check for type consistency
and turn inconsitent facts into UNREACHABLE.
* ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
* gimple-fold.c (gimple_get_virt_method_for_vtable):
Do not ICE on type inconsistent querries; return UNREACHABLE
instead.
* g++.dg/ipa/devirt-25.C: New testcase.
From-SVN: r207447
Jakub Jelinek [Tue, 4 Feb 2014 00:46:42 +0000 (01:46 +0100)]
re PR tree-optimization/59924 (uninit memory hog)
PR tree-optimization/59924
* gcc.dg/pr59924.c: New test.
From-SVN: r207446
GCC Administrator [Tue, 4 Feb 2014 00:17:15 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r207445
Richard Henderson [Mon, 3 Feb 2014 23:13:08 +0000 (15:13 -0800)]
re PR tree-optimization/59924 (uninit memory hog)
PR tree-opt/59924
* tree-ssa-uninit.c (push_to_worklist): Don't re-push if we've
already processed this node.
(normalize_one_pred_1): Pass along mark_set.
(normalize_one_pred): Create and destroy a pointer_set_t.
(normalize_one_pred_chain): Likewise.
From-SVN: r207442
Laurent Alfonsi [Mon, 3 Feb 2014 21:55:36 +0000 (14:55 -0700)]
re PR gcov-profile/58602 (.gcno files not truncated at gcov_close)
PR gcov-profile/58602
* gcc/gcov-io.c (gcov_open): Open with truncation when mode<0
From-SVN: r207441
Jan Hubicka [Mon, 3 Feb 2014 20:41:30 +0000 (21:41 +0100)]
re PR ipa/59831 (ice in cgraph_speculative_call_info with -O3)
PR ipa/59831
* g++.dg/ipa/devirt-24.C: New testcase.
* ipa-cp.c (ipa_get_indirect_edge_target_1): Give up on -fno-devirtualize;
Try to devirtualize by the knowledge of virtual table pointer given by
aggregate propagation.
* ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
ipa_print_node_jump_functions): Dump also offset that
is relevant for polymorphic calls.
(determine_known_aggregate_parts): Add arg_type parameter; use it
instead of determining the type from pointer type.
(ipa_compute_jump_functions_for_edge): Update call of
determine_known_aggregate_parts.
* gimple-fold.c (gimple_get_virt_method_for_vtable): Break out from ...
(gimple_get_virt_method_for_binfo): ... here; simplify using
vtable_pointer_value_to_vtable.
* gimple-fold.h (gimple_get_virt_method_for_vtable): Declare.
* ipa-devirt.c (subbinfo_with_vtable_at_offset): Turn OFFSET parameter
to unsigned HOST_WIDE_INT; Use vtable_pointer_value_to_vtable.
(vtable_pointer_value_to_vtable): Break out from ...; handle also
POINTER_PLUS_EXPR.
(vtable_pointer_value_to_binfo): ... here.
* ipa-utils.h (vtable_pointer_value_to_vtable): Declare.
From-SVN: r207439
Teresa Johnson [Mon, 3 Feb 2014 19:12:58 +0000 (19:12 +0000)]
tree-vect-slp.c (vect_supported_load_permutation_p): Avoid redef of outer loop index variable.
2014-02-03 Teresa Johnson <tejohnson@google.com>
* tree-vect-slp.c (vect_supported_load_permutation_p): Avoid
redef of outer loop index variable.
From-SVN: r207437
Marc Glisse [Mon, 3 Feb 2014 19:07:55 +0000 (20:07 +0100)]
re PR c++/53017 (Integer constant expression not constant enough for vector_size)
2014-02-03 Marc Glisse <marc.glisse@inria.fr>
PR c++/53017
PR c++/59211
gcc/c-family/
* c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
handle_vector_size_attribute, handle_nonnull_attribute): Call
default_conversion on the attribute argument.
(handle_nonnull_attribute): Increment the argument number.
gcc/cp/
* tree.c (handle_init_priority_attribute): Call default_conversion on
the attribute argument.
gcc/
* doc/extend.texi (Function Attributes): Typo.
gcc/testsuite/
* c-c++-common/attributes-1.c: New testcase.
* g++.dg/cpp0x/constexpr-attribute2.C: Likewise.
From-SVN: r207436