Geoffrey Keating [Fri, 24 Jun 2005 23:43:15 +0000 (23:43 +0000)]
inclhack.def (AAB_darwin7_9_long_double_funcs): New.
* inclhack.def (AAB_darwin7_9_long_double_funcs): New.
(AAB_darwin7_9_long_double_funcs_2): New.
* fixincl.x: Regenerate.
From-SVN: r101305
Jerry DeLisle [Fri, 24 Jun 2005 23:12:32 +0000 (23:12 +0000)]
re PR fortran/21915 ([4.0 only] Would like atanh etc. as intrinsics)
2005-06-24 Jerry DeLisle <jvdelisle@verizon.net>
PR fortran/21915
* gfortran.h: Add symbols for new intrinsics
* intrinsic.c: Add acosh, asinh, and atanh
* intrinsic.h: Add prototypes
* iresolve.c (gfc_resolve_acosh): New function
(gfc_resolve_asinh): New
(gfc_resolve_atanh): New
* mathbuiltins.def: Add defines
* simplify.c (gfc_simplify_acosh): New function
(gfc_simplify_asinh): New
(gfc_simplify_atanh): New
From-SVN: r101304
Jerry DeLisle [Fri, 24 Jun 2005 23:09:47 +0000 (23:09 +0000)]
re PR fortran/21915 ([4.0 only] Would like atanh etc. as intrinsics)
2005-06-24 Jerry DeLisle <jvdelisle@verizon.net>
PR libfortran/21915
* intrinsics/hyper.c: New file, adds wrapper functions
From-SVN: r101303
Jerry DeLisle [Fri, 24 Jun 2005 23:07:13 +0000 (23:07 +0000)]
re PR fortran/21915 ([4.0 only] Would like atanh etc. as intrinsics)
2005-06-24 Jerry DeLisle <jvdelisle@verizon.net>
PR libfortran/21915
* Makefile.am: include intrinsics/hyper.c
* c99_protos.h: add prototypes for single precision versions of
acosh, asinh, and atanh for platforms that do not have these
* config.h.in: add #undef for wrappers
* configure.ac: add checks for single precision versions
* aclocal.m4: generated
* Makefile.in: generated
* configure: generated
From-SVN: r101302
Tom Tromey [Fri, 24 Jun 2005 22:48:33 +0000 (22:48 +0000)]
natClassLoader.cc (_Jv_UnregisterClass): Handle case where class' name is NULL.
* java/lang/natClassLoader.cc (_Jv_UnregisterClass): Handle case
where class' name is NULL.
(_Jv_FindClass): Don't wait for class state.
* java/lang/natVMClassLoader.cc (defineClass): Only unregister if
name found.
* include/java-interp.h (_Jv_DefineClass): Updated.
* defineclass.cc (_Jv_DefineClass): Added 'name_result' argument.
(struct _Jv_ClassReader): Likewise.
(found_name): New field.
(handleClassBegin): Set *found_name.
(_Jv_VerifyMethodSignature): Handle case where ptr==NULL.
(handleClassBegin): Throw error if super class not set.
(read_methods): Correctly call check_tag and prepare_pool_entry.
From-SVN: r101301
Tom Tromey [Fri, 24 Jun 2005 22:14:03 +0000 (22:14 +0000)]
* boehm.cc (_Jv_MarkObj): Handle case where field's type is NULL.
From-SVN: r101300
Tom Tromey [Fri, 24 Jun 2005 22:09:15 +0000 (22:09 +0000)]
verify-impl.c (verify_instructions_0): Correctly handle situation where PC falls off end.
gcc/java/:
* verify-impl.c (verify_instructions_0): Correctly handle
situation where PC falls off end.
libjava/:
* verify.cc (verify_instructions_0): Correctly handle situation
where PC falls off end.
From-SVN: r101299
Tom Tromey [Fri, 24 Jun 2005 22:04:11 +0000 (22:04 +0000)]
interpret.cc (compile): Handle case where table entry is outside of PC range.
* interpret.cc (compile): Handle case where table entry is
outside of PC range.
From-SVN: r101298
Kazu Hirata [Fri, 24 Jun 2005 21:55:32 +0000 (21:55 +0000)]
cfglayout.c (block_locators_locs, [...]): Change the type to VEC(int,heap)*.
* cfglayout.c (block_locators_locs, line_locators_locs,
line_locators_lines, file_locators_locs): Change the type to
VEC(int,heap)*.
(insn_locators_initialize, change_scope, insn_scope,
locator_line, insn_line, locator_file): Use VEC instead of
VARRAY.
From-SVN: r101297
Jason Merrill [Fri, 24 Jun 2005 19:30:20 +0000 (15:30 -0400)]
tree-nrv.c (tree_nrv): Fix to check assignments to the RESULT_DECL rather than just RETURN_EXPRs.
* tree-nrv.c (tree_nrv): Fix to check assignments to the
RESULT_DECL rather than just RETURN_EXPRs.
(finalize_nrv_r): Adjust.
From-SVN: r101296
Jan Hubicka [Fri, 24 Jun 2005 15:14:04 +0000 (17:14 +0200)]
tree-optimize.c (init_tree_optimization_passes): Fix flags of all_passes and all_ipa_passes.
* tree-optimize.c (init_tree_optimization_passes): Fix flags of
all_passes and all_ipa_passes.
* c-common.c: Include cgraph.h
(handle_externally_visible_attribute): New function.
(c_common_att): Add "externally_visible" attribute.
* cgraph.c (decide_is_variable_needed): Obey externally
visible flag.
(cgraph_varpool_finalize_decl): Avoid redundant checking.
* cgraph.h (struct cgraph_node): New flag externally_visible.
(decide_is_function_needed): Obey externally visible flag.
(cgraph_finalize_function): Avoid redundant checks.
(cgraph_function_and_variable_visibility): Bring symbols local
when asked for.
* common.opt (fwhole-program): New flag.
* doc/invoke.texi (-fwhole-program): Document.
From-SVN: r101295
Jason Merrill [Fri, 24 Jun 2005 14:21:13 +0000 (10:21 -0400)]
tweak comment
From-SVN: r101294
Mark Mitchell [Fri, 24 Jun 2005 13:52:35 +0000 (13:52 +0000)]
re PR tree-optimization/22171 (gcc-4.0-
20050623 internal compiler error in linux/drivers/serial/8250.c)
PR 22171
* tree-ssa-operands (get_expr_operands): Check s_ann for NULL
before use.
From-SVN: r101293
Mark Mitchell [Fri, 24 Jun 2005 13:27:25 +0000 (13:27 +0000)]
re PR tree-optimization/22171 (gcc-4.0-
20050623 internal compiler error in linux/drivers/serial/8250.c)
PR 22171
* tree-ssa-operands.c (get_expr_operands): Check s_ann for NULL
before use.
PR 22171
* gcc.dg/tree-ssa/pr22171.c: New test.
From-SVN: r101292
Mark Mitchell [Fri, 24 Jun 2005 03:38:05 +0000 (03:38 +0000)]
re PR tree-optimization/22000 (Read from volatile member of struct is optimized away)
PR 22000
* tree-ssa-operands.c (get_expr_operands): Check the volatility of
the FIELD_DECL and set s_ann->has_volatile_ops accordingly.
From-SVN: r101289
Feng Wang [Fri, 24 Jun 2005 03:23:04 +0000 (03:23 +0000)]
simplify.c (gfc_simplify_modulo): Don't clear before get result.
2005-06-24 Feng Wang <fengwang@nudt.edu.cn>
* simplify.c (gfc_simplify_modulo): Don't clear before get result.
2005-06-24 Feng Wang <fengwang@nudt.edu.cn>
* gfortran.dg/simplify_modulo.f90: New.
From-SVN: r101288
Jan Hubicka [Fri, 24 Jun 2005 03:09:54 +0000 (05:09 +0200)]
* opts.c (decode_options): Enable unit-at-a-time by default at -O1.
From-SVN: r101287
Ziemowit Laski [Fri, 24 Jun 2005 01:03:21 +0000 (01:03 +0000)]
proto-lossage-[1-4].mm: New.
[gcc/testsuite/ChangeLog]
2005-06-23 Ziemowit Laski <zlaski@apple.com>
* obj-c++.dg/proto-lossage-[1-4].mm: New.
From-SVN: r101284
Ziemowit Laski [Fri, 24 Jun 2005 00:22:52 +0000 (00:22 +0000)]
typedef-alias-1.mm: New.
[gcc/testsuite/ChangeLog]
2005-06-23 Ziemowit Laski <zlaski@apple.com>
* obj-c++.dg/typedef-alias-1.mm: New.
* objc.dg/typedef-alias-1.m: New.
From-SVN: r101281
GCC Administrator [Fri, 24 Jun 2005 00:16:16 +0000 (00:16 +0000)]
Daily bump.
[[Split portion of a mixed commit.]]
From-SVN: r101279.2
Jeff Law [Thu, 23 Jun 2005 22:00:44 +0000 (16:00 -0600)]
tree-optimize.c (init_tree_optimization_passes): Move copy prop pass to run just before VRP.
* tree-optimize.c (init_tree_optimization_passes): Move
copy prop pass to run just before VRP.
* tree-vrp.c (remove_range_assertions): Remove copies created
by ASSERT_EXPR removal.
* gcc.dg/tree-ssa/vrp16.c: New test.
From-SVN: r101277
Francois-Xavier Coudert [Thu, 23 Jun 2005 18:50:25 +0000 (20:50 +0200)]
c99_functions.c (log10l): New log10l function for systems where this is not available.
* intrinsics/c99_functions.c (log10l): New log10l function for
systems where this is not available.
* c99_protos.h: Prototype for log10l function.
* libgfortran.h: Use generated kinds.h to define GFC_INTEGER_*,
GFC_UINTEGER_*, GFC_LOGICAL_*, GFC_REAL_*, GFC_COMPLEX_*. Update
prototypes for gfc_itoa and xtoa.
* io/io.h: Update prototypes for set_integer and max_value.
* io/list_read.c (convert_integer): Use new
GFC_(INTEGER|REAL)_LARGEST type.
* io/read.c (set_integer): Likewise.
(max_value): Likewise.
(convert_real): Likewise.
(real_l): Likewise.
(next_char): Likewise.
(read_decimal): Likewise.
(read_radix): Likewise.
(read_f): Likewise.
* io/write.c (extract_int): Use new GFC_INTEGER_LARGEST type.
(extract_real): Use new GFC_REAL_LARGEST type.
(calculate_exp): Likewise.
(calculate_G_format): Likewise.
(output_float): Likewise. Use log10l for long double values.
Add comment for sprintf format. Use GFC_REAL_LARGEST_FORMAT.
(write_l): Use new GFC_INTEGER_LARGEST type.
(write_float): Use new GFC_REAL_LARGEST type.
(write_int): Remove useless special case for (len < 8).
(write_decimal): Use GFC_INTEGER_LARGEST.
(otoa): Use GFC_UINTEGER_LARGEST as argument.
(btoa): Use GFC_UINTEGER_LARGEST as argument.
* runtime/error.c (gfc_itoa): Use GFC_INTEGER_LARGEST as
argument.
(xtoa): Use GFC_UINTEGER_LARGEST as argument.
* Makefile.am: Use mk-kinds-h.sh to generate header kinds.h
with all Fortran kinds available.
* configure.ac: Check for strtold and log10l.
* Makefile.in: Regenerate.
* aclocal.m4: Regenerate.
* configure: Regenerate.
* config.h.in: Regenerate.
* mk-kinds-h.sh: Configuration script for available integer
and real kinds.
* lib/target-supports.exp: Add
check_effective_target_fortran_large_real and
check_effective_target_fortran_large_int to check for
corresponding effective targets.
* gfortran.dg/large_integer_kind_1.f90: New test.
* gfortran.dg/large_real_kind_1.f90: New test.
From-SVN: r101274
Jakub Jelinek [Thu, 23 Jun 2005 16:49:00 +0000 (18:49 +0200)]
re PR libstdc++/22109 (/home/dave/opt/gnu/bin/ld: BFD 2.16.91
20050612 internal error)
PR libstdc++/22109
* src/compatibility.cc (_GLIBCXX_SYMVER_COMPATIBILITY): Remove.
(istreambuf_iterator, basic_fstream, basic_ifstream, basic_ofstream,
_M_copy, _M_move, _M_assign, _M_disjunct, _M_check_length,
_M_set_length_and_sharable, ignore, eq): Define to XX suffixed
variants.
(ignore (streamsize)): Remove _W prefixed aliases.
(_GLIBCXX_3_4_SYMVER_SPECIAL, _GLIBCXX_3_4_5_SYMVER_SPECIAL,
_GLIBCXX_APPLY_SYMVER_SPECIAL): Remove.
(_GLIBCXX_3_4_SYMVER, _GLIBCXX_3_4_5_SYMVER): Add XXname argument.
Use #XXname instead of #name as the alias argument.
* config/abi/compatibility.h: Replace uses of
_GLIBCXX_APPLY_SYMVER_SPECIAL with _GLIBCXX_APPLY_SYMVER. Always
pass 2 arguments to the _GLIBCXX_APPLY_SYMVER macro.
* include/bits/char_traits.h (char_traits::eq): Revert 2005-06-15
change.
* acinclude.m4: Decrease glibcxx_min_gnu_ld_version back to 21400.
* configure: Rebuilt.
From-SVN: r101273
Kazu Hirata [Thu, 23 Jun 2005 16:04:09 +0000 (16:04 +0000)]
re PR tree-optimization/22117 (VRP thinks <ptr type> + <ptr type> is always nonnull.)
gcc/
PR tree-optimization/22117
* tree-vrp.c (extract_range_from_binary_expr): Compute a
correct range when adding two pointers.
testsuite/
PR tree-optimization/22117
* gcc.dg/tree-ssa/pr22117.c: New.
From-SVN: r101272
James A. Morrison [Thu, 23 Jun 2005 15:08:38 +0000 (15:08 +0000)]
re PR testsuite/22123 (gcc.dg/fold-mod-1.c scan-tree-dump a %
4294967288 fails)
2005-06-23 James A. Morrison <phython@gcc.gnu.org>
PR testsuite/22123
* gcc.dg/fold-mod-1.c: Accept
fffffff8 as well.
From-SVN: r101271
Bryce McKinlay [Thu, 23 Jun 2005 15:00:50 +0000 (15:00 +0000)]
re PR java/20697 (Invalid Can't find method error on call to super)
PR java/20697
* parse.y (find_most_specific_methods_list): Remove special case for
inner classes.
From-SVN: r101270
Jason Merrill [Thu, 23 Jun 2005 14:44:21 +0000 (10:44 -0400)]
re PR c++/19317 (removing a temporary return value when we cannot)
PR c++/19317
Leave the return slot target in the MODIFY_EXPR rather than making
it an argument, but only use it if the CALL_EXPR has a flag set.
* tree.h (CALL_EXPR_HAS_RETURN_SLOT_ADDR): Rename to
CALL_EXPR_RETURN_SLOT_OPT.
* calls.c (expand_call): Adjust.
* tree-inline.c (expand_call_inline): Adjust.
* tree-pretty-print.c (dump_generic_node): Adjust.
And set the flag as appropriate.
* gimplify.c (gimplify_modify_expr_rhs): Set
CALL_EXPR_HAS_RETURN_SLOT_ADDR where the LHS is obviously safe.
* tree-nrv.c (execute_return_slot_opt): Set
CALL_EXPR_HAS_RETURN_SLOT_ADDR based on escape analysis.
* tree-pass.h: Declare pass_return_slot.
* tree-optimize.c (init_tree_optimization_passes): Add it.
* cp/semantics.c (simplify_aggr_init_expr): Use
CALL_EXPR_RETURN_SLOT_OPT, not CALL_EXPR_HAS_RETURN_SLOT_ADDR.
From-SVN: r101269
David Edelsohn [Thu, 23 Jun 2005 13:24:14 +0000 (13:24 +0000)]
re PR target/21760 (Powerpc atomic builtins missing PPC405 errata)
PR target/21760
* config/rs6000/rs6000.h (PPC405_ERRATUM77): New.
* config/rs6000/rs6000.md: Move atomic instructions to ...
* config/rs6000/sync.md: Here.
Change sync_compare_and_swap<mode> to define_expand. All stwcx
patterns test PPC405_ERRATUM77.
From-SVN: r101268
David Edelsohn [Thu, 23 Jun 2005 13:20:18 +0000 (13:20 +0000)]
* gcc.dg/rs6000-fpint-2.c: Only compile on Darwin and Linux.
From-SVN: r101267
Jan Hubicka [Thu, 23 Jun 2005 13:20:02 +0000 (13:20 +0000)]
* tree-inline.c (copy_body_r): Remap labels correctly.
From-SVN: r101266
Jan Hubicka [Thu, 23 Jun 2005 13:10:37 +0000 (13:10 +0000)]
* tree-inline.c (copy_body_r): Remap labels correctly.
From-SVN: r101265
Paolo Bonzini [Thu, 23 Jun 2005 07:31:23 +0000 (07:31 +0000)]
Makefile.def (stagefeedback): Come after profile.
2005-06-22 Paolo Bonzini <bonzini@gnu.org>
* Makefile.def (stagefeedback): Come after profile.
Define profiledbootstrap target.
* Makefile.tpl (profiledbootstrap): Remove.
(stageprofile-end): Zap stagefeedback.
(stagefeedback-start): Copy all .gcda files, not only GCC's.
* Makefile.in: Regenerate.
From-SVN: r101263
David Billinghurst [Thu, 23 Jun 2005 03:57:24 +0000 (03:57 +0000)]
f2c_4.f90: Add tests for complex functions
2005-06-23 David Billinghurst <David.Billinghurst@riotinto.com>
* gfortran.dg/f2c_4.f90: Add tests for complex functions
* gfortran.dg/f2c_4.c: Likewise
From-SVN: r101262
David Billinghurst [Thu, 23 Jun 2005 03:01:57 +0000 (03:01 +0000)]
f2c_4.f90: Add tests for complex functions
2005-06-23 David Billinghurst <David.Billinghurst@riotinto.com>
* gfortran.dg/f2c_4.f90: Add tests for complex functions
* gfortran.dg/f2c_4.c: Likewise
From-SVN: r101261
Alan Modra [Thu, 23 Jun 2005 02:35:01 +0000 (02:35 +0000)]
* config/rs6000/sysv4.h (TARGET_ASM_EXCEPTION_SECTION): Delete.
From-SVN: r101260
GCC Administrator [Thu, 23 Jun 2005 00:16:21 +0000 (00:16 +0000)]
Daily bump.
[[Split portion of a mixed commit.]]
From-SVN: r101257.2
Volker Reichelt [Wed, 22 Jun 2005 22:47:26 +0000 (22:47 +0000)]
* pt.c (register_specialization): Remove superfluous assertion.
From-SVN: r101253
Paul Brook [Wed, 22 Jun 2005 15:34:02 +0000 (15:34 +0000)]
re PR fortran/21034 ([4.0 only] internal compiler error: in gfc_trans_auto_array_allocation, at fortran/trans-array.c:3036)
2005-06-22 Paul Brook <paul@codesourcery.com>
PR fortran/21034
* symbol.c (gfc_is_var_automatic): New function.
(save_symbol): Use it.
testsuite/
* gfortran.dg/auto_save_1.f90: New test.
From-SVN: r101250
Michael Matz [Wed, 22 Jun 2005 14:51:07 +0000 (14:51 +0000)]
abi: New directory.
* gcc.target/x86-64/abi: New directory.
* gcc.target/x86-64/abi/abi-x86_64.exp: New testsuite.
* gcc.target/x86-64/abi/README.gcc: New file.
* gcc.target/x86-64/abi/{args.h,defines.h,macros.h}: New headers.
* gcc.target/x86-64/abi/asm-support.s: New file.
* gcc.target/x86_64/abi/test_3_element_struct_and_unions.c: New test.
* gcc.target/x86_64/abi/test_basic_alignment.c: New test.
* gcc.target/x86_64/abi/test_basic_array_size_and_align.c: New test.
* gcc.target/x86_64/abi/test_basic_returning.c: New test.
* gcc.target/x86_64/abi/test_basic_sizes.c: New test.
* gcc.target/x86_64/abi/test_basic_struct_size_and_align.c: New test.
* gcc.target/x86_64/abi/test_basic_union_size_and_align.c: New test.
* gcc.target/x86_64/abi/test_bitfields.c: New test.
* gcc.target/x86_64/abi/test_complex_returning.c: New test.
* gcc.target/x86_64/abi/test_passing_floats.c: New test.
* gcc.target/x86_64/abi/test_passing_integers.c: New test.
* gcc.target/x86_64/abi/test_passing_structs_and_unions.c: New test.
* gcc.target/x86_64/abi/test_passing_structs.c: New test.
* gcc.target/x86_64/abi/test_passing_unions.c: New test.
* gcc.target/x86_64/abi/test_struct_returning.c: New test.
* gcc.target/x86_64/abi/test_varargs.c: New test.
From-SVN: r101249
Richard Kenner [Wed, 22 Jun 2005 13:38:19 +0000 (13:38 +0000)]
re PR middle-end/20593 (Simple array of string access miscompiled on x86 and x86_64 and PPC)
2005-06-22 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
PR middle-end/20593
* varasm.c (compute_reloc_for_constant): Treat VIEW_CONVER_EXPR
the same as the other cast operands.
(output_addressed_constants): Likewise.
From-SVN: r101248
Kelley Cook [Wed, 22 Jun 2005 01:30:12 +0000 (01:30 +0000)]
Makefile.am (SUBDIRS): Use append for conditional.
2005-06-22 Kelley Cook <kcook@gcc.gnu.org>
* Makefile.am (SUBDIRS): Use append for conditional.
(toolexeclib_LTLIBRARIES): Likewise.
(lib_gnu_java_awt_peer_gtk_la_SOURCES): Directly define with
a conditional append.
* Makefile.in: Regenerate.
From-SVN: r101246
GCC Administrator [Wed, 22 Jun 2005 00:16:28 +0000 (00:16 +0000)]
Daily bump.
[[Split portion of a mixed commit.]]
From-SVN: r101242.2
Joseph Myers [Tue, 21 Jun 2005 23:00:45 +0000 (00:00 +0100)]
mangle24.C, mangle25.C: Pass -mmmx for 32-bit i?86 and x86_64.
* g++.dg/abi/mangle24.C, g++.dg/abi/mangle25.C: Pass -mmmx for
32-bit i?86 and x86_64.
From-SVN: r101240
Ziemowit Laski [Tue, 21 Jun 2005 21:13:46 +0000 (21:13 +0000)]
const-str-[1-9].mm: New tests.
[gcc/testsuite/ChangeLog]
2005-06-21 Ziemowit Laski <zlaski@apple.com>
* obj-c++.dg/const-str-[1-9].mm: New tests.
From-SVN: r101237
Joseph Myers [Tue, 21 Jun 2005 20:57:16 +0000 (21:57 +0100)]
* nl.po: Update.
From-SVN: r101235
Paul Thomas [Tue, 21 Jun 2005 20:53:00 +0000 (20:53 +0000)]
namelist_use_2.msg
From-SVN: r101234
Tobias Schlüter [Tue, 21 Jun 2005 20:48:20 +0000 (20:48 +0000)]
namelist_use_1.msg
Co-Authored-By: Paul Thomas <pault@gcc.gnu.org>
From-SVN: r101233
Jeff Law [Tue, 21 Jun 2005 18:46:33 +0000 (12:46 -0600)]
tree-vrp.c (extract_range_from_unary_expr): Handle type conversions better.
* tree-vrp.c (extract_range_from_unary_expr): Handle type
conversions better.
* gcc.dg/tree-ssa/vrp15.c: New test.
From-SVN: r101232
Dorit Nuzman [Tue, 21 Jun 2005 09:02:00 +0000 (09:02 +0000)]
genopinit.c (vec_shl_optab, [...]): Initialize new optabs.
* genopinit.c (vec_shl_optab, vec_shr_optab): Initialize new optabs.
(reduc_plus_optab): Removed. Replcaed with...
(reduc_splus_optab, reduc_uplus_optab): Initialize new optabs.
* optabs.c (optab_for_tree_code): Return reduc_splus_optab or
reduc_uplus_optab instead of reduc_plus_optab.
(expand_vec_shift_expr): New function.
(init_optabs): Initialize new optabs. Remove initialization of
reduc_plus_optab.
(optab_for_tree_code): Return vec_shl_optab/vec_shr_optab
for VEC_LSHIFT_EXPR/VEC_RSHIFT_EXPR.
* optabs.h (OTI_reduc_plus): Removed. Replaced with...
(OTI_reduc_splus, OTI_reduc_uplus): New.
(reduc_plus_optab): Removed. Replcaed with...
(reduc_splus_optab, reduc_uplus_optab): New optabs.
(vec_shl_optab, vec_shr_optab): New optabs.
(expand_vec_shift_expr): New function declaration.
* tree.def (VEC_LSHIFT_EXPR, VEC_RSHIFT_EXPR): New tree-codes.
* tree-inline.c (estimate_num_insns_1): Handle new tree-codes.
* expr.c (expand_expr_real_1): Handle new tree-codes.
* tree-pretty-print.c (dump_generic_node, op_symbol, op_prio): Likewise.
* tree-vect-generic.c (expand_vector_operations_1): Add assert.
* tree-vect-transform.c (vect_create_epilog_for_reduction): Add two
alternatives for generating reduction epilog code.
(vectorizable_reduction): Don't fail of direct reduction support is
not available.
(vectorizable_target_reduction_pattern): Likewise.
* config/rs6000/altivec.md (reduc_smax_v4si, reduc_smax_v4sf,
reduc_umax_v4si, reduc_smin_v4si, reduc_smin_v4sf, reduc_umin_v4si,
reduc_plus_v4si, reduc_plus_v4sf): Removed.
(vec_shl_<mode>, vec_shr_<mode>, altivec_vsumsws_nomode,
reduc_splus_<mode>, reduc_uplus_v16qi): New.
From-SVN: r101231
Tobias Schlüter [Tue, 21 Jun 2005 08:46:33 +0000 (10:46 +0200)]
func_derived_2.f90, [...]: New tests.
2005-06-21 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
Paul Thomas <pault@gcc.gnu.org>
* gfortran.dg/func_derived_2.f90, gfortran.dg/func_derived_3.f90:
New tests.
From-SVN: r101230
Daniel Berlin [Tue, 21 Jun 2005 00:59:17 +0000 (00:59 +0000)]
c-typeck.c (build_function_call): Set fundecl = function again.
2005-06-20 Daniel Berlin <dberlin@dberlin.org>
* c-typeck.c (build_function_call): Set fundecl = function again.
* tree-ssa-alias.c (find_used_portions): Address taking causes the
entire variable to be used.
* tree-ssa-structalias.c (do_structure_copy): Fix handling of
unknown size variables, and structure copies from addressof
operations. Simplify how we do *a = *b type structure copies.
(init_base_vars): Add ANYTHING = &ANYTHING constraint the right
way. READONLY's address is not taken by default.
INTEGER dereference should point to anything.
(create_variable_info_for): It's okay for the first field to not start
at 0.
From-SVN: r101227
Geoffrey Keating [Tue, 21 Jun 2005 00:24:59 +0000 (00:24 +0000)]
Index: include/ChangeLog
2005-06-20 Geoffrey Keating <geoffk@apple.com>
* libiberty.h (strverscmp): Prototype.
Index: libiberty/ChangeLog
2005-06-20 Geoffrey Keating <geoffk@apple.com>
* strverscmp.c: New.
* Makefile.in (CFILES): Add strverscmp.c.
(CONFIGURED_OFILES): Add strverscmp.o.
(strverscmp.o): New rule.
(stamp-functions): Add $(srcdir) to files in source directory.
* configure.ac (funcs): Add strverscmp.
(AC_CHECK_FUNCS): Add strverscmp.
* configure: Regenerate.
* functions.texi: Regenerate.
From-SVN: r101226
Kaz Kojima [Tue, 21 Jun 2005 00:16:42 +0000 (00:16 +0000)]
config/sh/linux.h (FUNCTION_PROFILER): Constify a char*.
From-SVN: r101225
GCC Administrator [Tue, 21 Jun 2005 00:16:18 +0000 (00:16 +0000)]
Daily bump.
[[Split portion of a mixed commit.]]
From-SVN: r101222.2
Ziemowit Laski [Tue, 21 Jun 2005 00:04:57 +0000 (00:04 +0000)]
config-lang.in (gtfiles): Add cp/rtti.c.
[gcc/objcp/ChangeLog]
2005-06-20 Ziemowit Laski <zlaski@apple.com>
* config-lang.in (gtfiles): Add cp/rtti.c.
From-SVN: r101220
François-Xavier Coudert [Mon, 20 Jun 2005 20:14:20 +0000 (20:14 +0000)]
gfortran.h: Add flag_backslash compile-time option.
* gfortran.h: Add flag_backslash compile-time option.
* lang.opt: Add support for -fbackslash option.
* options.c: Likewise.
* primary.c: Implement behavior for -fno-backslash.
* invoke.texi: Add doc for -fbackslash option.
* gfortran.texi: Remove mention of -fno-backslash as a
possible extension.
* gfortran.dg/backslash_1.f90: New test.
* gfortran.dg/backslash_2.f90: New test.
From-SVN: r101216
Steven G. Kargl [Mon, 20 Jun 2005 19:20:10 +0000 (19:20 +0000)]
* gfortran.dg/duplicate_labels.f90: New test.
From-SVN: r101215
Steven G. Kargl [Mon, 20 Jun 2005 19:17:32 +0000 (19:17 +0000)]
re PR fortran/21257 ([4.0 only] Duplicate use of construct name)
PR fortran/21257
(Ported from g95)
* match.c (gfc_match_label): Detect duplicate labels.
From-SVN: r101214
Fariborz Jahanian [Mon, 20 Jun 2005 17:59:35 +0000 (17:59 +0000)]
re PR target/22077 (vec_all_eq does not produce good result)
PR 22077.
Oked by Roger Sayle.
From-SVN: r101211
Erik Edelmann [Mon, 20 Jun 2005 13:02:51 +0000 (16:02 +0300)]
intrinsic.c (check_intrinsic_standard): Fix spelling error in a warning message.
* intrinsic.c (check_intrinsic_standard): Fix spelling error
in a warning message.
From-SVN: r101207
Benjamin Kosnik [Mon, 20 Jun 2005 06:48:28 +0000 (06:48 +0000)]
re PR libstdc++/22111 (libstdc++ abi_check)
make
2005-06-19 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/22111
* acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Remove
GLIBCXX_TEST_ABI. Remove duplicate _GLIBCXX_ASM_SYMVER define.
Don't enable abi testing unless versioned.
* configure: Regenerate.
* testsuite/Makefile.am (check-abi): Remove conditional.
* testsuite/Makefile.in: Regenerate.
* testsuite/libstdc++-abi/abi.exp: Call build_support, then check
v3-symver before proceeding.
* testsuite/lib/libstdc++.exp (libstdc++-dg-test): Set v3-symvers
if _GLIBCXX_SYMVER.
From-SVN: r101204
Jan Beulich [Mon, 20 Jun 2005 06:45:27 +0000 (06:45 +0000)]
netware-libgcc.def: Update copyright.
gcc/
2005-06-20 Jan Beulich <jbeulich@novell.com>
* config/i386/netware-libgcc.def: Update copyright.
* config/i386/netware-libgcc.exp (__divdc3, __divsc3, __divxc3,
__muldc3, __mulsc3, __mulxc3, __powidf2, __powisf2, __powixf2): Add.
* config/i386/netware.c (gen_stdcall_decoration,
gen_fastd_decoration): Merge into ...
(gen_stdcall_or_fastcall_decoration): ... this. Adjust to match
WinNT's changes.
(gen_regparm_prefix): Adjust to match i386_nlm_encode_section_info.
(i386_nlm_encode_section_info): Adjust to match WinNT's changes.
* config/i386/t-nwld (SHLIB_LINK): Also create libgcc.imp alias of
libgcc_s.imp. Use 'expr' rather than $(()) shell expressions.
* gthr-nks.h (__gthread_objc_mutex_allocate): Kill another dubious
use of NX_MUTEX_RECURSIVE.
gcc/testsuite/
2005-06-20 Jan Beulich <jbeulich@novell.com>
* g++.old-deja/g++.jason/thunk2.C: On NetWare, also account for
unsupportable relocations.
* g++.old-deja/g++.other/store-expr1.C: Likewise.
* gcc.dg/
20050321-2.c: xfail for NetWare.
From-SVN: r101203
Andreas Jaeger [Mon, 20 Jun 2005 04:37:58 +0000 (06:37 +0200)]
sseregparm-1.c, [...]: Run only on 32-bit x86.
* gcc.target/i386/sseregparm-1.c, gcc.target/i386/sseregparm-2.c,
gcc.target/i386/fastcall-sseregparm.c,
gcc.target/i386/regparm-stdcall.c: Run only on 32-bit x86.
From-SVN: r101202
Roger Sayle [Mon, 20 Jun 2005 02:33:52 +0000 (02:33 +0000)]
fold-const.c (swap_tree_comparison): Add support for unordered floating point comparisons.
* fold-const.c (swap_tree_comparison): Add support for unordered
floating point comparisons.
* tree-vrp.c (opposite_comparison): Delete.
(extract_range_from_assert): Replace calls to opposite_comparison
with calls to swap_tree_comparison.
(register_edge_assert_for): Likewise.
(vrp_evaluate_conditional): Likewise.
From-SVN: r101201
Kaz Kojima [Mon, 20 Jun 2005 01:28:33 +0000 (01:28 +0000)]
integrate.c (allocate_initial_values): Update the references to global_live_at_start and global_live_at_end.
* integrate.c (allocate_initial_values): Update the references
to global_live_at_start and global_live_at_end.
From-SVN: r101200
GCC Administrator [Mon, 20 Jun 2005 00:16:14 +0000 (00:16 +0000)]
Daily bump.
[[Split portion of a mixed commit.]]
From-SVN: r101198.2
Richard Henderson [Sun, 19 Jun 2005 23:59:55 +0000 (16:59 -0700)]
* gcc.dg/tree-ssa/pr21985.c: Use size_t.
From-SVN: r101196
Jan Hubicka [Sun, 19 Jun 2005 22:40:34 +0000 (00:40 +0200)]
cfgloop.h (DLTHE_RECORD_COPY_NUMBER): New flag.
* cfgloop.h (DLTHE_RECORD_COPY_NUMBER): New flag.
* cfgloopmanip.c (duplicate_loop_to_header_edge): Set aux flags only
when asked for.
* loop-unroll.c (peel_loop_completely, unroll_loop_constant_iterations,
unroll_loop_runtime_iterations, peel_loop_simple, unroll_loop_stupid):
Update call of duplicate_loop_to_header_edge.
(apply_opt_in_copies): Clear out aux pointers.
From-SVN: r101193
Joseph Myers [Sun, 19 Jun 2005 20:12:16 +0000 (21:12 +0100)]
i386.c (TARGET_MANGLE_FUNDAMENTAL_TYPE): Define.
* config/i386/i386.c (TARGET_MANGLE_FUNDAMENTAL_TYPE): Define.
(ix86_mangle_fundamental_type): New.
* config/ia64/ia64.c (TARGET_MANGLE_FUNDAMENTAL_TYPE): Define.
(ia64_mangle_fundamental_type): New.
testsuite:
* g++.dg/abi/mangle24.C, g++.dg/abi/mangle25.C: New tests.
From-SVN: r101191
Joseph Myers [Sun, 19 Jun 2005 18:24:42 +0000 (19:24 +0100)]
* de.po: Update.
From-SVN: r101189
Aldy Hernandez [Sun, 19 Jun 2005 17:23:33 +0000 (17:23 +0000)]
re PR c++/22115 (testsuite failure: g++.dg/conversion/simd2.C)
PR c++/22115
* g++.dg/conversion/simd2.C: Change expected error message.
From-SVN: r101188
Roger Sayle [Sun, 19 Jun 2005 16:55:22 +0000 (16:55 +0000)]
c-decl.c (grokdeclarator): Only check TREE_OVERFLOW on INTEGER_CST nodes.
* c-decl.c (grokdeclarator): Only check TREE_OVERFLOW on
INTEGER_CST nodes.
* c-typeck.c (build_c_cast): Only preserve TREE_OVERFLOW on
CONSTANT_CLASS_P nodes.
From-SVN: r101187
Richard Henderson [Sun, 19 Jun 2005 16:36:46 +0000 (09:36 -0700)]
vect.md (vec_extractv2sf_1): Fix cut-and-paste error; the shift is always required.
* config/ia64/vect.md (vec_extractv2sf_1): Fix cut-and-paste error;
the shift is always required.
From-SVN: r101186
Richard Henderson [Sun, 19 Jun 2005 16:10:49 +0000 (09:10 -0700)]
ia64-modes.def (V4SF): Add.
* config/ia64/ia64-modes.def (V4SF): Add.
* config/ia64/ia64.c (ia64_legitimate_constant_p): Handle CONST_VECTOR.
* config/ia64/ia64.h (CANNOT_CHANGE_MODE_CLASS): Allow vector to
integer mode changes in fp regs.
* config/ia64/ia64.md (UNSPEC_VECT_EXTR): New.
* config/ia64/vect.md (smaxv2sf3, sminv2sf3): Fix typos in names.
(reduc_plus_v2sf, reduc_smax_v2sf, reduc_smin_v2sf): New.
(vcondv2sf): Use gen_fpack
(fpack): Remove * from name.
(fswap, fmix_l, fmix_r, fmix_lr): New.
(vec_setv2sf, vec_extractv2sf_0_le, vec_extractv2sf_0_be): New.
(vec_extractv2sf_1, vec_extractv2sf): New.
From-SVN: r101185
Ulrich Weigand [Sun, 19 Jun 2005 16:01:03 +0000 (16:01 +0000)]
* testsuite/libmudflap.c/externs-1.c (main): Add return statement.
From-SVN: r101184
Andreas Krebbel [Sun, 19 Jun 2005 13:29:45 +0000 (13:29 +0000)]
combine.c (make_compound_operation): Use simplify_subreg.
2005-06-19 Andreas Krebbel <krebbel1@de.ibm.com>
* combine.c (make_compound_operation): Use simplify_subreg. Delete
a optimization already done by simplify_subreg.
From-SVN: r101183
Ulrich Weigand [Sun, 19 Jun 2005 13:27:04 +0000 (13:27 +0000)]
loop.c (scan_loop): Do not consider insns setting the frame pointer to be candidates for hoisting.
* loop.c (scan_loop): Do not consider insns setting the frame
pointer to be candidates for hoisting.
From-SVN: r101182
Uros Bizjak [Sun, 19 Jun 2005 08:51:54 +0000 (10:51 +0200)]
i386.md (*cmpfp_0_sf, [...]): Remove instruction patterns.
2005-06-19 Uros Bizjak <uros@kss-loka.si>
* config/i386/i386.md (*cmpfp_0_sf, *cmpfp_0_df, cmpfp_0_xf):
Remove instruction patterns.
(*cmpfp_0): New instruction pattern. Set "unit" attribute to "i387".
(*cmpfp_sf, *cmpfp_df, *cmpfp_xf, *cmpfp_u, *_cmpfp_<mode>):
Set "unit" attribute to "i387".
(*pushsf, *pushsf_rex64, *pushdf_nointeger, *pushdf_integer)
(*pushxf_nointeger, *pushxf_integer): Set "unit" attribute to "i387"
for alternative 0.
(*truncdfsf_mixed, *truncdfsf_i387, *truncxfsf2_mixed)
(*truncxfsf2_i387, *truncxfdf2_mixed, *truncxfdf2_i387): Set "unit"
attribute to "i387" when "type" attribute equals "multi".
(*floathisf2_i387, *floatsisf2_mixed, *floatsisf2_i387)
(*floatdisf2_mixed, *floatdisf2_i387, *floathidf2_i387)
(*floatsidf2_mixed, *floatsidf2_i387, *floatdidf2_mixed)
(*floatdidf2_i387, floathixf2, floatsixf2, floatdixf2): Set "unit"
attribute to "i387" when "type" attribute equals "multi".
* config/i386/mmx.md (*mov<mode>_internal_rex64)
(*mov<mode>_internal, *movv2sf_internal_rex64, *movv2sf_internal):
Set "unit" attribute to "mmx" when "type" attribute equals "ssecvt".
(mmx_pmovmskb): Correct wrong "type" and "mode" attributes.
* config/i386/sse.md (sse_cvtps2pi, sse_cvttps2pi, sse_cvtpd2di)
(sse_cvttpd2pi): Set "unit" attribute to "mmx".
(sse2_cvtpi2pd): Split register constraints. Set "unit" attribute
to "mmx" for "y" operand 1.
From-SVN: r101180
Uros Bizjak [Sun, 19 Jun 2005 08:26:50 +0000 (01:26 -0700)]
i386.c (ix86_function_arg_regno_p): Add MMX_REGNO_P for TARGET_MMX.
2005-06-16 Uros Bizjak <uros@kss-loka.si>
* config/i386/i386.c (ix86_function_arg_regno_p): Add MMX_REGNO_P
for TARGET_MMX. Use MMX_REGPARM_MAX and SSE_REGPARM_MAX for MMX
and SSE registers to determine if regno is valid.
(ix86_function_value_regno_p): Depend FIRST_FLOAT_REG on
TARGET_FLOAT_RETURNS_IN_80387 also for TARGET_64BIT. Clean up.
From-SVN: r101179
Richard Henderson [Sun, 19 Jun 2005 06:35:52 +0000 (23:35 -0700)]
tree-complex.c (init_dont_simulate_again): Clear DONT_SIMULATE_AGAIN for control-altering statements; set it again for returns.
* tree-complex.c (init_dont_simulate_again): Clear DONT_SIMULATE_AGAIN
for control-altering statements; set it again for returns.
(complex_visit_stmt): Return SSA_PROP_VARYING for stmts that are
not MODIFY_EXPR.
From-SVN: r101178
Richard Henderson [Sun, 19 Jun 2005 06:32:31 +0000 (23:32 -0700)]
re PR tree-optimization/22116 (PRE of COMPLEX_EXPR causes ICE)
PR tree-opt/22116
* tree-ssa-pre.c (create_expression_by_pieces): Set
DECL_COMPLEX_GIMPLE_REG_P.
(insert_into_preds_of_block): Likewise.
From-SVN: r101177
Joseph Myers [Sun, 19 Jun 2005 00:37:09 +0000 (01:37 +0100)]
* tr.po: Update.
From-SVN: r101175
GCC Administrator [Sun, 19 Jun 2005 00:16:15 +0000 (00:16 +0000)]
Daily bump.
[[Split portion of a mixed commit.]]
From-SVN: r101173.2
Steven Bosscher [Sat, 18 Jun 2005 22:50:56 +0000 (22:50 +0000)]
* Makefile.in: Fix tree-cfgcleanup.c dependencies.
From-SVN: r101170
Richard Henderson [Sat, 18 Jun 2005 22:40:49 +0000 (15:40 -0700)]
expr.c (store_constructor): Use store of 0 to indicate value death instead of a clobber.
* expr.c (store_constructor): Use store of 0 to indicate value
death instead of a clobber.
* config/i386/i386.c (ix86_expand_reduc_v4sf): New.
* config/i386/i386-protos.h (ix86_expand_reduc_v4sf): Declare.
* config/i386/sse.md (reduc_plus_v4sf): New.
(reduc_smax_v4sf, reduc_smin_v4sf): New.
From-SVN: r101169
Joseph Myers [Sat, 18 Jun 2005 21:50:11 +0000 (22:50 +0100)]
* tr.po, vi.po: Update.
From-SVN: r101168
Dorit Nuzman [Sat, 18 Jun 2005 21:27:47 +0000 (21:27 +0000)]
vect-reduc-1.c: Add cleanup-tree-dump.
* gcc.dg/vect/vect-reduc-1.c: Add cleanup-tree-dump.
* gcc.dg/vect/vect-reduc-2.c: Likewise.
* gcc.dg/vect/vect-reduc-3.c: Likewise.
From-SVN: r101167
Janne Blomqvist [Sat, 18 Jun 2005 20:09:28 +0000 (23:09 +0300)]
unix.c (stream_at_bof): Don't assume that all non-mmapped files are non-seekable.
* unix.c (stream_at_bof): Don't assume that all non-mmapped files
are non-seekable.
(stream_at_eof): Likewise.
From-SVN: r101164
James A. Morrison [Sat, 18 Jun 2005 19:57:12 +0000 (19:57 +0000)]
fold_const (fold_binary): Fold X % (2**N) to X & (2**N - 1) for nonnegative values of X.
2005-06-18 James A. Morrison <phython@gcc.gnu.org>
* fold_const (fold_binary): Fold X % (2**N) to X & (2**N - 1) for
nonnegative values of X.
From-SVN: r101163
Steven G. Kargl [Sat, 18 Jun 2005 18:27:05 +0000 (18:27 +0000)]
re PR fortran/19926 ([4.0 only] Incorrect rank with PARAMETER and array element.)
PR fortran/19926
* gfortran.dg/pr19926.f90: New test.
From-SVN: r101162
Erik Edelmann [Sat, 18 Jun 2005 18:16:22 +0000 (18:16 +0000)]
re PR fortran/19926 ([4.0 only] Incorrect rank with PARAMETER and array element.)
PR fortran/19926
* primary.c (gfc_match_rvalue): expr_type can be EXPR_CONSTANT
for an array; check that sym->as is NULL.
Co-Authored-By: Steven G. Kargl <kargls@comast.net>
From-SVN: r101161
Steven G. Kargl [Sat, 18 Jun 2005 17:59:31 +0000 (17:59 +0000)]
intrinsic.c (gfc_intrinsic_func_interface): Enable errors for generic functions whose simplification routine return FAILURE.
* intrinsic.c (gfc_intrinsic_func_interface): Enable errors for generic
functions whose simplification routine return FAILURE.
From-SVN: r101160
Uros Bizjak [Sat, 18 Jun 2005 15:21:19 +0000 (17:21 +0200)]
md.texi (Standard Names): Change insn pattern name from truncM2 to btruncM2 for 'trunc' built-in description.
* doc/md.texi (Standard Names): Change insn pattern name
from truncM2 to btruncM2 for 'trunc' built-in description.
Add rintM2 insn pattern description.
From-SVN: r101159
Kaveh R. Ghazi [Sat, 18 Jun 2005 15:07:28 +0000 (15:07 +0000)]
c-decl.c (locate_old_decl): Add format attribute.
* c-decl.c (locate_old_decl): Add format attribute.
(implicit_decl_warning): Likewise.
cp:
* call.c (convert_like_real): Add format attribute.
* typeck.c (check_for_casting_away_constness,
build_static_cast_1): Likewise.
* typeck2.c (readonly_error, cxx_incomplete_type_diagnostic):
Likewise.
From-SVN: r101158
Kaveh R. Ghazi [Sat, 18 Jun 2005 15:03:56 +0000 (15:03 +0000)]
diagnostic.h (verbatim): Move ...
* diagnostic.h (verbatim): Move ...
* toplev.h (verbatim): ... here. Add ATTRIBUTE_GCC_DIAG.
* pretty-print.h (pp_verbatim): Add ATTRIBUTE_GCC_PPDIAG.
From-SVN: r101157
Roger Sayle [Sat, 18 Jun 2005 13:26:20 +0000 (13:26 +0000)]
re PR target/22083 (TARGET_C99_FUNCTIONS is wrongly defined on AIX 5.1)
PR target/22083
* config/rs6000/aix51.h (TARGET_C99_FUNCTIONS): Remove definition.
From-SVN: r101156
Dorit Nuzman [Sat, 18 Jun 2005 13:18:52 +0000 (13:18 +0000)]
tree.def (REDUC_MAX_EXPR, [...]): New tree-codes.
* tree.def (REDUC_MAX_EXPR, REDUC_MIN_EXPR, REDUC_PLUS_EXPR): New
tree-codes.
* optabs.h (OTI_reduc_smax, OTI_reduc_umax, OTI_reduc_smin,
OTI_reduc_umin, OTI_reduc_plus): New optabs for reduction.
(reduc_smax_optab, reduc_umax_optab, reduc_smin_optab, reduc_umin_optab,
reduc_plus_optab): New optabs for reduction.
* expr.c (expand_expr_real_1): Handle new tree-codes.
* tree-inline.c (estimate_num_insns_1): Handle new tree-codes.
* tree-pretty-print.c (dump_generic_node, op_prio, op_symbol): Handle
new tree-codes.
* optabs.c (optab_for_tree_code): Handle new tree-codes.
(init_optabs): Initialize new optabs.
* genopinit.c (optabs): Define handlers for new optabs.
* tree-vect-analyze.c (vect_analyze_operations): Fail vectorization in
case of a phi that is marked as relevant. Call vectorizable_reduction.
(vect_mark_relevant): Phis may be marked as relevant.
(vect_mark_stmts_to_be_vectorized): The use corresponding to the
reduction variable in a reduction stmt does not mark its defining phi
as relevant. Update documentation accordingly.
(vect_can_advance_ivs_p): Skip reduction phis.
* tree-vect-transform.c (vect_get_vec_def_for_operand): Takes
additional argument. Handle reduction.
(vect_create_destination_var): Update call to vect_get_new_vect_var.
Handle non-vector argument.
(get_initial_def_for_reduction): New function.
(vect_create_epilog_for_reduction): New function.
(vectorizable_reduction): New function.
(vect_get_new_vect_var): Handle new vect_var_kind.
(vectorizable_assignment, vectorizable_operation, vectorizable_store,
vectorizable_condition): Update call to vect_get_new_vect_var.
(vect_transform_stmt): Call vectorizable_reduction.
(vect_update_ivs_after_vectorizer): Skip reduction phis.
(vect_transform_loop): Skip if stmt is both not relevant and not live.
* tree-vectorizer.c (reduction_code_for_scalar_code): New function.
(vect_is_simple_reduction): Was empty - added implementation.
* tree-vectorizer.h (vect_scalar_var): New enum vect_var_kind value.
(reduc_vec_info_type): New enum vect_def_type value.
* config/rs6000/altivec.md (reduc_smax_v4si, reduc_smax_v4sf,
reduc_umax_v4si, reduc_smin_v4si, reduc_umin_v4sf, reduc_smin_v4sf,
reduc_plus_v4si, reduc_plus_v4sf): New define_expands.
* tree-vect-analyze.c (vect_determine_vectorization_factor): Remove
ENABLE_CHECKING around gcc_assert.
* tree-vect-transform.c (vect_do_peeling_for_loop_bound,
(vect_do_peeling_for_alignment, vect_transform_loop,
vect_get_vec_def_for_operand): Likewise.
From-SVN: r101155
Joseph Myers [Sat, 18 Jun 2005 11:56:42 +0000 (12:56 +0100)]
ia64.c (ia64_function_arg): Set up a PARALLEL for a big-endian unnamed __float80 value.
* config/ia64/ia64.c (ia64_function_arg): Set up a PARALLEL for a
big-endian unnamed __float80 value.
testsuite:
* gcc.target/ia64/float80-varargs-1.c: New test.
From-SVN: r101153
Tobias Schlüter [Sat, 18 Jun 2005 11:51:47 +0000 (13:51 +0200)]
re PR tree-optimization/22035 (complex float comparison broken)
PR tree-opt/22035
* gfortran.dg/f2c_6.f90: New test.
From-SVN: r101152
Richard Henderson [Sat, 18 Jun 2005 08:51:44 +0000 (01:51 -0700)]
re PR tree-optimization/22103 (Statement makes a memory store .., complex)
PR tree-opt/22103
* tree-sra.c (generate_copy_inout): Handle SSA_NAME complex
destinations.
From-SVN: r101150