fxcoudert [Tue, 31 Aug 2010 14:26:47 +0000 (14:26 +0000)]
* doc/extend.texi: Fix documentation of the return value of
__builtin_choose_expr.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163675
138bc75d-0d04-0410-961f-
82ee72b054a4
froydnj [Tue, 31 Aug 2010 14:22:47 +0000 (14:22 +0000)]
* config/v850/v850-protos.h (function_arg): Delete.
* config/v850/v850.h (FUNCTION_ARG): Delete.
(FUNCTION_ARG_ADVANCE): Move code to...
* config/v850/v850.c (v850_function_arg_advance): ...here.
(v850_function_arg): Make static. Take a const_tree and a bool.
(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163674
138bc75d-0d04-0410-961f-
82ee72b054a4
froydnj [Tue, 31 Aug 2010 13:12:14 +0000 (13:12 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163672
138bc75d-0d04-0410-961f-
82ee72b054a4
froydnj [Tue, 31 Aug 2010 13:10:39 +0000 (13:10 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163671
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Tue, 31 Aug 2010 10:01:04 +0000 (10:01 +0000)]
2010-08-31 Richard Guenther <rguenther@suse.de>
PR testsuite/45455
* gcc.dg/vect/vect-cond-4.c: Fix use of uninitialized variable.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163669
138bc75d-0d04-0410-961f-
82ee72b054a4
meibf [Tue, 31 Aug 2010 09:02:39 +0000 (09:02 +0000)]
2010-08-31 Bingfeng Mei <bmei@broadcom.com>
* gcc.dg/vect/pr43430-1.c: Requires vect_condition target.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163668
138bc75d-0d04-0410-961f-
82ee72b054a4
nickc [Tue, 31 Aug 2010 08:42:21 +0000 (08:42 +0000)]
* config/arm/arm.c (arm_override_options): Remove superfluous test.
Fix indentation.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163667
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Tue, 31 Aug 2010 07:02:17 +0000 (07:02 +0000)]
* dwarf2out.c (gen_decl_die) <CONST_DECL>: Do not skip in Ada.
(dwarf2out_decl) <CONST_DECL>: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163666
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Tue, 31 Aug 2010 00:17:17 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163665
138bc75d-0d04-0410-961f-
82ee72b054a4
janus [Mon, 30 Aug 2010 21:56:28 +0000 (21:56 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163661
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Mon, 30 Aug 2010 20:04:49 +0000 (20:04 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163660
138bc75d-0d04-0410-961f-
82ee72b054a4
rakdver [Mon, 30 Aug 2010 19:50:05 +0000 (19:50 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163659
138bc75d-0d04-0410-961f-
82ee72b054a4
clm [Mon, 30 Aug 2010 18:57:30 +0000 (18:57 +0000)]
2010-08-31 Catherine Moore <clm@codesourcery.com>
* config/mips/mips.h (BASE_DRIVER_SELF_SPECS):
Infer -mdspr2 for the the 74K.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163656
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Mon, 30 Aug 2010 18:13:32 +0000 (18:13 +0000)]
/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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163655
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Mon, 30 Aug 2010 17:17:15 +0000 (17:17 +0000)]
PR debug/45419
* tree-ssa-live.c (dump_enumerated_decls): Clear the whole wi variable.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163654
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Mon, 30 Aug 2010 17:16:29 +0000 (17:16 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163653
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Mon, 30 Aug 2010 16:30:41 +0000 (16:30 +0000)]
* gcc-interface/utils.c (gnat_pushdecl): Remove test for PARM_DECLs.
Attach fake PARM_DECLs to the topmost block of the function.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163651
138bc75d-0d04-0410-961f-
82ee72b054a4
ro [Mon, 30 Aug 2010 16:03:55 +0000 (16:03 +0000)]
* g++.dg/debug/dwarf2/nested-2.C: Allow for single / as comment
delimiter.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163650
138bc75d-0d04-0410-961f-
82ee72b054a4
froydnj [Mon, 30 Aug 2010 16:03:44 +0000 (16:03 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163649
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Mon, 30 Aug 2010 15:59:45 +0000 (15:59 +0000)]
* gcc-interface/trans.c (call_to_gnu): Also force the return slot opt
for the call to a function whose return type was unconstrained.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163648
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Mon, 30 Aug 2010 13:46:31 +0000 (13:46 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163646
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Mon, 30 Aug 2010 13:40:36 +0000 (13:40 +0000)]
* Move compare peephole2 to a better place.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163645
138bc75d-0d04-0410-961f-
82ee72b054a4
hainque [Mon, 30 Aug 2010 13:26:10 +0000 (13:26 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163641
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [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 ||.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163640
138bc75d-0d04-0410-961f-
82ee72b054a4
fxcoudert [Mon, 30 Aug 2010 11:44:23 +0000 (11:44 +0000)]
* Make-lang.in: Add frontend-passes.o dependencies.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163639
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Mon, 30 Aug 2010 11:13:05 +0000 (11:13 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163638
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Mon, 30 Aug 2010 10:30:57 +0000 (10:30 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163637
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Mon, 30 Aug 2010 07:28:27 +0000 (07:28 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163636
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Mon, 30 Aug 2010 00:16:57 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163635
138bc75d-0d04-0410-961f-
82ee72b054a4
janus [Sun, 29 Aug 2010 21:29:38 +0000 (21:29 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163631
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Sun, 29 Aug 2010 19:57:07 +0000 (19:57 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163630
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Sun, 29 Aug 2010 19:24:37 +0000 (19:24 +0000)]
PR c++/44991
* parser.c (cp_parser_parameter_declaration): Pop parameter decls
after tentative parsing.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163629
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Sun, 29 Aug 2010 17:39:00 +0000 (17:39 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163628
138bc75d-0d04-0410-961f-
82ee72b054a4
janus [Sun, 29 Aug 2010 09:56:45 +0000 (09:56 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163626
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sun, 29 Aug 2010 00:17:32 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163624
138bc75d-0d04-0410-961f-
82ee72b054a4
fxcoudert [Sat, 28 Aug 2010 22:10:52 +0000 (22:10 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163620
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Sat, 28 Aug 2010 20:07:43 +0000 (20:07 +0000)]
* config/ia64/ia64.md (cstorebi4): Fix thinko.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163618
138bc75d-0d04-0410-961f-
82ee72b054a4
hariharans [Sat, 28 Aug 2010 16:40:27 +0000 (16:40 +0000)]
* config/picochip/picochip.c (reorder_var_tracking_notes): This
function was dropping debug insns which caused PR45299.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163617
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Sat, 28 Aug 2010 14:30:34 +0000 (14:30 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163616
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Sat, 28 Aug 2010 14:27:34 +0000 (14:27 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163615
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Sat, 28 Aug 2010 07:35:47 +0000 (07:35 +0000)]
2010-08-28 Tobias Burnus <burnus@net-b.de>
* mk-kinds-h.sh: Disable REAL(16) if REAL(10) is available.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163612
138bc75d-0d04-0410-961f-
82ee72b054a4
fxcoudert [Sat, 28 Aug 2010 07:35:10 +0000 (07:35 +0000)]
PR fortran/45436
* trans-types.c (gfc_init_kinds): Disable TFmode.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163611
138bc75d-0d04-0410-961f-
82ee72b054a4
davidxl [Sat, 28 Aug 2010 05:54:54 +0000 (05:54 +0000)]
Fix PR45422
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163610
138bc75d-0d04-0410-961f-
82ee72b054a4
froydnj [Sat, 28 Aug 2010 01:23:19 +0000 (01:23 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163607
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sat, 28 Aug 2010 00:19:12 +0000 (00:19 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163606
138bc75d-0d04-0410-961f-
82ee72b054a4
kkojima [Fri, 27 Aug 2010 23:29:41 +0000 (23:29 +0000)]
* 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*-*-*.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163602
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Fri, 27 Aug 2010 22:11:50 +0000 (22:11 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163601
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Fri, 27 Aug 2010 22:08:37 +0000 (22:08 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163600
138bc75d-0d04-0410-961f-
82ee72b054a4
janus [Fri, 27 Aug 2010 21:50:47 +0000 (21:50 +0000)]
2010-08-27 Janus Weil <janus@gcc.gnu.org>
PR fortran/45432
* match.c (gfc_match_allocate): Avoid double free on error.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163599
138bc75d-0d04-0410-961f-
82ee72b054a4
meissner [Fri, 27 Aug 2010 21:32:44 +0000 (21:32 +0000)]
Improve floating point conversions on powerpc
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163598
138bc75d-0d04-0410-961f-
82ee72b054a4
fxcoudert [Fri, 27 Aug 2010 21:24:13 +0000 (21:24 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163597
138bc75d-0d04-0410-961f-
82ee72b054a4
bstarynk [Fri, 27 Aug 2010 20:32:27 +0000 (20:32 +0000)]
2010-08-27 Basile Starynkevitch <basile@starynkevitch.net>
Jeremie Salvucci <jeremie.salvucci@free.fr>
* gengtype.c (output_type_enum): Test the right union member.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163596
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Fri, 27 Aug 2010 19:17:45 +0000 (19:17 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163595
138bc75d-0d04-0410-961f-
82ee72b054a4
janus [Fri, 27 Aug 2010 19:02:15 +0000 (19:02 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163594
138bc75d-0d04-0410-961f-
82ee72b054a4
bkoz [Fri, 27 Aug 2010 18:16:05 +0000 (18:16 +0000)]
2010-08-26 Benjamin Kosnik <bkoz@redhat.com>
* include/bits/stl_iterator_base_types.h: Fix doxygen warning.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163592
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Fri, 27 Aug 2010 16:53:51 +0000 (16:53 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163591
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Fri, 27 Aug 2010 16:23:07 +0000 (16:23 +0000)]
Fix long lines
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163590
138bc75d-0d04-0410-961f-
82ee72b054a4
jvdelisle [Fri, 27 Aug 2010 15:00:11 +0000 (15:00 +0000)]
2010-08-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/43217
* gfortran.dg/hollerith8.f90: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163588
138bc75d-0d04-0410-961f-
82ee72b054a4
froydnj [Fri, 27 Aug 2010 14:48:16 +0000 (14:48 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163587
138bc75d-0d04-0410-961f-
82ee72b054a4
froydnj [Fri, 27 Aug 2010 14:46:22 +0000 (14:46 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163586
138bc75d-0d04-0410-961f-
82ee72b054a4
ramana [Fri, 27 Aug 2010 14:22:41 +0000 (14:22 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163585
138bc75d-0d04-0410-961f-
82ee72b054a4
tkoenig [Fri, 27 Aug 2010 12:08:47 +0000 (12:08 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163584
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 27 Aug 2010 11:39:45 +0000 (11:39 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163583
138bc75d-0d04-0410-961f-
82ee72b054a4
hainque [Fri, 27 Aug 2010 10:48:32 +0000 (10:48 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163582
138bc75d-0d04-0410-961f-
82ee72b054a4
jvdelisle [Fri, 27 Aug 2010 06:50:03 +0000 (06:50 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163581
138bc75d-0d04-0410-961f-
82ee72b054a4
rwild [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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163580
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Fri, 27 Aug 2010 00:17:31 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163579
138bc75d-0d04-0410-961f-
82ee72b054a4
domob [Thu, 26 Aug 2010 19:48:43 +0000 (19:48 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163572
138bc75d-0d04-0410-961f-
82ee72b054a4
ro [Thu, 26 Aug 2010 17:58:31 +0000 (17:58 +0000)]
* system.h [HAVE_INTTYPES_H]: Include inttypes.h.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163569
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Thu, 26 Aug 2010 16:39:26 +0000 (16:39 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163568
138bc75d-0d04-0410-961f-
82ee72b054a4
ro [Thu, 26 Aug 2010 15:52:41 +0000 (15:52 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163567
138bc75d-0d04-0410-961f-
82ee72b054a4
ro [Thu, 26 Aug 2010 15:29:31 +0000 (15:29 +0000)]
* config/fpu-387.h (has_sse): Remove cw_sse, unused.
Use fixed-length asm.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163566
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Thu, 26 Aug 2010 14:20:45 +0000 (14:20 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163565
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Thu, 26 Aug 2010 13:10:15 +0000 (13:10 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163564
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Thu, 26 Aug 2010 11:13:58 +0000 (11:13 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163563
138bc75d-0d04-0410-961f-
82ee72b054a4
jvdelisle [Thu, 26 Aug 2010 02:12:49 +0000 (02:12 +0000)]
2010-08-25 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/41859
* gfortran.dg/der_io_4.f90: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163561
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Thu, 26 Aug 2010 00:16:50 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163560
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Wed, 25 Aug 2010 17:50:59 +0000 (17:50 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163552
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Wed, 25 Aug 2010 17:49:26 +0000 (17:49 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163551
138bc75d-0d04-0410-961f-
82ee72b054a4
mmitchel [Wed, 25 Aug 2010 15:35:24 +0000 (15:35 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163550
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 25 Aug 2010 14:46:40 +0000 (14:46 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163549
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Wed, 25 Aug 2010 14:44:46 +0000 (14:44 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163548
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [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 it seems likely that this will increase the
chances of a split.
* gcc.target/i386/combine-mul.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163547
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Wed, 25 Aug 2010 14:08:23 +0000 (14:08 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163546
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 25 Aug 2010 14:05:28 +0000 (14:05 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163545
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 25 Aug 2010 12:53:30 +0000 (12:53 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163543
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 25 Aug 2010 10:47:50 +0000 (10:47 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163541
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 25 Aug 2010 10:03:19 +0000 (10:03 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163540
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Wed, 25 Aug 2010 09:36:35 +0000 (09:36 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163539
138bc75d-0d04-0410-961f-
82ee72b054a4
ramana [Wed, 25 Aug 2010 07:23:26 +0000 (07:23 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163538
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Wed, 25 Aug 2010 00:17:23 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163536
138bc75d-0d04-0410-961f-
82ee72b054a4
spop [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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163532
138bc75d-0d04-0410-961f-
82ee72b054a4
spop [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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163531
138bc75d-0d04-0410-961f-
82ee72b054a4
spop [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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163530
138bc75d-0d04-0410-961f-
82ee72b054a4
dannysmith [Tue, 24 Aug 2010 22:41:34 +0000 (22:41 +0000)]
* MAINTAINERS (OS Port Maintainers): Remove myself from windows
ports
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163529
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Tue, 24 Aug 2010 21:08:05 +0000 (21:08 +0000)]
PR bootstrap/45376
* configure.ac (HAVE_SSE4): New check.
* configure, config.in: Rebuild.
* lex.c (search_line_sse42): Omit if !HAVE_SSE4.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163528
138bc75d-0d04-0410-961f-
82ee72b054a4
aesok [Tue, 24 Aug 2010 18:52:08 +0000 (18:52 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163525
138bc75d-0d04-0410-961f-
82ee72b054a4
ro [Tue, 24 Aug 2010 17:23:35 +0000 (17:23 +0000)]
* lex.c [__sun__ && __svr4__]: Disable init_vectorized_lexer
etc. on Solaris 2/x86.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163522
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Tue, 24 Aug 2010 13:25:25 +0000 (13:25 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163519
138bc75d-0d04-0410-961f-
82ee72b054a4
xmj [Tue, 24 Aug 2010 03:22:07 +0000 (03:22 +0000)]
check loongson targets in vect.exp
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163495
138bc75d-0d04-0410-961f-
82ee72b054a4