Mikael Morin [Fri, 7 Oct 2011 19:11:01 +0000 (21:11 +0200)]
trans-array.c (gfc_conv_expr_descriptor): Simplify coarray descriptor setup code.
* trans-array.c (gfc_conv_expr_descriptor): Simplify coarray
descriptor setup code.
From-SVN: r179674
Mikael Morin [Fri, 7 Oct 2011 19:07:04 +0000 (21:07 +0200)]
resolve.c (compare_spec_to_ref): Move coarray ref initialization code...
* resolve.c (compare_spec_to_ref): Move coarray ref initialization
code...
(resolve_array_ref): ... here.
From-SVN: r179672
Mikael Morin [Fri, 7 Oct 2011 19:02:36 +0000 (21:02 +0200)]
check.c (is_coarray): Remove.
* check.c (is_coarray): Remove.
(coarray_check): Use gfc_is_coarray.
From-SVN: r179671
Richard Henderson [Fri, 7 Oct 2011 18:19:50 +0000 (11:19 -0700)]
Delete incorrect representations of avx2 shifts.
* config/i386/i386.c (bdesc_args): Update code for
__builtin_ia32_palignr256. Change type of __builtin_ia32_pslldqi256,
and __builtin_ia32_psrldqi256 to V4DI_FTYPE_V4DI_INT_CONVERT.
(ix86_expand_args_builtin): Handle V4DI_FTYPE_V4DI_INT_CONVERT.
* config/i386/sse.md (mode iterator V16): Add V2TI.
(mode iterator SSESCALARMODE): Use V2TI not V4DI.
(mode attr ssse3_avx2): Add V2TI.
(avx2_lshrqv4di3, avx2_lshlqv4di3): Remove.
From-SVN: r179668
David S. Miller [Fri, 7 Oct 2011 17:23:47 +0000 (10:23 -0700)]
Fix VIS3 assembler check and conditionalize testsuite on VIS3 support.
gcc/
PR 50655
* configure.ac: Add .register directives to VIS3 test.
* configure: Regenerate.
gcc/testsuite/
PR 50655
* gcc.target/sparc/sparc.exp: Add vis3 target test.
* gcc.target/sparc/cmask.c: Use it.
* gcc.target/sparc/fhalve.c: Likewise.
* gcc.target/sparc/fnegop.c: Likewise.
* gcc.target/sparc/fpadds.c: Likewise.
* gcc.target/sparc/fshift.c: Likewise.
* gcc.target/sparc/fucmp.c: Likewise.
* gcc.target/sparc/lzd.c: Likewise.
* gcc.target/sparc/vis3misc.c: Likewise.
* gcc.target/sparc/xmul.c: Likewise.
From-SVN: r179667
Richard Henderson [Fri, 7 Oct 2011 17:01:43 +0000 (10:01 -0700)]
Fix avx256 test cases for AVX2.
From-SVN: r179666
Jonathan Wakely [Fri, 7 Oct 2011 16:20:31 +0000 (16:20 +0000)]
testsuite_allocator.h (uneq_allocator): Add propagate_on_container_swap typedef for C++0x testing.
2011-10-07 Jonathan Wakely <jwakely.gcc@gmail.com>
* testsuite/util/testsuite_allocator.h (uneq_allocator): Add
propagate_on_container_swap typedef for C++0x testing.
From-SVN: r179665
Richard Henderson [Fri, 7 Oct 2011 15:43:12 +0000 (08:43 -0700)]
* config.gcc (x86_64-*): Add core-avx-i, core-avx2 for with_cpu.
From-SVN: r179664
Richard Henderson [Fri, 7 Oct 2011 15:35:49 +0000 (08:35 -0700)]
re PR other/49752 (Non-existing struct `tree_type' in fold_checksum_tree in fold-const.c, can't build with `--enable-checking=fold')
PR 49752
* fold-const.c (fold_checksum_tree): Remove out-of-date assert.
From-SVN: r179663
Andrew Stubbs [Fri, 7 Oct 2011 15:00:06 +0000 (15:00 +0000)]
predicates.md (shift_amount_operand): Remove constant range check.
2011-10-07 Andrew Stubbs <ams@codesourcery.com>
gcc/
* config/arm/predicates.md (shift_amount_operand): Remove constant
range check.
(shift_operator): Check range of constants for all shift operators.
gcc/testsuite/
* gcc.dg/pr50193-1.c: New file.
* gcc.target/arm/shiftable.c: New file.
From-SVN: r179662
Andrew Stubbs [Fri, 7 Oct 2011 14:59:37 +0000 (14:59 +0000)]
predicates.md (shift_amount_operand): Remove constant range check.
2011-10-07 Andrew Stubbs <ams@codesourcery.com>
gcc/
* config/arm/predicates.md (shift_amount_operand): Remove constant
range check.
(shift_operator): Check range of constants for all shift operators.
gcc/testsuite/
* gcc.dg/pr50193-1.c: New file.
* gcc.target/arm/shiftable.c: New file.
From-SVN: r179661
Janus Weil [Fri, 7 Oct 2011 14:40:14 +0000 (16:40 +0200)]
re PR fortran/50625 ([OOP] ALLOCATABLE attribute lost for module CLASS variables)
2011-10-07 Janus Weil <janus@gcc.gnu.org>
PR fortran/50625
* class.c (gfc_build_class_symbol): Fix whitespace.
* module.c (mio_symbol): Set 'class_ok' attribute.
* trans-decl.c (gfc_get_symbol_decl): Make sure the backend_decl has
been built for class symbols.
2011-10-07 Janus Weil <janus@gcc.gnu.org>
PR fortran/50625
* gfortran.dg/class_46.f03: New.
From-SVN: r179660
Joern Rennecke [Fri, 7 Oct 2011 13:52:17 +0000 (13:52 +0000)]
pr47276.c (ASMNAME, [...]): Define.
* gcc.dg/pr47276.c (ASMNAME, ASMNAME2, STRING): Define.
(__EI___vsyslog_chk, __EI_syslog, __EI_vsyslog): Use ASMNAME.
(syslog, vsyslog, __vsyslog_chk): Likewise.
* gcc.dg/lto/20081222_1.c (ASMNAME, ASMNAME2, STRING): Define.
(x, EXT_x): Use ASMNAME.
* gcc.dg/torture/pr48044.c (ASMNAME, ASMNAME2, STRING): Define.
(a, c): Use ASMNAME.
From-SVN: r179659
Andreas Krebbel [Fri, 7 Oct 2011 13:50:01 +0000 (13:50 +0000)]
s390.c (s390_emit_tls_call_insn): Remove assertion.
2011-10-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* config/s390/s390.c (s390_emit_tls_call_insn): Remove assertion.
Load GOT pointer for non-pic builds.
(s390_load_got): Replace pic_offset_table_rtx with hardcoded r12.
(s390_emit_call): Likewise.
From-SVN: r179658
Tom de Vries [Fri, 7 Oct 2011 12:49:56 +0000 (12:49 +0000)]
re PR middle-end/50527 (inconsistent vla align)
2011-10-07 Tom de Vries <tom@codesourcery.com>
PR middle-end/50527
* gcc.dg/pr50527.c: New test.
From-SVN: r179656
Tom de Vries [Fri, 7 Oct 2011 12:49:49 +0000 (12:49 +0000)]
re PR middle-end/50527 (inconsistent vla align)
2011-10-07 Tom de Vries <tom@codesourcery.com>
PR middle-end/50527
* tree.c (build_common_builtin_nodes): Add local_define_builtin for
BUILT_IN_ALLOCA_WITH_ALIGN. Mark that BUILT_IN_ALLOCA_WITH_ALIGN can
throw.
* builtins.c (expand_builtin_alloca): Handle BUILT_IN_ALLOCA_WITH_ALIGN
arglist. Set align for BUILT_IN_ALLOCA_WITH_ALIGN.
(expand_builtin): Handle BUILT_IN_ALLOCA_WITH_ALIGN.
(is_inexpensive_builtin): Handle BUILT_IN_ALLOCA_WITH_ALIGN.
* tree-ssa-ccp.c (evaluate_stmt): Set align for
BUILT_IN_ALLOCA_WITH_ALIGN.
(fold_builtin_alloca_for_var): Rename to ...
(fold_builtin_alloca_with_align): Set DECL_ALIGN from 2nd
BUILT_IN_ALLOCA_WITH_ALIGN argument.
(ccp_fold_stmt): Try folding BUILT_IN_ALLOCA_WITH_ALIGN using
fold_builtin_alloca_with_align.
(optimize_stack_restore): Handle BUILT_IN_ALLOCA_WITH_ALIGN.
* builtins.def (BUILT_IN_ALLOCA_WITH_ALIGN): Declare using
DEF_BUILTIN_STUB.
* ipa-pure-const.c (special_builtin_state): Handle
BUILT_IN_ALLOCA_WITH_ALIGN.
* tree-ssa-alias.c (ref_maybe_used_by_call_p_1)
(call_may_clobber_ref_p_1): Same.
* function.c (gimplify_parameters): Lower vla to
BUILT_IN_ALLOCA_WITH_ALIGN.
* gimplify.c (gimplify_vla_decl): Same.
* cfgexpand.c (expand_call_stmt): Handle BUILT_IN_ALLOCA_WITH_ALIGN.
* tree-mudflap.c (mf_xform_statements): Same.
* tree-ssa-dce.c (mark_stmt_if_obviously_necessary)
(mark_all_reaching_defs_necessary_1, propagate_necessity): Same.
* varasm.c (incorporeal_function_p): Same.
* tree-object-size.c (alloc_object_size): Same.
* gimple.c (gimple_build_call_from_tree): Same.
From-SVN: r179655
Bernd Schmidt [Fri, 7 Oct 2011 12:20:17 +0000 (12:20 +0000)]
function.c (frame_required_for_rtx): Remove function.
* function.c (frame_required_for_rtx): Remove function.
(requires_stack_frame_p): New arg set_up_by_prologue. All callers
changed. Compute a set of mentioned registers and compare against
the new arg rather than calling frame_required_for_rtx.
(thread_prologue_and_epilogue_insns): Compute the set_up_by_prologue
reg set. Convert the unconverted_simple_returns mechanism to store
jump insns rather than their basic blocks. Also check the
orig_entry_edge destination for new blocks.
From-SVN: r179654
Jakub Jelinek [Fri, 7 Oct 2011 11:48:03 +0000 (13:48 +0200)]
re PR middle-end/50650 (ICE in vect_is_simple_use_1, at tree-vect-stmts.c:5689)
PR tree-optimization/50650
* tree-vect-patterns.c (vect_recog_mixed_size_cond_pattern): Don't
call vect_is_simple_cond here, instead fail if cond_expr isn't
COMPARISON_CLASS_P or if get_vectype_for_scalar_type returns NULL
for cond_expr's first operand.
* tree-vect-stmts.c (vect_is_simple_cond): Static again.
* tree-vectorizer.h (vect_is_simple_cond): Remove prototype.
* gcc.c-torture/compile/pr50650.c: New test.
From-SVN: r179653
Eric Botcazou [Fri, 7 Oct 2011 11:43:03 +0000 (11:43 +0000)]
re PR lto/50492 (Ada bootstrap failure --with-build-config=bootstrap-lto)
PR lto/50492
* gcc-interface/gigi.h (gnat_pushdecl): Adjust comment.
* gcc-interface/utils.c (global_context): New variable.
(gnat_pushdecl): Initialize it and set it as the DECL_CONTEXT of DECLs
that are either public external or at top level. Use "No" macro.
(end_subprog_body): Call decl_function_context.
(rest_of_subprog_body_compilation): Likewise.
From-SVN: r179652
Rainer Orth [Fri, 7 Oct 2011 11:32:59 +0000 (11:32 +0000)]
Disable ABI warnings for gcc.c-torture/execute/vector-compare-2.c (PR tree-optimization/50575)
PR tree-optimization/50575
* gcc.c-torture/execute/vector-compare-2.x: New file.
From-SVN: r179651
Eric Botcazou [Fri, 7 Oct 2011 11:17:55 +0000 (11:17 +0000)]
gigi.h (gnat_useless_type_conversion): Declare.
* gcc-interface/gigi.h (gnat_useless_type_conversion): Declare.
(rest_of_subprog_body_compilation): Likewise.
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: For renaming,
test for useless conversions by means of gnat_useless_type_conversion.
* gcc-interface/trans.c: Include bitmap.h and cgraph.h.
(language_function): Add named_ret_val and other_ret_val.
(f_named_ret_val): New macro.
(f_other_ret_val): Likewise.
(gigi): Call rest_of_subprog_body_compilation.
(struct nrv_data): New structure.
(is_nrv_p): New predicate.
(prune_nrv_r): New helper function.
(prune_nrv_in_block): New function.
(finalize_nrv_r): New helper function.
(finalize_nrv): New function.
(return_value_ok_for_nrv_p): New predicate.
(build_return_expr): If optimization is enabled, record candidates for
the Named Return Value optimization.
(build_function_stub): Call rest_of_subprog_body_compilation.
(Subprogram_Body_to_gnu): If optimization is enabled and there are
candidates, finalize the Named Return Value optimization.
Call rest_of_subprog_body_compilation.
(call_to_gnu): At the end, if a return value is needed, simplify the
result before wrapping it up in a COMPOUND_EXPR.
* gcc-interface/utils.c (end_subprog_body): Split into...
(rest_of_subprog_body_compilation): ...this. New function.
(gnat_useless_type_conversion): Likewise.
From-SVN: r179650
Rainer Orth [Fri, 7 Oct 2011 09:02:13 +0000 (09:02 +0000)]
Don't XFAIL gcc.dg/uninit-B.c etc. (PR middle-end/50125)
PR middle-end/50125
* gcc.dg/uninit-B.c (baz): Remove xfail *-*-*.
* gcc.dg/uninit-pr19430.c (main): Remove xfail *-*-*.
(bar3): Likewise.
From-SVN: r179649
Richard Guenther [Fri, 7 Oct 2011 08:28:48 +0000 (08:28 +0000)]
re PR testsuite/50637 (gcc.dg/vect/vect-align-2.c is invalid (FAILs with -O2 -flto -fpeel-loops))
2011-10-07 Richard Guenther <rguenther@suse.de>
PR testsuite/50637
* gcc.dg/vect/vect-align-2.c: Increase array size.
From-SVN: r179648
Andreas Krebbel [Fri, 7 Oct 2011 06:51:26 +0000 (06:51 +0000)]
s390.md (DWH, dwh): New mode macros.
2011-10-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* config/s390/s390.md (DWH, dwh): New mode macros.
("umulsidi3"): Extend to support "umulditi3" as well.
From-SVN: r179647
Uros Bizjak [Fri, 7 Oct 2011 06:43:17 +0000 (08:43 +0200)]
re PR target/50603 ([x32] Unnecessary lea)
PR target/50603
* config/i386/i386.c (ix86_fixup_binary_operands): Force src2 of
integer PLUS RTX to a register to improve address combine.
testsuite/ChangeLog:
PR target/50603
* gcc.target/i386/pr50603.c: New test.
From-SVN: r179646
GCC Administrator [Fri, 7 Oct 2011 00:19:37 +0000 (00:19 +0000)]
Daily bump.
From-SVN: r179642
Richard Henderson [Thu, 6 Oct 2011 22:22:11 +0000 (15:22 -0700)]
re PR middle-end/50632 (FAIL: gcc.dg/pr50132.c)
PR 50632
* combine-stack-adjust.c (maybe_move_args_size_note): Add after
parameter; use it to decide whether to merge two notes.
(combine_stack_adjustments_for_block): Use maybe_move_args_size_note
for the deallocation case as well.
From-SVN: r179637
Jason Merrill [Thu, 6 Oct 2011 19:56:53 +0000 (15:56 -0400)]
re PR c++/39164 ([C++0x] defaulted dtor redefinition not caught)
PR c++/39164
* decl.c (grokfndecl): Diagnose redefinition of defaulted fn.
From-SVN: r179634
Arnaud Charlet [Thu, 6 Oct 2011 19:37:25 +0000 (21:37 +0200)]
[multiple changes]
2011-10-06 Thomas Quinot <quinot@adacore.com>
* einfo.ads, exp_attr.adb, exp_ch3.adb, exp_ch4.adb, exp_ch7.adb,
exp_ch9.adb, exp_ch9.ads, exp_strm.adb, exp_util.adb, freeze.adb,
g-debpoo.ads, opt.ads, par-ch12.adb, par-ch2.adb, par-ch3.adb,
par-ch5.adb, par-ch6.adb, sem_aggr.adb, sem_attr.adb, sem_cat.adb,
sem_ch10.adb, sem_ch12.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb,
sem_ch6.adb, sem_intr.adb, sem_res.ads, sem_type.adb, sem_util.adb,
s-regpat.adb, s-tpopde-vms.ads: Minor reformatting.
* s-osinte-freebsd.ads: Fix for tasking failures on FreeBSD.
2011-10-06 Ed Schonberg <schonberg@adacore.com>
* a-cihase.adb, a-ciorma.adb: Avoid accessibility checks in container
references.
2011-10-06 Matthew Heaney <heaney@adacore.com>
* a-cuprqu.ads, a-cuprqu.adb, a-cbprqu.ads, a-cbprqu.adb
(Dequeue_Only_High_Priority): Protected procedure now implemented.
2011-10-06 Vincent Celier <celier@adacore.com>
* g-trasym.adb: Replace old implementation with the default
implementation that returns list of addresses as "0x...".
* g-trasym.ads: Update the list of platforms with the full
capability. Indicate that there is a default implementation
for other platforms.
* g-trasym-unimplemented.ads, g-trasym-unimplemented.adb: Remove.
* gcc-interface/Makefile.in: Remove g-trasym-unimplemented, as there
is now a default implementation for all platforms without the full
capability.
From-SVN: r179631
Anatoly Sokolov [Thu, 6 Oct 2011 19:25:53 +0000 (23:25 +0400)]
system.h (OUTPUT_ADDR_CONST_EXTRA): Poison.
* system.h (OUTPUT_ADDR_CONST_EXTRA): Poison.
* doc/tm.texi.in (OUTPUT_ADDR_CONST_EXTRA): Remove documentation.
* doc/tm.texi: Regenerate.
* target.def (output_addr_const_extra): Use
hook_bool_FILEptr_rtx_false.
* targhooks.c (default_asm_output_addr_const_extra): Remove.
* targhooks.h (default_asm_output_addr_const_extra): Remove.
* hooks.c (hook_bool_FILEptr_rtx_false): New functions.
* hooks.h (hook_bool_FILEptr_rtx_false): Declare.
From-SVN: r179630
Arnaud Charlet [Thu, 6 Oct 2011 19:24:49 +0000 (21:24 +0200)]
[multiple changes]
2011-10-06 Robert Dewar <dewar@adacore.com>
* a-ciorse.adb, a-cihase.adb, a-cihase.ads, a-coorse.adb,
a-cborse.adb, a-comutr.adb, a-ciorma.adb, a-cbmutr.adb,
a-cbmutr.ads, a-cbhase.adb, a-cbhase.ads: Minor reformatting and code
reorganization (use conditional expressions).
2011-10-06 Robert Dewar <dewar@adacore.com>
* sem_res.adb (Resolve_Arithmetic_Op): Fix bad warning for
floating divide by zero.
2011-10-06 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb: Limited interfaces that are not immutably limited
are OK in return statements.
From-SVN: r179629
David S. Miller [Thu, 6 Oct 2011 19:15:39 +0000 (19:15 +0000)]
Correct errors in sparc SImode popcount/clz patterns when 64-bit.
* config/sparc/sparc.md (popcount<mode>2, clz<mode>2): Split up into...
(popcountdi2, popcountsi2, clzdi2, clzsi2): Explicit expanders, in the
SI mode 64-bit code gen case explicitly zero-extend and truncate.
(*popcount<mode>_sp64): Split up into...
(*popcountdi_sp64, *popcountsi_64): Explicit instantiations, and in the
SImode case use truncate.
(*clzsi_sp64): Rewrite to use truncate, and let the expander emit the
subtract so the compiler can optimize it.
(SIDI): Remove unused mode iterator.
From-SVN: r179628
Bernd Schmidt [Thu, 6 Oct 2011 18:59:36 +0000 (18:59 +0000)]
function.c (thread_prologue_and_epilogue_insns): Emit split prologue on the orig_entry_edge.
* function.c (thread_prologue_and_epilogue_insns): Emit split
prologue on the orig_entry_edge. Don't account for it in
prologue_clobbered.
From-SVN: r179627
Jakub Jelinek [Thu, 6 Oct 2011 17:49:36 +0000 (19:49 +0200)]
re PR tree-optimization/50596 (Problems in vectorization of condition expression)
PR tree-optimization/50596
* tree-vectorizer.h (vect_is_simple_cond): New prototype.
(NUM_PATTERNS): Change to 6.
* tree-vect-patterns.c (vect_recog_mixed_size_cond_pattern): New
function.
(vect_vect_recog_func_ptrs): Add vect_recog_mixed_size_cond_pattern.
(vect_mark_pattern_stmts): Don't create stmt_vinfo for def_stmt
if it already has one, and don't set STMT_VINFO_VECTYPE in it
if it is already set.
* tree-vect-stmts.c (vect_mark_stmts_to_be_vectorized): Handle
COND_EXPR in pattern stmts.
(vect_is_simple_cond): No longer static.
* lib/target-supports.exp (check_effective_target_vect_cond_mixed):
New.
* gcc.dg/vect/vect-cond-8.c: New test.
From-SVN: r179626
Richard Henderson [Thu, 6 Oct 2011 17:12:44 +0000 (10:12 -0700)]
i386: Use the proper mode for blend in vshuffle.
From-SVN: r179625
Richard Henderson [Thu, 6 Oct 2011 17:12:36 +0000 (10:12 -0700)]
i386: Add AVX2 support to ix86_expand_vshuffle.
From-SVN: r179624
Richard Henderson [Thu, 6 Oct 2011 17:12:28 +0000 (10:12 -0700)]
Rework vector shuffle tests.
Test vector sizes 8, 16, and 32. Test most data types for each size.
From-SVN: r179623
Richard Henderson [Thu, 6 Oct 2011 17:12:19 +0000 (10:12 -0700)]
vshuffle: Use correct mode for mask operand.
From-SVN: r179622
Jakub Jelinek [Thu, 6 Oct 2011 16:50:23 +0000 (18:50 +0200)]
tree-vect-patterns.c (vect_pattern_recog_1): Use vect_recog_func_ptr typedef for the first argument.
* tree-vect-patterns.c (vect_pattern_recog_1): Use
vect_recog_func_ptr typedef for the first argument.
(vect_pattern_recog): Rename vect_recog_func_ptr variable
to vect_recog_func, use vect_recog_func_ptr typedef for it.
From-SVN: r179621
Jakub Jelinek [Thu, 6 Oct 2011 16:38:29 +0000 (18:38 +0200)]
re PR tree-optimization/49279 (Optimization incorrectly presuming constant variable inside loop in g++ 4.5 and 4.6 with -O2 and -O3 for x86_64 targets)
PR tree-optimization/49279
* tree-ssa-structalias.c (find_func_aliases): Don't handle
CAST_RESTRICT.
* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Allow
restrict propagation.
* tree-ssa.c (useless_type_conversion_p): Don't return false
if TYPE_RESTRICT differs.
* gcc.dg/tree-ssa/restrict-4.c: XFAIL.
* gcc.c-torture/execute/pr49279.c: New test.
From-SVN: r179620
Bernd Schmidt [Thu, 6 Oct 2011 15:59:53 +0000 (15:59 +0000)]
function.c (thread_prologue_and_epilogue_insns): Build a vector of unconverted simple return blocks rather than trying to...
* function.c (thread_prologue_and_epilogue_insns): Build a vector
of unconverted simple return blocks rather than trying to
recompute them later based on bb_flags bitmap tests.
From-SVN: r179619
Michael Matz [Thu, 6 Oct 2011 15:18:12 +0000 (15:18 +0000)]
tree-flow.h (get_var_ann): Don't declare.
* tree-flow.h (get_var_ann): Don't declare.
* tree-flow-inline.h (get_var_ann): Remove.
(set_is_used): Use var_ann, not get_var_ann.
* tree-dfa.c (add_referenced_var): Inline body of get_var_ann.
* tree-profile.c (gimple_gen_edge_profiler): Call
find_referenced_var_in.
(gimple_gen_interval_profiler): Ditto.
(gimple_gen_pow2_profiler): Ditto.
(gimple_gen_one_value_profiler): Ditto.
(gimple_gen_average_profiler): Ditto.
(gimple_gen_ior_profiler): Ditto.
(gimple_gen_ic_profiler): Ditto plus call add_referenced_var.
(gimple_gen_ic_func_profiler): Call add_referenced_var.
* tree-mudflap.c (execute_mudflap_function_ops): Call
add_referenced_var.
From-SVN: r179618
Paolo Carlini [Thu, 6 Oct 2011 14:43:26 +0000 (14:43 +0000)]
assign_neg.cc: Tidy dg- directives, for C++0x testing too.
2011-10-06 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/27_io/ios_base/cons/assign_neg.cc: Tidy dg- directives,
for C++0x testing too.
* testsuite/27_io/ios_base/cons/copy_neg.cc: Likewise.
* testsuite/ext/pb_ds/example/hash_resize_neg.cc: Likewise.
* testsuite/24_iterators/istreambuf_iterator/requirements/
base_classes.cc: Adjust for C++0x testing.
* testsuite/ext/codecvt/char-1.cc: Avoid warnings in C++0x mode.
* testsuite/ext/codecvt/char-2.cc: Likewise.
* testsuite/ext/codecvt/wchar_t.cc: Likewise.
From-SVN: r179616
Jakub Jelinek [Thu, 6 Oct 2011 14:36:44 +0000 (16:36 +0200)]
tree-vect-patterns.c (vect_handle_widen_mult_by_const): For lhs don't set SSA_NAME_DEF_STMT that has been already set by...
* tree-vect-patterns.c (vect_handle_widen_mult_by_const): For lhs
don't set SSA_NAME_DEF_STMT that has been already set by
gimple_build_assign_with_ops.
(vect_recog_pow_pattern, vect_recog_widen_sum_pattern,
vect_operation_fits_smaller_type, vect_recog_over_widening_pattern):
Likewise.
From-SVN: r179615
Jakub Jelinek [Thu, 6 Oct 2011 14:34:48 +0000 (16:34 +0200)]
tree.h (avoid_folding_inline_builtin): New prototype.
* tree.h (avoid_folding_inline_builtin): New prototype.
* builtins.c (avoid_folding_inline_builtin): No longer static.
* gimple-fold.c (gimple_fold_builtin): Give up if
avoid_folding_inline_builtin returns true.
From-SVN: r179614
Richard Guenther [Thu, 6 Oct 2011 14:28:47 +0000 (14:28 +0000)]
tree-vect-generic.c (vector_element): Look at previous generated results.
2011-10-06 Richard Guenther <rguenther@suse.de>
* tree-vect-generic.c (vector_element): Look at previous
generated results.
From-SVN: r179613
David Edelsohn [Thu, 6 Oct 2011 14:05:54 +0000 (14:05 +0000)]
re PR c++/39950 (__unix__ macro is not predefined on AIX platform (C and C++))
PR target/39950
* config/rs6000/aix.h (TARGET_OS_AIX_CPP_BUILTINS): Define
__powerpc__, __PPC__, __unix__.
From-SVN: r179612
Rainer Orth [Thu, 6 Oct 2011 13:48:14 +0000 (13:48 +0000)]
Restore FreeBSD/SPARC bootstrap (PR bootstrap/49804)
From-SVN: r179610
Michael Matz [Thu, 6 Oct 2011 13:27:47 +0000 (13:27 +0000)]
i386.opt (recip_mask, [...]): New variables and cl_target member.
* i386/i386.opt (recip_mask, recip_mask_explicit,
x_recip_mask_explicit): New variables and cl_target member.
(mrecip=): New option.
* i386/i386.h (RECIP_MASK_DIV, RECIP_MASK_SQRT, RECIP_MASK_VEC_DIV,
RECIP_MASK_VEC_SQRT, RECIP_MASK_ALL, RECIP_MASK_NONE): New bitmasks.
(TARGET_RECIP_DIV, TARGET_RECIP_SQRT, TARGET_RECIP_VEC_DIV,
TARGET_RECIP_VEC_SQRT): New tests.
* i386/i386.md (divsf3): Check TARGET_RECIP_DIV.
(sqrt<mode>2): Check TARGET_RECIP_SQRT.
* i386/sse.md (div<mode>3): Check TARGET_RECIP_VEC_DIV.
(sqrt<mode>2): Check TARGET_RECIP_VEC_SQRT.
* i386/i386.c (ix86_option_override_internal): Set recip_mask
for -mrecip and -mrecip=options.
(ix86_function_specific_save): Save recip_mask_explicit.
(ix86_function_specific_restore): Restore recip_mask_explicit.
* doc/invoke.texi (ix86 Options): Document the new option.
From-SVN: r179608
Bernd Schmidt [Thu, 6 Oct 2011 13:12:50 +0000 (13:12 +0000)]
re PR target/49049 (ICE in copyprop_hardreg_forward_1, at regcprop.c:767)
PR target/49049
* config/arm/arm.md (arm_subsi3_insn): Lose the last alternative.
* gcc.c-torture/compile/pr49049.c: New test.
From-SVN: r179607
Ulrich Weigand [Thu, 6 Oct 2011 11:50:26 +0000 (11:50 +0000)]
re PR target/50305 (Inline asm reload failure when building Linux kernel)
gcc/
PR target/50305
* config/arm/arm.c (arm_legitimize_reload_address): Recognize
output of a previous pass through legitimize_reload_address.
Do not attempt to optimize addresses if the base register is
equivalent to a constant.
gcc/testsuite/
PR target/50305
* gcc.target/arm/pr50305.c: New test.
From-SVN: r179603
Andreas Krebbel [Thu, 6 Oct 2011 11:44:51 +0000 (11:44 +0000)]
function.c (thread_prologue_and_epilogue_insns): Mark last_bb_active as possibly unused.
2011-10-06 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* function.c (thread_prologue_and_epilogue_insns): Mark
last_bb_active as possibly unused. It is unused for targets which
do neither have "return" nor "simple_return" expanders.
From-SVN: r179601
Richard Biener [Thu, 6 Oct 2011 10:35:20 +0000 (10:35 +0000)]
fold-const.c (fold_ternary_loc): Also fold non-constant vector CONSTRUCTORs.
2011-10-06 Richard Guenther <rguenther@suse.de>
* fold-const.c (fold_ternary_loc): Also fold non-constant
vector CONSTRUCTORs. Make more efficient.
* tree-ssa-dom.c (cprop_operand): Don't handle virtual operands.
(cprop_into_stmt): Don't propagate into virtual operands.
(optimize_stmt): Really dump original statement.
From-SVN: r179598
Richard Guenther [Thu, 6 Oct 2011 10:34:18 +0000 (10:34 +0000)]
fold-const.c (fold_ternary_loc): Also fold non-constant vector CONSTRUCTORs.
2011-10-06 Richard Guenther <rguenther@suse.de>
* fold-const.c (fold_ternary_loc): Also fold non-constant
vector CONSTRUCTORs. Make more efficient.
* tree-ssa-dom.c (cprop_operand): Don't handle virtual operands.
(cprop_into_stmt): Don't propagate into virtual operands.
(optimize_stmt): Really dump original statement.
From-SVN: r179597
Nick Clifton [Thu, 6 Oct 2011 10:17:48 +0000 (10:17 +0000)]
* config/rx/rx.md (smin3): Revert previous delta.
From-SVN: r179596
Richard Guenther [Thu, 6 Oct 2011 08:41:44 +0000 (08:41 +0000)]
re PR tree-optimization/38884 (missed FRE with __real and __imag)
2011-10-06 Richard Guenther <rguenther@suse.de>
PR tree-optimization/38884
* tree-ssa-sccvn.c (vn_reference_lookup_3): Handle partial
reads from aggregate SSA names.
* gcc.dg/tree-ssa/ssa-fre-34.c: New testcase.
* gcc.dg/tree-ssa/ssa-fre-35.c: Likewise.
From-SVN: r179593
Jakub Jelinek [Thu, 6 Oct 2011 06:58:21 +0000 (08:58 +0200)]
tree-vect-patterns.c (vect_pattern_recog_1): Add stmts_to_replace argument...
* tree-vect-patterns.c (vect_pattern_recog_1): Add stmts_to_replace
argument, truncate it at the beginning instead of allocating there
and freeing at the end.
(vect_pattern_recog): Allocate stmts_to_replace here and free at end,
pass its address to vect_pattern_recog_1.
From-SVN: r179592
David S. Miller [Thu, 6 Oct 2011 06:28:35 +0000 (06:28 +0000)]
Add support for lzd and popc instructions on sparc.
gcc/
* config/sparc/sparc.opt (POPC): New option.
* doc/invoke.texi: Document it.
* config/sparc/sparc.c (sparc_option_override): Enable MASK_POPC by
default on Niagara-2 and later.
* config/sparc/sparc.h (CLZ_DEFINED_VALUE_AT_ZERO): Define.
* config/sparc/sparc.md (SIDI): New mode iterator.
(ffsdi2): Delete commented out pattern and comments.
(popcount<mode>2, clz<mode>2): New expanders.
(*popcount<mode>_sp64, popcountsi_v8plus, popcountdi_v8plus,
*clzdi_sp64, clzdi_v8plus, *clzsi_sp64, clzsi_v8plus): New insns.
gcc/testsuite/
* gcc.target/sparc/lzd.c: New test.
* gcc.target/sparc/popc.c: New test.
From-SVN: r179591
Artjoms Sinkarovs [Thu, 6 Oct 2011 02:39:55 +0000 (02:39 +0000)]
Fixes the spacing in ChangeLog entry.
From-SVN: r179589
Artjoms Sinkarovs [Thu, 6 Oct 2011 01:57:27 +0000 (01:57 +0000)]
Fix bconstp-3.c failure in PR50607.
From-SVN: r179588
Paolo Carlini [Thu, 6 Oct 2011 01:41:49 +0000 (01:41 +0000)]
pod_char_traits.h: Avoid warnings in C++0x mode when int_type is unsigned.
2011-10-05 Paolo Carlini <paolo.carlini@oracle.com>
* include/ext/pod_char_traits.h: Avoid warnings in C++0x mode
when int_type is unsigned.
From-SVN: r179587
GCC Administrator [Thu, 6 Oct 2011 00:19:02 +0000 (00:19 +0000)]
Daily bump.
From-SVN: r179586
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
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
Uros Bizjak [Wed, 5 Oct 2011 19:41:27 +0000 (21:41 +0200)]
* ChangeLog: Update my previous entry.
From-SVN: r179574
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
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
Richard Henderson [Wed, 5 Oct 2011 17:45:36 +0000 (10:45 -0700)]
Fix vect-shuffle-* test cases.
From-SVN: r179566
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
GCC Administrator [Wed, 5 Oct 2011 00:26:24 +0000 (00:26 +0000)]
Daily bump.
From-SVN: r179534
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
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
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
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
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
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
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
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
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
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
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
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
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