gcc.git
12 years agostrlenopt-21.c (dg-options): Remove -fdump-tree-optimized.
Uros Bizjak [Wed, 5 Oct 2011 21:02:59 +0000 (23:02 +0200)]
strlenopt-21.c (dg-options): Remove -fdump-tree-optimized.

* gcc.dg/strlenopt-21.c (dg-options): Remove -fdump-tree-optimized.
* gcc.dg/ipa/inline-5.c: Cleanup inline ipa dump.
* g++.dg/other/final1.C: Cleanup original tree dump.

From-SVN: r179579

12 years agofunction.c (thread_prologue_and_epilogue_insns): Don't shrink-wrap if profiling after...
Bernd Schmidt [Wed, 5 Oct 2011 20:42:21 +0000 (20:42 +0000)]
function.c (thread_prologue_and_epilogue_insns): Don't shrink-wrap if profiling after the prologue.

* function.c (thread_prologue_and_epilogue_insns): Don't shrink-wrap
if profiling after the prologue.

From-SVN: r179577

12 years ago* ChangeLog: Update my previous entry.
Uros Bizjak [Wed, 5 Oct 2011 19:41:27 +0000 (21:41 +0200)]
* ChangeLog: Update my previous entry.

From-SVN: r179574

12 years agovect.exp (VEC_CFLAGS): Append "-fdump-tree-veclower2".
Uros Bizjak [Wed, 5 Oct 2011 19:40:14 +0000 (21:40 +0200)]
vect.exp (VEC_CFLAGS): Append "-fdump-tree-veclower2".

* gcc.dg/vect/vect.exp (VEC_CFLAGS): Append "-fdump-tree-veclower2".
* gcc.dg/vect/vec-scal-opt.c: Scan and cleanup veclower2 tree dump.
* gcc.dg/vect/vec-scal-opt1.c: Ditto.
* gcc.dg/vect/vec-scal-opt2.c: Ditto.

From-SVN: r179573

12 years agore PR tree-optimization/50613 (ICE: tree check: expected ssa_name, have addr_expr...
Jakub Jelinek [Wed, 5 Oct 2011 18:09:56 +0000 (20:09 +0200)]
re PR tree-optimization/50613 (ICE: tree check: expected ssa_name, have addr_expr in find_equal_ptrs, at tree-ssa-strlen.c:712 with -foptimize-strlen -fno-tree-ccp)

PR tree-optimization/50613
* tree-ssa-strlen.c (find_equal_ptrs): If CASE_CONVERT
operand is ADDR_EXPR, fallthru into ADDR_EXPR handling,
and if it is neither that not SSA_NAME, give up.

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

From-SVN: r179567

12 years agoFix vect-shuffle-* test cases.
Richard Henderson [Wed, 5 Oct 2011 17:45:36 +0000 (10:45 -0700)]
Fix vect-shuffle-* test cases.

From-SVN: r179566

12 years agovect.exp (VEC_CFLAGS): Move initialization after DEFAULT_VECTFLAGS initialization.
Uros Bizjak [Wed, 5 Oct 2011 17:41:01 +0000 (19:41 +0200)]
vect.exp (VEC_CFLAGS): Move initialization after DEFAULT_VECTFLAGS initialization.

* gcc.dg/vect/vect.exp (VEC_CFLAGS): Move initialization after
DEFAULT_VECTFLAGS initialization.

From-SVN: r179565

12 years agoi386: Rewrite ix86_expand_vshuffle.
Richard Henderson [Wed, 5 Oct 2011 17:40:58 +0000 (10:40 -0700)]
i386: Rewrite ix86_expand_vshuffle.

1: Handle TARGET_XOP.
2: Reduce code duplication.
3: Use ASHIFT instead of MULT for scaling.
4: Fix errors in building convert-to-v16qi indicies.
5: Handle v2di without sse4.1.

From-SVN: r179564

12 years agoFix lower_vec_shuffle.
Richard Henderson [Wed, 5 Oct 2011 17:40:49 +0000 (10:40 -0700)]
Fix lower_vec_shuffle.

1: It can never fail.
2: It should mask the input indicies.

From-SVN: r179563

12 years agoi386.c (distance_non_agu_define): Simplify calculation of "found".
Uros Bizjak [Wed, 5 Oct 2011 17:24:01 +0000 (19:24 +0200)]
i386.c (distance_non_agu_define): Simplify calculation of "found".

* config/i386/i386.c (distance_non_agu_define): Simplify calculation
of "found".  Simplify return value calculation.
(distance_agu_use): Ditto.

From-SVN: r179561

12 years agore PR bootstrap/50621 (Bootstrap failure)
Bernd Schmidt [Wed, 5 Oct 2011 17:17:12 +0000 (17:17 +0000)]
re PR bootstrap/50621 (Bootstrap failure)

PR bootstrap/50621
* config/i386/i386.c (ix86_add_cfa_restore_note): Omit notes only
if the function was not shrink-wrapped.
(ix86_expand_epilogue): Ensure queued cfa_adjust notes are attached
to an insn.
* function.c (thread_prologue_and_epilogue_insns): Make sure the
shrink_wrapped flag is set even if there is no dump file.

From-SVN: r179560

12 years agorx.opt (mpid): Define.
DJ Delorie [Wed, 5 Oct 2011 15:07:21 +0000 (11:07 -0400)]
rx.opt (mpid): Define.

* config/rx/rx.opt (mpid): Define.
* config/rx/t-rx (MULTILIB_OPTIONS): Add -mpid
(MULTILIB_DIRNAMES): Add pid.
* config/rx/rx.c (rx_gp_base_regnum_val, rx_pid_base_regnum_val)
(rx_num_interrupt_regs): New variable.
(rx_gp_base_regnum): New function.  Returns the number of the
small data area register.
(rx_pid_base_regnum): New function.  Returns the number of the pid
base register.
(rx_decl_for_addr): New function.  Returns the symbolic part of a
MEM.
(rx_pid_data_operand): New function.  Returns whether an object is
in the position independent data area.
(rx_legitimize_address): New function.  Puts undecided PID
objects in the PID data area.
(rx_is_legitimate_address): Add support for PID operands.
(rx_print_operand_address): Likewise.
(rx_print_operand): Likewise.
(rx_maybe_pidify_operand): New function.  Determine if an operand
is suitable for PID addressing.
(rx_gen_move_template): Add PID support.
(rx_conditional_register_usage): Likewise.
(rx_option_override): Initialise rx_num_interrupt_regs.
(rx_is_legitimate_constant): Add support for PID constants.
(TARGET_LEGITIMIZE_ADDRESS): Define.
* config/rx/constraints.md (Rpid): Define.
(Rpda): Define.
* config/rx/rx.md (UNSPEC_PID_ADDR): Define.
(tablejump): Add PID support.
(mov<>): Likewise.
(mov<>_internal): Likewise.
(addsi3): Convert to an expander.  Add PID support.
(pid_addr): New pattern.
* config/rx/rx.h (CPP_SPEC): Define.
(ASM_SPEC): Pass -mpid and -mint-register on to assembler.
(CASE_VECTOR_PC_RELATIVE): Define.
(JUMP_TABLES_IN_TEXT_SECTION): Enable for PID mode.
* config/rx/rx-protos.h (rx_maybe_pidify_operand): Prototype.
* doc/invoke.texi (RX Options): Document -mpid command line
option.

Co-Authored-By: Nick Clifton <nickc@redhat.com>
From-SVN: r179558

12 years agore PR tree-optimization/38885 (missed FRE with BIT_FIELD_REF and vectors)
Richard Guenther [Wed, 5 Oct 2011 14:35:15 +0000 (14:35 +0000)]
re PR tree-optimization/38885 (missed FRE with BIT_FIELD_REF and vectors)

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

PR tree-optimization/38885
* tree-ssa-sccvn.c (vn_reference_lookup_3): Handle partial reads
from constants.

* gcc.dg/tree-ssa/ssa-fre-33.c: New testcase.

From-SVN: r179556

12 years agoinvoke.texi (-fshrink-wrap): Document.
Bernd Schmidt [Wed, 5 Oct 2011 12:59:23 +0000 (12:59 +0000)]
invoke.texi (-fshrink-wrap): Document.

* doc/invoke.texi (-fshrink-wrap): Document.
* opts.c (default_options_table): Add it.
* common.opt (fshrink-wrap): Add.
* function.c (emit_return_into_block): Remove useless declaration.
(record_hard_reg_uses_1, record_hard_reg_uses, frame_required_for_rtx,
requires_stack_frame_p, gen_return_pattern): New static functions.
(emit_return_into_block): New arg simple_p.  All callers changed.
Use gen_return_pattern.
(thread_prologue_and_epilogue_insns): Implement shrink-wrapping.
* config/i386/i386.md (return): Expand into a simple_return.
(simple_return): New expander):
(simple_return_internal, simple_return_internal_long,
simple_return_pop_internal_long, simple_return_indirect_internal):
Renamed from return_internal, return_internal_long,
return_pop_internal_long and return_indirect_internal; changed to use
simple_return.
* config/i386/i386.c (ix86_expand_epilogue): Adjust to expand
simple returns.
(ix86_pad_returns): Likewise.
* function.h (struct rtl_data): Add member shrink_wrapped.
* cfgcleanup.c (outgoing_edges_match): If shrink-wrapped, edges that
are not jumps or sibcalls can't be compared.

* gcc.target/i386/sw-1.c: New test.

From-SVN: r179553

12 years agotree-ssa-sccvn.c (vn_get_expr_for): Handle CONSTRUCTOR of vector type.
Richard Guenther [Wed, 5 Oct 2011 12:25:35 +0000 (12:25 +0000)]
tree-ssa-sccvn.c (vn_get_expr_for): Handle CONSTRUCTOR of vector type.

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

* tree-ssa-sccvn.c (vn_get_expr_for): Handle CONSTRUCTOR of
vector type.
(simplify_unary_expression): Handle BIT_FIELD_REFs.
(try_to_simplify): Handle BIT_FIELD_REFs.

From-SVN: r179549

12 years agoavx256-unaligned-load-3.c (dg-options): Add -mtune=generic.
Uros Bizjak [Wed, 5 Oct 2011 12:21:30 +0000 (14:21 +0200)]
avx256-unaligned-load-3.c (dg-options): Add -mtune=generic.

* gcc.target/i386/avx256-unaligned-load-3.c (dg-options): Add
-mtune=generic.
* gcc.target/i386/avx256-unaligned-store-3.c (dg-options): Ditto.

From-SVN: r179548

12 years agoavr-protos.h (avr_out_addto_sp): New prototype.
Georg-Johann Lay [Wed, 5 Oct 2011 11:16:10 +0000 (11:16 +0000)]
avr-protos.h (avr_out_addto_sp): New prototype.

* config/avr/avr-protos.h (avr_out_addto_sp): New prototype.
* config/avr/avr.c (avr_out_addto_sp): New function.
(adjust_insn_length): Handle ADJUST_LEN_ADDTO_SP.
* config/avr/avr.md (adjust_len): Add "addto_sp".
(*movhi_sp): Remove insn.
(*addhi3_sp_R_pc2, *addhi3_sp_R_pc3): Merge to *addhi3_sp_R.

From-SVN: r179544

12 years agogimple-fold.c (gimple_fold_stmt_to_constant_1): For ternary ops with an embedded...
Richard Guenther [Wed, 5 Oct 2011 10:54:14 +0000 (10:54 +0000)]
gimple-fold.c (gimple_fold_stmt_to_constant_1): For ternary ops with an embedded expression valueize and fold that as well.

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

* gimple-fold.c (gimple_fold_stmt_to_constant_1): For
ternary ops with an embedded expression valueize and fold
that as well.
* tree-ssa-sccvn.c (try_to_simplify): Also allow SSA name
results from gimple_fold_stmt_to_constant_1.

From-SVN: r179543

12 years agorx.md (tablejump): Add missing label.
Nick Clifton [Wed, 5 Oct 2011 10:26:58 +0000 (10:26 +0000)]
rx.md (tablejump): Add missing label.

* config/rx/rx.md (tablejump): Add missing label.
(adddi3_internal): Mark operand 0 as early-clobbered.
(smaxsi3): Revert previous delta.
(adc_internal): Fix whitespace in generated asm.
(adc_flags): Likewise.

From-SVN: r179542

12 years agoexpmed.c (expand_mult_highpart_optab): Replace optab_handler with the new widening_op...
Andreas Krebbel [Wed, 5 Oct 2011 10:20:04 +0000 (10:20 +0000)]
expmed.c (expand_mult_highpart_optab): Replace optab_handler with the new widening_optab_handler.

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

* expmed.c (expand_mult_highpart_optab): Replace optab_handler
with the new widening_optab_handler.

From-SVN: r179541

12 years agore PR middle-end/50609 (FAIL: gcc.c-torture/execute/pr23135.c compilation, -O2 ...
Richard Guenther [Wed, 5 Oct 2011 09:31:40 +0000 (09:31 +0000)]
re PR middle-end/50609 (FAIL: gcc.c-torture/execute/pr23135.c compilation,  -O2 -flto (ICE))

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

PR tree-optimization/50609
* gimple-fold.c (fold_array_ctor_reference): Also handle
vector typed constructors.
(fold_ctor_reference): Dispatch to fold_array_ctor_reference
for vector typed constructors.

From-SVN: r179540

12 years agoi386.c (ix86_emit_binop): New static function.
Uros Bizjak [Wed, 5 Oct 2011 08:05:14 +0000 (10:05 +0200)]
i386.c (ix86_emit_binop): New static function.

* config/i386/i386.c (ix86_emit_binop): New static function.
(ix86_split_lea_for_addr): Use ix86_emit_binop to emit add and shl
instructions.
(x86_output_mi_thunk): Use ix86_emit_binop to emit add instructions.

From-SVN: r179537

12 years agobuiltin-complex-1.c: Use dg-add-options ieee.
Uros Bizjak [Wed, 5 Oct 2011 06:12:39 +0000 (08:12 +0200)]
builtin-complex-1.c: Use dg-add-options ieee.

* gcc.dg/torture/builtin-complex-1.c: Use dg-add-options ieee.

From-SVN: r179536

12 years agoAdd support for more sparc VIS 3.0 instructions.
David S. Miller [Wed, 5 Oct 2011 03:25:58 +0000 (03:25 +0000)]
Add support for more sparc VIS 3.0 instructions.

gcc/

* config/sparc/sparc.md (UNSPEC_FHADD, UNSPEC_FHSUB,
UNSPEC_XMUL): New unspecs.
(muldi3_v8plus): Use output_v8plus_mult.
(*naddsf3, *nadddf3, *nmulsf3, *nmuldf3, *nmuldf3_extend):
New VIS 3.0 combiner patterns.
(fhaddsf_vis, fhadddf_vis, fhsubsf_vis, fhsubdf_vis,
fnhaddsf_vis, fnhaddf_vis, umulxhi_vis, *umulxhi_sp64,
umulxhi_v8plus, xmulx_vis, *xmulx_sp64, xmulx_v8plus,
xmulxhi_vis, *xmulxhi_sp64, xmulxhi_v8plus): New VIS 3.0
builtins patterns.
* config/sparc/sparc.c (sparc_vis_init_builtins): Emit new
builtins.
(output_v8plus_mult): New function.
* config/sparc/sparc-protos.h: Declare it.
* config/sparc/visintrin.h (__vis_fhadds, __vis_fhaddd,
__vis_fhsubs, __vis_fhsubd, __vis_fnhadds, __vis_fnhaddd,
__vis_umulxhi, __vis_xmulx, __vis_xmulxhi): New intrinsics.
* doc/extend.texi: Document new builtins.

gcc/testsuite/

* gcc.target/sparc/fhalve.c: New test.
* gcc.target/sparc/fnegop.c: New test.
* gcc.target/sparc/xmul.c: New test.

From-SVN: r179535

12 years agoDaily bump.
GCC Administrator [Wed, 5 Oct 2011 00:26:24 +0000 (00:26 +0000)]
Daily bump.

From-SVN: r179534

12 years agoFix global var initialized to function call with calls as arguments.
Ian Lance Taylor [Tue, 4 Oct 2011 23:16:32 +0000 (23:16 +0000)]
Fix global var initialized to function call with calls as arguments.

From-SVN: r179529

12 years agore PR libstdc++/49561 ([C++0x] std::list::size complexity)
Paolo Carlini [Tue, 4 Oct 2011 22:19:44 +0000 (22:19 +0000)]
re PR libstdc++/49561 ([C++0x] std::list::size complexity)

2011-10-04  Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/49561
* include/bits/stl_list.h (_List_base<>::_List_impl::_M_size):
Add in C++0x mode.
(_List_base<>::_List_impl, _List_base<>::_M_get_node,
_List_base<>::_M_put_node, _List_base<>::_List_base(_List_base&&),
list<>::size, list<>::swap, list<>::splice): Use it.
(operator==(const list<>&, const list<>&)): Rewrite in C++0x mode.
* include/bits/list.tcc (list<>::erase): Likewise.
(list<>::merge): Adjust in C++0x mode.
* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
Adjust dg-error line number.
* testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
Likewise.
* testsuite/23_containers/list/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/list/requirements/dr438/
constructor_2_neg.cc: Likewise.

From-SVN: r179528

12 years ago48698.cc (g): Fix return type, avoid -Wall warning.
Paolo Carlini [Tue, 4 Oct 2011 21:42:43 +0000 (21:42 +0000)]
48698.cc (g): Fix return type, avoid -Wall warning.

2011-10-04  Paolo Carlini  <paolo.carlini@oracle.com>

* testsuite/20_util/bind/48698.cc (g): Fix return type, avoid -Wall
warning.

From-SVN: r179526

12 years agoc-typeck.c (c_build_vec_shuffle_expr): Fix uninitialized variable.
Richard Henderson [Tue, 4 Oct 2011 21:04:10 +0000 (14:04 -0700)]
c-typeck.c (c_build_vec_shuffle_expr): Fix uninitialized variable.

* c-typeck.c (c_build_vec_shuffle_expr): Fix uninitialized variable.
Avoid save_expr unless two_arguments.

From-SVN: r179525

12 years agoalloc_traits.h (__alloc_traits::max_size): Define.
Jonathan Wakely [Tue, 4 Oct 2011 20:34:54 +0000 (20:34 +0000)]
alloc_traits.h (__alloc_traits::max_size): Define.

2011-10-04  Jonathan Wakely  <jwakely.gcc@gmail.com>

* include/ext/alloc_traits.h (__alloc_traits::max_size): Define.
(__alloc_traits::rebind): Define.
* include/bits/stl_vector.h: Use them.
* testsuite/util/testsuite_allocator.h (SimpleAllocator): Define.
* testsuite/23_containers/vector/allocator/minimal.cc: New.
* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
Adjust dg-error line numbers.
* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
Likewise.
* testsuite/23_containers/vector/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/vector/requirements/dr438/
constructor_2_neg.cc: Likewise.

From-SVN: r179523

12 years agore PR fortran/35831 ([F95] Shape mismatch check missing for dummy procedure argument)
Janus Weil [Tue, 4 Oct 2011 18:37:13 +0000 (20:37 +0200)]
re PR fortran/35831 ([F95] Shape mismatch check missing for dummy procedure argument)

2011-10-04  Janus Weil  <janus@gcc.gnu.org>

PR fortran/35831
* interface.c (check_dummy_characteristics): Check the array shape.

2011-10-04  Janus Weil  <janus@gcc.gnu.org>

PR fortran/35831
* gfortran.dg/dummy_procedure_6.f90: New.

From-SVN: r179520

12 years agomingw-w64.h (CPP_SPEC): Rename _REENTRANCE to _REENTRANT.
Ozkan Sezer [Tue, 4 Oct 2011 16:42:35 +0000 (16:42 +0000)]
mingw-w64.h (CPP_SPEC): Rename _REENTRANCE to _REENTRANT.

2011-10-04  Ozkan Sezer  <sezeroz@gmail.com>

        * config/i386/mingw-w64.h (CPP_SPEC): Rename _REENTRANCE to
        _REENTRANT.
        * config/i386/mingw32.h (CPP_SPEC): Likewise.

From-SVN: r179511

12 years agoSmall -m{cpu,tune}=native fix under Linux/Sparc.
David S. Miller [Tue, 4 Oct 2011 15:45:49 +0000 (15:45 +0000)]
Small -m{cpu,tune}=native fix under Linux/Sparc.

* config/sparc/driver-sparc.c (cpu_names): Fix string for supersparc
under Linux.

From-SVN: r179510

12 years agore PR middle-end/50604 (verify_gimple failed: type mismatch in binary expression)
Jakub Jelinek [Tue, 4 Oct 2011 15:25:53 +0000 (17:25 +0200)]
re PR middle-end/50604 (verify_gimple failed: type mismatch in binary expression)

PR tree-optimization/50604
* builtins.c (fold_builtin_strcpy, fold_builtin_stpcpy,
fold_builtin_strncpy, fold_builtin_stxcpy_chk): Ensure
last argument to memcpy has size_type_node type instead of
ssizetype.
* tree-ssa-strlen.c (handle_builtin_memcpy): Use size_type_node
instead of TREE_TYPE (len) as type for newlen.

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

From-SVN: r179508

12 years agoMaintain order of LTO sections
Andi Kleen [Tue, 4 Oct 2011 14:12:37 +0000 (14:12 +0000)]
Maintain order of LTO sections

Currently when reading in LTO sections from ld -r files they can
get randomly reordered based on hash tables and random IDs.
This causes reordering later when the final code is generated and
also makes crashes harder to reproduce.

This patch maintains explicit lists based on the input order and uses
those lists to preserve that order when starting the rest of the
LTO passes.

This is the first step to working -fno-toplevel-reorder for
LTO. But this needs more changes because the LTO partitioner
can still reorder.

This add two lists: one for the section and another one for
the file_decl_datas. This is needed because the sections are
walked twice through different data structures.

In addition some code becomes slightly cleaner because we don't need
to pass state through abstract callbacks anymore, but
can just use direct type safe calls.

gcc/lto/:

2011-10-02   Andi Kleen <ak@linux.intel.com>

* lto-object.c (lto_obj_add_section_data): Add list.
(lto_obj_add_section): Fill in list.
(ltoobj_build_section_table): Pass through list.
* lto.c (file_data_list): Declare.
(create_subid_section_table): Pass arguments directly.
Fill in list of file_datas.
(lwstate): Delete.
(lto_create_files_from_ids): Pass in direct arguments.
Don't maintain list.
(lto_file_read): Use explicit section and file data lists.
(lto_read_all_file_options): Pass in section_list.
* lto.h (lto_obj_build_section_table): Add list.
(lto_section_slot): Add next.
(lto_section_list): Declare.

From-SVN: r179505

12 years agoDon't XFAIL gcc.dg/graphite/interchange-14.c (PR tree-optimization/49662)
Rainer Orth [Tue, 4 Oct 2011 14:02:29 +0000 (14:02 +0000)]
Don't XFAIL gcc.dg/graphite/interchange-14.c (PR tree-optimization/49662)

From-SVN: r179503

12 years agore PR tree-optimization/50522 (C++ std::valarray vectorization missed optimization)
Jakub Jelinek [Tue, 4 Oct 2011 13:36:24 +0000 (15:36 +0200)]
re PR tree-optimization/50522 (C++ std::valarray vectorization missed optimization)

PR tree-optimization/50522
* tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Don't test
TYPE_RESTRICT.
(ptr_derefs_may_alias_p): Call pt_solutions_same_restrict_base
unconditionally.

From-SVN: r179502

12 years agofold-const.c (fold_unary_loc): Don't optimize POINTER_PLUS_EXPR casted to TYPE_RESTRI...
Jakub Jelinek [Tue, 4 Oct 2011 12:34:06 +0000 (14:34 +0200)]
fold-const.c (fold_unary_loc): Don't optimize POINTER_PLUS_EXPR casted to TYPE_RESTRICT pointer by casting the...

* fold-const.c (fold_unary_loc): Don't optimize
POINTER_PLUS_EXPR casted to TYPE_RESTRICT pointer by
casting the inner pointer if it isn't TYPE_RESTRICT.
* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Don't through
casts from non-TYPE_RESTRICT pointer to TYPE_RESTRICT pointer.

* gcc.dg/tree-ssa/restrict-4.c: New test.

From-SVN: r179500

12 years agoconfig.gcc (i[34567]86-*-elf*, [...]): Use i386/t-crtstuff.
Joseph Myers [Tue, 4 Oct 2011 11:24:23 +0000 (12:24 +0100)]
config.gcc (i[34567]86-*-elf*, [...]): Use i386/t-crtstuff.

* config.gcc (i[34567]86-*-elf*, x86_64-*-elf*): Use
i386/t-crtstuff.

From-SVN: r179498

12 years agovector-compare-1.c: Fix trailing white spaces.
Artjoms Sinkarovs [Tue, 4 Oct 2011 10:01:32 +0000 (10:01 +0000)]
vector-compare-1.c: Fix trailing white spaces.

2011-10-04  Artem Shinkarov  <artyom.shinkaroff@gmail.com>
* gcc.c-torture/execute/vector-compare-1.c: Fix trailing white
spaces.
(main): Use __typeof to get result type of comparison.

From-SVN: r179497

12 years agolto-streamer.h (lto_input_toplevel_asms): Add order_base parameter.
Jan Hubicka [Tue, 4 Oct 2011 09:46:56 +0000 (11:46 +0200)]
lto-streamer.h (lto_input_toplevel_asms): Add order_base parameter.

* lto-streamer.h (lto_input_toplevel_asms): Add order_base parameter.
* lto-streamer-in.c (lto_input_toplevel_asms): Stream in order.
* lto-streamer-out.c (lto_output_toplevel_asms): Stream out order.
* lto-cgraph.c (order_base): New static var.
(lto_output_node): Stream in order.
(lto_output_varpool_node): Stream out order.
(input_node): Stream in order.
(input_varpool_node): Stream out order.
(input_cgraph_1): Initialize order base; update call of
lto_input_toplevel_asms.

From-SVN: r179496

12 years agore PR target/50566 ([avr]: Add support for better logging similar to -mdeb)
Georg-Johann Lay [Tue, 4 Oct 2011 08:23:03 +0000 (08:23 +0000)]
re PR target/50566 ([avr]: Add support for better logging similar to -mdeb)

PR target/50566
* config/avr/avr-protos.h (avr_legitimize_reload_address): New
prototype.
* config/avr/avr.h (LEGITIMIZE_RELOAD_ADDRESS): Copy worker code
from here...
* config/avr/avr.c (avr_legitimize_reload_address) ...to this new
function.  Log if avr_log.legitimize_reload_address.

From-SVN: r179494

12 years ago* config/sparc/sparc.c (sparc_fold_builtin): Use a sequence of tests.
Eric Botcazou [Tue, 4 Oct 2011 07:40:07 +0000 (07:40 +0000)]
* config/sparc/sparc.c (sparc_fold_builtin): Use a sequence of tests.

From-SVN: r179493

12 years agolonglong.h (smul_ppmm, sdiv_qrnnd): Add underscores to the local variables.
Andreas Krebbel [Tue, 4 Oct 2011 07:27:01 +0000 (07:27 +0000)]
longlong.h (smul_ppmm, sdiv_qrnnd): Add underscores to the local variables.

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

* longlong.h (smul_ppmm, sdiv_qrnnd): Add underscores to the local
variables.  Fix second operand of DR.  Swap inputs for sdiv_qrnnd.

From-SVN: r179491

12 years ago* lib/target-supports.exp
Ira Rosen [Tue, 4 Oct 2011 07:21:46 +0000 (07:21 +0000)]
* lib/target-supports.exp
        (check_effective_target_vect_multiple_sizes):
        Make et_vect_multiple_sizes_saved global.
        (check_effective_target_vect64): Make et_vect64_saved global.

From-SVN: r179490

12 years agoMore consistent access to sparc %ger register.
David S. Miller [Tue, 4 Oct 2011 06:34:22 +0000 (06:34 +0000)]
More consistent access to sparc %ger register.

* config/sparc/sparc.md (fpack16_vis, fpackfix_vis, fpack32_vis): Make
GSR_REG an input operand to UNSPEC instead of a parallel USE.
(faligndata<V64I:mode>_vis): Likewise and use DI mode.
(alignaddrsi_vis, alignaddrdi_vis, alignaddrlsi_vis, alignaddrldi_vis):
Reference GSR_REG in DI mode, simplify convoluted expressions by using
zero_extract.
(bshuffle<V64I:mode>_vis): Reference GSR_REG in DI mode.

From-SVN: r179489

12 years ago* tree-eh.c (remove_unreachable_handlers): Obvious cleanup.
Maxim Kuvyrkov [Tue, 4 Oct 2011 02:23:17 +0000 (02:23 +0000)]
* tree-eh.c (remove_unreachable_handlers): Obvious cleanup.

From-SVN: r179486

12 years agoDaily bump.
GCC Administrator [Tue, 4 Oct 2011 00:17:40 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r179484

12 years ago* de.po: Update.
Joseph Myers [Mon, 3 Oct 2011 20:15:53 +0000 (21:15 +0100)]
* de.po: Update.

From-SVN: r179478

12 years agogodump.c (go_output_typedef): Support printing enum values that don't fit in a signed...
Jakub Jelinek [Mon, 3 Oct 2011 20:09:56 +0000 (22:09 +0200)]
godump.c (go_output_typedef): Support printing enum values that don't fit in a signed HOST_WIDE_INT.

* godump.c (go_output_typedef): Support printing enum values that
don't fit in a signed HOST_WIDE_INT.

Co-Authored-By: Ian Lance Taylor <iant@google.com>
From-SVN: r179477

12 years agocris.c (cris_output_addr_const_extra): Make static.
Anatoly Sokolov [Mon, 3 Oct 2011 19:39:50 +0000 (23:39 +0400)]
cris.c (cris_output_addr_const_extra): Make static.

* config/cris/cris.c (cris_output_addr_const_extra): Make static.
(TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
* config/cris/cris.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
* config/cris/cris-protos.h (cris_output_addr_const_extra): Remove.

From-SVN: r179476

12 years agom68k.c (m68k_output_addr_const_extra): Make static.
Anatoly Sokolov [Mon, 3 Oct 2011 19:16:29 +0000 (23:16 +0400)]
m68k.c (m68k_output_addr_const_extra): Make static.

* config/m68k/m68k.c (m68k_output_addr_const_extra): Make static.
(TARGET_OUTPUT_ADDR_CONST_EXTRA): Define.
* config/m68k/m68k.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
* config/m68k/m68k-protos.h (m68k_output_addr_const_extra): Remove.

From-SVN: r179474

12 years agopointer_to.cc: Define equality operator and use.
Jonathan Wakely [Mon, 3 Oct 2011 19:11:53 +0000 (19:11 +0000)]
pointer_to.cc: Define equality operator and use.

2011-10-03  Jonathan Wakely  <jwakely.gcc@gmail.com>

* testsuite/20_util/pointer_traits/pointer_to.cc: Define equality
operator and use.

From-SVN: r179473

12 years agore PR target/49967 (The -static-libstdc++ does not work on HP-UX (IA64 B.11.23, proba...
Steve Ellcey [Mon, 3 Oct 2011 17:57:40 +0000 (17:57 +0000)]
re PR target/49967 (The -static-libstdc++ does not work on HP-UX (IA64 B.11.23, probably others))

2011-10-03  Steve Ellcey  <sje@cup.hp.com>

PR target/49967
* configure.ac (gcc_cv_ld_static_dynamic): Define for *-*-hpux*.
(gcc_cv_ld_static_option): Ditto.
(gcc_cv_ld_dynamic_option): Ditto.
* configure: Regenerate.

From-SVN: r179472

12 years agoMinor fixup to the sparc bshuffle pattern.
David S. Miller [Mon, 3 Oct 2011 17:55:10 +0000 (17:55 +0000)]
Minor fixup to the sparc bshuffle pattern.

* config/sparc/sparc.md (bshuffle<V64I:mode>_vis): Don't wrap GSR_REG in
a USE, since it's now a true arg to the UNSPEC.

From-SVN: r179470

12 years agoFix Artem's name spelling, at request.
Richard Henderson [Mon, 3 Oct 2011 17:11:11 +0000 (10:11 -0700)]
Fix Artem's name spelling, at request.

From-SVN: r179469

12 years agoFix broken commit wrt vect-shuffle-N.c tests.
Richard Henderson [Mon, 3 Oct 2011 17:08:43 +0000 (10:08 -0700)]
Fix broken commit wrt vect-shuffle-N.c tests.

From-SVN: r179468

12 years agoMinor fixups to the sparc bmask/bshuffle patterns.
David S. Miller [Mon, 3 Oct 2011 16:41:07 +0000 (16:41 +0000)]
Minor fixups to the sparc bmask/bshuffle patterns.

* config/sparc/sparc.md (bmask<P:mode>_vis): Split into explicit 'di'
and 'si' patterns which describe the GSR changes explicitly in the
RTL using zero_extract.
(bshuffle<V64I:mode>_vis): Put the GSR use inside of the unspec.

From-SVN: r179465

12 years agohashtable.h (_Hashtable<>::insert(value_type&&), [...]): Don't define here...
Paolo Carlini [Mon, 3 Oct 2011 15:28:47 +0000 (15:28 +0000)]
hashtable.h (_Hashtable<>::insert(value_type&&), [...]): Don't define here...

2011-10-03  Paolo Carlini  <paolo.carlini@oracle.com>

* include/bits/hashtable.h (_Hashtable<>::insert(value_type&&),
insert(const_iterator, value_type&&)): Don't define here...
* include/bits/unordered_set.h (__unordered_set<>,
__unordered_multiset<>): ... define here instead.

From-SVN: r179464

12 years agoVector shuffling patch from Artem Shinkarov.
Artjoms Sinkarovs [Mon, 3 Oct 2011 15:13:26 +0000 (08:13 -0700)]
Vector shuffling patch from Artem Shinkarov.

From-SVN: r179462

12 years agore PR tree-optimization/50587 (ICE init_range_entry, at tree-ssa-reassoc.c:1698 cause...
Jakub Jelinek [Mon, 3 Oct 2011 09:06:38 +0000 (11:06 +0200)]
re PR tree-optimization/50587 (ICE init_range_entry, at tree-ssa-reassoc.c:1698 caused by recent change)

PR tree-optimization/50587
* tree-ssa-reassoc.c (init_range_entry): Stop iterating when
arg0 is not a SSA_NAME.

From-SVN: r179447

12 years agoipa-inline-analysis.c (MAX_TIME): Update comment.
Richard Sandiford [Mon, 3 Oct 2011 08:11:43 +0000 (08:11 +0000)]
ipa-inline-analysis.c (MAX_TIME): Update comment.

gcc/
* ipa-inline-analysis.c (MAX_TIME): Update comment.

From-SVN: r179446

12 years agopt.c (tsubst_pack_expansion): Re-use ARGUMENT_PACK_SELECTs.
Jason Merrill [Mon, 3 Oct 2011 04:32:35 +0000 (00:32 -0400)]
pt.c (tsubst_pack_expansion): Re-use ARGUMENT_PACK_SELECTs.

* pt.c (tsubst_pack_expansion): Re-use ARGUMENT_PACK_SELECTs.
Change unsubstituted_packs to bool.

From-SVN: r179444

12 years agoparser.c (cp_parser_range_for): Don't try to deduce from {} in a template.
Jason Merrill [Mon, 3 Oct 2011 04:32:20 +0000 (00:32 -0400)]
parser.c (cp_parser_range_for): Don't try to deduce from {} in a template.

* parser.c (cp_parser_range_for): Don't try to deduce from {}
in a template.

From-SVN: r179443

12 years agoAdd missing changelog details in previous commit.
David S. Miller [Mon, 3 Oct 2011 00:52:32 +0000 (17:52 -0700)]
Add missing changelog details in previous commit.

* config/sparc/predicates.md (const_one_operand): Delete.

From-SVN: r179442

12 years agoAdd missing sparc shift zero extensions, and fix shift attributes.
Richard Henderson [Mon, 3 Oct 2011 00:46:54 +0000 (17:46 -0700)]
Add missing sparc shift zero extensions, and fix shift attributes.

* config/sparc/sparc.md (ashlsi3, *ashldi3_sp64): Remove
conditional insn type setting, we always emit a shift.
(*ashlsi3_extend, *lshrsi3_extend0): New patterns.
(*lshrsi3_extend): Rename to *lshrsi3_extend1.

Co-Authored-By: David S. Miller <davem@davemloft.net>
From-SVN: r179441

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

From-SVN: r179440

12 years agore PR c++/35722 ([C++0x] Variadic templates expansion into non-variadic class template)
Jason Merrill [Sun, 2 Oct 2011 21:45:01 +0000 (17:45 -0400)]
re PR c++/35722 ([C++0x] Variadic templates expansion into non-variadic class template)

PR c++/35722
Implement N2555 (expanding pack expansion to fixed parm list)
* pt.c (coerce_template_parms): Allow expanding a pack expansion
to a fixed-length argument list.
(unify_pack_expansion): Handle explicit args properly.
(unify) [TREE_VEC]: Handle pack expansions here.
[TYPE_ARGUMENT_PACK]: Not here.
(tsubst_pack_expansion): Don't try to do partial substitution.
(pack_deducible_p): New.
(fn_type_unification): Use it.
(find_parameter_packs_r): Take the TYPE_MAIN_VARIANT
of a type parameter.
(check_non_deducible_conversion): Split from type_unification_real.
(unify_one_argument): Split from type_unification_real...
(unify_pack_expansion): ...and here.  Drop call_args_p parm.
(type_unification_real, unify, more_specialized_fn): Adjust.

From-SVN: r179436

12 years agoclass.c (fixed_type_or_null): Handle NSDMI.
Jason Merrill [Sun, 2 Oct 2011 21:44:52 +0000 (17:44 -0400)]
class.c (fixed_type_or_null): Handle NSDMI.

* class.c (fixed_type_or_null): Handle NSDMI.
* method.c (walk_field_subobs): Disable NSDMI noexcept checking
for now.

From-SVN: r179435

12 years ago* invoke.texi (SPARC Options): Refer to GNU/Linux.
Gerald Pfeifer [Sun, 2 Oct 2011 20:51:29 +0000 (20:51 +0000)]
* invoke.texi (SPARC Options): Refer to GNU/Linux.

From-SVN: r179434

12 years agore PR target/50579 (gcc.target/mips/20020620-1.c FAILs on IRIX 6.5)
Richard Sandiford [Sun, 2 Oct 2011 18:29:27 +0000 (18:29 +0000)]
re PR target/50579 (gcc.target/mips/20020620-1.c FAILs on IRIX 6.5)

gcc/testsuite/
PR target/50579
* gcc.target/mips/mips.exp (mips_long32_abi_p, mips_long64_abi_p):
New procedures.
(mips-dg-options): Force an ABI option if the current ABI is
incompatible with the required -mlong setting.  Likewise force
a long setting if the current one is incompatible with the
chosen ABI.  Keep abi_test_option_p, abi and eabi_p updated
throughout procedure.
* gcc.target/mips/abi-o64-long64.c: Require -mno-abicalls
instead of addressing=absolute.

From-SVN: r179433

12 years agomips.c (mips_frame_barrier): New function.
Richard Sandiford [Sun, 2 Oct 2011 17:46:11 +0000 (17:46 +0000)]
mips.c (mips_frame_barrier): New function.

gcc/
* config/mips/mips.c (mips_frame_barrier): New function.
(mips_expand_prologue): Call it after allocating stack space.
(mips_deallocate_stack): New function.
(mips_expand_epilogue): Call mips_frame_barrier and
mips_deallocate_stack.

gcc/testsuite/
* gcc.target/mips/stack-1.c: New test.

From-SVN: r179432

12 years agore PR target/49696 (ICE on mips when compiling drizzle)
Richard Sandiford [Sun, 2 Oct 2011 17:45:10 +0000 (17:45 +0000)]
re PR target/49696 (ICE on mips when compiling drizzle)

gcc/
PR target/49696
* config/mips/sync.md (sync_<optab>_12): Allow zero operands.
(sync_old_<optab>_12, sync_new_<optab>_12, sync_nand_12): Likewise.
(sync_old_nand_12, sync_new_nand_12, test_and_set_12): Likewise.

gcc/testsuite/
* gcc.dg/pr49696.c: New test.

From-SVN: r179431

12 years ago* cgraphunit.c (verify_edge_count_and_frequency): Bounds check.
Jan Hubicka [Sun, 2 Oct 2011 15:06:11 +0000 (17:06 +0200)]
* cgraphunit.c (verify_edge_count_and_frequency): Bounds check.

From-SVN: r179430

12 years agocgraphunit.c (ipa_passes): Remove unrechable nodes.
Jan Hubicka [Sun, 2 Oct 2011 14:30:50 +0000 (16:30 +0200)]
cgraphunit.c (ipa_passes): Remove unrechable nodes.

* cgraphunit.c (ipa_passes): Remove unrechable nodes.
* lto-streamer-out.c (produce_symtab): Skip unused extern declarations.
* ipa.c (cgraph_remove_unreachable_nodes): Do not assume that external
functions are reachable when address is taken.
* ipa-inline-analysis.c (reset_inline_edge_summary): New

* gcc.dg/ipa/ctor-empty-1.c: Update dump file.

From-SVN: r179429

12 years ago* ipa-inline-analysis.c (inline_summary_alloc): Bounds check.
Jan Hubicka [Sun, 2 Oct 2011 14:28:18 +0000 (16:28 +0200)]
* ipa-inline-analysis.c (inline_summary_alloc): Bounds check.

From-SVN: r179428

12 years agoipa-inline-analysis.c (reset_inline_edge_summary): New function.
Jan Hubicka [Sun, 2 Oct 2011 13:59:28 +0000 (15:59 +0200)]
ipa-inline-analysis.c (reset_inline_edge_summary): New function.

* ipa-inline-analysis.c (reset_inline_edge_summary): New function.
(reset_inline_summary): New function.
(compute_inline_parameters, inline_node_removal_hook,
inline_edge_removal_hook): Use it.
(inline_free_summary): Reset holders correctly.
(inline_generate_summary): Free summary before computing it.

From-SVN: r179427

12 years agore PR preprocessor/36819 (memleak in split_quote_chain)
Paolo Carlini [Sun, 2 Oct 2011 12:31:40 +0000 (12:31 +0000)]
re PR preprocessor/36819 (memleak in split_quote_chain)

2011-10-02  Paolo Carlini  <paolo.carlini@oracle.com>

PR preprocessor/36819
* incpath.c (merge_include_chains): Call free_path on
heads[QUOTE] and tails[QUOTE].

From-SVN: r179426

12 years agoFix r179381: add missing period in testsuite/Changelog.
Revital Eres [Sun, 2 Oct 2011 11:14:53 +0000 (11:14 +0000)]
Fix r179381: add missing period in testsuite/Changelog.

From-SVN: r179425

12 years agore PR lto/47247 (Linker plugin specification makes it difficult to handle COMDATs)
Jan Hubicka [Sun, 2 Oct 2011 10:41:24 +0000 (12:41 +0200)]
re PR lto/47247 (Linker plugin specification makes it difficult to handle COMDATs)

PR lto/47247
* lto-plugin.c (get_symbols_v2): New variable.
(write_resolution): Use V2 API when available.
(onload): Handle LDPT_GET_SYMBOLS_V2.

* lto-symtab.c (lto_symtab_resolve_symbols): Do not resolve
when resolution is already availbale from plugin.
(lto_symtab_merge_decls_1): Handle LDPR_PREVAILING_DEF_IRONLY_EXP.
* cgraph.c (ld_plugin_symbol_resolution): Add prevailing_def_ironly_exp.
* lto-cgraph.c (LDPR_NUM_KNOWN): Update.
* ipa.c (varpool_externally_visible_p): IRONLY variables are never
externally visible.
* varasm.c (resolution_to_local_definition_p): Add
LDPR_PREVAILING_DEF_IRONLY_EXP.
(resolution_local_p): Likewise.

* common.c (lto_resolution_str): Add new resolution.
* common.h (lto_resolution_str): Likewise.

From-SVN: r179424

12 years agoStart adding support for VIS 3.0 instructions.
David S. Miller [Sun, 2 Oct 2011 02:21:20 +0000 (02:21 +0000)]
Start adding support for VIS 3.0 instructions.

gcc/

* config/sparc/sparc.opt (VIS3): New option.
* doc/invoke.texi: Document it.
* config/sparc/sparc.h: Force TARGET_VIS3 to zero if assembler is
not capable of such instructions.
* config/sparc/sparc-c.c (sparc_target_macros): Define __VIS__
to 0x300 when TARGET_VIS3.
* config/sparc/sparc-modes.def: Create 16-byte vector modes.
* config/sparc/sparc.md (UNSPEC_CMASK8, UNSPEC_CMASK16, UNSPEC_CMASK32,
UNSPEC_FCHKSM16, UNSPEC_PDISTN, UNSPC_FUCMP): New unspecs.
(V64N8, VASS): New mode iterators.
(vis3_shift, vis3_addsub_ss): New code iterators.
(vbits, vconstr): New mode attributes.
(vis3_shift_insn, vis3_addsub_ss_insn): New code attributes.
(cmask8<P:mode>_vis, cmask16<P:mode>_vis, cmask32<P:mode>_vis,
fchksm16_vis, <vis3_shift_insn><vbits>_vis, pdistn<mode>_vis,
fmean16_vis, fpadd64_vis, fpsub64_vis, <vis3_addsub_ss_insn><vbits>_vis,
fucmp<code>8<P:mode>_vis): New VIS 3.0 instruction patterns.
* config/sparc/sparc.c (sparc_option_override): Set MASK_VIS3 by
default when targetting capable cpus.  TARGET_VIS3 implies
TARGET_VIS2 and TARGET_VIS, and clear them when TARGET_FPU is
disabled.
(sparc_vis_init_builtins): Emit new VIS 3.0 builtins.
(sparc_fold_builtin): Do not eliminate cmask{8,16,32} when result
is ignored.
* config/sparc/visintrin.h (__vis_cmask8, __vis_cmask16,
__vis_cmask32, __vis_fchksm16, __vis_fsll16, __vis_fslas16,
__vis_fsrl16, __vis_fsra16, __vis_fsll32, __vis_fslas32,
__vis_fsrl32, __vis_fsra32, __vis_pdistn, __vis_fmean16,
__vis_fpadd64, __vis_fpsub64, __vis_fpadds16, __vis_fpadds16s,
__vis_fpsubs16, __vis_fpsubs16s, __vis_fpadds32, __vis_fpadds32s,
__vis_fpsubs32, __vis_fpsubs32s, __vis_fucmple8, __vis_fucmpne8,
__vis_fucmpgt8, __vis_fucmpeq8): New VIS 3.0 interfaces.
* doc/extend.texi: Document new VIS 3.0 builtins.

gcc/testsuite/

* gcc.target/sparc/cmask.c: New test.
* gcc.target/sparc/fpadds.c: New test.
* gcc.target/sparc/fshift.c: New test.
* gcc.target/sparc/fucmp.c: New test.
* gcc.target/sparc/vis3misc.c: New test.

From-SVN: r179421

12 years agoDaily bump.
GCC Administrator [Sun, 2 Oct 2011 00:17:58 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r179420

12 years ago* ira-color.c (assign_hard_reg): Fix typo.
Eric Botcazou [Sat, 1 Oct 2011 19:42:54 +0000 (19:42 +0000)]
* ira-color.c (assign_hard_reg): Fix typo.

From-SVN: r179415

12 years agovector (vector<>::erase(iterator, iterator): Check iterators equality using normal...
François Dumont [Sat, 1 Oct 2011 19:21:57 +0000 (19:21 +0000)]
vector (vector<>::erase(iterator, iterator): Check iterators equality using normal iterators.

2011-10-01  François Dumont  <fdumont@gcc.gnu.org>

        * include/debug/vector (vector<>::erase(iterator, iterator): Check
        iterators equality using normal iterators.
        * include/debug/deque (deque<>::erase(iterator, iterator): Likewise.

From-SVN: r179414

12 years agore PR fortran/50585 (ICE with assumed length character array argument)
Janus Weil [Sat, 1 Oct 2011 11:41:41 +0000 (13:41 +0200)]
re PR fortran/50585 (ICE with assumed length character array argument)

2011-10-01  Janus Weil  <janus@gcc.gnu.org>

PR fortran/50585
* interface.c (get_expr_storage_size): Check if 'length' component is
associated.

2011-10-01  Janus Weil  <janus@gcc.gnu.org>

PR fortran/50585
* gfortran.dg/assumed_charlen_arg_2.f90: New.

From-SVN: r179413

12 years agoDaily bump.
GCC Administrator [Sat, 1 Oct 2011 00:17:57 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r179410

12 years agocp-tree.h (TREE_NEGATED_INT): Remove.
Jason Merrill [Fri, 30 Sep 2011 17:47:40 +0000 (13:47 -0400)]
cp-tree.h (TREE_NEGATED_INT): Remove.

* cp-tree.h (TREE_NEGATED_INT): Remove.
* semantics.c (finish_unary_op_expr): Don't set it.

From-SVN: r179400

12 years agore PR c++/44473 (iterators already defined for std::vector when using std::decimal)
Janis Johnson [Fri, 30 Sep 2011 17:33:41 +0000 (17:33 +0000)]
re PR c++/44473 (iterators already defined for std::vector when using std::decimal)

gcc/cp
PR c++/44473
* mangle.c (write_type): Handle CV qualifiers for decimal classes.
gcc/testsuite
PR c++/44473
* g++.dg/dfp/44473-1.C: New test.
* g++.dg/dfp/44473-2.C: New test.
* g++.dg/dfp/mangle-1.C: New test.
* g++.dg/dfp/mangle-2.C: New test.
* g++.dg/dfp/mangle-3.C: New test.
* g++.dg/dfp/mangle-4.C: New test.
* g++.dg/dfp/mangle-5.C: New test.

From-SVN: r179399

12 years agoAdd missing ','.
H.J. Lu [Fri, 30 Sep 2011 16:29:06 +0000 (16:29 +0000)]
Add missing ','.

2011-09-30  H.J. Lu  <hongjiu.lu@intel.com>

* doc/extend.texi: Add missing ','.

From-SVN: r179397

12 years agoUse 64bit integer for LTO symbol ID.
H.J. Lu [Fri, 30 Sep 2011 15:48:51 +0000 (15:48 +0000)]
Use 64bit integer for LTO symbol ID.

gcc/lto

2011-09-30  H.J. Lu  <hongjiu.lu@intel.com>
    Andi Kleen  <ak@linux.intel.com>

PR lto/50568
* lto.c (lto_splay_tree_delete_id): New.
(lto_splay_tree_compare_ids): Likewise.
(lto_splay_tree_lookup): Likewise.
(lto_splay_tree_id_equal_p): Likewise.
(lto_splay_tree_insert): Likewise.
(lto_splay_tree_new): Likewise.
(lto_resolution_read): Change id to unsigned HOST_WIDE_INT.
Use lto_splay_tree_id_equal_p and lto_splay_tree_lookup.
(create_subid_section_table): Use lto_splay_tree_lookup and
lto_splay_tree_insert.
(lto_file_read): Use lto_splay_tree_new.

lto-plugin/

2011-09-30  H.J. Lu  <hongjiu.lu@intel.com>
    Andi Kleen  <ak@linux.intel.com>

PR lto/50568
* lto-plugin.c (sym_aux): Change id to unsigned long long.
(plugin_symtab): Likewise.
(dump_symtab): Likewise.
(resolve_conflicts): Likewise.
(process_symtab): Likewise.

Co-Authored-By: Andi Kleen <ak@linux.intel.com>
From-SVN: r179395

12 years agoc6x-common.c (c6x_option_optimization_table): Enable -fmodulo-sched at -O2 and above.
Bernd Schmidt [Fri, 30 Sep 2011 15:37:43 +0000 (15:37 +0000)]
c6x-common.c (c6x_option_optimization_table): Enable -fmodulo-sched at -O2 and above.

* common/config/c6x/c6x-common.c (c6x_option_optimization_table):
Enable -fmodulo-sched at -O2 and above.
* config/c6x/c6x.md (doloop_end): New expander.
(mvilc, sploop, spkernel, loop_end): New patterns.
(loop_end with memory destination splitter): New.
* config/c6x/c6x.c: Include "hw-doloop.h".
(enum unitreqs): New.
(unit_req_table): New typedef.
(unit_reqs): New static variable.
(unit_req_factor, get_unit_reqs, count_unit_reqs, merge_unit_reqs,
res_mii, split_delayed_nonbranch, undo_split_delayed_nonbranch,
hwloop_pattern_reg, bb_earliest_end_cycle, filter_insns_above,
hwloop_optimize, hwloop_fail, c6x_hwloops): New static functions.
(struct c6x_sched_context): New member last_scheduled_iter0.
(init_sched_state): Initialize it.
(c6x_variable_issue): Update it.
(sploop_max_uid_iter0): New static variable.
(c6x_sched_reorder_1): Be careful about issuing sploop.
(c6x_reorg): Call c6x_hwlooops before the final schedule.

From-SVN: r179393

12 years agore PR target/50566 ([avr]: Add support for better logging similar to -mdeb)
Georg-Johann Lay [Fri, 30 Sep 2011 15:15:23 +0000 (15:15 +0000)]
re PR target/50566 ([avr]: Add support for better logging similar to -mdeb)

PR target/50566
* config/avr/avr-protos.h (avr_log_t): New field address_cost.
* config/avr/avr.c (avr_address_cost): Use it.
* config/avr/avr-log.c (avr_log_set_avr_log): Initialize it.
(avr_log_vadump): Unknown %-codes finish printing.

From-SVN: r179391

12 years agore PR inline-asm/50571 (Undesirable folding in "m" constrained asm operands)
Jakub Jelinek [Fri, 30 Sep 2011 15:01:27 +0000 (17:01 +0200)]
re PR inline-asm/50571 (Undesirable folding in "m" constrained asm operands)

PR inline-asm/50571
* gimple-fold.c (fold_stmt_1) <case GIMPLE_ASM>: If
input constraints allow mem and not reg, pass true instead of
false as second argument to maybe_fold_reference.

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

From-SVN: r179389

12 years agore PR tree-optimization/46309 (optimization a==3||a==1)
Jakub Jelinek [Fri, 30 Sep 2011 15:00:12 +0000 (17:00 +0200)]
re PR tree-optimization/46309 (optimization a==3||a==1)

PR tree-optimization/46309
* fold-const.c (make_range, merge_ranges): Remove prototypes.
(make_range_step): New function.
(make_range): Use it.
* tree.h (make_range_step): New prototypes.
* Makefile.in (tree-ssa-reassoc.o): Depend on $(DIAGNOSTIC_CORE_H).
* tree-ssa-reassoc.c: Include diagnostic-core.h.
(struct range_entry): New type.
(init_range_entry, range_entry_cmp, update_range_test,
optimize_range_tests): New functions.
(reassociate_bb): Call optimize_range_tests.

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

From-SVN: r179388

12 years agotree-ssa-structalias.c (find_func_aliases_for_builtin_call): Handle BUILT_IN_STRDUP...
Jakub Jelinek [Fri, 30 Sep 2011 14:58:27 +0000 (16:58 +0200)]
tree-ssa-structalias.c (find_func_aliases_for_builtin_call): Handle BUILT_IN_STRDUP and BUILT_IN_STRNDUP.

* tree-ssa-structalias.c (find_func_aliases_for_builtin_call): Handle
BUILT_IN_STRDUP and BUILT_IN_STRNDUP.
* tree-ssa-alias.c (call_may_clobber_ref_p_1): Likewise.  Fix
handling of BUILT_IN_STRNCAT and BUILT_IN_STRNCAT_CHK.
(ref_maybe_used_by_call_p_1): Fix handling of BUILT_IN_STRCAT,
BUILT_IN_STRNCAT, BUILT_IN_STRCAT_CHK and BUILT_IN_STRNCAT_CHK.

* gcc.dg/strlenopt-21.c: New test.

Co-Authored-By: Richard Guenther <rguenther@suse.de>
From-SVN: r179387

12 years agoSplit out LTO's writing of top level asm nodes in preparation of extending what...
Jan Beulich [Fri, 30 Sep 2011 14:56:01 +0000 (14:56 +0000)]
Split out LTO's writing of top level asm nodes in preparation of extending what...

Split out LTO's writing of top level asm nodes in preparation of extending
what needs to be written out when top level asm-s get enhanced to accept a
limited set of input operands.

gcc/
2011-09-30  Jan Beulich  <jbeulich@suse.com>

* lto-cgraph.c (output_cgraph): Remove processing of
'cgraph_asm_nodes', call lto_output_toplevel_asms() instead.
(input_cgraph_1): Remove loop calling cgraph_add_asm_node(), call
lto_input_toplevel_asms() instead.
* lto-section-in.c (lto_section_name): Add "asm" entry.
* lto-streamer-in.c (lto_input_toplevel_asms): New.
* lto-streamer-out.c (lto_output_toplevel_asms): New.
* lto-streamer.h (LTO_minor_version): Bump.
(enum lto_section_type): Add LTO_section_asm.
(struct lto_asm_header): New.
(lto_input_toplevel_asms, lto_output_toplevel_asms): Declare.
* tree-streamer.h (streamer_write_string_cst): Declare.
* tree-streamer-out.c (write_string_cst): Rename to
streamer_write_string_cst and make global. Handle incoming string
being NULL.
(streamer_write_tree_header): Adjust call to renamed function.

From-SVN: r179386

12 years agosched-ebb.c (schedule_ebb): No longer static.
Bernd Schmidt [Fri, 30 Sep 2011 14:12:34 +0000 (14:12 +0000)]
sched-ebb.c (schedule_ebb): No longer static.

* sched-ebb.c (schedule_ebb): No longer static.  Remove declaration.
New arg modulo_scheduling.  All callers changed.  Move note handling
code here from schedule_ebbs.
(schedule_ebbs_finish, schedule_ebbs_init): New functions, broken
out of schedule_ebbs.
(schedule_ebbs): Call them.  Remove note handling code moved to
schedule_ebb.
* sched-int.h (schedule_ebb, schedule_ebbs_init,
schedule_ebbs_finish): Declare.

From-SVN: r179385

12 years agoPartial reversion of r179358.
Iain Sandoe [Fri, 30 Sep 2011 13:44:48 +0000 (13:44 +0000)]
Partial reversion of r179358.

ada:
Partial reversion of r179358.

* gcc-interface/Makefile.in (Darwin): Partial reversion of previous
change to powerpc section.

From-SVN: r179384

12 years agohaifa-sched.c (modulo_ii, [...]): New static variables.
Bernd Schmidt [Fri, 30 Sep 2011 13:33:54 +0000 (13:33 +0000)]
haifa-sched.c (modulo_ii, [...]): New static variables.

* haifa-sched.c (modulo_ii, modulo_max_states, modulo_n_insns,
modulo_insns_scheduled, modulo_iter0_max_uid, modulo_backtracks_left,
modulo_last_stage): New static variables.
(set_modulo_params, discard_delay_pairs_above): New functions.
(struct delay_pair): New member stages.
(htab_i2_traverse, htab_i1_traverse): New static functions.
(record_delay_slot_pair): New arg stages.  All callers changed.
Record it.
(pair_delay): Take stages into account.
(add_delay_dependencies): Don't do so for stage pairs.
(struct sched_block_state): New member modulo_epilogue.
(save_backtrack_point): Don't set SHADOW_P for stage pairs.
(unschedule_insns_until): Decrease modulo_insns_scheduled.
Set HARD_DEP without using or.
(resolve_dependencies): New static function.
(prune_ready_list): New arg modulo_epilogue_p.  All callers changed.
If it is true, allow only insns with INSN_EXACT_TICK set.
(schedule_block): Return bool, always true for normal scheduling,
true or false depending on modulo scheduling success otherwise.
Add bookkeeping for modulo scheduling, and call resolve_dependencies
on everything left over after a modulo schedule.
(haifa_sched_init): Remove check_cfg call.  Clear modulo_ii.
* sched-int.h (schedule_block, record_delay_slot_pair): Adjust
declarations.
(set_modulo_params, discard_delay_pairs_above): Declare.
* params.def (PARAM_MAX_MODULO_BACKTRACK_ATTEMPS): New.
* doc/invoke.texi (--param): Document it.

From-SVN: r179383

12 years agore PR tree-optimization/50574 (gcc.c-torture/execute/vector-compare-1.c FAILs on...
Richard Guenther [Fri, 30 Sep 2011 13:33:14 +0000 (13:33 +0000)]
re PR tree-optimization/50574 (gcc.c-torture/execute/vector-compare-1.c FAILs on SPARC)

2011-09-30  Richard Guenther  <rguenther@suse.de>

PR middle-end/50574
* tree-cfg.c (verify_gimple_comparison): Compare component
mode sizes for vector comparisons.

From-SVN: r179382