gcc.git
13 years agom32r.h (FUNCTION_ARG, [...]): Move these...
Nathan Froyd [Tue, 31 Aug 2010 13:12:14 +0000 (13:12 +0000)]
m32r.h (FUNCTION_ARG, [...]): Move these...

* config/m32r/m32r.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Move
these...
(ROUND_ADVANCE, ROUND_ADVANCE_ARG, ROUND_ADVANCE_CUM, PASS_IN_REG_P):
...and these...
* config/m32r/m32r.c (m32r_function_arg, m32r_function_arg_advance):
..to here..
(ROUND_ADVANCE, ROUND_ADVANCE_ARG, ROUND_ADVANCE_CUM, PASS_IN_REG_P):
...and here.
(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.

From-SVN: r163672

13 years agorx-protos.h (rx_function_arg, [...]): Delete.
Nathan Froyd [Tue, 31 Aug 2010 13:10:39 +0000 (13:10 +0000)]
rx-protos.h (rx_function_arg, [...]): Delete.

* config/rx/rx-protos.h (rx_function_arg, rx_function_arg_size):
Delete.
* config/rx/rx.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
* config/rx/rx.c (rx_function_arg_size): Make static.
(rx_function_arg): Likewise.
(rx_function_arg_advance): New function.
(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.

From-SVN: r163671

13 years agore PR testsuite/45455 (gcc.dg/vect/vect-cond-4.c uses uninitialised variable)
Richard Guenther [Tue, 31 Aug 2010 10:01:04 +0000 (10:01 +0000)]
re PR testsuite/45455 (gcc.dg/vect/vect-cond-4.c uses uninitialised variable)

2010-08-31  Richard Guenther  <rguenther@suse.de>

PR testsuite/45455
* gcc.dg/vect/vect-cond-4.c: Fix use of uninitialized variable.

From-SVN: r163669

13 years agopr43430-1.c: Requires vect_condition target.
Bingfeng Mei [Tue, 31 Aug 2010 09:02:39 +0000 (09:02 +0000)]
pr43430-1.c: Requires vect_condition target.

2010-08-31  Bingfeng Mei  <bmei@broadcom.com>

* gcc.dg/vect/pr43430-1.c: Requires vect_condition target.

From-SVN: r163668

13 years agoarm.c (arm_override_options): Remove superfluous test.
John Tytgat [Tue, 31 Aug 2010 08:42:21 +0000 (08:42 +0000)]
arm.c (arm_override_options): Remove superfluous test.

        * config/arm/arm.c (arm_override_options): Remove superfluous test.
        Fix indentation.

From-SVN: r163667

13 years agodwarf2out.c (gen_decl_die): Do not skip in Ada.
Eric Botcazou [Tue, 31 Aug 2010 07:02:17 +0000 (07:02 +0000)]
dwarf2out.c (gen_decl_die): Do not skip in Ada.

* dwarf2out.c (gen_decl_die) <CONST_DECL>: Do not skip in Ada.
(dwarf2out_decl) <CONST_DECL>: Likewise.

From-SVN: r163666

13 years agoDaily bump.
GCC Administrator [Tue, 31 Aug 2010 00:17:17 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r163665

13 years agore PR fortran/45456 ([OOP] Bogus pointer initialization error on pointer-valued TBP)
Janus Weil [Mon, 30 Aug 2010 21:56:28 +0000 (23:56 +0200)]
re PR fortran/45456 ([OOP] Bogus pointer initialization error on pointer-valued TBP)

2010-08-30  Janus Weil  <janus@gcc.gnu.org>

PR fortran/45456
* resolve.c (resolve_structure_cons): Handle pointer-valued PPCs.

2010-08-30  Janus Weil  <janus@gcc.gnu.org>

PR fortran/45456
* gfortran.dg/typebound_proc_18.f03: New.

From-SVN: r163661

13 years agoStack usage support
Eric Botcazou [Mon, 30 Aug 2010 20:04:49 +0000 (20:04 +0000)]
Stack usage support

Stack usage support
* common.opt (-fstack-usage): New option.
* doc/invoke.texi (Debugging options): Document it.
* builtins.c (expand_builtin_apply): Pass TRUE as 4th argument to
allocate_dynamic_stack_space.
(expand_builtin_alloca): Add 4th bool parameter CANNOT_ACCUMULATE
and propagate it to allocate_dynamic_stack_space.
(expand_builtin) <BUILT_IN_ALLOCA>: Adjust for above change.
* calls.c (initialize_argument_information): Pass TRUE as 4th
argument to allocate_dynamic_stack_space.
(expand_call): Set current_function_has_unbounded_dynamic_stack_size
to 1 when pushing a variable-sized argument onto the stack.  Pass
TRUE as 4th argument to allocate_dynamic_stack_space.
Update current_function_pushed_stack_size.
(emit_library_call_value_1): Likewise.
* explow.c (allocate_dynamic_stack_space): Add 4th bool parameter
CANNOT_ACCUMULATE.  If flag_stack_usage, look into the size and
attempt to find an upper bound.  Remove redundant code for the
SETJMP_VIA_SAVE_AREA case.
* expr.h (allocate_dynamic_stack_space): Add 4th bool parameter.
* function.h (struct stack_usage): New structure.
(current_function_static_stack_size): New macro.
(current_function_dynamic_stack_size): Likewise.
(current_function_pushed_stack_size): Likewise.
(current_function_dynamic_alloc_count): Likewise.
(current_function_has_unbounded_dynamic_stack_size): Likewise.
(current_function_allocates_dynamic_stack_space): Likewise.
(struct function): Add new field 'su'.
* function.c (instantiate_virtual_regs): If SETJMP_VIA_SAVE_AREA,
add the value of the dynamic offset to the dynamic stack usage.
(gimplify_parameters): Set ALLOCA_FOR_VAR_P on call to BUILT_IN_ALLOCA
for variable-sized objects.
(prepare_function_start): Allocate cfun->su if flag_stack_usage.
(rest_of_handle_thread_prologue_and_epilogue): Call output_stack_usage.
* gimplify.c (gimplify_decl_expr): Set ALLOCA_FOR_VAR_P on call to
BUILT_IN_ALLOCA for variable-sized objects.
* output.h (output_stack_usage): Declare.
* toplev.c (stack_usage_file): New file pointer.
(output_stack_usage): New function.
(open_auxiliary_file): Likewise.
(lang_dependent_init): Open file if flag_stack_usage is set.
(finalize): Close file if stack_usage_file is not null.
* tree.h (ALLOCA_FOR_VAR_P): New macro.
* config/alpha/alpha.c (compute_frame_size): New function.
(alpha_expand_prologue): Use it.
(alpha_start_function): Likewise.
(alpha_expand_epilogue): Likewise.  Set stack usage info.
* config/i386/i386.c (ix86_expand_prologue): Likewise.
* config/ia64/ia64.c (ia64_expand_prologue): Likewise.
* config/mips/mips.c (mips_expand_prologue): Likewise.
* config/pa/pa.c (hppa_expand_prologue): Likewise.
* config/rs6000/rs6000.c (rs6000_emit_prologue): Likewise.
* config/sparc/sparc.c (sparc_expand_prologue): Likewise.
testsuite/
* lib/gcc-dg.exp (cleanup-stack-usage): New procedure.
* lib/scanasm.exp (scan-stack-usage): Likewise.
(scan-stack-usage-not): Likewise.
* gcc.dg/stack-usage-1.c: New test.
* gcc.target/i386/stack-usage-realign.c: Likewise.

From-SVN: r163660

13 years agore PR tree-optimization/45427 (Number of iteration analysis bogus)
Zdenek Dvorak [Mon, 30 Aug 2010 19:50:05 +0000 (21:50 +0200)]
re PR tree-optimization/45427 (Number of iteration analysis bogus)

PR tree-optimization/45427
* tree-ssa-loop-niter.c (number_of_iterations_ne_max): Rewritten.
Handle the case that the exit is never taken correctly.
(number_of_iterations_ne): Pass exit_must_be_taken to
number_of_iterations_ne_max.

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

From-SVN: r163659

13 years agomips.h (BASE_DRIVER_SELF_SPECS): Infer -mdspr2 for the the 74K.
Catherine Moore [Mon, 30 Aug 2010 18:57:30 +0000 (14:57 -0400)]
mips.h (BASE_DRIVER_SELF_SPECS): Infer -mdspr2 for the the 74K.

2010-08-31  Catherine Moore  <clm@codesourcery.com>

* config/mips/mips.h (BASE_DRIVER_SELF_SPECS):
Infer -mdspr2 for the the 74K.

From-SVN: r163656

13 years agore PR c++/45043 (ICE: tree check: expected identifier_node, have bit_not_expr in...
Paolo Carlini [Mon, 30 Aug 2010 18:13:32 +0000 (18:13 +0000)]
re PR c++/45043 (ICE: tree check: expected identifier_node, have bit_not_expr in grokdeclarator, at cp/decl.c:8113 on invalid code)

/cp
2010-08-30  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/45043
* decl.c (grokdeclarator): Use MAIN_NAME_P only on IDENTIFIER_NODEs.

/testsuite
2010-08-30  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/45043
* g++.dg/template/crash102.C: New.

From-SVN: r163655

13 years agore PR debug/45419 (-fcompare-debug failure at -O3)
Jakub Jelinek [Mon, 30 Aug 2010 17:17:15 +0000 (19:17 +0200)]
re PR debug/45419 (-fcompare-debug failure at -O3)

PR debug/45419
* tree-ssa-live.c (dump_enumerated_decls): Clear the whole wi variable.

From-SVN: r163654

13 years agore PR middle-end/45423 (#pragma omp atomic on bool has issues)
Jakub Jelinek [Mon, 30 Aug 2010 17:16:29 +0000 (19:16 +0200)]
re PR middle-end/45423 (#pragma omp atomic on bool has issues)

PR middle-end/45423
* gimplify.c (goa_stabilize_expr): Handle TRUTH_NOT_EXPR
and TRUTH_{AND,OR,XOR}_EXPR.
* c-parser.c (c_parser_omp_atomic): Handle boolean
{PRE,POST}_{INC,DEC}REMENT.
cp/
* parser.c (cp_parser_omp_atomic): Handle boolean
{PRE,POST}_INCREMENT.
testsuite/
* gcc.dg/gomp/atomic-12.c: New test.
* gcc.dg/gomp/atomic-13.c: New test.
* gcc.dg/gomp/atomic-14.c: New test.
* g++.dg/gomp/atomic-11.C: New test.
* g++.dg/gomp/atomic-12.C: New test.
* g++.dg/gomp/atomic-13.C: New test.
* g++.dg/gomp/atomic-14.C: New test.

From-SVN: r163653

13 years agoutils.c (gnat_pushdecl): Remove test for PARM_DECLs.
Eric Botcazou [Mon, 30 Aug 2010 16:30:41 +0000 (16:30 +0000)]
utils.c (gnat_pushdecl): Remove test for PARM_DECLs.

* gcc-interface/utils.c (gnat_pushdecl): Remove test for PARM_DECLs.
Attach fake PARM_DECLs to the topmost block of the function.

From-SVN: r163651

13 years agonested-2.C: Allow for single / as comment delimiter.
Rainer Orth [Mon, 30 Aug 2010 16:03:55 +0000 (16:03 +0000)]
nested-2.C: Allow for single / as comment delimiter.

* g++.dg/debug/dwarf2/nested-2.C: Allow for single / as comment
delimiter.

From-SVN: r163650

13 years agoxtensa-protos.h (function_arg_advance): Delete.
Nathan Froyd [Mon, 30 Aug 2010 16:03:44 +0000 (16:03 +0000)]
xtensa-protos.h (function_arg_advance): Delete.

* config/xtensa/xtensa-protos.h (function_arg_advance): Delete.
(function_arg): Delete.
* config/xtensa/xtensa.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
(FUNCTION_INCOMING_ARG): Delete.
* config/xtensa/xtensa.c (function_arg_advance): Rename to...
(xtensa_function_arg_advance): ...this.  Make static.  Take a const_tree
and a bool.
(function_arg): Rename to...
(xtensa_function_arg_1): ...this.  Make static.  Take a const_tree and
a bool.
(xtensa_function_arg, xtensa_function_incoming_arg): Nex functions.
(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
(TARGET_FUNCTION_INCOMING_ARG): Define.

From-SVN: r163649

13 years agotrans.c (call_to_gnu): Also force the return slot opt for the call to a function...
Eric Botcazou [Mon, 30 Aug 2010 15:59:45 +0000 (15:59 +0000)]
trans.c (call_to_gnu): Also force the return slot opt for the call to a function whose return type was...

* gcc-interface/trans.c (call_to_gnu): Also force the return slot opt
for the call to a function whose return type was unconstrained.

From-SVN: r163648

13 years agore PR middle-end/21602 (builtin memmove could be memcpy if src and dst don't alias)
Richard Guenther [Mon, 30 Aug 2010 13:46:31 +0000 (13:46 +0000)]
re PR middle-end/21602 (builtin memmove could be memcpy if src and dst don't alias)

2010-08-30  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/21602
* builtins.c (fold_builtin_memory_op): Fold memmove to memcpy
using points-to information.

From-SVN: r163646

13 years ago* Move compare peephole2 to a better place.
Uros Bizjak [Mon, 30 Aug 2010 13:40:36 +0000 (15:40 +0200)]
* Move compare peephole2 to a better place.

From-SVN: r163645

13 years agodecl.c (FOREIGN_FORCE_REALIGN_STACK): New macro, replacement for FORCE_PREFERRED_STAC...
Olivier Hainque [Mon, 30 Aug 2010 13:26:10 +0000 (13:26 +0000)]
decl.c (FOREIGN_FORCE_REALIGN_STACK): New macro, replacement for FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN.

        * gcc-interface/decl.c (FOREIGN_FORCE_REALIGN_STACK): New macro,
        replacement for FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN.
        (gnat_to_gnu_entity) <case ..., E_Procedure>: Use it.

From-SVN: r163641

13 years agoReplace | with || in TARGET_HAS_SINCOS.
H.J. Lu [Mon, 30 Aug 2010 13:10:59 +0000 (13:10 +0000)]
Replace | with || in TARGET_HAS_SINCOS.

2010-08-30  H.J. Lu  <hongjiu.lu@intel.com>

* config/linux.h (TARGET_HAS_SINCOS): Replace | with ||.

From-SVN: r163640

13 years ago* Make-lang.in: Add frontend-passes.o dependencies.
Francois-Xavier Coudert [Mon, 30 Aug 2010 11:44:23 +0000 (11:44 +0000)]
* Make-lang.in: Add frontend-passes.o dependencies.

From-SVN: r163639

13 years agore PR tree-optimization/45449 (-fcompare-debug failure with -O2 -fno-tree-pre -fno...
Richard Guenther [Mon, 30 Aug 2010 11:13:05 +0000 (11:13 +0000)]
re PR tree-optimization/45449 (-fcompare-debug failure with -O2 -fno-tree-pre -fno-tree-pta)

2010-08-30  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/45449
* tree-ssa-live.c (remove_unused_locals): Also remove address-taken
variables.

* gcc.dg/pr45449.c: New testcase.

From-SVN: r163638

13 years agoopts.h (CL_ERR_NEGATIVE): Define.
Joseph Myers [Mon, 30 Aug 2010 10:30:57 +0000 (11:30 +0100)]
opts.h (CL_ERR_NEGATIVE): Define.

* opts.h (CL_ERR_NEGATIVE): Define.
* opts.c (unknown_option_callback): Don't postpone warnings for
options marked with CL_ERR_NEGATIVE.
* opts-common.c (decode_cmdline_option): Set CL_ERR_NEGATIVE error
for negative versions of CL_REJECT_NEGATIVE options.

testsuite:
* gcc.dg/opts-1.c: Expect errors, not warnings.

From-SVN: r163637

13 years agoi386.md (zero_extendsidi2_1): Rename from zero_extendsidi2_32.
Uros Bizjak [Mon, 30 Aug 2010 07:28:27 +0000 (09:28 +0200)]
i386.md (zero_extendsidi2_1): Rename from zero_extendsidi2_32.

* config/i386/i386.md (zero_extendsidi2_1): Rename from
zero_extendsidi2_32.
(zero_extend<mode>di2): Macroize insn from zero_extend{qi,hi}di2
using SWI12 mode iterator.
(zero_extendhisi2_and): Merge insn pattern and corresponding spliter
to define_insn_and_split pattern.
(zero_extendqi<mode>2): Macroize expander from zero_extendqi{hi,si}2
using SWI24 mode iterator.
(*zero_extendqi<mode>2_and): Macroize insn from
*zero_extendqi{hi,si}2_and using SWI24 mode iterator.
(*zero_extendqi<mode>2_movzbl_and): Macroize insn from
*zero_extendqihi2_movzbw_and and *zero_extendqisi2_movzbl_and using
SWI24 mode iterator.
(*zero_extendqi<mode>2_movzbl): Ditto from
*zero_extendqi{hi,si}2_movzbl.
(extendsidi2_1): Rename from extendsidi2_32.
(extend<mode>di2): Macroize insn from extend{qi,hi}di2 using
SWI12 mode iterator.

From-SVN: r163636

13 years agoDaily bump.
GCC Administrator [Mon, 30 Aug 2010 00:16:57 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r163635

13 years agore PR fortran/42769 ([OOP] ICE in resolve_typebound_procedure)
Janus Weil [Sun, 29 Aug 2010 21:29:38 +0000 (23:29 +0200)]
re PR fortran/42769 ([OOP] ICE  in resolve_typebound_procedure)

2010-08-29  Janus Weil  <janus@gcc.gnu.org>

PR fortran/42769
* resolve.c (resolve_structure_cons): For derived types, make sure the
type has been resolved.
(resolve_typebound_procedures): Make sure the vtab has been generated.

2010-08-29  Janus Weil  <janus@gcc.gnu.org>

PR fortran/42769
* gfortran.dg/dynamic_dispatch_11.f03: New.

From-SVN: r163631

13 years agoia64.h (HARD_REGNO_NREGS): Return 1 for CCImode in general purpose registers.
Eric Botcazou [Sun, 29 Aug 2010 19:57:07 +0000 (19:57 +0000)]
ia64.h (HARD_REGNO_NREGS): Return 1 for CCImode in general purpose registers.

* config/ia64/ia64.h (HARD_REGNO_NREGS): Return 1 for CCImode in
general purpose registers.
(HARD_REGNO_MODE_OK): Accept CCImode in general purpose registers.
* config/ia64/ia64.md (*movcci): Change to named pattern.  Deal
with general purpose registers and memory operands.  Add associated
CCImode post-reload splitter.
* config/ia64/div.md: Change BImode to CCImode throughout.

From-SVN: r163630

13 years agore PR c++/44991 (default argument with '<' cause compilation error)
Jason Merrill [Sun, 29 Aug 2010 19:24:37 +0000 (15:24 -0400)]
re PR c++/44991 (default argument with '<' cause compilation error)

PR c++/44991
* parser.c (cp_parser_parameter_declaration): Pop parameter decls
after tentative parsing.

From-SVN: r163629

13 years ago[multiple changes]
Paolo Carlini [Sun, 29 Aug 2010 17:39:00 +0000 (17:39 +0000)]
[multiple changes]

2010-08-29  Paolo Carlini  <paolo.carlini@oracle.com>

* testsuite/23_containers/bitset/invalidation: Move...
* testsuite/23_containers/bitset/debug/invalidation: ... here.
* testsuite/23_containers/deque/invalidation: Move...
* testsuite/23_containers/deque/debug/invalidation: ... here.
* testsuite/23_containers/list/invalidation: Move...
* testsuite/23_containers/list/debug/invalidation: ... here.
* testsuite/23_containers/map/invalidation: Move...
* testsuite/23_containers/map/debug/invalidation: ... here.
* testsuite/23_containers/multimap/invalidation: Move...
* testsuite/23_containers/multimap/debug/invalidation: ... here.
* testsuite/23_containers/set/invalidation: Move...
* testsuite/23_containers/set/debug/invalidation: ... here.
* testsuite/23_containers/multiset/invalidation: Move...
* testsuite/23_containers/multiset/debug/invalidation: ... here.
* testsuite/23_containers/vector/invalidation: Move...
* testsuite/23_containers/vector/debug/invalidation: ... here.

2010-08-29  François Dumont  <francois.cppdevs@free.fr>

        * include/bits/stl_algobase.h (_Iter_base):  Move...
        * include/bits/stl_iterator_base_types.h: ...here.
        * include/debug/functions.h (__check_valid_range, __check_string,
__check_sorted): Fix to not depend on _GLIBCXX_DEBUG; include
formatter.h and use formatting macros for a consistent debug result.
        * include/debug/formatter.h (__check_singular): Declare; do not
include debug.h.
        * include/debug/debug.h: Do not include formatter.h.
        * include/debug/safe_iterator.h (_Safe_iterator::_Base_Iterator)
        rename to iterator_type.
(__gnu_debug::__base): Add.
        * include/debug/set.h: Use everywhere __gnu_debug::__base once
iterator range valided.
        * include/debug/unordered_map: Likewise.
        * include/debug/multiset.h: Likewise.
        * include/debug/vector: Likewise.
        * include/debug/unordered_set: Likewise.
        * include/debug/deque: Likewise.
        * include/debug/map.h: Likewise.
        * include/debug/string: Likewise.
        * include/debug/list: Likewise.
        * include/debug/multimap.h: Likewise.
        * testsuite/23_containers/util/debug/assign_neg.h: New test cases on
        debug checks performed on container assign operation.
        * testsuite/23_containers/util/debug/construct_neg.h: New test cases
        on debug checks on constructors.
        * testsuite/23_containers/util/debug/insert_neg.h: New test cases on
        debug checks performed on container insert operations.
        * testsuite/23_containers/unordered_map/debug/cont_traits.h,
        debug_cont_traits.h, construct1_neg.cc, construct2_neg.cc,
        construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc,
        insert3_neg.cc, insert4_neg.cc: New.
        * testsuite/23_containers/multimap/debug/cont_traits.h,
        debug_cont_traits.h, construct1_neg.cc, construct2_neg.cc,
        construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc,
        insert3_neg.cc, insert4_neg.cc: Likewise.
        * testsuite/23_containers/set/debug/cont_traits.h,
        debug_cont_traits.h, construct1_neg.cc, construct2_neg.cc,
        construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc,
        insert3_neg.cc, insert4_neg.cc: Likewise.
        * testsuite/23_containers/unordered_multimap/debug/cont_traits.h,
        debug_cont_traits.h, construct1_neg.cc, construct2_neg.cc,
        construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc,
        insert3_neg.cc, insert4_neg.cc: Likewise.
        * testsuite/23_containers/unordered_set/debug/cont_traits.h,
        debug_cont_traits.h, construct1_neg.cc, construct2_neg.cc,
        construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc,
        insert3_neg.cc, insert4_neg.cc: Likewise.
        * testsuite/23_containers/multiset/debug/cont_traits.h,
        debug_cont_traits.h, construct1_neg.cc, construct2_neg.cc,
        construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc,
        insert3_neg.cc, insert4_neg.cc: Likewise.
        * testsuite/23_containers/unordered_multiset/debug/cont_traits.h,
        debug_cont_traits.h, construct1_neg.cc, construct2_neg.cc,
        construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc,
        insert3_neg.cc, insert4_neg.cc: Likewise.
        * testsuite/23_containers/map/debug/cont_traits.h,
        debug_cont_traits.h, construct1_neg.cc, construct2_neg.cc,
        construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc,
        insert3_neg.cc, insert4_neg.cc: Likewise.
        * testsuite/23_containers/vector/debug/cont_traits.h,
        debug_cont_traits.h, assign1_neg.cc, assign2_neg.cc, assign3_neg.cc,
        assign4_neg.cc, construct1_neg.cc, construct2_neg.cc,
        construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc,
        insert3_neg.cc, insert4_neg.cc: Likewise.
        * testsuite/23_containers/deque/debug/cont_traits.h,
        debug_cont_traits.h, assign1_neg.cc, assign2_neg.cc, assign3_neg.cc,
        assign4_neg.cc, construct1_neg.cc, construct2_neg.cc,
        construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc,
        insert3_neg.cc, insert4_neg.cc: Likewise.
* testsuite/23_containers/list/debug/cont_traits.h,
        debug_cont_traits.h, assign1_neg.cc, assign2_neg.cc, assign3_neg.cc,
        assign4_neg.cc, construct1_neg.cc, construct2_neg.cc,
        construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc,
        insert3_neg.cc, insert4_neg.cc: Likewise.
        * testsuite/performance/23_containers/range_construct/
list_construct1.cc: New, validate performance impact of the patch
on the debug mode.
        * testsuite/performance/23_containers/range_construct/
list_construct2.cc: Likewise.
        * testsuite/performance/23_containers/range_construct/
vector_construct.cc: Likewise.
        * testsuite/performance/23_containers/range_construct/
deque_construct.cc: Likewise.

From-SVN: r163628

13 years agore PR fortran/45439 ([OOP] SELECT TYPE bogus complaint about INTENT)
Janus Weil [Sun, 29 Aug 2010 09:56:45 +0000 (11:56 +0200)]
re PR fortran/45439 ([OOP] SELECT TYPE bogus complaint about INTENT)

2010-08-29  Janus Weil  <janus@gcc.gnu.org>

PR fortran/45439
* match.c (gfc_match_select_type): Give the associate-name the
FL_VARIABLE attribute.

2010-08-29  Janus Weil  <janus@gcc.gnu.org>

PR fortran/45439
* gfortran.dg/select_type_16.f03: New.

From-SVN: r163626

13 years agoDaily bump.
GCC Administrator [Sun, 29 Aug 2010 00:17:32 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r163624

13 years agomtype.m4 (upcase, [...]): New macros.
Francois-Xavier Coudert [Sat, 28 Aug 2010 22:10:52 +0000 (22:10 +0000)]
mtype.m4 (upcase, [...]): New macros.

* m4/mtype.m4 (upcase, hasmathfunc, mathfunc_macro): New macros.
* m4/fraction.m4: Use new macros to support quad-float types.
* m4/set_exponent.m4: Likewise.
* m4/spacing.m4: Likewise.
* m4/exponent.m4: Likewise.
* m4/nearest.m4: Likewise.
* m4/norm2.m4: Likewise.
* m4/bessel.m4: Likewise.
* m4/rrspacing.m4: Likewise.
* generated/bessel_r4.c:Regenerated.
* generated/bessel_r8.c: Regenerated.
* generated/bessel_r10.c: Regenerated.
* generated/bessel_r16.c: Regenerated.
* generated/exponent_r4.c: Regenerated.
* generated/exponent_r8.c: Regenerated.
* generated/exponent_r10.c: Regenerated.
* generated/exponent_r16.c: Regenerated.
* generated/fraction_r4.c: Regenerated.
* generated/fraction_r8.c: Regenerated.
* generated/fraction_r10.c: Regenerated.
* generated/fraction_r16.c: Regenerated.
* generated/nearest_r4.c: Regenerated.
* generated/nearest_r8.c: Regenerated.
* generated/nearest_r10.c: Regenerated.
* generated/nearest_r16.c: Regenerated.
* generated/norm2_r4.c: Regenerated.
* generated/norm2_r8.c: Regenerated.
* generated/norm2_r10.c: Regenerated.
* generated/norm2_r16.c: Regenerated.
* generated/rrspacing_r4.c: Regenerated.
* generated/rrspacing_r8.c: Regenerated.
* generated/rrspacing_r10.c: Regenerated.
* generated/rrspacing_r16.c: Regenerated.
* generated/set_exponent_r4.c: Regenerated.
* generated/set_exponent_r8.c: Regenerated.
* generated/set_exponent_r10.c: Regenerated.
* generated/set_exponent_r16.c: Regenerated.
* generated/spacing_r4.c: Regenerated.
* generated/spacing_r8.c: Regenerated.
* generated/spacing_r10.c: Regenerated.
* generated/spacing_r16.c: Regenerated.

From-SVN: r163620

13 years ago* config/ia64/ia64.md (cstorebi4): Fix thinko.
Eric Botcazou [Sat, 28 Aug 2010 20:07:43 +0000 (20:07 +0000)]
* config/ia64/ia64.md (cstorebi4): Fix thinko.

From-SVN: r163618

13 years agore PR target/45299 (Dwarf information is wrong with optimised code.)
Hariharan Sandanagobalane [Sat, 28 Aug 2010 16:40:27 +0000 (16:40 +0000)]
re PR target/45299 (Dwarf information is wrong with optimised code.)

        * config/picochip/picochip.c (reorder_var_tracking_notes): This
          function was dropping debug insns which caused PR45299.

From-SVN: r163617

13 years agosse.md (extsuffix): New code attribute.
Uros Bizjak [Sat, 28 Aug 2010 14:30:34 +0000 (16:30 +0200)]
sse.md (extsuffix): New code attribute.

* config/i386/sse.md (extsuffix): New code attribute.
(sse4_1_<code>v8qiv8hi2): Macroize insn from sse4_1_extendv8qiv8hi2
and sse4_1_zero_extendv8qiv8hi2 using any_extend code iterator.
(sse4_1_<code>v4qiv4si2): Ditto from sse4_1_extendv4qiv4si2
and sse4_1_zero_extendv4qiv4si2.
(sse4_1_<code>v2qiv2di2): Ditto from sse4_1_extendv2qiv2di2
and sse4_1_zero_extendv2qiv2di2.
(sse4_1_<code>v4hiv4si2): Ditto from sse4_1_extendv4hiv4si2
and sse4_1_zero_extendv4hiv4si2.
(sse4_1_<code>v2hiv2di2): Ditto from sse4_1_extendv2hiv2di2
and sse4_1_zero_extendv2hiv2di2.
(sse4_1_extendv2siv2di2): Ditto from sse4_1_extendv2siv2di2
and sse4_1_zero_extendv2siv2di2

(<s>mulv8hi3_highpart): Macroize expander from {u,s}mulv8hi3_highpart
using any_extend code iterator.
(*avx_<s>mulv8hi3_highpart): Macroize insn from
*avx_{u,s}mulv8hi3_highpart using any_extend code iterator.
(*<s>mulv8hi3_highpart): Ditto from *{u,s}mulv8hi3_highpart.

* config/i386/i386.c (ix86_expand_sse4_unpack): Update for renamed
gen_sse4_1_sign_extend* functions.
(struct builtin_description bdesc_args): Ditto.

From-SVN: r163616

13 years agosimplify.c (gfc_simplify_bessel_n2): Fix indention and argument type.
Steven G. Kargl [Sat, 28 Aug 2010 14:27:34 +0000 (14:27 +0000)]
simplify.c (gfc_simplify_bessel_n2): Fix indention and argument type.

fortran/
2010-07-21  Steven G. Kargl  <kargl@gcc.gnu.org>

        * simplify.c (gfc_simplify_bessel_n2): Fix indention
        and argument type.

testsuite/
2010-07-21  Steven G. Kargl  <kargl@gcc.gnu.org>
            Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/bessel_7.f90: Decrease required precision.

Co-Authored-By: Tobias Burnus <burnus@net-b.de>
From-SVN: r163615

13 years agomk-kinds-h.sh: Disable REAL(16) if REAL(10) is available.
Tobias Burnus [Sat, 28 Aug 2010 07:35:47 +0000 (09:35 +0200)]
mk-kinds-h.sh: Disable REAL(16) if REAL(10) is available.

2010-08-28  Tobias Burnus  <burnus@net-b.de>

        * mk-kinds-h.sh: Disable REAL(16) if REAL(10) is available.

From-SVN: r163612

13 years agore PR libfortran/45436 (Failed to bootstrap)
Francois-Xavier Coudert [Sat, 28 Aug 2010 07:35:10 +0000 (07:35 +0000)]
re PR libfortran/45436 (Failed to bootstrap)

PR fortran/45436
* trans-types.c (gfc_init_kinds): Disable TFmode.

From-SVN: r163611

13 years agoFix PR45422
Xinliang David Li [Sat, 28 Aug 2010 05:54:54 +0000 (05:54 +0000)]
Fix PR45422

From-SVN: r163610

13 years agosh-protos.h (sh_function_arg): Delete.
Nathan Froyd [Sat, 28 Aug 2010 01:23:19 +0000 (01:23 +0000)]
sh-protos.h (sh_function_arg): Delete.

* config/sh/sh-protos.h (sh_function_arg): Delete.
(sh_function_arg_advance): Delete.
* config/sh/sh.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
(PASS_IN_REG_P): Eliminate cast.
* config/sh/sh.c (sh_function_arg_advance): Make static.  Take a
const_tree and a bool.
(sh_function_arg): Likewise.
(sh_output_mi_thunk): Call sh_function_arg_advance) and
sh_function_arg.
(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.

From-SVN: r163607

13 years agoDaily bump.
GCC Administrator [Sat, 28 Aug 2010 00:19:12 +0000 (00:19 +0000)]
Daily bump.

From-SVN: r163606

13 years agosh.c (push_regs): Emit movml for interrupt handler when possible.
Naveen H.S [Fri, 27 Aug 2010 23:29:41 +0000 (23:29 +0000)]
sh.c (push_regs): Emit movml for interrupt handler when possible.

* config/sh/sh.c (push_regs): Emit movml for interrupt handler
when possible.
(sh_expand_epilogue): Likewise.
* config/sh/sh.md (movml_push_banked): New insn.
(movml_pop_banked): Likewise.
* gcc.dg/attr-isr.c: Skip test for -m2a.  Don't run on sh2a*-*-*.

Co-Authored-By: Kaz Kojima <kkojima@gcc.gnu.org>
From-SVN: r163602

13 years agovfp.md (arm_movsi_vfp, [...]): Set attribute "insn".
Bernd Schmidt [Fri, 27 Aug 2010 22:11:50 +0000 (22:11 +0000)]
vfp.md (arm_movsi_vfp, [...]): Set attribute "insn".

* config/arm/vfp.md (arm_movsi_vfp, thumb2_movsi_vfp, movsf_vfp,
thumb2_movsf_vfp): Set attribute "insn".
* config/arm/arm.md (arm_ashrdi3_1bit, arm_lshrdi3_1bit, not_shiftsi,
not_shiftsi_compare0, not_shiftsi_compare0_scratch, arm_one_cmplsi2,
thumb1_one_cmplsi2, notsi_compare0, notsi_compare0_scratch,
arm_zero_extendsidi2, arm_extendsidi2, thumb1_movdi_insn,
arm_movsi_insn, movhi_insn_arch4, movhi_bytes, arm_movqi_insn,
thumb1_movqi_insn arm32_movhf, thumb1_movhf, arm_movsf_soft_insn,
thumb1_movsf_insn, thumb_movdf_insn, mov_scc, mov_negscc, mov_notscc,
movsicc_insn, movsfcc_soft_insn, and_scc, cond_move, if_move_not,
if_not_move, if_shift_move, if_move_shift, if_shift_shift,
if_not_arith, if_arith_not, cond_move_not): Likewise.

From-SVN: r163601

13 years agogenautomata.c (gen_regexp_repeat, [...]): Use the string found in vector element...
Bernd Schmidt [Fri, 27 Aug 2010 22:08:37 +0000 (22:08 +0000)]
genautomata.c (gen_regexp_repeat, [...]): Use the string found in vector element 0 rather than the original string when...

* genautomata.c (gen_regexp_repeat, gen_regexp_allof,
gen_regexp_oneof, gen_regexp_sequence): Use the string found
in vector element 0 rather than the original string when there's
only one element.
(gen_regexp): Remove extra semicolon.

From-SVN: r163600

13 years agore PR fortran/45432 (gfortran.dg/allocate_alloc_opt_9.f90: Segfault due to invalid...
Janus Weil [Fri, 27 Aug 2010 21:50:47 +0000 (23:50 +0200)]
re PR fortran/45432 (gfortran.dg/allocate_alloc_opt_9.f90: Segfault due to invalid FREE)

2010-08-27  Janus Weil  <janus@gcc.gnu.org>

PR fortran/45432
* match.c (gfc_match_allocate): Avoid double free on error.

From-SVN: r163599

13 years agoImprove floating point conversions on powerpc
Michael Meissner [Fri, 27 Aug 2010 21:32:44 +0000 (21:32 +0000)]
Improve floating point conversions on powerpc

From-SVN: r163598

13 years agore PR fortran/32049 (Support on x86_64 also kind=16)
Francois-Xavier Coudert [Fri, 27 Aug 2010 21:24:13 +0000 (21:24 +0000)]
re PR fortran/32049 (Support on x86_64 also kind=16)

PR fortran/32049

* gfortran.h (gfc_real_info): Add c_float128 field.
* mathbuiltins.def: Indicate which builtins are const.
* trans-types.h (float128_type_node, complex_float128_type_node,
gfc_real16_is_float128): New variables.
* trans-types.c (float128_type_node, complex_float128_type_node,
gfc_real16_is_float128): New variables.
(gfc_init_kinds): Allow TFmode.
(gfc_build_real_type): Mark __float128 types as such.
(gfc_init_types): Initialize float128_type_node and
complex_float128_type_node
* f95-lang.c (gfc_init_builtin_functions): Adjust for new
argument of OTHER_BUILTIN macro.
* trans-intrinsic.c (gfc_intrinsic_map_t): Likewise.
(builtin_decl_for_precision): Special case for __float128.
(builtin_decl_for_float_kind): Likewise.
(define_quad_builtin): New function.
(gfc_build_intrinsic_lib_fndecls): Create all __float128
library decls if necessary. Store them in the real16_decl and
complex16_decl builtin map fields.
(gfc_get_intrinsic_lib_fndecl): Handle q-suffixed __float128
library function names.

* gfortran.dg/random_seed_1.f90: Adjust test.
* gfortran.dg/float128_1.f90: New test.

From-SVN: r163597

13 years agogengtype.c (output_type_enum): Test the right union member.
Basile Starynkevitch [Fri, 27 Aug 2010 20:32:27 +0000 (20:32 +0000)]
gengtype.c (output_type_enum): Test the right union member.

2010-08-27  Basile Starynkevitch  <basile@starynkevitch.net>
            Jeremie Salvucci  <jeremie.salvucci@free.fr>

        * gengtype.c (output_type_enum): Test the right union member.

Co-Authored-By: Jeremie Salvucci <jeremie.salvucci@free.fr>
From-SVN: r163596

13 years agore PR fortran/33197 (Fortran 2008: math functions)
Tobias Burnus [Fri, 27 Aug 2010 19:17:45 +0000 (21:17 +0200)]
re PR fortran/33197 (Fortran 2008: math functions)

gcc/fortran/
2010-08-27  Tobias Burnus  <burnus@net-b.de>

        PR fortran/33197
        * gcc/fortran/intrinsic.c (add_functions): Add norm2 and parity.
        * gcc/fortran/intrinsic.h (gfc_check_norm2, gfc_check_parity):
        gfc_simplify_norm2, gfc_simplify_parity, gfc_resolve_norm2,
        gfc_resolve_parity): New prototypes.
        * gcc/fortran/gfortran.h (gfc_isym_id): New enum items
        GFC_ISYM_NORM2 and GFC_ISYM_PARITY.
        * gcc/fortran/iresolve.c (gfc_resolve_norm2,
        gfc_resolve_parity): New functions.
        * gcc/fortran/check.c (gfc_check_norm2, gfc_check_parity):
        New functions.
        * gcc/fortran/trans-intrinsic.c (gfc_conv_intrinsic_arith,
        gfc_conv_intrinsic_function): Handle NORM2 and PARITY.
        * gcc/fortran/intrinsic.texi (NORM2, PARITY): Add.
        * gcc/fortran/simplify.c (simplify_transformation_to_array):
        Add post-processing opterator.
        (gfc_simplify_all, gfc_simplify_any, gfc_simplify_count,
        gfc_simplify_product, gfc_simplify_sum): Update call.
        (add_squared, do_sqrt, gfc_simplify_norm2, do_xor,
        gfc_simplify_parity): New functions.

gcc/testsuite/
2010-08-27  Tobias Burnus  <burnus@net-b.de>

        PR fortran/33197
        * gcc/testsuite/gfortran.dg/norm2_1.f90: New.
        * gcc/testsuite/gfortran.dg/norm2_2.f90: New.
        * gcc/testsuite/gfortran.dg/norm2_3.f90: New.
        * gcc/testsuite/gfortran.dg/norm2_4.f90: New.
        * gcc/testsuite/gfortran.dg/parity_1.f90: New.
        * gcc/testsuite/gfortran.dg/parity_2.f90: New.
        * gcc/testsuite/gfortran.dg/parity_3.f90: New.

libgfortran/
2010-08-27  Tobias Burnus  <burnus@net-b.de>

        PR fortran/33197
        * libgfortran/m4/ifunction.m4 (FINISH_ARRAY_FUNCTION,
        ARRAY_FUNCTION): Allow expression after loop.
        * libgfortran/m4/norm2.m4: New for _gfortran_norm2_r{4,8,10,16}.
        * libgfortran/m4/parity.m4: New for
        * _gfortran_parity_l{1,2,4,8,16}.
        * libgfortran/gfortran.map: Add new functions.
        * libgfortran/Makefile.am: Ditto.
        * libgfortran/m4/minloc1.m4: Add empty argument for
        * ARRAY_FUNCTION.
        * libgfortran/m4/maxloc1.m4: Ditto.
        * libgfortran/m4/all.m4: Ditto.
        * libgfortran/m4/minval.m4: Ditto.
        * libgfortran/m4/maxval.m4: Ditto.
        * libgfortran/m4/count.m4: Ditto.
        * libgfortran/m4/product.m4: Ditto.
        * libgfortran/m4/any.m4: Ditto.
        * Makefile.in: Regenerated.
        * generated/minval_r8.c: Regenerated.
        * generated/maxloc1_4_r8.c: Regenerated.
        * generated/minloc1_16_r16.c: Regenerated.
        * generated/norm2_r4.c: Regenerated.
        * generated/sum_i8.c: Regenerated.
        * generated/parity_l2.c: Regenerated.
        * generated/any_l16.c: Regenerated.
        * generated/maxval_i2.c: Regenerated.
        * generated/any_l2.c: Regenerated.
        * generated/product_r4.c: Regenerated.
        * generated/maxloc1_8_i4.c: Regenerated.
        * generated/parity_l16.c: Regenerated.
        * generated/all_l1.c: Regenerated.
        * generated/product_i2.c: Regenerated.
        * generated/minloc1_8_r16.c: Regenerated.
        * generated/maxloc1_8_r16.c: Regenerated.
        * generated/sum_r16.c: Regenerated.
        * generated/sum_i1.c: Regenerated.
        * generated/minloc1_4_r8.c: Regenerated.
        * generated/maxloc1_16_r16.c: Regenerated.
        * generated/minloc1_16_i4.c: Regenerated.
        * generated/maxloc1_16_i4.c: Regenerated.
        * generated/maxval_r16.c: Regenerated.
        * generated/product_c10.c: Regenerated.
        * generated/minloc1_8_i4.c: Regenerated.
        * generated/all_l2.c: Regenerated.
        * generated/product_c4.c: Regenerated.
        * generated/sum_r4.c: Regenerated.
        * generated/all_l16.c: Regenerated.
        * generated/minloc1_16_r10.c: Regenerated.
        * generated/sum_i2.c: Regenerated.
        * generated/maxloc1_8_r8.c: Regenerated.
        * generated/minval_i16.c: Regenerated.
        * generated/parity_l4.c: Regenerated.
        * generated/maxval_i4.c: Regenerated.
        * generated/any_l4.c: Regenerated.
        * generated/minval_i8.c: Regenerated.
        * generated/maxloc1_4_i8.c: Regenerated.
        * generated/minloc1_4_i16.c: Regenerated.
        * generated/maxloc1_4_i16.c: Regenerated.
        * generated/minloc1_8_r10.c: Regenerated.
        * generated/product_i4.c: Regenerated.
        * generated/maxloc1_8_r10.c: Regenerated.
        * generated/sum_c16.c: Regenerated.
        * generated/minloc1_16_r8.c: Regenerated.
        * generated/maxloc1_16_r8.c: Regenerated.
        * generated/count_4_l.c: Regenerated.
        * generated/sum_r10.c: Regenerated.
        * generated/count_8_l.c: Regenerated.
        * generated/sum_c4.c: Regenerated.
        * generated/maxloc1_16_r10.c: Regenerated.
        * generated/minloc1_8_r8.c: Regenerated.
        * generated/maxval_r10.c: Regenerated.
        * generated/minval_i1.c: Regenerated.
        * generated/maxloc1_4_i1.c: Regenerated.
        * generated/minloc1_4_i8.c: Regenerated.
        * generated/product_i16.c: Regenerated.
        * generated/all_l4.c: Regenerated.
        * generated/norm2_r16.c: Regenerated.
        * generated/minval_r4.c: Regenerated.
        * generated/maxloc1_4_r4.c: Regenerated.
        * generated/sum_i4.c: Regenerated.
        * generated/maxval_r8.c: Regenerated.
        * generated/norm2_r8.c: Regenerated.
        * generated/minloc1_4_i1.c: Regenerated.
        * generated/minval_r16.c: Regenerated.
        * generated/minval_i2.c: Regenerated.
        * generated/maxloc1_4_i2.c: Regenerated.
        * generated/product_r8.c: Regenerated.
        * generated/maxloc1_8_i8.c: Regenerated.
        * generated/sum_c10.c: Regenerated.
        * generated/minloc1_4_r16.c: Regenerated.
        * generated/maxloc1_4_r16.c: Regenerated.
        * generated/count_1_l.c: Regenerated.
        * generated/minloc1_4_r4.c: Regenerated.
        * generated/minloc1_16_i8.c: Regenerated.
        * generated/maxloc1_16_i8.c: Regenerated.
        * generated/minloc1_4_i2.c: Regenerated.
        * generated/maxloc1_8_i1.c: Regenerated.
        * generated/minloc1_8_i8.c: Regenerated.
        * generated/product_r16.c: Regenerated.
        * generated/product_c8.c: Regenerated.
        * generated/sum_r8.c: Regenerated.
        * generated/norm2_r10.c: Regenerated.
        * generated/minloc1_16_i16.c: Regenerated.
        * generated/maxloc1_8_r4.c: Regenerated.
        * generated/minloc1_16_i1.c: Regenerated.
        * generated/maxloc1_16_i1.c: Regenerated.
        * generated/minval_r10.c: Regenerated.
        * generated/count_16_l.c: Regenerated.
        * generated/parity_l8.c: Regenerated.
        * generated/minloc1_8_i1.c: Regenerated.
        * generated/minval_i4.c: Regenerated.
        * generated/maxloc1_4_i4.c: Regenerated.
        * generated/maxloc1_8_i2.c: Regenerated.
        * generated/maxval_i8.c: Regenerated.
        * generated/any_l8.c: Regenerated.
        * generated/minloc1_4_r10.c: Regenerated.
        * generated/minloc1_8_i16.c: Regenerated.
        * generated/maxloc1_4_r10.c: Regenerated.
        * generated/maxloc1_8_i16.c: Regenerated.
        * generated/minloc1_16_r4.c: Regenerated.
        * generated/maxloc1_16_r4.c: Regenerated.
        * generated/product_i8.c: Regenerated.
        * generated/sum_i16.c: Regenerated.
        * generated/count_2_l.c: Regenerated.
        * generated/maxloc1_16_i16.c: Regenerated.
        * generated/minloc1_8_r4.c: Regenerated.
        * generated/sum_c8.c: Regenerated.
        * generated/minloc1_16_i2.c: Regenerated.
        * generated/maxloc1_16_i2.c: Regenerated.
        * generated/parity_l1.c: Regenerated.
        * generated/maxval_i16.c: Regenerated.
        * generated/maxval_i1.c: Regenerated.
        * generated/minloc1_4_i4.c: Regenerated.
        * generated/any_l1.c: Regenerated.
        * generated/minloc1_8_i2.c: Regenerated.
        * generated/product_c16.c: Regenerated.
        * generated/product_r10.c: Regenerated.
        * generated/product_i1.c: Regenerated.
        * generated/all_l8.c: Regenerated.
        * generated/maxval_r4.c: Regenerated.

From-SVN: r163595

13 years agore PR fortran/45420 ([OOP] polymorphic TBP call in a CLASS DEFAULT clause)
Janus Weil [Fri, 27 Aug 2010 19:02:15 +0000 (21:02 +0200)]
re PR fortran/45420 ([OOP] polymorphic TBP call in a CLASS DEFAULT clause)

2010-08-27  Janus Weil  <janus@gcc.gnu.org>

PR fortran/45420
* match.c (select_type_set_tmp): Add the possibility to reset the
temporary to NULL.
(gfc_match_class_is): Reset the temporary in CLASS DEFAULT clauses.

2010-08-27  Janus Weil  <janus@gcc.gnu.org>

PR fortran/45420
* gfortran.dg/select_type_15.f03: New.

From-SVN: r163594

13 years agostl_iterator_base_types.h: Fix doxygen warning.
Benjamin Kosnik [Fri, 27 Aug 2010 18:16:05 +0000 (18:16 +0000)]
stl_iterator_base_types.h: Fix doxygen warning.

2010-08-26  Benjamin Kosnik  <bkoz@redhat.com>

* include/bits/stl_iterator_base_types.h: Fix doxygen warning.

From-SVN: r163592

13 years agore PR target/41484 (Please add memory forms of pmovzx* (SSE4.1))
Uros Bizjak [Fri, 27 Aug 2010 16:53:51 +0000 (18:53 +0200)]
re PR target/41484 (Please add memory forms of pmovzx* (SSE4.1))

PR target/41484
* config/i386/sse.md (sse4_1_extendv8qiv8hi2): Also accept memory
operands for operand 1.
(sse4_1_extendv4qiv4si2): Ditto.
(sse4_1_extendv2qiv2di2): Ditto.
(sse4_1_extendv4hiv4si2): Ditto.
(sse4_1_extendv2hiv2di2): Ditto.
(sse4_1_extendv2siv2di2): Ditto.
(sse4_1_zero_extendv8qiv8hi2): Ditto.
(sse4_1_zero_extendv4qiv4si2): Ditto.
(sse4_1_zero_extendv2qiv2di2): Ditto.
(sse4_1_zero_extendv4hiv4si2): Ditto.
(sse4_1_zero_extendv2hiv2di2): Ditto.
(sse4_1_zero_extendv2siv2di2): Ditto.
(*sse4_1_extendv8qiv8hi2): Remove insn pattern.
(*sse4_1_extendv4qiv4si2): Ditto.
(*sse4_1_extendv2qiv2di2): Ditto.
(*sse4_1_extendv4hiv4si2): Ditto.
(*sse4_1_extendv2hiv2di2): Ditto.
(*sse4_1_extendv2siv2di2): Ditto.
(*sse4_1_zero_extendv8qiv8hi2): Ditto.
(*sse4_1_zero_extendv4qiv4si2): Ditto.
(*sse4_1_zero_extendv2qiv2di2): Ditto.
(*sse4_1_zero_extendv4hiv4si2): Ditto.
(*sse4_1_zero_extendv2hiv2di2): Ditto.
(*sse4_1_zero_extendv2siv2di2): Ditto.

From-SVN: r163591

13 years agoFix long lines
Eric Botcazou [Fri, 27 Aug 2010 16:23:07 +0000 (16:23 +0000)]
Fix long lines

From-SVN: r163590

13 years agore PR fortran/43217 (Output of Hollerith constants which are not a multiple of 4...
Jerry DeLisle [Fri, 27 Aug 2010 15:00:11 +0000 (15:00 +0000)]
re PR fortran/43217 (Output of Hollerith constants which are not a multiple of 4 bytes)

2010-08-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libfortran/43217
* gfortran.dg/hollerith8.f90: New test.

From-SVN: r163588

13 years agomips-protos.h (mips_function_arg_advance): Delete
Nathan Froyd [Fri, 27 Aug 2010 14:48:16 +0000 (14:48 +0000)]
mips-protos.h (mips_function_arg_advance): Delete

* config/mips/mips-protos.h (mips_function_arg_advance): Delete
(mips_function_arg): Delete.
(mips_function_arg_boundary): Take a const_tree.
* config/mips/mips.c (mips_function_arg_boundary): Likewise.
(mips_arg_info): Likewise.
(mips_setup_incoming_varargs): Call mips_function_arg_advance
instead of FUNCTION_ARG_ADVANCE.
(mips_function_arg_advance): Adjust prototype.  Make static.
(mips_function_arg): Likewise.
(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
* config/mips/mips.h (FUNCTION_ARG_ADVANCE, FUNCTION_ARG): Delete.

From-SVN: r163587

13 years agors6000.h (FUNCTION_ARG, [...]): Delete.
Nathan Froyd [Fri, 27 Aug 2010 14:46:22 +0000 (14:46 +0000)]
rs6000.h (FUNCTION_ARG, [...]): Delete.

* config/rs6000/rs6000.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
* config/rs6000/rs6000-protos.h (function_arg_advance): Delete.
(function_arg): Delete.
(function_arg_boundary): Take a const_tree.
* config/rs6000/rs6000.c (function_arg_boundary): Likewise.
(rs6000_spe_function_arg): Likewise.
(rs6000_parm_start): Likewise.
(rs6000_arg_size): Likewise.
(rs6000_darwin64_record_arg_advance_recurse): Likewise.
(rs6000_darwin64_record_arg): Likewise.  Take a bool instead of
an int.
(rs6000_mixed_function_arg): Likewise.
(function_arg): Rename to...
(rs6000_function_arg): ...this.
(function_arg_advance): Rename to...
(rs6000_function_arg_advance_1): ...this
(rs6000_function_arg_advance): New function.  Call it.
(setup_incoming_varargs): Call rs6000_function_arg_advance_1.
(rs6000_return_in_memory): Adjust call to rs6000_darwin64_record_arg.
(rs6000_function_value): Likewise.
(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.

From-SVN: r163586

13 years agoarm.md (enabled): Test the value of arch_enabled rather than just using it.
Ramana Radhakrishnan [Fri, 27 Aug 2010 14:22:41 +0000 (14:22 +0000)]
arm.md (enabled): Test the value of arch_enabled rather than just using it.

2010-08-27  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

* config/arm/arm.md (enabled): Test the value of arch_enabled
        rather than just using it.

From-SVN: r163585

13 years agore PR fortran/45159 (Unnecessary temporaries)
Thomas Koenig [Fri, 27 Aug 2010 12:08:47 +0000 (12:08 +0000)]
re PR fortran/45159 (Unnecessary temporaries)

2010-08-27  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/45159
* dependency.c (check_section_vs_section):  Single test for
identical strides which takes into account that only one
of the strides may be NULL.

2010-08-27  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/45159
* gfortran.dg/dependency_33.f90:  New test.

From-SVN: r163584

13 years agoscop-1.c: Fix out-of-bound array accesses.
Richard Guenther [Fri, 27 Aug 2010 11:39:45 +0000 (11:39 +0000)]
scop-1.c: Fix out-of-bound array accesses.

2010-08-27  Richard Guenther  <rguenther@suse.de>

* gcc.dg/graphite/scop-1.c: Fix out-of-bound array accesses.
* gcc.dg/graphite/scop-2.c: Likewise.
* gcc.dg/graphite/scop-20.c: Likewise.
* gcc.dg/vect/slp-25.c: Likewise.

From-SVN: r163583

13 years agodse.c (group_info.base_mem, [...]): Use BLKmode to cover all the possible offsets...
Olivier Hainque [Fri, 27 Aug 2010 10:48:32 +0000 (10:48 +0000)]
dse.c (group_info.base_mem, [...]): Use BLKmode to cover all the possible offsets from this base.

        * dse.c (group_info.base_mem, get_group_info): Use BLKmode to
        cover all the possible offsets from this base.
        (scan_reads_nospill): Pass base_mem's mode to canon_true_dependence.

        testsuite/
        * gnat.dg/dse_step.ads, dse_step.adb, test_dse_step.adb: New test.

Co-Authored-By: Eric Botcazou <ebotcazou@adacore.com>
From-SVN: r163582

13 years agore PR fortran/43217 (Output of Hollerith constants which are not a multiple of 4...
Jerry DeLisle [Fri, 27 Aug 2010 06:50:03 +0000 (06:50 +0000)]
re PR fortran/43217 (Output of Hollerith constants which are not a multiple of 4 bytes)

2010-08-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR fortran/43217
* primary.c (match_hollerith_constant): Calculate padding needed to
fill default integer and allocate string for that size.  Set pad bytes
to ' '.
* gfortran.h: Add hollerith pad value to type spec union.
* data.c (create_character_initializer): Fix spelling of function name.
Use hollerith pad value to calculate length.
* arith.c (hollerith2representation); Use hollerith pad value to
calculate length.

From-SVN: r163581

13 years agoFix building ecjx in cross compile mode.
Dmitrijs Ledkovs [Fri, 27 Aug 2010 04:27:40 +0000 (04:27 +0000)]
Fix building ecjx in cross compile mode.

libjava/:
PR libgcj/40868
* configure.ac: Add GCC_FOR_ECJX variable.  Ensure
GCJ_FOR_ECJX is always set.
* Makefile.am [!NATIVE] (ecjx.$(OBJEXT)): New rule.
* Makefile.in: Regenerate.
* configure: Regenerate.
* gcj/Makefile.in: Regenerate.
* include/Makefile.in: Regenerate.
* testsuite/Makefile.in: Regenerate.

Co-Authored-By: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
From-SVN: r163580

13 years agoDaily bump.
GCC Administrator [Fri, 27 Aug 2010 00:17:31 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r163579

13 years agore PR fortran/38936 ([F03] ASSOCIATE construct / improved SELECT TYPE (a=>expr))
Daniel Kraft [Thu, 26 Aug 2010 19:48:43 +0000 (21:48 +0200)]
re PR fortran/38936 ([F03] ASSOCIATE construct / improved SELECT TYPE (a=>expr))

2010-08-26  Daniel Kraft  <d@domob.eu>

PR fortran/38936
PR fortran/44047
PR fortran/45384
* gfortran.h (struct gfc_association_list): New flag `dangling'.
(gfc_build_block_ns): Declared here...
* parse.h (gfc_build_block_ns): ...instead of here.
* trans.h (gfc_process_block_locals): Expect additionally the
gfc_association_list of BLOCK (if present).
* match.c (select_type_set_tmp): Create sym->assoc for temporary.
* resolve.c (resolve_variable): Only check for invalid *array*
references on associate-names.
(resolve_assoc_var): New method with code previously in resolve_symbol.
(resolve_select_type): Use association to give the selector and
temporaries their values instead of ordinary assignment.
(resolve_fl_var_and_proc): Allow CLASS associate-names.
(resolve_symbol): Use new `resolve_assoc_var' instead of inlining here.
* trans-stmt.c (gfc_trans_block_construct): Pass association-list
to `gfc_process_block_locals' to match new interface.
* trans-decl.c (gfc_get_symbol_decl): Don't defer associate-names
here automatically.
(gfc_process_block_locals): Defer them rather here when linked to
from the BLOCK's association list.

2010-08-26  Daniel Kraft  <d@domob.eu>

PR fortran/38936
PR fortran/44047
PR fortran/45384
* gfortran.dg/associate_8.f03: New test.
* gfortran.dg/select_type_13.f03: New test.
* gfortran.dg/select_type_14.f03: New test.

From-SVN: r163572

13 years ago* system.h [HAVE_INTTYPES_H]: Include inttypes.h.
Rainer Orth [Thu, 26 Aug 2010 17:58:31 +0000 (17:58 +0000)]
* system.h [HAVE_INTTYPES_H]: Include inttypes.h.

From-SVN: r163569

13 years agore PR tree-optimization/44485 (ICE in get_expr_operands, at tree-ssa-operands.c:1020)
Jakub Jelinek [Thu, 26 Aug 2010 16:39:26 +0000 (18:39 +0200)]
re PR tree-optimization/44485 (ICE in get_expr_operands, at tree-ssa-operands.c:1020)

PR tree-optimization/44485
* calls.c (flags_from_decl_or_type): For const or pure
noreturn functions return ECF_LOOPING_CONST_OR_PURE|ECF_NORETURN
together with ECF_CONST resp. ECF_PURE.
* builtins.c (expand_builtin): Use flags_from_decl_or_type
instead of querying flags directly.
* tree-ssa-loop-niter.c (finite_loop_p): Likewise.
* tree-ssa-dce.c (find_obviously_necessary_stmts): Likewise.

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

From-SVN: r163568

13 years agothr-init-2.c: Use dg-add-options tls.
Rainer Orth [Thu, 26 Aug 2010 15:52:41 +0000 (15:52 +0000)]
thr-init-2.c: Use dg-add-options tls.

* gcc.dg/tls/thr-init-2.c: Use dg-add-options tls.
* gcc.dg/torture/tls/thr-init-1.c: Likewise.
* gcc.dg/torture/tls/thr-init-2.c: Likewise.

From-SVN: r163567

13 years agofpu-387.h (has_sse): Remove cw_sse, unused.
Rainer Orth [Thu, 26 Aug 2010 15:29:31 +0000 (15:29 +0000)]
fpu-387.h (has_sse): Remove cw_sse, unused.

* config/fpu-387.h (has_sse): Remove cw_sse, unused.
Use fixed-length asm.

From-SVN: r163566

13 years agore PR tree-optimization/45255 (internal compiler error: verify_stmts failed with...
Richard Guenther [Thu, 26 Aug 2010 14:20:45 +0000 (14:20 +0000)]
re PR tree-optimization/45255 (internal compiler error: verify_stmts failed with -fwhopr)

2010-08-26  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/45255
* tree.c (decl_address_invariant_p): DECL_DLLIMPORT_P
statics and externals are also invariant.

From-SVN: r163565

13 years agoscop-0.c: Fix out-of-bound array accesses.
Richard Guenther [Thu, 26 Aug 2010 13:10:15 +0000 (13:10 +0000)]
scop-0.c: Fix out-of-bound array accesses.

2010-08-26  Richard Guenther  <rguenther@suse.de>

* gcc.dg/graphite/scop-0.c: Fix out-of-bound array accesses.
* gcc.dg/graphite/scop-21.c: Likewise.

From-SVN: r163564

13 years agovect-64.c: Fix out-of-bound array accesses.
Richard Guenther [Thu, 26 Aug 2010 11:13:58 +0000 (11:13 +0000)]
vect-64.c: Fix out-of-bound array accesses.

2010-08-26  Richard Guenther  <rguenther@suse.de>

* gcc.dg/vect/vect-64.c: Fix out-of-bound array accesses.
* gcc.dg/vect/fast-math-slp-27.c: Likewise.
* gcc.dg/vect/no-section-anchors-vect-64.c: Likewise.
* gcc.dg/vect/vect-91.c: Likewise.
* gcc.dg/vect/vect-peel-1.c: Likewise.
* gcc.dg/vect/vect-peel-2.c: Likewise.
* gcc.dg/vect/vect-peel-4.c: Likewise.

From-SVN: r163563

13 years agore PR fortran/41859 (ICE on invalid expression involving DT with pointer components...
Jerry DeLisle [Thu, 26 Aug 2010 02:12:49 +0000 (02:12 +0000)]
re PR fortran/41859 (ICE on invalid expression involving DT with pointer components in I/O)

2010-08-25  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libfortran/41859
* gfortran.dg/der_io_4.f90: New test.

From-SVN: r163561

13 years agoDaily bump.
GCC Administrator [Thu, 26 Aug 2010 00:16:50 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r163560

14 years agore PR rtl-optimization/44858 (likely integer wrong code bug)
Jakub Jelinek [Wed, 25 Aug 2010 17:50:59 +0000 (19:50 +0200)]
re PR rtl-optimization/44858 (likely integer wrong code bug)

PR rtl-optimization/44858
* combine.c (try_combine): If recog_for_combine added CLOBBERs to
newi2pat, make sure they don't affect newpat.

* gcc.c-torture/execute/pr44858.c: New test.

From-SVN: r163552

14 years agore PR rtl-optimization/45400 (XBMC AudioEngine Compilation C++ Internal Compiler...
Jakub Jelinek [Wed, 25 Aug 2010 17:49:26 +0000 (19:49 +0200)]
re PR rtl-optimization/45400 (XBMC AudioEngine Compilation C++ Internal Compiler Error /w Optimization)

PR rtl-optimization/45400
* combine.c (simplify_shift_const_1) <case SUBREG>: Only use
SUBREG_REG if both modes are of MODE_INT class.

* g++.dg/other/i386-8.C: New test.

From-SVN: r163551

14 years agoarm.c (arm_issue_rate): Return 2 for Cortex-A5.
Julian Brown [Wed, 25 Aug 2010 15:35:24 +0000 (15:35 +0000)]
arm.c (arm_issue_rate): Return 2 for Cortex-A5.

* config/arm/arm.c (arm_issue_rate): Return 2 for Cortex-A5.
* config/arm/arm.md (generic_sched): No for Cortex-A5.
(generic_vfp): Likewise.
(cortex-a5.md): Include.
* config/arm/cortex-a5.md: New.

From-SVN: r163550

14 years agoalias.c (get_alias_set): Assign a single alias-set to all pointers.
Richard Guenther [Wed, 25 Aug 2010 14:46:40 +0000 (14:46 +0000)]
alias.c (get_alias_set): Assign a single alias-set to all pointers.

2010-08-25  Richard Guenther  <rguenther@suse.de>

* alias.c (get_alias_set): Assign a single alias-set to
all pointers.
* gimple.c (gimple_get_alias_set): Remove special handling
for pointers.

c-family/
* c-common.c (c_common_get_alias_set): Remove special
handling for pointers.

* gcc.dg/alias-8.c: Adjust.

From-SVN: r163549

14 years agotrans-decl.c (gfc_build_intrinsic_function_decls): Set TREE_NOTHROW on fndecls that...
Jakub Jelinek [Wed, 25 Aug 2010 14:44:46 +0000 (16:44 +0200)]
trans-decl.c (gfc_build_intrinsic_function_decls): Set TREE_NOTHROW on fndecls that can't throw.

* trans-decl.c (gfc_build_intrinsic_function_decls): Set
TREE_NOTHROW on fndecls that can't throw.  Set
TREE_READONLY on gfor_fndecl_math_ishftc{4,8,16}.
(gfc_build_builtin_function_decls): Set TREE_NOTHROW on
gfor_fndecl_associated.

From-SVN: r163548

14 years agocombine.c (find_split_point): Undo canonicalization of multiply-add to (minus x ...
Bernd Schmidt [Wed, 25 Aug 2010 14:14:59 +0000 (14:14 +0000)]
combine.c (find_split_point): Undo canonicalization of multiply-add to (minus x (mult)) when...

* combine.c (find_split_point): Undo canonicalization of multiply-add
to (minus x (mult)) when it seems likely that this will increase the
chances of a split.

* gcc.target/i386/combine-mul.c: New test.

From-SVN: r163547

14 years agore PR middle-end/45355 (FAIL: gcc.c-torture/compile/pr43164.c)
Bernd Schmidt [Wed, 25 Aug 2010 14:08:23 +0000 (14:08 +0000)]
re PR middle-end/45355 (FAIL: gcc.c-torture/compile/pr43164.c)

PR middle-end/45355
* combine.c (try_combine): Use reg_overlap_mentioned_p rather than
dead_or_set_p when computing i0_feeds_i2_n.

From-SVN: r163546

14 years agore PR tree-optimization/44562 (ICE: in get_alias_set, at alias.c:716 with -flto ...
Richard Guenther [Wed, 25 Aug 2010 14:05:28 +0000 (14:05 +0000)]
re PR tree-optimization/44562 (ICE: in get_alias_set, at alias.c:716 with -flto -fstrict-aliasing -fgraphite-identity)

2010-08-25  Richard Guenther  <rguenther@suse.de>

PR lto/44562
* lto-streamer.c (lto_record_common_node): Do not mess with
TYPE_CANONICAL when not in lto.
* gimple.c (gimple_register_type): Likewise.

* gcc.dg/graphite/id-27.c: New testcase.
* gcc.dg/lto/20100825-1_0.c: Likewise.

From-SVN: r163545

14 years agore PR middle-end/45316 (ICE: verify_flow_info failed: BB 3 can not throw but has...
Richard Guenther [Wed, 25 Aug 2010 12:53:30 +0000 (12:53 +0000)]
re PR middle-end/45316 (ICE: verify_flow_info failed: BB 3 can not throw but has an EH edge with -O1 -ftree-pre -fnon-call-exceptions)

2010-08-25  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/45316
* tree-ssa-pre.c (eliminate): Properly clean EH info.

* g++.dg/opt/pr45316.C: New testcase.

From-SVN: r163543

14 years agore PR middle-end/45393 (ICE in redirect_eh_edge_1, at tree-eh.c:2135)
Richard Guenther [Wed, 25 Aug 2010 10:47:50 +0000 (10:47 +0000)]
re PR middle-end/45393 (ICE in redirect_eh_edge_1, at tree-eh.c:2135)

2010-08-25  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/45393
* tree-ssa-math-opts.c (execute_cse_sincos_1): Properly transfer
and clean EH info.  Avoid SSA update.
(execute_cse_sincos): Cleanup the CFG if it has changed.

* g++.dg/torture/pr45393.C: New testcase.

From-SVN: r163541

14 years agore PR middle-end/45379 (~10% slowdown on test_fpu at revision 163278)
Richard Guenther [Wed, 25 Aug 2010 10:03:19 +0000 (10:03 +0000)]
re PR middle-end/45379 (~10% slowdown on test_fpu at revision 163278)

2010-08-25  Richard Guenther  <rguenther@suse.de>

PR middle-end/45379
* emit-rtl.c (set_mem_attributes_minus_bitpos): Handle
TARGET_MEM_REF in alignment computation.

From-SVN: r163540

14 years agore PR tree-optimization/45059 (error: invalid operands in binary operation, leads...
Jakub Jelinek [Wed, 25 Aug 2010 09:36:35 +0000 (11:36 +0200)]
re PR tree-optimization/45059 (error: invalid operands in binary operation, leads to ICE: verify_stmts failed)

PR tree-optimization/45059
* tree-ssa-reassoc.c (eliminate_redundant_comparison): Strip useless
type conversions from newop{1,2}.  Assert t is a comparison and
newop{1,2} after the stripping are gimple vals.

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

From-SVN: r163539

14 years agovmull / vmovl support for Neon.
Tejas Belagod [Wed, 25 Aug 2010 07:23:26 +0000 (08:23 +0100)]
vmull / vmovl support for Neon.

For Tejas Belagod

2010-08-25  Tejas Belagod  <tejas.belagod@arm.com>

* lib/target-supports.exp (check_effective_target_vect_unpack):
Set vect_unpack supported flag to true for neon.

* config/arm/iterators.md (VU, SE, V_widen_l): New.
(V_unpack, US): New.
* config/arm/neon.md (vec_unpack<US>_hi_<mode>): Expansion for
vmovl.
(vec_unpack<US>_lo_<mode>): Likewise.
(neon_vec_unpack<US>_hi_<mode>): Instruction pattern for vmovl.
(neon_vec_unpack<US>_lo_<mode>): Likewise.
(vec_widen_<US>mult_lo_<mode>): Expansion for vmull.
(vec_widen_<US>mult_hi_<mode>): Likewise.
(neon_vec_<US>mult_lo_<mode>"): Instruction pattern for vmull.
(neon_vec_<US>mult_hi_<mode>"): Likewise.
(neon_unpack<US>_<mode>): Widening move intermediate step for
vectorizing without -mvectorize-with-neon-quad.
(neon_vec_<US>mult_<mode>): Widening multiply intermediate step
for vectorizing without -mvectorize-with-neon-quad.
* config/arm/predicates.md (vect_par_constant_high): Check for
high-half lanes of a vector.
(vect_par_constant_low): Check for low-half lanes of a vector.

From-SVN: r163538

14 years agoDaily bump.
GCC Administrator [Wed, 25 Aug 2010 00:17:23 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r163536

14 years agoSpeed-up ifcvt_memrefs_wont_trap caching previous results.
Sebastian Pop [Tue, 24 Aug 2010 23:36:04 +0000 (23:36 +0000)]
Speed-up ifcvt_memrefs_wont_trap caching previous results.

This patch speeds up the ifcvt_memrefs_wont_trap computation by
caching the results of the computations in the data references ->aux
fields.

* tree-if-conv.c (struct ifc_dr): New.
(IFC_DR): New.
(DR_WRITTEN_AT_LEAST_ONCE): New.
(DR_RW_UNCONDITIONALLY): New.
(memref_read_or_written_unconditionally): Use the cached values
when possible.
(write_memref_written_at_least_once): Same.
(if_convertible_loop_p): Initialize and free DR->aux fields.

From-SVN: r163532

14 years agoDo not check whether memory references accessed in every iteration trap.
Sebastian Pop [Tue, 24 Aug 2010 23:35:56 +0000 (23:35 +0000)]
Do not check whether memory references accessed in every iteration trap.

This patch relaxes the checks from gimple_could_trap_p in order to
allow the flag_loop_if_convert_stores to if-convert more loops
in which it is possible to prove that:

- the accesses to an array in a loop do not trap (more than the
  original non-if-converted loop).  This is true when the memory
  accesses are executed at every iteration of the if-converted loop.

- the writes to memory occur on arrays that are not const qualified.
  This is true when there exists at least one unconditional write to
  the array in the analyzed program.  In this patch this analysis is
  limited to the loop to be if-converted.

* gimple.c (gimple_could_trap_p_1): Not static anymore.
Pass an extra bool parameter include_mem.
(gimple_could_trap_p): Adjust call to gimple_could_trap_p_1.
(gimple_assign_rhs_could_trap_p): Same.
* gimple.h (gimple_could_trap_p_1): Declared.
* tree-data-ref.h (same_data_refs_base_objects): New.
(same_data_refs): New.
* tree-if-conv.c (memrefs_read_or_written_unconditionally): New.
(write_memrefs_written_at_least_once): New.
(ifcvt_memrefs_wont_trap): New.
(operations_could_trap): New.
(ifcvt_could_trap_p): New.
(if_convertible_gimple_assign_stmt_p): Call ifcvt_could_trap_p.
Gets a vector of data refs.
(if_convertible_stmt_p): Same.
(if_convertible_loop_p_1): New.
(if_convertible_loop_p): Call if_convertible_loop_p_1.

* gcc.dg/tree-ssa/ifc-5.c: New.

From-SVN: r163531

14 years agoAdd flag -ftree-loop-if-convert-stores.
Sebastian Pop [Tue, 24 Aug 2010 23:35:48 +0000 (23:35 +0000)]
Add flag -ftree-loop-if-convert-stores.

This patch adds a flag that controls the replacement of the memory
writes that are in predicated basic blocks with a full write:

for (...)
  if (cond)
    A[i] = foo

is replaced with:

for (...)
  A[i] = cond ? foo : A[i]

In order to do this, we have to call gimple_could_trap_p instead of
gimple_assign_rhs_could_trap_p, as we have to also check that the LHS
of assign stmts does not trap.

* common.opt (ftree-loop-if-convert-stores): New flag.
* doc/invoke.texi (ftree-loop-if-convert-stores): Documented.
* tree-if-conv.c (ifc_temp_var): Pass an extra parameter GSI.  Insert
the created statement before GSI.
(if_convertible_phi_p): Allow virtual phi nodes when
flag_loop_if_convert_stores is set.
(if_convertible_gimple_assign_stmt_p): Allow memory reads and writes
Do not handle types that do not match is_gimple_reg_type.
Remove loop and bb parameters.  Call gimple_could_trap_p instead of
when flag_loop_if_convert_stores is set, as LHS can contain
memory refs.
(if_convertible_stmt_p): Remove loop and bb parameters.  Update calls
to if_convertible_gimple_assign_stmt_p.
(if_convertible_loop_p): Update call to if_convertible_stmt_p.
(replace_phi_with_cond_gimple_assign_stmt): Renamed
predicate_scalar_phi.  Do not handle virtual phi nodes.
(ifconvert_phi_nodes): Renamed predicate_all_scalar_phis.
Call predicate_scalar_phi.
(insert_gimplified_predicates): Insert the gimplified predicate of a BB
just after the labels for flag_loop_if_convert_stores, otherwise
insert the predicate in the end of the BB.
(predicate_mem_writes): New.
(combine_blocks): Call predicate_all_scalar_phis.  When
flag_loop_if_convert_stores is set, call predicate_mem_writes.
(tree_if_conversion): Call mark_sym_for_renaming when
flag_loop_if_convert_stores is set.
(main_tree_if_conversion): Return TODO_update_ssa_only_virtuals when
flag_loop_if_convert_stores is set.

* gcc.dg/tree-ssa/ifc-4.c: New.
* gcc.dg/tree-ssa/ifc-7.c: New.

From-SVN: r163530

14 years agoMAINTAINERS (OS Port Maintainers): Remove myself from windows ports
Danny Smith [Tue, 24 Aug 2010 22:41:34 +0000 (22:41 +0000)]
MAINTAINERS (OS Port Maintainers): Remove myself from windows ports

* MAINTAINERS (OS Port Maintainers): Remove myself from windows
ports

From-SVN: r163529

14 years agore PR bootstrap/45376 (no such instruction: `pcmpestri $0,(%rdi),%xmm0')
Richard Henderson [Tue, 24 Aug 2010 21:08:05 +0000 (14:08 -0700)]
re PR bootstrap/45376 (no such instruction: `pcmpestri $0,(%rdi),%xmm0')

        PR bootstrap/45376
        * configure.ac (HAVE_SSE4): New check.
        * configure, config.in: Rebuild.
        * lex.c (search_line_sse42): Omit if !HAVE_SSE4.

From-SVN: r163528

14 years agopa.c (hppa_register_move_cost, [...]): New.
Anatoly Sokolov [Tue, 24 Aug 2010 18:52:08 +0000 (22:52 +0400)]
pa.c (hppa_register_move_cost, [...]): New.

* config/pa/pa.c (hppa_register_move_cost, pa_libcall_value,
pa_function_value_regno_p, pa_print_operand_punct_valid_p): New.
(pa_function_value): Make static.
(override_options): Rename to...
(pa_option_override): ...this. Make static.
(TARGET_PRINT_OPERAND_PUNCT_VALID_P, TARGET_REGISTER_MOVE_COST,
TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P,
TARGET_OPTION_OVERRIDE): Define.
* config/pa/pa.h (OVERRIDE_OPTIONS, FUNCTION_VALUE_REGNO_P,
LIBCALL_VALUE, REGISTER_MOVE_COST, PRINT_OPERAND_PUNCT_VALID_P):
Remove.
* config/pa/pa-protos.h (override_options): Remove.

From-SVN: r163525

14 years agolex.c: Disable init_vectorized_lexer etc.
Rainer Orth [Tue, 24 Aug 2010 17:23:35 +0000 (17:23 +0000)]
lex.c: Disable init_vectorized_lexer etc.

* lex.c [__sun__ && __svr4__]: Disable init_vectorized_lexer
etc. on Solaris 2/x86.

From-SVN: r163522

14 years agore PR middle-end/45379 (~10% slowdown on test_fpu at revision 163278)
Richard Guenther [Tue, 24 Aug 2010 13:25:25 +0000 (13:25 +0000)]
re PR middle-end/45379 (~10% slowdown on test_fpu at revision 163278)

2010-08-24  Richard Guenther  <rguenther@suse.de>

PR middle-end/45379
* tree-ssa-address.c (create_mem_ref_raw): Drop to MEM_REF
if addr->index is NULL or zero.
* tree-ssa-alias.c (indirect_refs_may_alias_p): Handle
TARGET_MEM_REF more properly.
(indirect_ref_may_alias_decl_p): Likewise.
* emit-rtl.c (set_mem_attributes_minus_bitpos): Keep TARGET_MEM_REFs.
* alias.c (ao_ref_from_mem): Handle TARGET_MEM_REF more
properly.

From-SVN: r163519

14 years agocheck loongson targets in vect.exp
Mingjie Xing [Tue, 24 Aug 2010 03:22:07 +0000 (03:22 +0000)]
check loongson targets in vect.exp

From-SVN: r163495

14 years agoDaily bump.
GCC Administrator [Tue, 24 Aug 2010 00:17:23 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r163494

14 years agom32c.c (m32c_function_value_regno_p): Make static.
Anatoly Sokolov [Mon, 23 Aug 2010 19:34:15 +0000 (23:34 +0400)]
m32c.c (m32c_function_value_regno_p): Make static.

* config/m32c/m32c.c (m32c_function_value_regno_p): Make static.
(m32c_override_options): Rename to...
(m32c_option_override): ...this. Make static.
(TARGET_FUNCTION_VALUE_REGNO_P, TARGET_OPTION_OVERRIDE): Define.
* config/m32c/m32c.h (OVERRIDE_OPTIONS, FUNCTION_VALUE_REGNO_P):
Remove.
* config/m32c/m32c-protos.h (m32c_override_options,
m32c_function_value_regno_p): Remove.

From-SVN: r163488