Tristan Gingold [Mon, 24 Oct 2011 10:01:42 +0000 (10:01 +0000)]
Makefile.in: Use GNU ld switches to generate map files on AIX.
2011-10-16 Tristan Gingold <gingold@adacore.com>
* gcc-interface/Makefile.in: Use GNU ld switches to generate map files
on AIX.
From-SVN: r180374
Arnaud Charlet [Mon, 24 Oct 2011 09:51:42 +0000 (11:51 +0200)]
[multiple changes]
2011-10-24 Ed Schonberg <schonberg@adacore.com>
* sem_ch12.adb (Earlier): make available globally. If both
nodes have the same sloc, the freeze node that does not come
from source is the later one.
(True_Parent): Make available globally.
(Previous_Instance): Subsidiary of
Insert_Freeze_Node_For_Instance, to check whether the generic
parent of the current instance is declared within a previous
instance in the same unit or declarative part, in which case the
freeze nodes of both instances must appear in order to prevent
elaboration problems in gigi.
* sem_ch12.adb (Insert_Freeze_Node_For_Instance): A stub is a
freeze point, and the freeze node of a preceding instantiation
must be inserted before it.
2011-10-24 Robert Dewar <dewar@adacore.com>
* checks.ads, checks.adb: Add handling of Synchronization_Check
* debug.adb: Add doc for -gnatd.d and -gnatd.e (disable/enable
atomic sync).
* exp_ch2.adb (Expand_Entity_Reference): Set Atomic_Sync_Required
flag Minor code reorganization.
* opt.ads (Warn_On_Atomic_Synchronization): New switch.
* par-prag.adb: Add dummy entries for pragma
Disable/Enable_Atomic_Synchronization.
* sem_prag.adb (Process_Suppress_Unsuppress): Handle
case of Atomic_Synchronization specially (not suppressed
by All_Checks, cannot be set from Source).
(Pragma Disable/Enable_Atomic_Synchronization): Add processing.
* sinfo.ads, sinfo.adb: Add Atomic_Sync_Required flag
* snames.ads-tmpl: Add entry for Atomic_Synchronization Add
entry for pragma Disable/Enable_Atomic_Synchronization
* switch-c.adb: The -gnatp switch does not disable
Atomic_Synchronization Add -gnatep switch to disable
Atomic_Synchronization.
* types.ads: Add entry for Synchronization_Check
* usage.adb: Add line for -gnated switch
* warnsw.adb: Settings for Warn_On_Atomic_Synchronization
From-SVN: r180373
Arnaud Charlet [Mon, 24 Oct 2011 09:41:42 +0000 (11:41 +0200)]
[multiple changes]
2011-10-24 Geert Bosch <bosch@adacore.com>
* s-gearop.adb (Back_Substitute): Avoid overflow if matrix
bounds start at Integer'First.
2011-10-24 Robert Dewar <dewar@adacore.com>
* sem_ch12.adb, s-gearop.adb: Minor reformatting
2011-10-24 Robert Dewar <dewar@adacore.com>
* warnsw.adb: Add some missing warnings to Set_GNAT_Mode_Warnings
* warnsw.ads: Add comments to Set_GNAT_Mode_Warnings
From-SVN: r180372
Georg-Johann Lay [Mon, 24 Oct 2011 09:39:09 +0000 (09:39 +0000)]
avr.c: Break long lines.
* config/avr/avr.c: Break long lines.
Define target hooks on the fly if applicable.
(TARGET_ASM_FUNCTION_RODATA_SECTION): Remove first definition
overridden later.
(targetm): Move definition to end of file.
(avr_can_eliminate): Make static on the fly.
(avr_frame_pointer_required_p): Ditto.
(avr_hard_regno_scratch_ok): Ditto.
(avr_builtin_setjmp_frame_value): Make static on the fly.
Indent according to coding rules.
(avr_case_values_threshold): Ditto.
(avr_attribute_table): Move down.
From-SVN: r180371
Arnaud Charlet [Mon, 24 Oct 2011 09:28:21 +0000 (11:28 +0200)]
[multiple changes]
2011-10-24 Emmanuel Briot <briot@adacore.com>
* prj-proc.adb (Process_Expression_Variable_Decl): No special
handling for Project_Path unless it is an attribute.
2011-10-24 Javier Miranda <miranda@adacore.com>
* sem_ch12.adb (Check_Hidden_Primitives): New subprogram.
(Install_Hidden_Primitives): New subprogram.
(Restore_Hidden_Primitives): New subprogram.
(Analyze_Formal_Package_Declaration,
Analyze_Package_Instantiation, Analyze_Subprogram_Instantiation):
Invoke Check_Hidden_Primitives after every call to
Analyze_Associations, and invoke Restore_Hidden_Primitives to
restore their visibility after processing the instantiation.
(Instantiate_Package_Body): Install visible primitives before
analyzing the instantiation and uninstall them to restore their
visibility when the instantiation has been analyzed.
* sem_util.ads, sem_util.adb (Add_Suffix): New subprogram
(Remove_Suffix): New subprogram
* sem_ch3.adb (Derive_Subprogram): When handling
a derived subprogram for the instantiation of a formal derived
tagged type, inherit the dispatching attributes from the actual
subprogram (not from the parent type).
From-SVN: r180370
Arnaud Charlet [Mon, 24 Oct 2011 09:24:35 +0000 (11:24 +0200)]
[multiple changes]
2011-10-24 Vasiliy Fofanov <fofanov@adacore.com>
* gnat_ugn.texi: Document explicit use of XDECGNAT library.
2011-10-24 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch3.adb (Build_Assignment): Add local constant N_Loc and
update its uses.
(Build_Discriminant_Assignments): Add local variable D_Loc and update
its uses.
(Build_Init_Statements): Add local variables Comp_Loc, Decl_Loc and
Var_Loc and update their uses.
(Build_Record_Init_Proc): Code reformatting.
(Increment_Counter): Add formal parameter Loc.
(Make_Counter): Add formal parameter Loc.
2011-10-24 Eric Botcazou <ebotcazou@adacore.com>
* sem_disp.adb (Covers_Some_Interface): Fix typo.
2011-10-24 Matthew Heaney <heaney@adacore.com>
* a-cuprqu.adb, a-cbprqu.adb (Dequeue_Only_High_Priority):
Predicate had wrong sense.
2011-10-24 Yannick Moy <moy@adacore.com>
* sem_ch13.adb (Analyze_Aspect_Specifications/Aspect_Test_Case):
Translate arguments in positional notation into pragma argument
association arguments for the generated pragma.
2011-10-24 Arnaud Charlet <charlet@adacore.com>
* exp_ch5.adb: Fix minor typo.
2011-10-24 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Is_Visible_Component): Refine predicate for
the case of a component reference in an instance body, when the
enclosing type is private.
From-SVN: r180369
Arnaud Charlet [Mon, 24 Oct 2011 09:19:15 +0000 (11:19 +0200)]
2011-10-24 Sergey Rybin <rybin@adacore.com frybin>
* gnat_ugn.texi: For gnatelim, move the note about using the GNAT
driver for getting the project support into gnatelim section.
2011-10-24 Robert Dewar <dewar@adacore.com>
* gnat_rm.texi: Minor correction to documentation on address
clause.
2011-10-24 Hristian Kirtchev <kirtchev@adacore.com>
* s-finmas.adb (Attach): Synchronize and call the unprotected version.
(Attach_Unprotected): New routine.
(Delete_Finalize_Address): Removed.
(Delete_Finalize_Address_Unprotected): New routine.
(Detach): Synchronize and call the unprotected version.
(Detach_Unprotected): Remove locking.
(Finalize): Add various comment on synchronization. Lock the critical
region and call the unprotected versions of routines.
(Finalize_Address): Removed.
(Finalize_Address_Unprotected): New routine.
(Set_Finalize_Address): Synchronize and call
the unprotected version.
(Set_Finalize_Address_Unprotected): New routine.
(Set_Heterogeneous_Finalize_Address): Removed.
(Set_Heterogeneous_Finalize_Address_Unprotected): New routine.
(Set_Is_Heterogeneous): Add comment on synchronization and
locking.
* s-finmas.ads: Flag Finalization_Started is no longer atomic
because synchronization uses task locking / unlocking.
(Attach): Add comment on usage.
(Attach_Unprotected): New routine.
(Delete_Finalize_Address): Renamed to
Delete_Finalize_Address_Unprotected.
(Detach): Add comment on usage.
(Detach_Unprotected): New routine.
(Finalize_Address): Renamed to Finalize_Address_Unprotected.
(Set_Finalize_Address): Add comment on usage.
(Set_Finalize_Address_Unprotected): New routine.
(Set_Heterogeneous_Finalize_Address): Renamed to
Set_Heterogeneous_Finalize_Address_Unprotected.
* s-stposu.adb (Allocate_Any_Controlled): Add local variable
Allocation_Locked. Add various comments on synchronization. Lock
the critical region and call the unprotected version of
routines.
(Deallocate_Any_Controlled): Add various comments on
synchronization. Lock the critical region and call the unprotected
version of routines.
2011-10-24 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Set_Fixed_Range): The bounds of a fixed point type
are universal and must carry the corresponding type.
* sem_eval.adb (Check_Non_Static_Context): If the type of the
expression is universal real, as may be the case for a fixed point
expression with constant operands in the context of a conversion,
there is nothing to check.
* s-finmas.adb: Minor reformatting
From-SVN: r180368
Ira Rosen [Mon, 24 Oct 2011 09:16:53 +0000 (09:16 +0000)]
re PR tree-optimization/50730 (SLP vectorization confused by unrelated DRs)
PR tree-optimization/50730
* tree-vect-data-refs.c (vect_analyze_data_refs): Stop basic
block analysis if encountered unsupported data-ref.
From-SVN: r180367
Ian Lance Taylor [Mon, 24 Oct 2011 05:00:34 +0000 (05:00 +0000)]
Implement append([]byte, string...).
From-SVN: r180364
Ian Lance Taylor [Mon, 24 Oct 2011 04:57:08 +0000 (04:57 +0000)]
Some minor fixes to the rewritten syscall library.
From-SVN: r180363
David S. Miller [Mon, 24 Oct 2011 04:15:46 +0000 (04:15 +0000)]
Fix sol2 sparc -mv8 regression.
* config/sparc/sparc.c (sparc_option_override): Remove -mv8plus
cpu adjustment.
* config/sparc/linux64.h (CC1_SPEC): When defaulting to 64-bit,
append -mcpu=v9 when -mv8plus is given.
From-SVN: r180362
Ian Lance Taylor [Mon, 24 Oct 2011 04:06:44 +0000 (04:06 +0000)]
Rename is_open_array_type to is_slice_type.
From-SVN: r180361
David S. Miller [Mon, 24 Oct 2011 03:51:47 +0000 (03:51 +0000)]
Add support for sparc VIS3 fp<-->int moves.
* config/sparc/sparc.h (SECONDARY_MEMORY_NEEDED): We can move
between float and non-float regs when VIS3.
* config/sparc/sparc.c (eligible_for_restore_insn): We can't
use a restore when the source is a float register.
(sparc_split_regreg_legitimate): When VIS3 allow moves between
float and integer regs.
(sparc_register_move_cost): Adjust to account for VIS3 moves.
(sparc_preferred_reload_class): On 32-bit with VIS3 when moving an
integer reg to a class containing EXTRA_FP_REGS, constrain to
FP_REGS.
(sparc_secondary_reload): On 32-bit with VIS3 when moving between
float and integer regs we sometimes need a FP_REGS class
intermediate move to satisfy the reload. When this happens
specify an extra cost of 2.
(*movsi_insn): Rename to have "_novis3" suffix and add !VIS3
guard.
(*movdi_insn_sp32_v9): Likewise.
(*movdi_insn_sp64): Likewise.
(*movsf_insn): Likewise.
(*movdf_insn_sp32_v9): Likewise.
(*movdf_insn_sp64): Likewise.
(*zero_extendsidi2_insn_sp64): Likewise.
(*sign_extendsidi2_insn): Likewise.
(*movsi_insn_vis3): New insn.
(*movdi_insn_sp32_v9_vis3): New insn.
(*movdi_insn_sp64_vis3): New insn.
(*movsf_insn_vis3): New insn.
(*movdf_insn_sp32_v9_vis3): New insn.
(*movdf_insn_sp64_vis3): New insn.
(*zero_extendsidi2_insn_sp64_vis3): New insn.
(*sign_extendsidi2_insn_vis3): New insn.
(TFmode reg/reg split): Make sure both REG operands are float.
(*mov<VM32:mode>_insn): Add "_novis3" suffix and !VIS3 guard. Remove
easy constant to integer reg alternatives.
(*mov<VM64:mode>_insn_sp64): Likewise.
(*mov<VM64:mode>_insn_sp32_novis3): Likewise.
(*mov<VM32:mode>_insn_vis3): New insn.
(*mov<VM64:mode>_insn_sp64_vis3): New insn.
(*mov<VM64:mode>_insn_sp32_vis3): New insn.
(VM64 reg<-->reg split): New spliiter for 32-bit.
From-SVN: r180360
Jonathan Wakely [Mon, 24 Oct 2011 00:19:56 +0000 (00:19 +0000)]
re PR libstdc++/50834 (Documentation about STL thread safety is ambiguous)
PR libstdc++/50834
* doc/xml/manual/using.xml: Update thread safety docs w.r.t. C++11.
From-SVN: r180359
GCC Administrator [Mon, 24 Oct 2011 00:17:20 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r180358
David S. Miller [Sun, 23 Oct 2011 22:34:07 +0000 (22:34 +0000)]
Factor out common tests in 8-byte reg/reg move splitters on 32-bit sparc.
* config/sparc/sparc.c (sparc_split_regreg_legitimate): New
function.
* config/sparc/sparc-protos.h (sparc_split_regreg_legitimate):
Declare it.
* config/sparc/sparc.md (DImode reg/reg split): Use it.
(DFmode reg/reg split): Likewise.
From-SVN: r180354
Steven G. Kargl [Sun, 23 Oct 2011 22:30:00 +0000 (22:30 +0000)]
simplify.c (simplify_transformation_to_array): Fix memory leak.
2011-10-23 Steven G. Kargl <kargl@gcc.gnu.org>
* simplify.c (simplify_transformation_to_array): Fix memory leak.
From-SVN: r180353
David S. Miller [Sun, 23 Oct 2011 22:21:51 +0000 (22:21 +0000)]
Add missing fzero/fone cases to DImode move on 32-bit v9 sparc.
* config/sparc/sparc.md (*movdi_insn_sp32_v9): Add alternatives for
generating fzero and fone instructions.
(DImode const_int --> reg splitter): Only trigger for integer regs.
From-SVN: r180352
David S. Miller [Sun, 23 Oct 2011 21:51:16 +0000 (21:51 +0000)]
Fix sparc so that reload doesn't try to load non-trivial vector consts directly.
* config/sparc/predicates.md (input_operand): Disallow vector
constants other than 0 and -1.
* config/sparc/sparc.c (sparc_preferred_reload_class): Return
NO_REGS for vector constants other than 0 and -1.
From-SVN: r180351
David S. Miller [Sun, 23 Oct 2011 21:50:56 +0000 (21:50 +0000)]
Use a macro instead of a constant to test for sparc integer regnos.
* config/sparc/sparc.h (SPARC_FIRST_INT_REG, SPARC_LAST_INT_REG,
SPARC_INT_REG_P): Define.
(HARD_REGNO_NREGS): Use SPARC_INT_REG_P.
(REGNO_OK_FOR_INDEX_P): Likewise.
* config/sparc/sparc.c (gen_df_reg): Likewise.
(eligible_for_return_delay): Likewise.
(eligible_for_sibcall_delay): Likewise.
(sparc_legitimate_address_p): Likewise.
(emit_save_or_restore_regs): Likewise.
(registers_ok_for_ldd_peep): Likewise.
* config/spac/sparc.md (DI mode splitters): Likewise.
(SF mode const splitters): Likewise.
(DF mode splitters): Likewise.
(32-bit DI mode logical op splitters): Likewise.
From-SVN: r180350
Paolo Carlini [Sun, 23 Oct 2011 21:15:08 +0000 (21:15 +0000)]
re PR c++/50841 (bootstrap failure: narrowing conversion of '-0x00000000000000001' from 'int' in tree-object-size.c)
/c-family
2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/50841
Revert:
2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/50810
* c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
Wnarrowing for C++0x and C++98.
* c.opt ([Wnarrowing]): Update.
/cp
2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/50841
Revert:
2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/50810
* typeck2.c (check_narrowing): Adjust OPT_Wnarrowing diagnostics.
(digest_init_r): Call check_narrowing irrespective of the C++ dialect.
* decl.c (check_initializer): Likewise.
* semantics.c (finish_compound_literal): Likewise.
/testsuite
2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/50841
Revert:
2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/50810
* g++.dg/cpp0x/warn_cxx0x2.C: New.
* g++.dg/cpp0x/warn_cxx0x3.C: Likewise.
2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/50841
Revert:
2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/50810
* doc/invoke.texi ([-Wnarrowing], [-Wc++0x-compat]): Update.
From-SVN: r180349
Paolo Carlini [Sun, 23 Oct 2011 20:59:43 +0000 (20:59 +0000)]
re PR c++/50841 (bootstrap failure: narrowing conversion of '-0x00000000000000001' from 'int' in tree-object-size.c)
/c-family
2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/50841
Revert:
2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/50810
* c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
Wnarrowing for C++0x and C++98.
* c.opt ([Wnarrowing]): Update.
/cp
2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/50841
Revert:
2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/50810
* typeck2.c (check_narrowing): Adjust OPT_Wnarrowing diagnostics.
(digest_init_r): Call check_narrowing irrespective of the C++ dialect.
* decl.c (check_initializer): Likewise.
* semantics.c (finish_compound_literal): Likewise.
/testsuite
2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/50841
Revert:
2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/50810
* g++.dg/cpp0x/warn_cxx0x2.C: New.
* g++.dg/cpp0x/warn_cxx0x3.C: Likewise.
2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/50841
Revert:
2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/50810
* doc/invoke.texi ([-Wnarrowing], [-Wc++0x-compat]): Update.
From-SVN: r180348
Eric Botcazou [Sun, 23 Oct 2011 20:21:06 +0000 (20:21 +0000)]
* gcc-interface/decl.c (create_concat_name): Add explicit cast.
From-SVN: r180347
Uros Bizjak [Sun, 23 Oct 2011 19:48:41 +0000 (21:48 +0200)]
sse.md (avx2_lshl<mode>3): Remove insn pattern.
* config/i386/sse.md (avx2_lshl<mode>3): Remove insn pattern.
(VI248_256): Remove mode iterator.
* config/i386/i386.c (ix86_expand_vec_perm): Use gen_ashlv4di3
instead of gen_avx2_lshlv4di3.
(bdesc_args): Use CODE_FOR_ashl{v16hi,v8si,v4di}3 instead of
CODE_FOR_avx2_lshl{v16hi,v8si,v4di}3.
From-SVN: r180346
Ian Lance Taylor [Sun, 23 Oct 2011 19:04:37 +0000 (19:04 +0000)]
Implement new syscall package.
Calls to library functions now use entersyscall and
exitsyscall as appropriate. This is a first step toward
multiplexing goroutines onto threads.
From-SVN: r180345
Uros Bizjak [Sun, 23 Oct 2011 18:43:11 +0000 (20:43 +0200)]
sse.md (sseintprefix): Rename from gthrfirstp.
* config/i386/sse.md (sseintprefix): Rename from gthrfirstp.
(<avx_avx2>_maskload<ssemodesuffix><avxsizesuffix>): Delete expander.
(<avx_avx2>_maskload<ssemodesuffix><avxsizesuffix>) Merge insn
pattern from *avx2_maskload<ssemodesuffix><avxsizesuffix> and
*avx_maskload<ssemodesuffix><avxsizesuffix> using V48_AVX mode
iterator. Use sseintprefix mode attribute.
(<avx_avx2>_maskstore<ssemodesuffix><avxsizesuffix>): Delete expander.
(<avx_avx2>_maskstore<ssemodesuffix><avxsizesuffix>) Merge insn
pattern from *avx2_maskstore<ssemodesuffix><avxsizesuffix> and
*avx_maskstore<ssemodesuffix><avxsizesuffix> using V48_AVX mode
iterator. Use sseintprefix mode attribute.
(*avx2_gathersi<mode>) Use sseintprefix and ssemodesuffix mode
attributes.
(*avx2_gatherdi<mode>): Ditto.
(*avx2_gatherdi<mode>256): Ditto.
(VI48_AVX2): Remove mode iterator.
(gthrlastfp): Remove mode attribute.
From-SVN: r180344
Paolo Carlini [Sun, 23 Oct 2011 18:34:45 +0000 (18:34 +0000)]
re PR c++/50810 (c++0x-compat does not warn about narrowing conversions)
/c-family
2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/50810
* c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
Wnarrowing for C++0x and C++98.
* c.opt ([Wnarrowing]): Update.
/cp
2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/50810
* typeck2.c (check_narrowing): Adjust OPT_Wnarrowing diagnostics.
(digest_init_r): Call check_narrowing irrespective of the C++ dialect.
* decl.c (check_initializer): Likewise.
* semantics.c (finish_compound_literal): Likewise.
/testsuite
2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/50810
* g++.dg/cpp0x/warn_cxx0x2.C: New.
* g++.dg/cpp0x/warn_cxx0x3.C: Likewise.
2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/50810
* doc/invoke.texi ([-Wnarrowing], [-Wc++0x-compat]): Update.
From-SVN: r180343
Tom de Vries [Sun, 23 Oct 2011 16:06:40 +0000 (16:06 +0000)]
re PR tree-optimization/50763 (ICE: verify_gimple failed: missing PHI def with -ftree-tail-merge)
2011-10-23 Tom de Vries <tom@codesourcery.com>
PR tree-optimization/50763
* gcc.dg/pr50763.c: New test.
From-SVN: r180342
Tom de Vries [Sun, 23 Oct 2011 16:06:32 +0000 (16:06 +0000)]
re PR tree-optimization/50763 (ICE: verify_gimple failed: missing PHI def with -ftree-tail-merge)
2011-10-23 Tom de Vries <tom@codesourcery.com>
PR tree-optimization/50763
* tree-ssa-tail-merge.c (same_succ_flush_bb): New function, factored out
of ...
(same_succ_flush_bbs): Use same_succ_flush_bb.
(purge_bbs): Remove argument. Remove calls to same_succ_flush_bbs,
release_last_vdef and delete_basic_block.
(unlink_virtual_phi): New function.
(update_vuses): Add and use vuse1_phi_args argument. Set var to
SSA_NAME_VAR of vuse1 or vuse2, and use var. Handle case that def_stmt2
is NULL. Use phi result as phi arg in case vuse1 or vuse2 is NULL_TREE.
Replace uses of vuse1 if vuse2 is NULL_TREE. Fix code to limit
replacement of uses. Propagate phi argument for phis with a single
argument.
(replace_block_by): Update vops if phi_vuse1 or phi_vuse2 is NULL_TREE.
Set vuse1_phi_args if vuse1 is a phi defined in bb1. Add vuse1_phi_args
as argument to call to update_vuses. Call release_last_vdef,
same_succ_flush_bb, delete_basic_block. Update CDI_DOMINATORS info.
(tail_merge_optimize): Remove argument in call to purge_bbs. Remove
call to free_dominance_info. Only call calculate_dominance_info once.
From-SVN: r180341
Eric Botcazou [Sun, 23 Oct 2011 15:57:09 +0000 (15:57 +0000)]
re PR tree-optimization/44683 (Optimization bug with copysign builtin)
* fold-const.c (invert_tree_comparison): Always invert EQ_EXPR/NE_EXPR.
PR tree-optimization/44683
* tree-ssa-dom.c (record_edge_info): Record simple equivalences only if
we can be sure that there are no signed zeros involved.
From-SVN: r180340
Jan Hubicka [Sun, 23 Oct 2011 14:30:24 +0000 (16:30 +0200)]
* ipa-inline.c (estimate_badness): Scale up and handle overflows.
From-SVN: r180336
Uros Bizjak [Sun, 23 Oct 2011 14:18:08 +0000 (16:18 +0200)]
re PR target/50788 (ICE: in merge_overlapping_regs, at regrename.c:318 with -mavx -fpeel-loops -fstack-protector-all and __builtin_ia32_maskloadpd256)
PR target/50788
* config/i386/sse.md (avx2_maskload<ssemodesuffix><avxsizesuffix>):
Remove (match_dup 0).
(*avx2_maskload<ssemodesuffix><avxsizesuffix>): New insn pattern.
(*avx_maskload<ssemodesuffix><avxsizesuffix>): Ditto.
(*avx2_maskstore<ssemodesuffix><avxsizesuffix>): Ditto.
(*avx_maskstore<ssemodesuffix><avxsizesuffix>): Ditto.
(*avx2_maskmov<ssemodesuffix><avxsizesuffix>): Remove insn pattern.
(*avx_maskmov<ssemodesuffix><avxsizesuffix>): Ditto.
testsuite/ChangeLog:
2011-10-23 Uros Bizjak <ubizjak@gmail.com>
PR target/50788
* testsuite/gcc.target/i386/pr50788.c: New test.
From-SVN: r180335
Ira Rosen [Sun, 23 Oct 2011 12:13:49 +0000 (12:13 +0000)]
re PR tree-optimization/50819 (missed SLP vectorization)
PR tree-optimization/50819
* tree-vectorizer.h (vect_analyze_data_ref_dependences): Remove
the last argument.
* tree-vect-loop.c (vect_analyze_loop_2): Update call to
vect_analyze_data_ref_dependences.
* tree-vect-data-refs.c (vect_analyze_data_ref_dependence):
Remove the last argument. Check load-after-store dependence
for unknown dependencies in basic blocks.
(vect_analyze_data_ref_dependences): Update call to
vect_analyze_data_ref_dependences.
* tree-vect-patterns.c (vect_recog_widen_shift_pattern): Fix
typo.
* tree-vect-slp.c (vect_bb_vectorizable_with_dependencies):
Remove.
(vect_slp_analyze_bb_1): Update call to
vect_analyze_data_ref_dependences. Don't call
vect_bb_vectorizable_with_dependencies.
From-SVN: r180334
GCC Administrator [Sun, 23 Oct 2011 00:18:37 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r180333
Jonathan Wakely [Sat, 22 Oct 2011 21:31:24 +0000 (21:31 +0000)]
re PR libstdc++/50196 ([C++0x] std::thread not available under macos)
PR libstdc++/50196
* acinclude.m4 (GLIBCXX_HAS_GTHREADS): Don't depend on _POSIX_TIMEOUTS.
* configure: Regenerate.
* include/std/mutex (timed_mutex, recursive_timed_mutex): Define
conditionally on GTHREADS_HAS_MUTEX_TIMEDLOCK.
* testsuite/lib/libstdc++.exp (check_v3_target_gthreads_timed): Define.
* testsuite/lib/dg-options.exp (dg-require-gthreads-timed): Define.
* testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
Use dg-require-gthreads-timed instead of dg-require-gthreads.
* testsuite/30_threads/recursive_timed_mutex/native_handle/
typesizes.cc: Likewise.
* testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/cons/assign_neg.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
* testsuite/30_threads/recursive_timed_mutex/cons/copy_neg.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/requirements/typedefs.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: Likewise.
* testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: Likewise.
* testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
* testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
* testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise.
* testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
Likewise.
* testsuite/30_threads/timed_mutex/dest/destructor_locked.cc: Likewise.
* testsuite/30_threads/timed_mutex/native_handle/typesizes.cc:
Likewise.
* testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
* testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
* testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
* testsuite/30_threads/timed_mutex/cons/assign_neg.cc: Likewise.
* testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
* testsuite/30_threads/timed_mutex/cons/copy_neg.cc: Likewise.
* testsuite/30_threads/timed_mutex/requirements/standard_layout.cc:
Likewise.
* testsuite/30_threads/timed_mutex/requirements/typedefs.cc: Likewise.
* testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
* testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
* testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
* testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
* testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
* testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
* testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
* testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
* testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
* testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
* testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
From-SVN: r180329
Dodji Seketeli [Sat, 22 Oct 2011 17:49:18 +0000 (17:49 +0000)]
Fix cpp_peek_token behaviour (PR bootstrap/50778)
libcpp/
* include/internal.h (_cpp_remaining_tokens_num_in_context): Take the
context to act upon.
* lex.c (_cpp_remaining_tokens_num_in_context): Likewise. Update
comment.
(cpp_token_from_context_at): Likewise.
(cpp_peek_token): Use the context to peek tokens from.
From-SVN: r180328
Ian Lance Taylor [Sat, 22 Oct 2011 16:19:46 +0000 (16:19 +0000)]
Update Go library to r60.3 release.
From-SVN: r180327
David S. Miller [Sat, 22 Oct 2011 08:01:58 +0000 (08:01 +0000)]
Remove unused functions from sparc backend.
* config/sparc/sparc.c (short_branch, reg_unused_after): Delete.
* config/sparc/sparc-protos.h (short_branch, reg_unused_after):
Get rid of declarations.
From-SVN: r180325
David S. Miller [Sat, 22 Oct 2011 07:30:12 +0000 (07:30 +0000)]
Make sparc's "struct processor_costs" private to sparc.c
* config/sparc/sparc.h (sparc_costs): Remove extern decl.
(struct processor_costs): Move from here..
* config/sparc/sparc.c (struct processor_costs): To here.
(sparc_costs): Mark static.
From-SVN: r180324
David S. Miller [Sat, 22 Oct 2011 07:05:32 +0000 (07:05 +0000)]
Convert sparc over to TARGET_SECONDARY_RELOAD.
gcc/
* config/sparc/sparc.h (SECONDARY_INPUT_RELOAD_CLASS,
SECONDARY_OUTPUT_RELOAD_CLASS): Delete.
* config/sparc/sparc.c (TARGET_SECONDARY_RELOAD): Redefine.
(sparc_secondary_reload): New function.
From-SVN: r180323
DJ Delorie [Sat, 22 Oct 2011 01:35:29 +0000 (21:35 -0400)]
obstack.h [!GNUC] (obstack_free): Avoid cast to int.
* obstack.h [!GNUC] (obstack_free): Avoid cast to int.
* ansidecl.h (ENUM_BITFIELD): Always use enum in C++
From-SVN: r180321
GCC Administrator [Sat, 22 Oct 2011 00:19:07 +0000 (00:19 +0000)]
Daily bump.
From-SVN: r180320
Steven G. Kargl [Fri, 21 Oct 2011 22:48:39 +0000 (22:48 +0000)]
re PR fortran/50821 (3 new GCC HEAD@180266 regressions)
2011-10-20 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/50821
* check.c (gfc_check_ishftc): Check args are constant before
extracting the integer.
From-SVN: r180316
Paul Brook [Fri, 21 Oct 2011 21:04:13 +0000 (21:04 +0000)]
c6x.c (c6x_asm_emit_except_personality, [...]): New functions.
* config/c6x/c6x.c (c6x_asm_emit_except_personality,
c6x_asm_init_sections): New functions.
(TARGET_ASM_EMIT_EXCEPT_PERSONALITY, TARGET_ASM_INIT_SECTIONS):
Define.
From-SVN: r180314
Paul Brook [Fri, 21 Oct 2011 21:00:11 +0000 (21:00 +0000)]
* unwind-arm-common.inc: Handle ID3/4 unwinding data.
From-SVN: r180313
Paolo Carlini [Fri, 21 Oct 2011 20:01:31 +0000 (20:01 +0000)]
re PR c++/45385 (missing -Wconversion for method calls)
/cp
2011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/45385
* init.c (build_vec_init): Early return error_mark_node if
maxindex is -1.
/c-family
2011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/45385
* c-common.c (conversion_warning): Remove code looking for
artificial operands.
/testsuite
2011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/45385
* g++.dg/warn/Wconversion4.C: New.
From-SVN: r180312
Jakub Jelinek [Fri, 21 Oct 2011 19:32:20 +0000 (21:32 +0200)]
re PR target/50813 (gcc.dg/torture/vshuf-{v4di,v8si}.c fail on AVX target)
PR target/50813
* config/i386/i386.c (expand_vec_perm_even_odd_1): Handle
V4DImode and V8SImode for !TARGET_AVX2.
* gcc.dg/torture/vshuf-32.inc: Add broadcast permutation
from element other than first and reverse permutation.
* gcc.dg/torture/vshuf-16.inc: Likewise.
* gcc.dg/torture/vshuf-8.inc: Likewise.
* gcc.dg/torture/vshuf-4.inc: Likewise.
From-SVN: r180311
Bernd Schmidt [Fri, 21 Oct 2011 18:38:44 +0000 (18:38 +0000)]
re PR bootstrap/50825 (bootstrap fails at stage1 libgcc from r180302)
PR bootstrap/50825
* sched-deps.c (add_dependence): If not doing predication, promote
REG_DEP_CONTROL to REG_DEP_ANTI.
From-SVN: r180310
Paolo Carlini [Fri, 21 Oct 2011 18:18:55 +0000 (18:18 +0000)]
re PR c++/31423 (Improve upon "invalid use of member (did you forget the '&' ?)")
/cp
2011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/31423
* typeck2.c (cxx_incomplete_type_diagnostic): Improve error message
for invalid use of member function.
/testsuite
2011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/31423
* g++.dg/parse/error43.C: New.
* g++.dg/parse/error44.C: Likewise.
From-SVN: r180309
Georg-Johann Lay [Fri, 21 Oct 2011 15:46:32 +0000 (15:46 +0000)]
avr.h (LEGITIMIZE_RELOAD_ADDRESS): Pass address of X instead of X to avr_legitimize_reload_address.
* config/avr/avr.h (LEGITIMIZE_RELOAD_ADDRESS): Pass address of X
instead of X to avr_legitimize_reload_address.
* config/avr/avr-protos.h (avr_legitimize_reload_address): Change
first argument's type from rtx to rtx*.
* config/avr/avr.c (avr_legitimize_reload_address): Ditto.
Pass PX to push_reload instead of &X. Change log messages for
better distinction.
From-SVN: r180308
Roland Stigge [Fri, 21 Oct 2011 14:55:42 +0000 (14:55 +0000)]
re PR translation/47064 (params.def: Translatable string compilatoin (vs. compilation))
2011-10-21 Roland Stigge <stigge@antcom.de>
PR translation/47064
* params.def: Fix typo "compilatoin" -> "compilation".
From-SVN: r180307
Uros Bizjak [Fri, 21 Oct 2011 14:34:51 +0000 (16:34 +0200)]
* ChangeLog: Add missing PR reference.
From-SVN: r180305
H.J. Lu [Fri, 21 Oct 2011 14:32:32 +0000 (16:32 +0200)]
re PR driver/50740 (CPUID leaf 7 for BMI/BMI2/AVX2 feature detection not qualified with max_level and doesn't use subleaf)
PR target/50740
* config/i386/driver-i386.c (host_detect_local_cpu): Do cpuid 7 only
if max_level allows that.
testsuite/ChangeLog:
PR target/50740
* gcc.target/i386/avx2-check.h (main): Check CPUID level correctly.
* gcc.target/i386/bmi2-check.h: Ditto.
From-SVN: r180304
Bernd Schmidt [Fri, 21 Oct 2011 13:35:44 +0000 (13:35 +0000)]
reg-notes.def (DEP_CONTROL): New.
* reg-notes.def (DEP_CONTROL): New.
* sched-ebb.c (add_deps_for_risky_insns): Add a REG_DEP_CONTROL when
not doing speculation.
* rtlanal.c (record_hard_reg_sets, find_all_hard_reg_sets,
record_hard_reg_uses_1, record_hard_reg_uses): New functions.
* function.c (record_hard_reg_sets, record_hard_reg_uses,
record_hard_reg_uses_1): Remove; move to rtlanal.c.
* lists.c (copy_INSN_LIST, concat_INSN_LIST): New functions.
* haifa-sched.c: Swap includes of "rtl.h" and "hard-reg-set.h".
(MUST_RECOMPUTE_SPEC_P): New macro.
(real_insn_for_shadow): New function.
(cond_clobbered_p, recompute_todo_spec, check_clobbered_conditions,
toggle_cancelled_flags): New static functions.
(schedule_insn): Relax an assert to only check for empty hard back
dependencies. Skip cancelled dependencies. Call
check_clobbered_conditions.
(copy_insn_list): Remove function, renamed moved to lists.c.
(save_backtrack_point): Use new spelling copy_INSN_LIST.
(unschedule_insns_until): Ensure TODO_SPEC is reset properly.
(restore_last_backtrack_point): Likewise. Call toggle_cancelled_flags.
(estimate_insn_tick): Ignore cancelled dependencies.
(haifa_speculate_insn): Move declaration.
(try_ready): Move code into recompute_todo_spec and call it. Tweak
some asserts. Ensure predicated patterns are restored if necessary.
Dump DEP_CONTROL flag.
(haifa_change_pattern): Merge with sched_change_pattern.
(sched_change_pattern): Remove function.
* sched-deps.c (NON_FLUSH_JUMP_KIND, NON_FLUSH_JUMP): Remove. All
uses changed to simply not test NON_FLUSH_JUMP_P.
(ds_to_dk, dk_to_ds, dump_dep, ds_to_dt, dump_ds, check_dep): Handle
REG_DEP_CONTROL.
(dep_spec_p): If DO_PREDICATION, REG_DEP_CONTROL is speculative.
(reg_pending_control_uses, control_dependency_cache): New static
variables.
(sched_get_reverse_condition_uncached): New function.
(sd_find_dep_between): Remove pointless assert. Look in
control_dependency_cache.
(ask_dependency_caches, set_dependency_caches, sd_delete_dep,
extend_dependency_caches, sched_deps_finish): Handle REG_DEP_CONTROL
and control_dependency_cache.
(sd_unresolve_dep): Use dep_spec_p.
(add_dependence): Now a wrapper around add_dependence_1, handling
REG_DEP_CONTROL specially.
(flush_pending_lists): Clear pending_jump_insns.
(sched_analyze_1): Handle pending_jump_insns like a memory flush.
(sched_analyze_2): Unconditionally add to pending memory flushes,
keep previous behaviour but apply it to pending_jump_insns instead.
(sched_analyze_insn): Defer adding jump reg dependencies using
reg_pending_control_uses; add them to the control_uses list. Handle
pending_jump_insns and control_uses when adding dependence lists.
(deps_analyze_insn): Update INSN_COND_DEPS.
(deps_analyze_insn): Add jumps to pending_jump_insns rather than
last_pending_memory_flush.
(init_deps): Initialize pending_jump_insns.
(free_deps): Free control_uses.
(remove_from_deps): Remove from pending_jump_insns.
(init_deps_global): Allocate reg_pending_control_uses).
(finish_deps_global): Free it.
(add_dependence_1): Renamed from add_dependence. Handle
REG_DEP_CONTROL.
* rtl.h (record_hard_reg_uses, find_all_hard_reg_sets): Declare.
(copy_INSN_LIST, concat_INSN_LIST): Declare.
* sched-int.h (struct deps_reg): Add control_uses.
(struct deps_desc): Add pending_jump_insns.
(struct _haifa_deps_insn_data): Add cond_deps.
(struct _haifa_insn_data): Add must_recompute_spec and predicated_pat.
(INSN_COND_DEPS, PREDICATED_PAT): New macros.
(BITS_PER_DEP_WEAK): Adjust for two extra bits in the word.
(DEP_CONTROL): New macro.
(DEP_TYPES): Include it.
(HARD_DEP): Adjust definition.
(DEP_CANCELLED): New macro.
(enum SCHED_FLAGS): Add DO_PREDICATION.
(sched_get_reverse_condition_uncached, real_insn_for_shadow): Declare.
* sched-rgn.c (concat_INSN_LIST): Remove function.
(deps_join): Handle pending_jump_insns.
(free_pending_lists): Likewise.
* config/c6x/c6x.c (c6x_set_sched_flags): Set DO_PREDICATION for final
schedule.
From-SVN: r180302
Ville Voutilainen [Fri, 21 Oct 2011 13:31:21 +0000 (16:31 +0300)]
re PR c++/50811 ([C++0x] G++ rejects class-virt-specifier if class-head-name includes nested-name-specifier)
PR c++/50811
* parser.c (cp_parser_class_head): Parse virt-specifiers
regardless of whether an id is present
From-SVN: r180301
Rainer Orth [Fri, 21 Oct 2011 12:53:09 +0000 (12:53 +0000)]
Fix gnat.dg testing with linker plugin check
* lib/gcc-dg.exp (GCC_UNDER_TEST): Set before calling
check_linker_plugin_available.
From-SVN: r180300
Georg-Johann Lay [Fri, 21 Oct 2011 12:48:04 +0000 (12:48 +0000)]
re PR target/50820 ([avr] Use EIND consistently)
PR target/50820
* config/avr/libgcc.S (__EIND__): New define to 0x3C.
(__tablejump__): Consistently use EIND for indirect jump/call.
(__tablejump_elpm__): Ditto.
From-SVN: r180299
Bernd Schmidt [Fri, 21 Oct 2011 11:54:25 +0000 (11:54 +0000)]
c6x.md (attr "op_pattern"): New.
* config/c6x/c6x.md (attr "op_pattern"): New.
(load_sdata_pic, mov<mode>_insn for QIHIM and SISFVM): Set it.
* config/c6x/c6x-mult.md.in (mulhi3_VARIANT_, mulhisi3_insn_VARIANT_):
Likewise.
* config/c6x/c6x-mult.md: Regenerate.
* config/c6x/c6x.c: Include "regrename.h".
(unit_req_table): New typedef.
(unit_reqs): Use it for the declaration.
(unit_req_factor, get_unit_reqs, merge_unit_reqs, unit_req_imbalance,
get_unit_operand_masks, try_rename_operands, reshuffle_units): New
static functions.
(count_unit_reqs): New arg reqs. All callers changed. Use
get_unit_reqs, and don't merge here.
(res_mii): New arg reqs. All callers changed. Rewrite to use a loop
using unit_req_factor.
(hwloop_optimize): Call reshuffle_units. Call merge_unit_reqs after
count_unit_reqs.
(c6x_reorg): Add reg notes problem, and call df_analyze.
* Makefile.in ($(out_object_file)): Depend on regrename.h.
From-SVN: r180296
Kai Tietz [Fri, 21 Oct 2011 11:50:42 +0000 (13:50 +0200)]
branch-cost1.c: New test.
* gcc.target/i386/branch-cost1.c: New test.
* gcc.target/i386/branch-cost2.c: New test.
* gcc.target/i386/branch-cost3.c: New test.
* gcc.target/i386/branch-cost4.c: New test.
* fold-const.c (simple_operand_p_2): Handle integral
casts from boolean-operands.
From-SVN: r180295
Rainer Orth [Fri, 21 Oct 2011 11:41:15 +0000 (11:41 +0000)]
Fix several ChangeLog errors.
From-SVN: r180294
Jan Hubicka [Fri, 21 Oct 2011 11:04:20 +0000 (13:04 +0200)]
cgraph.c (dump_cgraph_node): Dump alias flag.
* cgraph.c (dump_cgraph_node): Dump alias flag.
* cgraphunit.c (handle_alias_pairs): Handle weakrefs with no destination.
(get_alias_symbol): New function.
(output_weakrefs): Output also weakrefs with no destinatoin.
(lto_output_node): Output weakref alias flag when at function boundary.
From-SVN: r180292
Andrew Stubbs [Fri, 21 Oct 2011 10:31:48 +0000 (10:31 +0000)]
re PR target/50809 (driver-arm.c:55:11: error: anonymous type with no linkage used to declare variable '<anonymous struct> vendors []' with linkage [-Werror])
2011-10-21 Andrew Stubbs <ams@codesourcery.com>
PR target/50809
gcc/
* config/arm/driver-arm.c (vendors): Make static.
From-SVN: r180289
Uros Bizjak [Fri, 21 Oct 2011 07:30:24 +0000 (09:30 +0200)]
i386.c (ix86_emit_swdivsf): Force b into register.
* config/i386/i386.c (ix86_emit_swdivsf): Force b into register.
(ix86_emit_swsqrtsf): Force a into register.
From-SVN: r180287
Mike Stump [Fri, 21 Oct 2011 02:14:32 +0000 (02:14 +0000)]
regcprop.c (copyprop_hardreg_forward_1): Update recog_data after validate_change wipes it out.
* regcprop.c (copyprop_hardreg_forward_1): Update recog_data
after validate_change wipes it out.
From-SVN: r180284
Ulrich Weigand [Fri, 21 Oct 2011 01:27:36 +0000 (01:27 +0000)]
spu.md ("vec_permv16qi"): Reduce selector modulo 32 before using the shufb instruction.
* config/spu/spu.md ("vec_permv16qi"): Reduce selector modulo 32
before using the shufb instruction.
From-SVN: r180283
GCC Administrator [Fri, 21 Oct 2011 00:19:02 +0000 (00:19 +0000)]
Daily bump.
From-SVN: r180282
Steve Ellcey [Thu, 20 Oct 2011 21:29:20 +0000 (21:29 +0000)]
vect-120.c: Add vect_floatint_cvt requirement.
2011-10-20 Steve Ellcey <sje@cup.hp.com>
* gcc.dg/vect/vect-120.c: Add vect_floatint_cvt requirement.
From-SVN: r180278
Steve Ellcey [Thu, 20 Oct 2011 21:26:01 +0000 (21:26 +0000)]
re PR testsuite/50722 (FAIL: gcc.dg/pr49994-3.c (test for excess errors))
2011-10-20 Steve Ellcey <sje@cup.hp.com>
PR testsuite/50722
* gcc.dg/pr49994-3.c: Skip on HP-UX.
From-SVN: r180277
Joseph Myers [Thu, 20 Oct 2011 21:09:48 +0000 (22:09 +0100)]
pr46940_0.c (ASMNAME, [...]): Define.
* gcc.dg/lto/pr46940_0.c (ASMNAME, ASMNAME2, STRING): Define.
(_moz_foo, EXT__foo): Use ASMNAME.
From-SVN: r180276
Joseph Myers [Thu, 20 Oct 2011 20:39:36 +0000 (21:39 +0100)]
lto.exp (lto-execute): Use .exe suffix for test executable names.
* lib/lto.exp (lto-execute): Use .exe suffix for test executable
names.
From-SVN: r180272
Kirill Yukhin [Thu, 20 Oct 2011 20:37:32 +0000 (20:37 +0000)]
Fix operands order in BMI2 patterns.
gcc/
2011-10-20 Kirill Yukhin <kirill.yukhin@intel.com>
PR target/50766
* config/i386/i386.md (bmi_bextr_<mode>): Update register/
memory operand order.
(bmi2_bzhi_<mode>3): Ditto.
(bmi2_pdep_<mode>3): Ditto.
(bmi2_pext_<mode>3): Ditto.
gcc/testsuite/
2011-10-20 Kirill Yukhin <kirill.yukhin@intel.com>
PR target/50766
* gcc.target/i386/pr50766.c: New test.
From-SVN: r180271
Richard Henderson [Thu, 20 Oct 2011 20:10:05 +0000 (13:10 -0700)]
target.def (vec_perm_const_ok): Rename from builtin_vec_perm_ok.
* target.def (vec_perm_const_ok): Rename from builtin_vec_perm_ok.
* optabs.c (can_vec_perm_expr_p): Update to match.
(expand_vec_perm_expr): Likewise.
* config/i386/i386.c (TARGET_VECTORIZE_VEC_PERM_CONST_OK): Rename
from TARGET_VECTORIZE_BUILTIN_VEC_PERM_OK.
* doc/tm.texi.in: Likewise.
From-SVN: r180270
Sergey Ostanevich [Thu, 20 Oct 2011 19:29:52 +0000 (19:29 +0000)]
Change Atom align_loops_max_skip to 15.
2011-10-20 Sergey Ostanevich <sergos.gnu@gmail.com>
PR target/50572
* config/i386/i386.c (processor_target_table): Change Atom
align_loops_max_skip to 15.
From-SVN: r180268
Jason Merrill [Thu, 20 Oct 2011 19:13:51 +0000 (15:13 -0400)]
re PR c++/41449 (Partial aggregate initialization not cleaned up on exception)
PR c++/41449
* typeck2.c (split_nonconstant_init_1): Handle EH cleanup of
initialized subobjects.
From-SVN: r180267
Richard Henderson [Thu, 20 Oct 2011 19:07:41 +0000 (12:07 -0700)]
Remove TARGET_VECTORIZE_BUILTIN_VEC_PERM.
From-SVN: r180266
Steven G. Kargl [Thu, 20 Oct 2011 18:07:10 +0000 (18:07 +0000)]
ishft_3.f90: Update test.
2011-10-20 Steven G. Kargl <kargl@gcc.gnu.org>
* gfortran.dg/ishft_3.f90: Update test.
2011-10-20 Steven G. Kargl <kargl@gcc.gnu.org>
* check.c (less_than_bitsize1): Check |shift| <= bit_size(i).
(gfc_check_ishftc): Check |shift| <= bit_size(i) and check
that size is positive.
From-SVN: r180264
Steven G. Kargl [Thu, 20 Oct 2011 17:15:06 +0000 (17:15 +0000)]
re PR fortran/50524 (*** glibc detected *** invalid free() pointer on illegal code (r178939))
2011-10-15 Steven G. Kargl <kargl@gcc.gcu.org>
PR fortran/50524
* resolve.c (resolve_ref): Check return value of resolve_substring().
2011-10-15 Steven G. Kargl <kargl@gcc.gcu.org>
PR fortran/50524
* gfortran.dg/substring_integer_index.f90: New test.
From-SVN: r180262
Steven G. Kargl [Thu, 20 Oct 2011 17:04:53 +0000 (17:04 +0000)]
2011-10-16 Steven G. Kargl<kargl@gcc.gnu.org>
* io.c (match_dt_format): Match a user-defined operator or a kind
type prefixed string.
2011-10-16 Steven G. Kargl<kargl@gcc.gnu.org>
* gfortran.dg/format_string.f: New test.
From-SVN: r180261
Dodji Seketeli [Thu, 20 Oct 2011 15:22:17 +0000 (15:22 +0000)]
Fix building ggc-zone.c
* ggc-zone.c (ggc_internal_alloc_zone_stat): Rename
ggc_alloced_size_order_for_request into ggc_round_alloc_size like
it was done in ggc-page.c.
From-SVN: r180258
Uros Bizjak [Thu, 20 Oct 2011 15:20:34 +0000 (17:20 +0200)]
ipa-sra-2.c: Add dg-require-effective-target non_strict_align.
* gcc.dg/ipa/ipa-sra-2.c: Add dg-require-effective-target
non_strict_align.
* gcc.dg/ipa/ipa-sra-6.c: Ditto.
From-SVN: r180257
Uros Bizjak [Thu, 20 Oct 2011 15:13:30 +0000 (17:13 +0200)]
re PR target/47989 (-mrecip causes 482.sphinx3, 464.h264ref and 481.wrf to miscompare)
PR target/47989
* config/i386/i386.h (RECIP_MASK_DEFAULT): New define.
* config/i386/i386.op (recip_mask): Initialize with RECIP_MASK_DEFAULT.
* doc/invoke.texi (ix86 Options, -mrecip): Document that GCC
implements vectorized single float division and vectorized sqrtf(x)
with reciprocal sequence with additional Newton-Raphson step with
-ffast-math.
From-SVN: r180256
Paul Brook [Thu, 20 Oct 2011 13:57:21 +0000 (13:57 +0000)]
exception.c (parse_lsda_header): hardcode ttype_encoding for older ARM EABI toolchains.
2011-10-17 Paul Brook <paul@codesourcery.com>
Matthias Klose <doko@ubuntu.com>
* exception.c (parse_lsda_header): hardcode ttype_encoding for older
ARM EABI toolchains.
(get_ttype_entry) Remove __ARM_EABI_UNWINDER__ variant.
Co-Authored-By: Matthias Klose <doko@ubuntu.com>
From-SVN: r180255
Paul Brook [Thu, 20 Oct 2011 13:56:12 +0000 (13:56 +0000)]
exception.cc (parse_lsda_header): hardcode ttype_encoding for older ARM EABI toolchains.
2011-10-17 Paul Brook <paul@codesourcery.com>
* exception.cc (parse_lsda_header): hardcode ttype_encoding for older
ARM EABI toolchains.
(get_ttype_entry) Remove __ARM_EABI_UNWINDER__ variant.
From-SVN: r180254
Joseph Myers [Thu, 20 Oct 2011 13:04:34 +0000 (14:04 +0100)]
pr40906-1.c, [...]: Do not use -mno-accumulate-outgoing-args.
* gcc.target/i386/pr40906-1.c, gcc.target/i386/pr40906-2.c,
gcc.target/i386/pr46226.c: Do not use
-mno-accumulate-outgoing-args.
From-SVN: r180252
Joseph Myers [Thu, 20 Oct 2011 13:03:56 +0000 (14:03 +0100)]
val-prof-7.c: Declare bzero instead of including <strings.h>.
* gcc.dg/tree-prof/val-prof-7.c: Declare bzero instead of
including <strings.h>.
From-SVN: r180251
Dodji Seketeli [Thu, 20 Oct 2011 12:36:55 +0000 (12:36 +0000)]
Use @smallexample instead of @quotation in cppopts.texi
gcc/
PR other/50659
* doc/cppopts.texi: Use @smallexample/@end smallexample in
documentation for -fdebug-cpp instead of @quotation/@end quotation
that is not supported by contrib/texi2pod.pl.
From-SVN: r180250
Jan Hubicka [Thu, 20 Oct 2011 12:18:56 +0000 (14:18 +0200)]
ipa-inline.c (inline_small_functions): Always update all calles after inlining.
* ipa-inline.c (inline_small_functions): Always update all calles after
inlining.
From-SVN: r180249
Jan Hubicka [Thu, 20 Oct 2011 11:49:31 +0000 (13:49 +0200)]
lto.c (node_cmp, [...]): New functions.
* lto.c (node_cmp, varpool_node_cmp): New functions.
(lto_balanced_map): Honnor -fno-toplevel-reorder of vars&functions.
(cmp_partitions): Rename to ...
(cmp_partitions_size): ... this one.
(cmp_partitions_order): New function.
(lto_wpa_write_files): Sort partitions by order when
-fno-toplevel-reorder is used.
From-SVN: r180248
Jan Hubicka [Thu, 20 Oct 2011 11:46:08 +0000 (13:46 +0200)]
re PR bootstrap/50709 (stage3 bootstrap comparison failure with --disable-checking config option)
PR bootstrap/50709
* ipa-inline.c (inline_small_functions): Fix checking code to not make
effect on fibheap stability.
From-SVN: r180247
Eric Botcazou [Thu, 20 Oct 2011 11:33:35 +0000 (11:33 +0000)]
Make-lang.in (GNATLIBFLAGS, [...]): Reintroduce.
* gcc-interface/Make-lang.in (GNATLIBFLAGS, GNATLIBCFLAGS, THREAD_KIND,
TRACE): Reintroduce.
(ada/tracebak.o, ada/targext.o, ada/cio.o, ada/init.o,
ada/initialize.o, ada/raise.o): Reintroduce explicit compilation rules.
From-SVN: r180246
Jan Hubicka [Thu, 20 Oct 2011 11:33:07 +0000 (13:33 +0200)]
lto.exp (lto_init): Test slib lto and no-liker-plugin path.
* lib/lto.exp (lto_init): Test slib lto and no-liker-plugin path.
* lto/gcc-dg.exp (check_effective_target_lto): Likewise.
* lto/c-torture.exp: Likewise.
* execute/bultins/strstr-asm.c: Force fat LTO.
* gcc.c-torture/compile/sync-1.c: Likewise.
* gcc.c-torture/compile/sync-1.c: Likewise.
* gcc.c-torture/compile/sync-3.c: Likewise.
* gcc.dg/noncompile/invalid_asm.c: Likewise.
* gcc.dg/noncompile/920507-1.c: Likewise.
* gcc.dg/torture/pr36400.c: Likewise.
* g++.dg/torture/pr34850.C: Likewise.
From-SVN: r180245
Maxim Kuvyrkov [Thu, 20 Oct 2011 11:29:56 +0000 (11:29 +0000)]
t-linux (M68K_MLIB_CPU): Add ColdFire CPUs.
gcc/
* config/m68k/t-linux (M68K_MLIB_CPU): Add ColdFire CPUs.
From-SVN: r180244
Eric Botcazou [Thu, 20 Oct 2011 11:03:54 +0000 (11:03 +0000)]
trans.c (lhs_or_actual_p): New predicate.
* gcc-interface/trans.c (lhs_or_actual_p): New predicate.
(unchecked_conversion_nop): Use it.
(gnat_to_gnu): Likewise.
From-SVN: r180243
Eric Botcazou [Thu, 20 Oct 2011 10:56:08 +0000 (10:56 +0000)]
back_end.adb (Call_Back_End): Pass the maximum logical line number instead of the maximum physical line...
* back_end.adb (Call_Back_End): Pass the maximum logical line number
instead of the maximum physical line number to gigi.
* gcc-interface/trans.c (Sloc_to_locus): Cope with line zero.
From-SVN: r180242
Ramana Radhakrishnan [Thu, 20 Oct 2011 09:07:30 +0000 (09:07 +0000)]
re PR target/50106 ([ARM] Wrong code with -march=armv5t -mthumb -Os)
2011-10-20 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
PR target/50106
* config/arm/arm.c (thumb_unexpanded_epilogue): Handle return
reg size from 1-3.
From-SVN: r180240
Dodji Seketeli [Thu, 20 Oct 2011 08:49:29 +0000 (08:49 +0000)]
Fix thinko in _cpp_remaining_tokens_num_in_context
libcpp/
* lex.c (_cpp_remaining_tokens_num_in_context): Fix computation of
number of tokens.
From-SVN: r180239
Richard Guenther [Thu, 20 Oct 2011 07:57:48 +0000 (07:57 +0000)]
tree-ssa-loop-im.c (stmt_cost): Add WIDEN_*, FMA_EXPR and rotates to the set of expensive operations.
2011-10-20 Richard Guenther <rguenther@suse.de>
* tree-ssa-loop-im.c (stmt_cost): Add WIDEN_*, FMA_EXPR
and rotates to the set of expensive operations.
From-SVN: r180237
Eric Botcazou [Thu, 20 Oct 2011 06:18:09 +0000 (06:18 +0000)]
Fix minor issues
From-SVN: r180236
David S. Miller [Thu, 20 Oct 2011 04:16:45 +0000 (04:16 +0000)]
Use can_create_pseudo_p() in the sparc backend.
gcc/
* config/sparc/sparc.c (sparc_expand_move): Use
can_create_pseudo_p.
(sparc_emit_set_const32): Likewise.
(sparc_emit_set_const64_longway): Likewise.
(sparc_emit_set_const64): Likewise.
(sparc_legitimize_pic_address): Likewise.
(memory_ok_for_ldd): Likewise.
From-SVN: r180235
Dehao Chen [Thu, 20 Oct 2011 00:39:12 +0000 (00:39 +0000)]
profile.c (compute_branch_probabilities): Compute and dump the overlap between the static estimation and the...
2011-10-20 Dehao Chen <dehao@google.com>
* profile.c (compute_branch_probabilities): Compute and dump the
overlap between the static estimation and the instrumentation profile.
(OVERLAP_BASE): New macro.
(compute_frequency_overlap): New function
From-SVN: r180233