gcc.git
12 years agospu: Remove vec_extract_even/odd and vec_interleave expanders.
Richard Henderson [Tue, 25 Oct 2011 21:30:04 +0000 (14:30 -0700)]
spu: Remove vec_extract_even/odd and vec_interleave expanders.

        * config/spu/spu.md (vec_extract_evenv4si, vec_extract_evenv4sf,
        vec_extract_evenv8hi, vec_extract_evenv16qi, vec_extract_oddv4si,
        vec_extract_oddv4sf, vec_extract_oddv8hi, vec_extract_oddv16qi,
        vec_interleave_highv4sf, vec_interleave_lowv4sf,
        vec_interleave_highv4si, vec_interleave_lowv4si,
        vec_interleave_highv8hi, vec_interleave_lowv8hi,
        vec_interleave_highv16qi, vec_interleave_lowv16qi): Remove.

From-SVN: r180451

12 years agoImplement interleave via permutation.
Richard Henderson [Tue, 25 Oct 2011 21:29:56 +0000 (14:29 -0700)]
Implement interleave via permutation.

        * expr.c (expand_expr_real_2) [VEC_EXTRACT_EVEN_EXPR]: Use binop.
        [VEC_EXTRACT_ODD_EXPR, VEC_INTERLEAVE_HIGH_EXPR]: Likewise.
        [VEC_INTERLEAVE_LOW_EXPR]: Likewise.
        * optabs.c (expand_binop): Implement vec_interleave_high_optab,
        vec_interleave_low_optab, vec_extract_even_optab,
        vec_extract_odd_optab with expand_vec_perm.
        (can_vec_perm_for_code_p): New.
        * optabs.h: Update.
        * tree-vect-data-refs.c (vect_strided_store_supported): Allow for
        fallback via can_vec_perm_for_code_p.
        (vect_strided_load_supported): Likewise.
        * tree-vect-generic.c (expand_vector_operations_1): Never lower
        VEC_INTERLEAVE_HIGH_EXPR, VEC_INTERLEAVE_LOW_EXPR,
        VEC_EXTRACT_EVEN_EXPR, VEC_EXTRACT_ODD_EXPR.

From-SVN: r180450

12 years agoChange vec_perm checking and expansion level.
Richard Henderson [Tue, 25 Oct 2011 21:29:48 +0000 (14:29 -0700)]
Change vec_perm checking and expansion level.

The can_vec_perm_p interface changed to use a C integer array.  This
allows easy re-use from the rtl level and the gimple level within
the vectorizer.  It allows both to determine if a given permutation
is (un-)supported without having to create tree/rtl garbage.

The expand_vec_perm interface changed to use rtl.  This allows easy
re-use from the rtl level, so that expand_vec_perm can be used in the
fallback implementation of other optabs.

        * target.def (vec_perm_const_ok): Change parameters to mode and
        array of indicies.
        * doc/tm.texi: Rebuild.
        * config/i386/i386.c (ix86_vectorize_vec_perm_const_ok): Change
        parameters to mode and array of indicies.
        * expr.c (expand_expr_real_2) [VEC_PERM_EXPR]: Expand operands here.
        * optabs.c (can_vec_perm_p): Rename from can_vec_perm_expr_p.
        Change parameters to mode and array of indicies.
        (expand_vec_perm_1): Rename from expand_vec_perm_expr_1.
        (expand_vec_perm): Rename from expand_vec_perm_expr.  Change
        parameters to mode and rtx inputs.  Try lowering to QImode
        vec_perm_const before trying fully variable permutation.
        * optabs.h: Update decls.
        * tree-vect-generic.c (lower_vec_perm): Extract array of indices from
        VECTOR_CST to pass to can_vec_perm_p.
        * tree-vect-slp.c (vect_get_mask_element): Change mask parameter type
        from int pointer to unsigned char pointer.
        (vect_transform_slp_perm_load): Update for change to can_vec_perm_p.
        * tree-vect-stmts.c (perm_mask_for_reverse): Likewise.

From-SVN: r180449

12 years agoFix typos in the names of vec_extract & vec_interleave tree codes.
Richard Henderson [Tue, 25 Oct 2011 21:29:40 +0000 (14:29 -0700)]
Fix typos in the names of vec_extract & vec_interleave tree codes.

From-SVN: r180448

12 years agore PR libstdc++/50862 (deadlock in std::condition_variable_any)
Jonathan Wakely [Tue, 25 Oct 2011 20:56:43 +0000 (20:56 +0000)]
re PR libstdc++/50862 (deadlock in std::condition_variable_any)

PR libstdc++/50862
* include/std/condition_variable (condition_variable_any::wait): Fix
deadlock and ensure _Lock::lock() is called on exit.
(condition_variable_any::native_handle): Remove, as per LWG 1500.
* testsuite/30_threads/condition_variable_any/50862.cc: New.

From-SVN: r180446

12 years agore PR lto/48851 (lto-plugin.c:224:7: error: missing sentinel in function call [-Werro...
Mike Stump [Tue, 25 Oct 2011 20:07:19 +0000 (20:07 +0000)]
re PR lto/48851 (lto-plugin.c:224:7: error: missing sentinel in function call [-Werror=format])

        PR target/48851
* inclhack.def (void_null): New bypass.
* fixincl.x: Regenerate.

From-SVN: r180445

12 years ago* reload.c (regno_clobbered_p): Fix typo.
Mike Stump [Tue, 25 Oct 2011 19:50:14 +0000 (19:50 +0000)]
* reload.c (regno_clobbered_p): Fix typo.

From-SVN: r180444

12 years agore PR c++/50866 (ICE in verify_gimple_stmt, at tree-cfg.c:4175)
Jason Merrill [Tue, 25 Oct 2011 18:24:28 +0000 (14:24 -0400)]
re PR c++/50866 (ICE in verify_gimple_stmt, at tree-cfg.c:4175)

PR c++/50866
PR c++/41449
* semantics.c (maybe_cleanup_point_expr_void): No longer static.
* typeck2.c (split_nonconstant_init_1): Use it.
* cp-tree.h: Declare it.
* decl.c (wrap_cleanups_r): Stop at CLEANUP_POINT_EXPR.

From-SVN: r180442

12 years agore PR c++/49996 (Internal error in verify_gimple_stmt: initializing struct in new...
Jason Merrill [Tue, 25 Oct 2011 18:24:19 +0000 (14:24 -0400)]
re PR c++/49996 (Internal error in verify_gimple_stmt: initializing struct in new-initializer)

PR c++/49996
* tree.c (stabilize_init): Stabilize scalar elements of a
CONSTRUCTOR, too.

From-SVN: r180441

12 years agoSolaris/Irix compatibility patches.
Ian Lance Taylor [Tue, 25 Oct 2011 18:06:32 +0000 (18:06 +0000)]
Solaris/Irix compatibility patches.

From-SVN: r180440

12 years agoFix Solaris build.
Ian Lance Taylor [Tue, 25 Oct 2011 17:45:55 +0000 (17:45 +0000)]
Fix Solaris build.

From Rainer Orth.

From-SVN: r180439

12 years agoImplement predeclared delete function.
Ian Lance Taylor [Tue, 25 Oct 2011 17:21:07 +0000 (17:21 +0000)]
Implement predeclared delete function.

From-SVN: r180438

12 years agoDon't permit close of receive-only channel.
Ian Lance Taylor [Tue, 25 Oct 2011 16:35:24 +0000 (16:35 +0000)]
Don't permit close of receive-only channel.

Better panic on attempt to close nil channel.

From-SVN: r180437

12 years agopr-support.c (pop_compact_frame, pop_frame): Correct logic for doubleword pops.
Bernd Schmidt [Tue, 25 Oct 2011 15:45:08 +0000 (15:45 +0000)]
pr-support.c (pop_compact_frame, pop_frame): Correct logic for doubleword pops.

* config/c6x/pr-support.c (pop_compact_frame, pop_frame): Correct
logic for doubleword pops.

From-SVN: r180435

12 years agopr-support.c (__gnu_unwind_24bit): Correct logic for the case where B3 isn't the...
Bernd Schmidt [Tue, 25 Oct 2011 15:44:03 +0000 (15:44 +0000)]
pr-support.c (__gnu_unwind_24bit): Correct logic for the case where B3 isn't the return register.

* config/c6x/pr-support.c (__gnu_unwind_24bit): Correct logic for the
case where B3 isn't the return register.

From-SVN: r180434

12 years ago* ja.po: Update.
Joseph Myers [Tue, 25 Oct 2011 15:37:28 +0000 (16:37 +0100)]
* ja.po: Update.

From-SVN: r180432

12 years agore PR c++/50858 (segfault at ../../gcc/libiberty/hashtab.c:981)
Paolo Carlini [Tue, 25 Oct 2011 13:48:10 +0000 (13:48 +0000)]
re PR c++/50858 (segfault at ../../gcc/libiberty/hashtab.c:981)

/cp
2011-10-25  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/50858
* typeck.c (composite_pointer_type_r): Check return value of
composite_pointer_type_r for error_mark_node.

/testsuite
2011-10-25  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/50858
* g++.dg/overload/operator5.C: New.

/cp
2011-10-25  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/50861
* pt.c (tsubst_copy_and_build): Check return value of
tsubst_copy_and_build for error_mark_node.

/testsuite
2011-10-25  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/50861
* g++.dg/template/crash108.C: New.

From-SVN: r180430

12 years ago* MAINTAINERS (Write After Approval): Add myself.
Kirill Yukhin [Tue, 25 Oct 2011 09:39:49 +0000 (09:39 +0000)]
* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r180429

12 years agoFix lookup of macro maps
Dodji Seketeli [Tue, 25 Oct 2011 08:59:07 +0000 (08:59 +0000)]
Fix lookup of macro maps

* line-map.c (linemap_macro_map_lookup): Fix logic.

From-SVN: r180427

12 years agoSupport expansion of reserved locations wrapped in virtual locations
Dodji Seketeli [Tue, 25 Oct 2011 08:58:54 +0000 (08:58 +0000)]
Support expansion of reserved locations wrapped in virtual locations

libcpp/

* include/line-map.h (linemap_expand_location): Take a line table
parameter.  Update comment.
(linemap_resolve_location): Update comment.
(linemap_expand_location_full): Remove.
* line-map.c (linemap_resolve_location):  Handle reserved
locations; return a NULL map in those cases.
(linemap_expand_location): If location is reserved, return a
zeroed expanded location.  Update comment.  Take a line table to
assert that the function takes non-virtual locations only.
(linemap_expand_location_full): remove.
(linemap_dump_location): Handle the fact that
linemap_resolve_location can return NULL line maps when the
location resolves to a reserved location.

gcc/
* input.c (expand_location): Rewrite using
linemap_resolve_location and linemap_expand_location.  Add a
comment.

From-SVN: r180426

12 years agoDelete remaining references to sparc little-endian support.
David S. Miller [Tue, 25 Oct 2011 08:57:25 +0000 (08:57 +0000)]
Delete remaining references to sparc little-endian support.

* config/sparc/little-endian.opt: Delete.
* config.gcc: Remove references to config/sparc/little-endian.opt
* doc/invoke.texi: Remove documentation of -mlittl-endian on sparc.
* config/sparc/linux64.h: Delete references to -mlittle-endian.
* config/sparc/netbsd-elf.h: Likewise.
* config/sparc/openbsd64.h: Likewise.
* config/sparc/sparc.h: Likewise.
* config/sparc/sp64-elf.h: Likewise and delete overrides for
BYTES_BIG_ENDIAN and WORDS_BIG_ENDIAN.
* config/sparc/sparc.c (dump_target_flag_bits): Remove reference
to MASK_LITTLE_ENDIAN.
* config/sparc/sparc.opt (Mask(LITTLE_ENDIAN)): Delete.

From-SVN: r180425

12 years agore PR tree-optimization/50596 (Problems in vectorization of condition expression)
Jakub Jelinek [Tue, 25 Oct 2011 08:02:08 +0000 (10:02 +0200)]
re PR tree-optimization/50596 (Problems in vectorization of condition expression)

PR tree-optimization/50596
* tree-vect-stmts.c (vect_mark_relevant): Only use
FOR_EACH_IMM_USE_FAST if lhs is SSA_NAME.
(vectorizable_store): If is_pattern_stmt_p look through
VIEW_CONVERT_EXPR on lhs.
* tree-vect-patterns.c (check_bool_pattern, adjust_bool_pattern):
Use unsigned type instead of signed.
(vect_recog_bool_pattern): Optimize also stores into bool memory in
addition to casts from bool to integral types.
(vect_mark_pattern_stmts): If pattern_stmt already has vinfo
created, don't create it again.

* gcc.dg/vect/vect-cond-10.c: New test.

From-SVN: r180424

12 years agoi386.c (ix86_frame_pointer_required): Require frame-pointer, if setjmp is used for...
Kai Tietz [Tue, 25 Oct 2011 07:32:31 +0000 (09:32 +0200)]
i386.c (ix86_frame_pointer_required): Require frame-pointer, if setjmp is used for 32-bit ms-abi.

        * config/i386/i386.c (ix86_frame_pointer_required): Require
        frame-pointer, if setjmp is used for 32-bit ms-abi.

From-SVN: r180423

12 years agoImplement new order of assignment rules.
Ian Lance Taylor [Tue, 25 Oct 2011 05:37:48 +0000 (05:37 +0000)]
Implement new order of assignment rules.

In "i, x[i] = 1, 2" the assigment to x[i] must use the value
of i from before the assignment statement.

From-SVN: r180421

12 years agot-freebsd: Add wildcard.
Andreas Tobler [Tue, 25 Oct 2011 05:13:12 +0000 (07:13 +0200)]
t-freebsd: Add wildcard.

2011-10-25  Andreas Tobler  <andreast@fgznet.ch>

* config/rs6000/t-freebsd: Add wildcard.

From-SVN: r180420

12 years agopr42575.c: Remove architecture option.
Joey Ye [Tue, 25 Oct 2011 03:33:31 +0000 (03:33 +0000)]
pr42575.c: Remove architecture option.

2011-10-25  Joey Ye  <joey.ye@arm.com>

* gcc.target/arm/pr42575.c: Remove architecture option.

From-SVN: r180419

12 years agoAdd some sparc VIS3 move test cases.
David S. Miller [Tue, 25 Oct 2011 03:22:15 +0000 (03:22 +0000)]
Add some sparc VIS3 move test cases.

gcc/testsuite/

* gcc.target/sparc/vis3move-1.c: New test.
* gcc.target/sparc/vis3move-2.c: New test.
* gcc.target/sparc/vis3move-3.c: New test.

From-SVN: r180418

12 years agoDaily bump.
GCC Administrator [Tue, 25 Oct 2011 00:19:13 +0000 (00:19 +0000)]
Daily bump.

From-SVN: r180417

12 years agore PR libstdc++/49894 ([C++0x] Uniform initialization in constructor)
Jonathan Wakely [Mon, 24 Oct 2011 23:26:25 +0000 (23:26 +0000)]
re PR libstdc++/49894 ([C++0x] Uniform initialization in constructor)

PR libstdc++/49894
* include/std/mutex (__mutex_base,__recursive_mutex_base): Define new
base classes to manage construction/destruction of native mutexes,
using NSDMI when INIT macros are defined.
(mutex,recursive_mutex,timed_mutex,recursive_timed_mutex): Derive from
new base classes.
* include/std/condition_variable (condition_variable): Use NSDMI when
INIT macro is defined. Use noexcept.
* src/condition_variable.cc (condition_variable): Explicitly-default
constructor/destructor when using NSDMI. Use noexcept.
(condition_variable_any): Likewise.

From-SVN: r180411

12 years agoSegregate sparc FP/VEC constant constraints.
David S. Miller [Mon, 24 Oct 2011 23:04:40 +0000 (23:04 +0000)]
Segregate sparc FP/VEC constant constraints.

* config/sparc/sparc.md: Only use F, G, and C constraints in FP
insns.  Only use D, Y, and Z constraints in vector insns.

From-SVN: r180410

12 years agoRemove extra newline added in October 11 change
Michael Meissner [Mon, 24 Oct 2011 22:28:53 +0000 (22:28 +0000)]
Remove extra newline added in October 11 change

From-SVN: r180408

12 years agoConsolidate some sparc insn patterns using "enabled".
David S. Miller [Mon, 24 Oct 2011 21:53:38 +0000 (21:53 +0000)]
Consolidate some sparc insn patterns using "enabled".

* config/sparc/sparc.md (cpu_feature, enabled): New attributes.
(*movsi_insn_novis3, *movsi_insn_vis3): Consolidate into one pattern
called *movsi_insn.
(*movdi_insn_sp32_v9_novis3, *movdi_insn_sp32_v9_vis3): Consolidate
into *movdi_insn_sp32.
(*movdi_insn_sp64_novis3, *movdi_insn_sp64_vis3): Consolidate into
one pattern called *movdi_insn_sp64.
(*movsf_insn_novis3, *movsf_insn_vis3, *movsf_insn_no_fpu):
Consolidate into one pattern called *movsf_insn.
(*movdf_insn_sp32_no_fpu, *movdf_insn_sp32_v9_novis3,
*movdf_insn_sp32_v9_vis3, *movdf_insn_sp32_v9_no_fpu): Consolidate
into *movdf_insn_sp32.
(*movdf_insn_sp64_novis3, *movdf_insn_sp64_vis3,
*movdf_insn_sp64_no_fpu): Consolidate into one pattern called
*movdf_insn_sp64.
(*zero_extendsidi2_insn_sp64_novis3,
*zero_extendsidi2_insn_sp64_vis3): Consolidate into one pattern
called *zero_extendsidi2_insn_sp64.
(*sign_extendsidi2_insn_novis3, *sign_extendsidi2_insn_vis3):
Consolidate into one pattern named *sign_extendsidi2_insn.
(*mov<VM32:mode>_insn_novis3, *mov<VM32:mode>_insn_vis3):
Consolidate into one pattern named *mov<VM32:mode>_insn.
(*mov<VM64:mode>_insn_sp64_novis3,
*mov<VM64:mode>_insn_sp64_novis3): Consolidate into one pattern
named *mov<VM64:mode>_insn_sp64.
(*mov<VM64:mode>_insn_sp32_novis3,
*mov<VM64:mode>_insn_sp32_vis3): Consolidate into one pattern
named *mov<VM64:mode>_insn_sp32.

From-SVN: r180407

12 years agoMAINTAINERS (Write After Approval): Add myself.
Teresa Johnson [Mon, 24 Oct 2011 21:26:47 +0000 (21:26 +0000)]
MAINTAINERS (Write After Approval): Add myself.

        * MAINTAINERS (Write After Approval): Add myself.

From-SVN: r180405

12 years agotree-ssa-strlen.c (get_string_length): Change assertion to STPCPY.
Andreas Krebbel [Mon, 24 Oct 2011 20:14:35 +0000 (20:14 +0000)]
tree-ssa-strlen.c (get_string_length): Change assertion to STPCPY.

2011-10-24  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

* tree-ssa-strlen.c (get_string_length): Change assertion to STPCPY.
(zero_length_string): Change assertion to accept strinfo without
length but with stmt instead.
Set the endptr pointer also if starting a new chain.
(adjust_related_strinfos): Ignore strinfos marked for delayed
length computation.
(handle_builtin_strcpy): Mark earlier strinfo elements also for
delayed length computation.

2011-10-24  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

* gcc.dg/strlenopt-22.c: New testcase.
* gcc.dg/strlenopt-4.c: Change scan value for s390(x).

From-SVN: r180402

12 years agoError if naked return when result variables are shadowed.
Ian Lance Taylor [Mon, 24 Oct 2011 19:44:18 +0000 (19:44 +0000)]
Error if naked return when result variables are shadowed.

From-SVN: r180401

12 years ago49668.cc: Add missing dg-require.
Jonathan Wakely [Mon, 24 Oct 2011 19:11:31 +0000 (19:11 +0000)]
49668.cc: Add missing dg-require.

* testsuite/30_threads/async/49668.cc: Add missing dg-require.
* testsuite/30_threads/packaged_task/49668.cc: Likewise.

From-SVN: r180400

12 years agosse-5.c (dg-options): Add -mno-sse.
Uros Bizjak [Mon, 24 Oct 2011 18:04:37 +0000 (20:04 +0200)]
sse-5.c (dg-options): Add -mno-sse.

* gcc.target/i386/sse-5.c (dg-options): Add -mno-sse.
Remove -march=i386.
(dg-skip-if): Remove.
* gcc.target/i386/funcspec-1.c: Ditto.
* gcc.target/i386/funcspec-3.c (dg-options): Add -mno-sse3.

From-SVN: r180397

12 years agore PR target/50820 ([avr] Use EIND consistently)
Georg-Johann Lay [Mon, 24 Oct 2011 14:49:47 +0000 (14:49 +0000)]
re PR target/50820 ([avr] Use EIND consistently)

PR target/50820
Port from 4.6 branch r180379
* doc/invoke.texi (AVR Options): New subsubsection to explain EIND
handling and indirect jump/calls on devices > 128k.

From-SVN: r180388

12 years agore PR target/49824 ([avr] Missing documentation for OS_task and OS_main attributes)
Anatoly Sokolov [Mon, 24 Oct 2011 14:45:51 +0000 (18:45 +0400)]
re PR target/49824 ([avr] Missing documentation for OS_task and OS_main attributes)

PR target/49824
* doc/extend.texi (Declaring Attributes of Functions):
Document OS_main and OS_task attributes.
(Specifying Attributes of Variables): Move up
subsection "AVR Variable Attributes" as of alphabetical order.

Co-Authored-By: Georg-Johann Lay <avr@gjlay.de>
From-SVN: r180385

12 years agotree-vect-stmts.c (vect_get_vec_def_for_operand): Convert constants to vector element...
Richard Guenther [Mon, 24 Oct 2011 14:24:36 +0000 (14:24 +0000)]
tree-vect-stmts.c (vect_get_vec_def_for_operand): Convert constants to vector element type.

2011-10-24  Richard Guenther  <rguenther@suse.de>

* tree-vect-stmts.c (vect_get_vec_def_for_operand): Convert constants
to vector element type.
(vectorizable_assignment): Bail out for non-mode-precision operations.
(vectorizable_shift): Likewise.
(vectorizable_operation): Likewise.
(vectorizable_type_demotion): Likewise.
(vectorizable_type_promotion): Likewise.
(vectorizable_store): Handle non-mode-precision stores.
(vectorizable_load): Handle non-mode-precision loads.
(get_vectype_for_scalar_type_and_size): Return a vector type
for non-mode-precision integers.
* tree-vect-loop.c (vectorizable_reduction): Bail out for
non-mode-precision reductions.

* gcc.dg/vect/vect-bool-1.c: New testcase.

From-SVN: r180384

12 years agom68k.c (notice_update_cc): Tighten condition for setting CC_REVERSED for FP comparisons.
Julian Brown [Mon, 24 Oct 2011 13:47:09 +0000 (13:47 +0000)]
m68k.c (notice_update_cc): Tighten condition for setting CC_REVERSED for FP comparisons.

gcc/
* config/m68k/m68k.c (notice_update_cc): Tighten condition for
setting CC_REVERSED for FP comparisons.

From-SVN: r180383

12 years agore PR tree-optimization/50838 (ice in refs_may_alias_p_1 with -O3)
Richard Guenther [Mon, 24 Oct 2011 12:31:01 +0000 (12:31 +0000)]
re PR tree-optimization/50838 (ice in refs_may_alias_p_1 with -O3)

2011-10-24  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/50838
* tree-data-ref.c (dr_analyze_indices): Properly canonicalize
a MEM_REF base if we change it.

* gcc.dg/torture/pr50838.c: New testcase.

From-SVN: r180381

12 years agoFix date.
Arnaud Charlet [Mon, 24 Oct 2011 12:28:46 +0000 (14:28 +0200)]
Fix date.

From-SVN: r180380

12 years agore PR rtl-optimization/50833 (ICE: in maybe_record_trace_start, at dwarf2cfi.c:2243...
Bernd Schmidt [Mon, 24 Oct 2011 11:46:04 +0000 (11:46 +0000)]
re PR rtl-optimization/50833 (ICE: in maybe_record_trace_start, at dwarf2cfi.c:2243 with -fshrink-wrap)

PR rtl-optimization/50833
* function.c (thread_prologue_and_epilogue_insns): Expect the
return insn optimization only if optimize.

From-SVN: r180377

12 years agore PR bootstrap/50836 (bootstrap fails due to error: no previous prototype for 'find_...
Bernd Schmidt [Mon, 24 Oct 2011 11:03:12 +0000 (11:03 +0000)]
re PR bootstrap/50836 (bootstrap fails due to error: no previous prototype for 'find_all_hard_reg_sets')

PR bootstrap/50836
* rtlanal.c: Swap includes of "hard-reg-set.h" and "rtl.h".

From-SVN: r180376

12 years ago[multiple changes]
Arnaud Charlet [Mon, 24 Oct 2011 10:31:29 +0000 (12:31 +0200)]
[multiple changes]

2011-10-24  Robert Dewar  <dewar@adacore.com>

* sem.adb (Initialize): Fix bug that blew up if called a second
time.

2011-10-24  Robert Dewar  <dewar@adacore.com>

* tb-alvxw.c, tracebak.c, expect.c, initflt.c, tb-alvms.c,
tb-ivms.c, tb-gcc.c: Update headers to GPL 3.

2011-10-24  Robert Dewar  <dewar@adacore.com>

* sem_prag.adb (Analyze_Pragma, case Debug): Give proper pragma
name in error msg.

2011-10-24  Hristian Kirtchev  <kirtchev@adacore.com>

* gnat_rm.texi Add an entry for restriction No_Finalization.

2011-10-24  Ed Schonberg  <schonberg@adacore.com>

* sem_ch12.adb (Insert_Freeze_Node_For_Instance):  If the
current instance is within the one that contains the generic,
the freeze node for the current one must appear in the current
declarative part. Ditto if the current instance is within another
package instance. In both of these cases the freeze node of the
previous instance is not relevant.

2011-10-24  Gary Dismukes  <dismukes@adacore.com>

* switch-m.adb (Normalize_Compiler_Switches): Add recognition
of AAMP-specific switches -univ and -aamp_target.

2011-10-24  Robert Dewar  <dewar@adacore.com>

* a-tienau.adb (Put): Deal properly with limited line length.

2011-10-24  Robert Dewar  <dewar@adacore.com>

* sem_warn.adb, sem_ch12.adb: Minor reformatting.

From-SVN: r180375

12 years agoMakefile.in: Use GNU ld switches to generate map files on AIX.
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

12 years ago[multiple changes]
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

12 years ago[multiple changes]
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

12 years agoavr.c: Break long lines.
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

12 years ago[multiple changes]
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

12 years ago[multiple changes]
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

12 years ago2011-10-24 Sergey Rybin <rybin@adacore.com frybin>
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

12 years agore PR tree-optimization/50730 (SLP vectorization confused by unrelated DRs)
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

12 years agoImplement append([]byte, string...).
Ian Lance Taylor [Mon, 24 Oct 2011 05:00:34 +0000 (05:00 +0000)]
Implement append([]byte, string...).

From-SVN: r180364

12 years agoSome minor fixes to the rewritten syscall library.
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

12 years agoFix sol2 sparc -mv8 regression.
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

12 years agoRename is_open_array_type to is_slice_type.
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

12 years agoAdd support for sparc VIS3 fp<-->int moves.
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

12 years agore PR libstdc++/50834 (Documentation about STL thread safety is ambiguous)
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

12 years agoDaily bump.
GCC Administrator [Mon, 24 Oct 2011 00:17:20 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r180358

12 years agoFactor out common tests in 8-byte reg/reg move splitters on 32-bit sparc.
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

12 years agosimplify.c (simplify_transformation_to_array): Fix memory leak.
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

12 years agoAdd missing fzero/fone cases to DImode move on 32-bit v9 sparc.
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

12 years agoFix sparc so that reload doesn't try to load non-trivial vector consts directly.
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

12 years agoUse a macro instead of a constant to test for sparc integer regnos.
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

12 years agore PR c++/50841 (bootstrap failure: narrowing conversion of '-0x00000000000000001...
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

12 years agore PR c++/50841 (bootstrap failure: narrowing conversion of '-0x00000000000000001...
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

12 years ago* gcc-interface/decl.c (create_concat_name): Add explicit cast.
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

12 years agosse.md (avx2_lshl<mode>3): Remove insn pattern.
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

12 years agoImplement new syscall package.
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

12 years agosse.md (sseintprefix): Rename from gthrfirstp.
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

12 years agore PR c++/50810 (c++0x-compat does not warn about narrowing conversions)
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

12 years agore PR tree-optimization/50763 (ICE: verify_gimple failed: missing PHI def with -ftree...
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

12 years agore PR tree-optimization/50763 (ICE: verify_gimple failed: missing PHI def with -ftree...
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

12 years agore PR tree-optimization/44683 (Optimization bug with copysign builtin)
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

12 years ago* ipa-inline.c (estimate_badness): Scale up and handle overflows.
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

12 years agore PR target/50788 (ICE: in merge_overlapping_regs, at regrename.c:318 with -mavx...
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

12 years agore PR tree-optimization/50819 (missed SLP vectorization)
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

12 years agoDaily bump.
GCC Administrator [Sun, 23 Oct 2011 00:18:37 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r180333

12 years agore PR libstdc++/50196 ([C++0x] std::thread not available under macos)
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

12 years agoFix cpp_peek_token behaviour (PR bootstrap/50778)
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

12 years agoUpdate Go library to r60.3 release.
Ian Lance Taylor [Sat, 22 Oct 2011 16:19:46 +0000 (16:19 +0000)]
Update Go library to r60.3 release.

From-SVN: r180327

12 years agoRemove unused functions from sparc backend.
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

12 years agoMake sparc's "struct processor_costs" private to sparc.c
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

12 years agoConvert sparc over to TARGET_SECONDARY_RELOAD.
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

12 years agoobstack.h [!GNUC] (obstack_free): Avoid cast to int.
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

12 years agoDaily bump.
GCC Administrator [Sat, 22 Oct 2011 00:19:07 +0000 (00:19 +0000)]
Daily bump.

From-SVN: r180320

12 years agore PR fortran/50821 (3 new GCC HEAD@180266 regressions)
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

12 years agoc6x.c (c6x_asm_emit_except_personality, [...]): New functions.
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

12 years ago* unwind-arm-common.inc: Handle ID3/4 unwinding data.
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

12 years agore PR c++/45385 (missing -Wconversion for method calls)
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

12 years agore PR target/50813 (gcc.dg/torture/vshuf-{v4di,v8si}.c fail on AVX target)
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

12 years agore PR bootstrap/50825 (bootstrap fails at stage1 libgcc from r180302)
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

12 years agore PR c++/31423 (Improve upon "invalid use of member (did you forget the '&' ?)")
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

12 years agoavr.h (LEGITIMIZE_RELOAD_ADDRESS): Pass address of X instead of X to avr_legitimize_r...
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

12 years agore PR translation/47064 (params.def: Translatable string compilatoin (vs. compilation))
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

12 years ago* ChangeLog: Add missing PR reference.
Uros Bizjak [Fri, 21 Oct 2011 14:34:51 +0000 (16:34 +0200)]
* ChangeLog: Add missing PR reference.

From-SVN: r180305

12 years agore PR driver/50740 (CPUID leaf 7 for BMI/BMI2/AVX2 feature detection not qualified...
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

12 years agoreg-notes.def (DEP_CONTROL): New.
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