OSDN Git Service

pf3gnuchains/gcc-fork.git
12 years ago * function.c (frame_required_for_rtx): Remove function.
bernds [Fri, 7 Oct 2011 12:20:17 +0000 (12:20 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179654 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR tree-optimization/50650
jakub [Fri, 7 Oct 2011 11:48:03 +0000 (11:48 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179653 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR lto/50492
ebotcazou [Fri, 7 Oct 2011 11:43:03 +0000 (11:43 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179652 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoDisable ABI warnings for gcc.c-torture/execute/vector-compare-2.c (PR tree-optimizati...
ro [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179651 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * gcc-interface/gigi.h (gnat_useless_type_conversion): Declare.
ebotcazou [Fri, 7 Oct 2011 11:17:55 +0000 (11:17 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179650 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoDon't XFAIL gcc.dg/uninit-B.c etc. (PR middle-end/50125)
ro [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179649 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-10-07 Richard Guenther <rguenther@suse.de>
rguenth [Fri, 7 Oct 2011 08:28:48 +0000 (08:28 +0000)]
2011-10-07  Richard Guenther  <rguenther@suse.de>

PR testsuite/50637
* gcc.dg/vect/vect-align-2.c: Increase array size.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179648 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-10-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
krebbel [Fri, 7 Oct 2011 06:51:26 +0000 (06:51 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179647 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR target/50603
uros [Fri, 7 Oct 2011 06:43:17 +0000 (06:43 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179646 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoDaily bump.
gccadmin [Fri, 7 Oct 2011 00:19:37 +0000 (00:19 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179642 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoPR 50632
rth [Thu, 6 Oct 2011 22:22:11 +0000 (22:22 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179637 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR c++/39164
jason [Thu, 6 Oct 2011 19:56:53 +0000 (19:56 +0000)]
PR c++/39164
* decl.c (grokfndecl): Diagnose redefinition of defaulted fn.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179634 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-10-06 Thomas Quinot <quinot@adacore.com>
charlet [Thu, 6 Oct 2011 19:37:25 +0000 (19:37 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179631 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * system.h (OUTPUT_ADDR_CONST_EXTRA): Poison.
aesok [Thu, 6 Oct 2011 19:25:53 +0000 (19:25 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179630 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-10-06 Robert Dewar <dewar@adacore.com>
charlet [Thu, 6 Oct 2011 19:24:49 +0000 (19:24 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179629 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoCorrect errors in sparc SImode popcount/clz patterns when 64-bit.
davem [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179628 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * function.c (thread_prologue_and_epilogue_insns): Emit split
bernds [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. Don't account for it in
prologue_clobbered.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179627 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR tree-optimization/50596
jakub [Thu, 6 Oct 2011 17:49:36 +0000 (17:49 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179626 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoi386: Use the proper mode for blend in vshuffle.
rth [Thu, 6 Oct 2011 17:12:44 +0000 (17:12 +0000)]
i386: Use the proper mode for blend in vshuffle.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179625 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoi386: Add AVX2 support to ix86_expand_vshuffle.
rth [Thu, 6 Oct 2011 17:12:36 +0000 (17:12 +0000)]
i386: Add AVX2 support to ix86_expand_vshuffle.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179624 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoRework vector shuffle tests.
rth [Thu, 6 Oct 2011 17:12:28 +0000 (17:12 +0000)]
Rework vector shuffle tests.

Test vector sizes 8, 16, and 32.  Test most data types for each size.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179623 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agovshuffle: Use correct mode for mask operand.
rth [Thu, 6 Oct 2011 17:12:19 +0000 (17:12 +0000)]
vshuffle: Use correct mode for mask operand.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179622 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * tree-vect-patterns.c (vect_pattern_recog_1): Use
jakub [Thu, 6 Oct 2011 16:50:23 +0000 (16:50 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179621 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR tree-optimization/49279
jakub [Thu, 6 Oct 2011 16:38:29 +0000 (16:38 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179620 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * function.c (thread_prologue_and_epilogue_insns): Build a vector
bernds [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
recompute them later based on bb_flags bitmap tests.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179619 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * tree-flow.h (get_var_ann): Don't declare.
matz [Thu, 6 Oct 2011 15:18:12 +0000 (15:18 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179618 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-10-06 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Thu, 6 Oct 2011 14:43:26 +0000 (14:43 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179616 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * tree-vect-patterns.c (vect_handle_widen_mult_by_const): For lhs
jakub [Thu, 6 Oct 2011 14:36:44 +0000 (14:36 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179615 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * tree.h (avoid_folding_inline_builtin): New prototype.
jakub [Thu, 6 Oct 2011 14:34:48 +0000 (14:34 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179614 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-10-06 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 6 Oct 2011 14:28:47 +0000 (14:28 +0000)]
2011-10-06  Richard Guenther  <rguenther@suse.de>

* tree-vect-generic.c (vector_element): Look at previous
generated results.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179613 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR target/39950
dje [Thu, 6 Oct 2011 14:05:54 +0000 (14:05 +0000)]
    PR target/39950
        * config/rs6000/aix.h (TARGET_OS_AIX_CPP_BUILTINS): Define
        __powerpc__, __PPC__, __unix__.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179612 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoRestore FreeBSD/SPARC bootstrap (PR bootstrap/49804)
ro [Thu, 6 Oct 2011 13:48:14 +0000 (13:48 +0000)]
Restore FreeBSD/SPARC bootstrap (PR bootstrap/49804)

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179610 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * i386/i386.opt (recip_mask, recip_mask_explicit,
matz [Thu, 6 Oct 2011 13:27:47 +0000 (13:27 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179608 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR target/49049
bernds [Thu, 6 Oct 2011 13:12:50 +0000 (13:12 +0000)]
PR target/49049
* config/arm/arm.md (arm_subsi3_insn): Lose the last alternative.

* gcc.c-torture/compile/pr49049.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179607 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago gcc/
uweigand [Thu, 6 Oct 2011 11:50:26 +0000 (11:50 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179603 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-10-06 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
krebbel [Thu, 6 Oct 2011 11:44:51 +0000 (11:44 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179601 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-10-06 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 6 Oct 2011 10:35:20 +0000 (10:35 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179598 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-10-06 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 6 Oct 2011 10:34:18 +0000 (10:34 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179597 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config/rx/rx.md (smin3): Revert previous delta.
nickc [Thu, 6 Oct 2011 10:17:48 +0000 (10:17 +0000)]
* config/rx/rx.md (smin3): Revert previous delta.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179596 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-10-06 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 6 Oct 2011 08:41:44 +0000 (08:41 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179593 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * tree-vect-patterns.c (vect_pattern_recog_1): Add stmts_to_replace
jakub [Thu, 6 Oct 2011 06:58:21 +0000 (06:58 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179592 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoAdd support for lzd and popc instructions on sparc.
davem [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179591 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoFixes the spacing in ChangeLog entry.
tema [Thu, 6 Oct 2011 02:39:55 +0000 (02:39 +0000)]
Fixes the spacing in ChangeLog entry.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179589 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoFix bconstp-3.c failure in PR50607.
tema [Thu, 6 Oct 2011 01:57:27 +0000 (01:57 +0000)]
Fix bconstp-3.c failure in PR50607.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179588 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-10-05 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Thu, 6 Oct 2011 01:41:49 +0000 (01:41 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179587 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoDaily bump.
gccadmin [Thu, 6 Oct 2011 00:19:02 +0000 (00:19 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179586 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * gcc.dg/strlenopt-21.c (dg-options): Remove -fdump-tree-optimized.
uros [Wed, 5 Oct 2011 21:02:59 +0000 (21:02 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179579 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * function.c (thread_prologue_and_epilogue_insns): Don't shrink-wrap
bernds [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179577 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179574 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * gcc.dg/vect/vect.exp (VEC_CFLAGS): Append "-fdump-tree-veclower2".
uros [Wed, 5 Oct 2011 19:40:14 +0000 (19:40 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179573 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR tree-optimization/50613
jakub [Wed, 5 Oct 2011 18:09:56 +0000 (18:09 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179567 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179566 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * gcc.dg/vect/vect.exp (VEC_CFLAGS): Move initialization after
uros [Wed, 5 Oct 2011 17:41:01 +0000 (17:41 +0000)]
* gcc.dg/vect/vect.exp (VEC_CFLAGS): Move initialization after
DEFAULT_VECTFLAGS initialization.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179565 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoi386: Rewrite ix86_expand_vshuffle.
rth [Wed, 5 Oct 2011 17:40:58 +0000 (17:40 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179564 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoFix lower_vec_shuffle.
rth [Wed, 5 Oct 2011 17:40:49 +0000 (17:40 +0000)]
Fix lower_vec_shuffle.

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179563 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config/i386/i386.c (distance_non_agu_define): Simplify calculation
uros [Wed, 5 Oct 2011 17:24:01 +0000 (17:24 +0000)]
* config/i386/i386.c (distance_non_agu_define): Simplify calculation
of "found".  Simplify return value calculation.
(distance_agu_use): Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179561 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR bootstrap/50621
bernds [Wed, 5 Oct 2011 17:17:12 +0000 (17:17 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179560 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config/rx/rx.opt (mpid): Define.
nickc [Wed, 5 Oct 2011 15:07:21 +0000 (15:07 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179558 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-10-05 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 5 Oct 2011 14:35:15 +0000 (14:35 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179556 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * doc/invoke.texi (-fshrink-wrap): Document.
bernds [Wed, 5 Oct 2011 12:59:23 +0000 (12:59 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179553 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-10-05 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 5 Oct 2011 12:25:35 +0000 (12:25 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179549 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * gcc.target/i386/avx256-unaligned-load-3.c (dg-options): Add
uros [Wed, 5 Oct 2011 12:21:30 +0000 (12:21 +0000)]
* gcc.target/i386/avx256-unaligned-load-3.c (dg-options): Add
-mtune=generic.
* gcc.target/i386/avx256-unaligned-store-3.c (dg-options): Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179548 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config/avr/avr-protos.h (avr_out_addto_sp): New prototype.
gjl [Wed, 5 Oct 2011 11:16:10 +0000 (11:16 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179544 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-10-05 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 5 Oct 2011 10:54:14 +0000 (10:54 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179543 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config/rx/rx.md (tablejump): Add missing label.
nickc [Wed, 5 Oct 2011 10:26:58 +0000 (10:26 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179542 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-10-05 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
krebbel [Wed, 5 Oct 2011 10:20:04 +0000 (10:20 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179541 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-10-05 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 5 Oct 2011 09:31:40 +0000 (09:31 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179540 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config/i386/i386.c (ix86_emit_binop): New static function.
uros [Wed, 5 Oct 2011 08:05:14 +0000 (08:05 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179537 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * gcc.dg/torture/builtin-complex-1.c: Use dg-add-options ieee.
uros [Wed, 5 Oct 2011 06:12:39 +0000 (06:12 +0000)]
* gcc.dg/torture/builtin-complex-1.c: Use dg-add-options ieee.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179536 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoAdd support for more sparc VIS 3.0 instructions.
davem [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179535 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179534 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179529 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-10-04 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Tue, 4 Oct 2011 22:19:44 +0000 (22:19 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179528 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-10-04 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Tue, 4 Oct 2011 21:42:43 +0000 (21:42 +0000)]
2011-10-04  Paolo Carlini  <paolo.carlini@oracle.com>

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179526 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago* c-typeck.c (c_build_vec_shuffle_expr): Fix uninitialized variable.
rth [Tue, 4 Oct 2011 21:04:10 +0000 (21:04 +0000)]
* c-typeck.c (c_build_vec_shuffle_expr): Fix uninitialized variable.
Avoid save_expr unless two_arguments.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179525 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-10-04 Jonathan Wakely <jwakely.gcc@gmail.com>
redi [Tue, 4 Oct 2011 20:34:54 +0000 (20:34 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179523 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-10-04 Janus Weil <janus@gcc.gnu.org>
janus [Tue, 4 Oct 2011 18:37:13 +0000 (18:37 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179520 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-10-04 Ozkan Sezer <sezeroz@gmail.com>
ktietz [Tue, 4 Oct 2011 16:42:35 +0000 (16:42 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179511 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoSmall -m{cpu,tune}=native fix under Linux/Sparc.
davem [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179510 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR tree-optimization/50604
jakub [Tue, 4 Oct 2011 15:25:53 +0000 (15:25 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179508 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoMaintain order of LTO sections
ak [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179505 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179503 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR tree-optimization/50522
jakub [Tue, 4 Oct 2011 13:36:24 +0000 (13:36 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179502 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * fold-const.c (fold_unary_loc): Don't optimize
jakub [Tue, 4 Oct 2011 12:34:06 +0000 (12:34 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179500 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179498 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-10-04 Artem Shinkarov <artyom.shinkaroff@gmail.com>
gjl [Tue, 4 Oct 2011 10:01:32 +0000 (10:01 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179497 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * lto-streamer.h (lto_input_toplevel_asms): Add order_base parameter.
hubicka [Tue, 4 Oct 2011 09:46:56 +0000 (09:46 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179496 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR target/50566
gjl [Tue, 4 Oct 2011 08:23:03 +0000 (08:23 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179494 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179493 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-10-04 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
krebbel [Tue, 4 Oct 2011 07:27:01 +0000 (07:27 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179491 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * lib/target-supports.exp
irar [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179490 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoMore consistent access to sparc %ger register.
davem [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179489 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179486 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179484 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179478 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179477 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config/cris/cris.c (cris_output_addr_const_extra): Make static.
aesok [Mon, 3 Oct 2011 19:39:50 +0000 (19:39 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179476 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config/m68k/m68k.c (m68k_output_addr_const_extra): Make static.
aesok [Mon, 3 Oct 2011 19:16:29 +0000 (19:16 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179474 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-10-03 Jonathan Wakely <jwakely.gcc@gmail.com>
redi [Mon, 3 Oct 2011 19:11:53 +0000 (19:11 +0000)]
2011-10-03  Jonathan Wakely  <jwakely.gcc@gmail.com>

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179473 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-10-03 Steve Ellcey <sje@cup.hp.com>
sje [Mon, 3 Oct 2011 17:57:40 +0000 (17:57 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179472 138bc75d-0d04-0410-961f-82ee72b054a4