Tobias Schlüter [Thu, 19 Aug 2004 22:35:47 +0000 (00:35 +0200)]
re PR fortran/17074 (Unclassifiable statement in IF-clause / Simple IF followed by WHERE)
fortran/
PR fortran/17074
* match.c (match_simple_forall, match_simple_where): Forward-declare.
(gfc_match_if): Order statement list alphabetically, add WHERE and
ew functions.
(gfc_match_forall): Use match_forall_header.
testsuite/
PR fortran/17074
* gfortran.dg/simpleif_1.f90: New test.
From-SVN: r86290
Andreas Tobler [Thu, 19 Aug 2004 22:34:15 +0000 (00:34 +0200)]
tree.c: Remove unused mark_local_for_remap_r.
2004-08-20 Andreas Tobler <a.tobler@schweiz.ch>
* tree.c: Remove unused mark_local_for_remap_r.
From-SVN: r86289
Erik Schnetter [Thu, 19 Aug 2004 22:30:01 +0000 (00:30 +0200)]
Commit previously forgotten ChangeLog diffs for this patch:
PR fortran/16946
* check.c (gfc_check_reduction): New function.
(gfc_check_minval_maxval): Removed.
(gfc_check_product): Removed.
(gfc_check_sum): Removed.
* intrinsic.h: Add/remove declarations for these.
* gfortran.h: Add field f3red to union gfc_check_f.
* intrinsic.c (add_sym_3red): New function.
(add_functions): Register maxval, minval, product, and sum intrinsics
through add_sym_3red.
(check_specific): Handle f3red union field.
* iresolve.c: Whitespace change.
From-SVN: r86287
Mark Mitchell [Thu, 19 Aug 2004 22:29:11 +0000 (22:29 +0000)]
target-supports.exp (check_profiling_available): Return false for arm*-*-symbianelf* and arm*-*-eabi*.
* lib/target-supports.exp (check_profiling_available): Return
false for arm*-*-symbianelf* and arm*-*-eabi*.
From-SVN: r86286
Mark Mitchell [Thu, 19 Aug 2004 22:24:56 +0000 (22:24 +0000)]
defaults.h (TARGET_LIBGCC_LIBFUNCS): Remove.
* defaults.h (TARGET_LIBGCC_LIBFUNCS): Remove.
* optabs.c (init_optabs): Don't check it.
* config/arm/bpabi.h (TARGET_LIBGCC_LIBFUNCS): Do not define.
* doc/tm.texi (TARGET_LIBGCC_FUNCS): Remove.
From-SVN: r86285
Andreas Krebbel [Thu, 19 Aug 2004 22:10:52 +0000 (22:10 +0000)]
2004-08-18 Andreas Krebbel <krebbel1@de.ibm.com>
* config/s390/s390.md (s390_warn_framesize_string)
(s390_warn_dynamic_string, s390_stack_size_string)
(s390_stack_guard_string): New global string variables.
(s390_warn_framesize, s390_warn_dynamicstack_p, s390_stack_size)
(s390_stack_guard): New global variables.
(override_options): Added checks for the new options.
(s390_emit_prologue): Emit stack check and trap code and perform
compile time stack size checking.
* config/s390/s390.h (TARGET_OPTIONS): Added new options
"warn-framesize", "warn-dynamicstack", "stack-size" and
"stack-guard".
* doc/invoke.texi: Added documentation for the new options.
From-SVN: r86284
Ulrich Weigand [Thu, 19 Aug 2004 21:41:32 +0000 (21:41 +0000)]
unwind-dw2-fde.c (get_cie_encoding): Cast argument to strlen to eliminate warning.
* unwind-dw2-fde.c (get_cie_encoding): Cast argument to strlen
to eliminate warning.
(linear_search_fdes): Declare p as unsigned.
(binary_search_mixed_encoding_fdes): Likewise.
* unwind-dw2.c (get_cie_encoding): Cast argument to strlen
to eliminate warning.
* config/s390/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Add missing
type cast.
From-SVN: r86280
Paul Brook [Thu, 19 Aug 2004 21:37:58 +0000 (21:37 +0000)]
re PR fortran/17091 (gfortran MAIN__ symbol not marked TREE_PUBLIC)
PR fortran/17091
* gfortran.h (gfc_access): Give ACCESS_UNKNOWN value 0.
* symbol.c (gfc_clear_attr): Use memset.
From-SVN: r86279
Ulrich Weigand [Thu, 19 Aug 2004 21:37:32 +0000 (21:37 +0000)]
s390-protos.h (preferred_la_operand_p): Adapt prototype.
* config/s390/s390-protos.h (preferred_la_operand_p): Adapt prototype.
* config/s390/s390.c (preferred_la_operand_p): Accept two operands
instead of one. Check for strictly legitimate address.
* config/s390/s390.md ("*la_31"/"*la_64" peepholes): Adapt call
to preferred_la_operand_p, do not call gen_rtx_PLUS in predicate.
From-SVN: r86278
Eric Christopher [Thu, 19 Aug 2004 21:34:37 +0000 (21:34 +0000)]
langhooks-def.h (LANG_HOOKS_UNSAVE_EXPR_NOW): Remove.
2004-08-19 Eric Christopher <echristo@redhat.com>
* langhooks-def.h (LANG_HOOKS_UNSAVE_EXPR_NOW): Remove.
* langhooks.h (unsave_expr_now): Ditto.
* tree.h (unsave_expr_1): Remove prototype.
(lhd_unsave_expr_now): Rename to unsave_expr_now.
* tree-inline.c (unsave_expr_1): Move here
from tree.c. Make static.
(unsave_expr_now): Rename from lhd_unsave_expr_now.
* tree-sra.c: Fix up for rename.
* tree-ssa-copy.c: Ditto.
* tree-eh.c: Ditto.
* tree.c (unsave_expr_1): Move to tree-inline.c.
2004-08-19 Eric Christopher <echristo@redhat.com>
* cp-tree.h (cxx_unsave_expr_now): Delete prototype.
* tree.c (cxx_unsave_expr_now): Delete.
(cp_unsave_r): Ditto.
From-SVN: r86277
Benjamin Kosnik [Thu, 19 Aug 2004 20:47:39 +0000 (20:47 +0000)]
3.cc (test03): Don't check timezone.
2004-08-19 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/22_locale/time_put/put/char/3.cc (test03): Don't check
timezone.
* testsuite/22_locale/time_put/put/wchar_t/3.cc (test03): Same.
From-SVN: r86271
Caroline Tice [Thu, 19 Aug 2004 20:47:12 +0000 (13:47 -0700)]
Fix typo: Change "in_unlikely_text_section" to "in_unlikely_executed_text".
Committed as obvious.
From-SVN: r86270
Paolo Carlini [Thu, 19 Aug 2004 20:22:45 +0000 (20:22 +0000)]
insert.cc: For std::map instantiate the allocator for a correct pair type.
2004-08-19 Paolo Carlini <pcarlini@suse.de>
* testsuite/performance/20_util/allocator/insert.cc: For std::map
instantiate the allocator for a correct pair type.
* testsuite/performance/20_util/allocator/insert_insert.cc: Likewise.
* testsuite/performance/20_util/allocator/map_thread.cc: Likewise.
* testsuite/performance/20_util/allocator/producer_consumer.cc:
Likewise.
* testsuite/performance/20_util/allocator/list_sort_search.cc: Very
minor formatting fixes.
* testsuite/performance/20_util/allocator/map_mt_find.cc: Likewise.
From-SVN: r86269
Mark Mitchell [Thu, 19 Aug 2004 20:16:01 +0000 (20:16 +0000)]
re PR c++/15890 (internal compiler error: in c_expand_expr, at c-common.c:4138)
PR c++/15890
* pt.c (push_template_decl_real): Disallow template allocation
functions with fewer than two parameters.
PR c++/15890
* g++.dg/template/delete1.C: New test.
From-SVN: r86265
Daniel Berlin [Thu, 19 Aug 2004 19:24:58 +0000 (19:24 +0000)]
vec.h (VEC_lower_bound): New macro.
2004-08-19 Daniel Berlin <dberlin@dberlin.org>
* vec.h (VEC_lower_bound): New macro.
From-SVN: r86262
Richard Sandiford [Thu, 19 Aug 2004 18:56:12 +0000 (18:56 +0000)]
Fix comment typo in last delta.
From-SVN: r86261
Bryce McKinlay [Thu, 19 Aug 2004 18:49:35 +0000 (19:49 +0100)]
Correct ChangeLog formatting.
From-SVN: r86260
Richard Sandiford [Thu, 19 Aug 2004 18:44:32 +0000 (18:44 +0000)]
re PR target/16446 (Irix calling conventions for complex numbers)
PR target/16446
* config/mips/mips.c (struct mips_arg_info): Delete num_bytes.
(mips_arg_info): Update accordingly. Remove common treatment of fpr_p;
treat each ABI separately. Deal with n32/n64 complex float arguments.
(function_arg): Add associated complex handling here.
From-SVN: r86259
Michael Koch [Thu, 19 Aug 2004 18:12:25 +0000 (18:12 +0000)]
configure.in, [...]: Ported to automake 1.9.
2004-08-19 Thomas Fitzsimmons <fitzsim@redhat.com>
Michael Koch <konqueror@gmx.de>
* configure.in,
Makefile.am: Ported to automake 1.9.
* Makefile.in:
aclocal.m4
configure
gcj/Makefile.in
include/Makefile.in
testsuite/Makefile.in
include/config.h.in:
Regenerated.
* gcc/doc/install.texi: Update entry about automake for libjava.
From-SVN: r86258
Richard Henderson [Thu, 19 Aug 2004 17:02:03 +0000 (10:02 -0700)]
arm.c (arm_gen_load_multiple): Use adjust_automodify_address.
* config/arm/arm.c (arm_gen_load_multiple): Use
adjust_automodify_address. Take base memory and offset instead
of unchanging/struct/scalar bits.
(arm_gen_store_multiple): Likewise.
(arm_gen_movmemqi): Use adjust_automodify_address.
* config/arm/arm-protos.h: Update decls.
* config/arm/arm.md (load_multiple): Update arm_gen_load_multiple call.
(store_multiple): Similarly.
From-SVN: r86257
Paul Brook [Thu, 19 Aug 2004 16:45:21 +0000 (16:45 +0000)]
re PR fortran/14976 (.space is wrong)
PR fortran/14976
PR fortran/16228
* data.c (assign_substring_data_value): Remove.
(create_character_intializer): New function.
(gfc_assign_data_value): Track the typespec for the current
subobject. Use create_character_intializer.
testsuite/
* gfortran.dg/data_char_1.f90: New test.
From-SVN: r86256
Erik Schnetter [Thu, 19 Aug 2004 15:31:37 +0000 (15:31 +0000)]
re PR fortran/16946 (sum (array, mask) is not accepted)
fortran/
PR fortran/16946
* check.c (gfc_check_reduction): New function.
(gfc_check_minval_maxval): Removed.
(gfc_check_product): Removed.
(gfc_check_sum): Removed.
* intrinsic.h: Add/remove declarations for these.
* gfortran.h: Add field f3red to union gfc_check_f.
* intrinsic.c (add_sym_3red): New function.
(add_functions): Register maxval, minval, product, and sum intrinsics
through add_sym_3red.
(check_specific): Handle f3red union field.
* iresolve.c: Whitespace change.
testsuite/
PR fortran/16946
* gfortran.dg/reduction.f90: New testcase.
From-SVN: r86255
Tobias Schlüter [Thu, 19 Aug 2004 15:04:37 +0000 (17:04 +0200)]
re PR fortran/16520 (ICE in gfortran.dg/g77/
19990905-1.f)
PR fortran/16520
* gfortran.dg/g77/
19990905-1.f: Don't expect excess errors.
From-SVN: r86254
Bryce McKinlay [Thu, 19 Aug 2004 14:32:31 +0000 (14:32 +0000)]
class.c (make_local_function_alias): Allocate extra space for 'L' in name buffer.
2004-08-19 Bryce McKinlay <mckinlay@redhat.com>
* class.c (make_local_function_alias): Allocate extra space for 'L'
in name buffer. Reported by Thomas Neumann.
From-SVN: r86251
J"orn Rennecke [Thu, 19 Aug 2004 14:04:24 +0000 (14:04 +0000)]
* regclass.c (globalize_reg): Update call_really_used_regs.
From-SVN: r86250
Nathan Sidwell [Thu, 19 Aug 2004 11:17:01 +0000 (11:17 +0000)]
cp-tree.h (build_shared_int_cst): Remove.
* cp-tree.h (build_shared_int_cst): Remove.
* tree.c (shared_int_cache): Remove.
(build_shared_int_cst): Remove.
* class.c (finish_struct_1): Use build_int_cst.
From-SVN: r86249
Nathan Sidwell [Thu, 19 Aug 2004 11:03:52 +0000 (11:03 +0000)]
* doc/invoke.texi (integer-share-limit): Document.
From-SVN: r86248
Nathan Sidwell [Thu, 19 Aug 2004 10:36:07 +0000 (10:36 +0000)]
tree.h (TYPE_CACHED_VALUES_P): New.
* tree.h (TYPE_CACHED_VALUES_P): New.
(TYPE_CACHED_VALUES): New.
(TYPE_ORIG_SIZE_TYPE): Adjust.
* tree.def (INTEGER_CST): Update documentation.
* tree.c: Inlcude params.h.
(build_int_cst): Cache small values.
(build_type_copy): Do not copy the value cache.
* c-common.c (c_common_nodes_and_builtins): Add comment, remove
unneeded zeroing.
* c-typeck.c (build_c_cast): Add comment about OVERFLOW setting.
* expmed.c (const_mult_add_overflow_p): Clear type copy's value
cache.
* fold-const.c (force_fit_type): Copy value when setting
overflows.
(int_const_binop): Likewise.
* stor-layout.c: Include params.h
(set_sizetype): Create values cache.
(fixup_unsigned_type): Set UNSIGNED_P before caching any values.
* params.def (PARAM_INTEGER_SHARE_LIMIT): New.
* params.h (INTEGER_SHARE_LIMIT): New.
* Makefile.in (tree.o, stor-layout.o): Depend on PARAMS_H.
* cp/decl.c (finish_enum): Do not copy value node early, copy
later.
* cp/lex.c (cxx_init): Force null_node to be unique.
* java/parse.h (JAVA_RADIX10_FLAG): Rename to ...
(JAVA_NOT_RADIX10_FLAG): ... here. Invert meaning.
* java/lex.c (do_java_lex): Adjust.
(error_if_numeric_overflow): Likewise.
From-SVN: r86247
Paolo Carlini [Thu, 19 Aug 2004 10:30:05 +0000 (10:30 +0000)]
1.cc: Add VERIFY on the results.
2004-08-19 Paolo Carlini <pcarlini@suse.de>
* testsuite/22_locale/time_put/put/char/1.cc: Add VERIFY on the
results.
* testsuite/22_locale/time_put/put/char/2.cc: Likewise.
* testsuite/22_locale/time_put/put/char/3.cc: Likewise.
* testsuite/22_locale/time_put/put/char/4.cc: Likewise.
* testsuite/22_locale/time_put/put/wchar_t/1.cc: Likewise.
* testsuite/22_locale/time_put/put/wchar_t/2.cc: Likewise.
* testsuite/22_locale/time_put/put/wchar_t/3.cc: Likewise.
* testsuite/22_locale/time_put/put/wchar_t/4.cc: Likewise.
From-SVN: r86246
Paolo Bonzini [Thu, 19 Aug 2004 09:58:57 +0000 (09:58 +0000)]
gimplify.c (gimplify_minimax_expr): Remove.
2004-08-19 Paolo Bonzini <bonzini@gnu.org>
* gimplify.c (gimplify_minimax_expr): Remove.
(gimplify_expr) <MIN_EXPR, MAX_EXPR>: Remove special handling.
From-SVN: r86245
Tom Tromey [Thu, 19 Aug 2004 09:19:58 +0000 (09:19 +0000)]
DatagramSocket.java: Fixed typo.
2004-08-19 Tom Tromey <tromey@redhat.com>
* java/net/DatagramSocket.java: Fixed typo.
From-SVN: r86244
Paolo Carlini [Thu, 19 Aug 2004 08:47:17 +0000 (08:47 +0000)]
baseline_symbols.txt: Update to 3.4.0.
2004-08-19 Paolo Carlini <pcarlini@suse.de>
* config/abi/x86_64-linux-gnu/baseline_symbols.txt: Update to 3.4.0.
From-SVN: r86242
Joseph Myers [Thu, 19 Aug 2004 08:01:50 +0000 (09:01 +0100)]
re PR c++/17041 (Erroneous "suggest parentheses around assignment used as truth value" warning in template members.)
PR c++/17041
* pt.c (tsubst_copy, tsubst_copy_and_build): Copy TREE_NO_WARNING
from input for MODOP_EXPR.
testsuite:
* g++.dg/Wparentheses-3.C: New test.
From-SVN: r86241
Dorit Naishlos [Thu, 19 Aug 2004 07:16:59 +0000 (07:16 +0000)]
tree-vectorizer.c (vect_can_force_dr_alignment_p): Replace STACK_BOUDARY with PREFERRED_STACK_BOUNDARY.
* tree-vectorizer.c (vect_can_force_dr_alignment_p): Replace
STACK_BOUDARY with PREFERRED_STACK_BOUNDARY.
From-SVN: r86240
Mark Mitchell [Thu, 19 Aug 2004 07:07:09 +0000 (07:07 +0000)]
* bpabi.h (FPUTYPE_DEFAULT): Set it to FPUTYPE_VFP.
From-SVN: r86239
Mark Mitchell [Thu, 19 Aug 2004 07:07:03 +0000 (07:07 +0000)]
bpabi.h (FPUTYPE_DEFAULT): Set it to FPUTYPE_VFP.
* bpabi.h (FPUTYPE_DEFAULT): Set it to FPUTYPE_VFP.
[[Split portion of a mixed commit.]]
From-SVN: r86238.2
Andrew Pinski [Thu, 19 Aug 2004 06:16:37 +0000 (06:16 +0000)]
varasm.c (ecode_reg_name): Do nothing if the asmspec is empty.
2004-08-18 Andrew Pinski <apinski@apple.com>
* varasm.c (ecode_reg_name): Do nothing if the asmspec is empty.
From-SVN: r86237
Mark Mitchell [Thu, 19 Aug 2004 06:13:19 +0000 (06:13 +0000)]
bpabi.c (__aeabi_ul2d): Give it default visibility.
* config/arm/bpabi.c (__aeabi_ul2d): Give it default visibility.
(__aeabi_ul2f): Likewise.
From-SVN: r86236
Richard Henderson [Thu, 19 Aug 2004 06:12:12 +0000 (23:12 -0700)]
xtensa.c (xtensa_expand_block_move): Expand block move to rtl completely.
* config/xtensa/xtensa.c (xtensa_expand_block_move): Expand block
move to rtl completely.
(struct meminsnbuf, xtensa_emit_block_move): Remove.
(xtensa_find_mode_for_size): Remove.
* config/xtensa/xtensa-protos.h (xtensa_emit_block_move): Remove.
* config/xtensa/xtensa.md (movmemsi_internal): Remove.
From-SVN: r86235
Richard Henderson [Thu, 19 Aug 2004 05:25:53 +0000 (22:25 -0700)]
mcore.c (mode_from_align): Remove DImode.
* config/mcore/mcore.c (mode_from_align): Remove DImode.
(block_move_sequence): Rewrite to use adjust_address.
(mcore_expand_block_move): Cleanup logic. Accept only operands.
Return boolean indicating success/failure.
* config/mcore/mcore-protos.h (mcore_expand_block_move): Update decl.
* config/mcore/mcore.md (movmemsi): Update to match.
From-SVN: r86234
Mark Mitchell [Thu, 19 Aug 2004 05:08:09 +0000 (05:08 +0000)]
* pt.c (dependent_template_p): Fix typo in commment.
From-SVN: r86233
Andrew Pinski [Thu, 19 Aug 2004 03:09:45 +0000 (03:09 +0000)]
class.c (make_local_function_alias): Only make a new decl if we support alias attribute on all decls.
* class.c (make_local_function_alias): Only make a new decl if we support
alias attribute on all decls.
From-SVN: r86232
Mike Stump [Thu, 19 Aug 2004 00:43:03 +0000 (00:43 +0000)]
invoke.texi (-mfix-and-continue): Add support for fast turn around debugging.
* doc/invoke.texi (-mfix-and-continue): Add support for
fast turn around debugging.
(-ffix-and-continue): Likewise.
(-mindirect-data): Likewise.
(-findirect-data): Likewise.
* config/darwin.c (TARGET_FIX_AND_CONTINUE): Likewise.
(indirect_data): Likewise.
(machopic_data_defined_p): Likewise.
(machopic_output_indirection): Likewise.
(darwin_encode_section_info): Likewise.
(darwin_fix_and_continue): Likewise.
(darwin_fix_and_continue_switch): Likewise.
* config/darwin.h (MACHO_SYMBOL_STATIC): Likewise.
* config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Likewise.
(SUBTARGET_OPTION_TRANSLATE_TABLE): Likewise.
(SUBTARGET_OPTIONS): Likewise.
(darwin_fix_and_continue): Likewise.
(darwin_fix_and_continue_switch): Likewise.
(TARGET_FIX_AND_CONTINUE): Likewise.
* config/rs6000.c (rs6000_emit_prologue): Likewise.
From-SVN: r86229
Steven Bosscher [Thu, 19 Aug 2004 00:32:41 +0000 (00:32 +0000)]
basic-block.h (struct edge_def): Remove crossing_edge.
* basic-block.h (struct edge_def): Remove crossing_edge.
(EDGE_CROSSING): New define.
(EDGE_ALL_FLAGS): Update.
* bb-reorder.c (find_traces_1_round, better_edge_p,
find_rarely_executed_basic_blocks_and_cr, fix_up_fall_thru_edges,
find_jump_block, fix_crossing_conditional_branches,
fix_crossing_unconditional_branches, add_reg_crossing_jump_notes):
Replace all occurences of crossing_edge with an edge flag check
or set/reset.
* cfgcleanup.c (try_simplify_condjump, try_forward_edges,
try_crossjump_bb): Likewise.
* cfglayout.c (fixup_reorder_chain): Likewise.
* cfgrtl.c (force_nonfallthru_and_redirect,
commit_one_edge_insertion): Likewise.
* Makefile.in (cfganal.o): Depend on TIMEVAR_H.
* tree-flow.h (compute_dominance_frontiers): Move prototype...
* basic-block.h: ...here.
* tree-cfg.c (compute_dominance_frontiers_1,
compute_dominance_frontiers): Move from here...
* cfganal.c: ...to here. Include timevar.h.
From-SVN: r86228
Matthias Klose [Thu, 19 Aug 2004 00:18:04 +0000 (00:18 +0000)]
baseline_symbols.txt: Update to 3.4.0.
2004-08-18 Matthias Klose <doko@debian.org>
* config/abi/hppa-linux-gnu/baseline_symbols.txt: Update to 3.4.0.
* config/abi/i386-linux-gnu/baseline_symbols.txt: New.
* config/abi/powerpc-linux-gnu/baseline_symbols.txt: New.
From-SVN: r86226
GCC Administrator [Thu, 19 Aug 2004 00:16:18 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r86224
James E Wilson [Thu, 19 Aug 2004 00:01:24 +0000 (00:01 +0000)]
Fix another mips typo.
* config/mips/mips.h (ASM_SPEC): In comment, change -meabi= to -mabi=.
From-SVN: r86219
James E Wilson [Wed, 18 Aug 2004 23:48:41 +0000 (23:48 +0000)]
Fix a simple typo.
* config/mips/sb1.md (ir_sb1_divsf_1pipe): Renamed from ...1pipes.
From-SVN: r86218
James E Wilson [Wed, 18 Aug 2004 23:45:32 +0000 (23:45 +0000)]
Add support for scheduling recip.fmt instructions.
* config/mips/mips.md (type): Add frdiv.
(divsf3+1, divsf3+2): Change type to frdiv.
* config/mips/sb1.md (ir_sb1_recipsf_2pipes, ir_sb1_recipsf_1pipe,
ir_sb1_recipdf_2pipes, ir_sb1_recipdf_1pipe): New.
* config/mips/3000.md (r3k_fdiv_single, r3k_fdiv_double): Add frdiv.
* config/mips/4300.md (r4300_fdiv_single, r4300_fdiv_double): Likewise.
* config/mips/4600.md (r4600_fdiv_single, f4600_fdiv_double): Likewise.
* config/mips/5000.md (r5k_fdiv_single): Likewise.
* config/mips/5400.md (ir_vr54_fdiv_sf, ir_vr54_fdiv_df): Likewise.
* config/mips/5500.md (ir_vr55_fdiv_sf, ir_vr55_fdiv_df): Likewise.
* config/mips/6000.md (r6k_fdiv_single, r6k_fdiv_double): Likewise.
* config/mips/7000.md (rm7_fp_divsqrt_df, rm7_fp_divsqrt_sf): Likewise.
* config/mips/9000.md (rm8k_fdivs, rm9k_fdivd): Likewise.
* config/mips/generic.md (generic_fdiv_single, generic_fdiv_double):
Likewise.
* config/mips/sr71k.md (ir_sr70_fdiv_sf, ir_sr70_fdiv_df): Likewise.
From-SVN: r86216
Robert Bowdidge [Wed, 18 Aug 2004 23:24:11 +0000 (16:24 -0700)]
config/rs6000/x-darwin: Remove XCFLAGS -mdynamic-no-pic to
get regression tester working again.
From-SVN: r86215
Zack Weinberg [Wed, 18 Aug 2004 22:41:53 +0000 (22:41 +0000)]
* Makefile.in (RTL_BASE_H): Update.
From-SVN: r86213
Zack Weinberg [Wed, 18 Aug 2004 22:31:03 +0000 (22:31 +0000)]
insn-notes.def, [...]: New files.
* insn-notes.def, reg-notes.def: New files.
* rtl.h: Use them to define enum insn_note and enum reg_note.
* rtl.c: Use them to define note_insn_name and reg_note_name.
* modulo-sched.c, sched-rgn.c, final.c: NOTE_DISABLE_SCHED_OF_BLOCK
renamed to NOTE_INSN_DISABLE_SCHED_OF_BLOCK.
From-SVN: r86212
Richard Earnshaw [Wed, 18 Aug 2004 22:23:57 +0000 (22:23 +0000)]
arm.c (arm_size_rtx_costs): New function.
* arm.c (arm_size_rtx_costs): New function.
(arm_override_options): Use it if optimizing for space.
From-SVN: r86211
Richard Henderson [Wed, 18 Aug 2004 21:08:35 +0000 (14:08 -0700)]
emit-rtl.c (gen_const_mem): New.
* emit-rtl.c (gen_const_mem): New.
* rtl.h (gen_const_mem): Declare.
* expr.c (do_tablejump): Use it.
* varasm.c (force_const_mem): Likewise.
* config/darwin.c (machopic_indirect_data_reference): Likewise.
(machopic_legitimize_pic_address): Likewise.
* config/arm/arm.c (legitimize_pic_address): Likewise.
* config/i386/i386.c (legitimize_pic_address): Likewise.
(legitimize_tls_address): Likewise.
* config/ia64/ia64.c (ia64_expand_tls_address): Likewise.
* config/ia64/ia64.md (load_fptr): Likewise.
* config/m32r/m32r.c (m32r_legitimize_pic_address): Likewise.
* config/pa/pa.c (legitimize_pic_address): Likewise.
* config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Likewise.
(rs6000_emit_move): Likewise.
* config/s390/s390.c (legitimize_pic_address): Likewise.
(legitimize_tls_address): Likewise.
* config/s390/s390.md (casesi): Likewise.
* config/sh/sh.c (sh_reorg): Likewise.
* config/sparc/sparc.c (legitimize_pic_address): Likewise.
* config/v850/v850.md (casesi): Likewise.
* config/darwin.c (machopic_indirect_call_target): Set MEM_NOTRAP_P.
* config/sh/sh.c (prepare_move_operands): Remove incorrect
use of MEM_READONLY_P.
From-SVN: r86207
Steven Bosscher [Wed, 18 Aug 2004 20:53:59 +0000 (20:53 +0000)]
Makefile.in (OBJS-common): Add postreload-gcse.c.
* Makefile.in (OBJS-common): Add postreload-gcse.c.
Add new postreload-gcse.o.
* cse.c (SAFE_HASH): Define as wrapper around safe_hash.
(lookup_as_function, insert, rehash_using_reg, use_related_value,
equiv_constant): Use SAFE_HASH instead of safe_hash.
(exp_equiv_p): Export. Add for_gcse argument when comparing
for GCSE.
(lookup, lookup_for_remove, merge_equiv_classes, find_best_addr,
find_comparison_args, fold_rtx, cse_insn): Update callers.
(hash_rtx): New function derived from old canon_hash and bits
from gcse.c hash_expr_1.
(canon_hash_string): Rename to hash_rtx_string.
(canon_hash, safe_hash): Make static inline. Call hash_rtx.
* cselib.c (hash_rtx): Rename to cselib_hash_rtx.
(cselib_lookup): Update this caller.
* gcse.c (modify_mem_list_set, canon_modify_mem_list_set):
Make static.
(hash_expr): Call hash_rtx.
(ldst_entry): Likewise.
(expr_equiv_p): Call exp_equiv_p.
(struct unoccr, hash_expr_1, hash_string_1, lookup_expr,
reg_used_on_edge, reg_set_between_after_reload_p,
reg_used_between_after_reload_p, get_avail_load_store_reg,
is_jump_table_basic_block, bb_has_well_behaved_predecessors,
get_bb_avail_insn, hash_scan_set_after_reload,
compute_hash_table_after_reload,
eliminate_partially_redundant_loads, gcse_after_reload,
get_bb_avail_insn, gcse_after_reload_main): Remove.
* postreload-gcse.c: New file, reincarnating most of the above.
* rtl.h (exp_equiv_p, hash_rtx): New prototypes.
(gcse_after_reload_main): Update prototype.
* timevar.def (TV_GCSE_AFTER_RELOAD): New timevar.
* passes.c (rest_of_handle_gcse2): Use it.
From-SVN: r86206
Diego Novillo [Wed, 18 Aug 2004 20:03:54 +0000 (20:03 +0000)]
tree-ssa-loop.c (pass_loop_init): Add TODO_dump_func.
* tree-ssa-loop.c (pass_loop_init): Add TODO_dump_func.
(pass_loop_done): Likewise.
From-SVN: r86205
Andrew Pinski [Wed, 18 Aug 2004 18:51:37 +0000 (18:51 +0000)]
darwin.md: Delete the altivec patterns which are handled differently now.
2004-08-18 Andrew Pinski <apinski@apple.com>
* config/rs6000/darwin.md: Delete the altivec patterns which are
handled differently now.
(load_macho_picbase_di): Make sure that is only happens for TARGET_64BIT
(macho_correct_pic_di): Likewise.
(call_indirect_nonlocal_darwin64): Likewise.
Delete the save world/saveFP/saveVec patterns.
Revert the reversion of: 2004-08-16 Stan Shebs <shebs@apple.com>
* config/darwin.c (macho_indirect_data_reference): Add DImode case.
* config/rs6000/rs6000.md: Include darwin.md.
(builtin_setjmp_receiver): Add DImode case.
* config/rs6000/rs6000.c (rs6000_emit_move): Add DImode case to
Darwin bits.
From-SVN: r86204
Matt Austern [Wed, 18 Aug 2004 18:41:01 +0000 (18:41 +0000)]
Dead code stripping
Dead code stripping
* darwin.h (EH_FRAME_SECTION_ATTR): Mark so it doesn't get stripped.
* darwin.c (darwin_file_end): Mark file as potentially strippable.
From-SVN: r86203
Richard Henderson [Wed, 18 Aug 2004 18:32:04 +0000 (11:32 -0700)]
alias.c (readonly_fields_p): Remove.
* alias.c (readonly_fields_p): Remove.
(objects_must_conflict_p): Don't call it.
* tree.h (readonly_fields_p): Remove.
* langhooks.h (struct lang_hooks): Remove honor_readonly.
* langhooks-def.h (LANG_HOOKS_HONOR_READONLY): Remove.
ada/
* misc.c (LANG_HOOKS_HONOR_READONLY): Remove.
From-SVN: r86200
Mark Mitchell [Wed, 18 Aug 2004 18:25:10 +0000 (18:25 +0000)]
re PR c++/17068 (ICE: tree check: expected class 'd', have 'x' (identifier_node) in dependent_template_p, at cp/pt.c:12043)
PR c++/17068
* pt.c (dependent_template_p): Treat IDENTIFIER_NODEs as
dependent.
PR c++/17068
* g++.dg/template/operator4.C: New test.
From-SVN: r86199
Diego Novillo [Wed, 18 Aug 2004 18:21:23 +0000 (18:21 +0000)]
tree-dfa.c (add_referenced_var): Only global variables are call-clobbered.
* tree-dfa.c (add_referenced_var): Only global variables are
call-clobbered.
* tree-flow.h (struct ptr_info_def): Add field pt_global_mem.
* tree-ssa-alias.c (compute_points_to_and_addr_escape): Mark
all pointers dereferenced if the statement dereferences them.
(create_name_tags): Do not create memory tags for pointers
that have PT_ANYTHING set.
Also check if PT_VARS is not empty before creating a name tag.
(compute_flow_sensitive_aliasing): Don't mark call-clobbered
variables that share the same alias set with a pointer that
may point anywhere.
(add_may_alias): Add FIXME comment to remove clobbering
aliased variables and tags.
(replace_may_alias): Likewise.
(set_pt_anything): Do not clear PT_VARS nor IS_DEREFERENCED.
(merge_pointed_to_info): If the original variable has not
points-to information, call set_pt_anything.
(add_pointed_to_var): Do not prevent adding a pointed-to
variable if the pointers is PT_ANYTHING.
If the variable is a global, set PT_GLOBAL_MEM.
(collect_points_to_info_r): Don't assume that PLUS_EXPRs of
pointer type only come in PTR+OFFSET flavours.
Always call merge_pointed_to_info on PHI arguments that are
SSA_NAMEs.
(get_nmt_for): Mark call-clobbered tags whose pointer points
to global memory.
* tree-ssa-operands.c (opf_kill_def, opf_no_vops): Switch
values.
(get_indirect_ref_operands): Always clear OPF_KILL_DEF from
FLAGS.
(add_stmt_operand): Abort if the caller tried to add a killing
definition for a memory tag.
* tree-ssa.c (verify_flow_sensitive_alias_info): Remove
unnecessary checks.
From-SVN: r86198
Bryce McKinlay [Wed, 18 Aug 2004 18:05:39 +0000 (18:05 +0000)]
re PR libgcj/17081 (Deserializing java.net.URI fails)
2004-08-18 Bryce McKinlay <mckinlay@redhat.com>
PR libgcj/17081
* java/net/URI.java (string): New field. Make all other fields
transient.
(readObject): Implemented.
(writeObject): Implemented.
(URI): Set 'string'.
From-SVN: r86197
Bryce McKinlay [Wed, 18 Aug 2004 17:57:03 +0000 (17:57 +0000)]
class.c (make_local_function_alias): New function.
2004-08-18 Bryce McKinlay <mckinlay@redhat.com>
* class.c (make_local_function_alias): New function. Create local
alias for public method DECL.
(make_method_value): Use make_local_function_alias.
* parse.y (craft_constructor): Don't special-case anonymous classes.
Always set ctor_name to init_identifier_node.
(lookup_method_invoke): Call layout_class_method when creating
anonymous class constructor.
From-SVN: r86196
J"orn Rennecke [Wed, 18 Aug 2004 17:44:28 +0000 (17:44 +0000)]
sh.h (CONDITIONAL_REGISTER_USAGE): Don't exclude fixed registers from call_used_regs.
* sh.h (CONDITIONAL_REGISTER_USAGE): Don't exclude fixed registers
from call_used_regs. Update call_really_used_regs.
(CALL_REALLY_USED_REGISTERS): Define.
* sh.c (output_stack_adjust, shmedia_target_regs_stack_space):
Replace call_used_regs with call_really_used_regs.
(calc_live_regs, sh_media_register_for_return): Likewise.
(sh5_schedule_saves, sh_expand_prologue, reg_unused_after): Likewise.
* sh.md (return_media): Likewise.
From-SVN: r86195
Andrew Pinski [Wed, 18 Aug 2004 17:28:40 +0000 (17:28 +0000)]
darwin.c (machopic_legitimize_pic_address): Only set MEM_READONLY_P in the non TARGET_TOC case.
2004-08-18 Andrew Pinski <apinski@apple.com>
* config/darwin.c (machopic_legitimize_pic_address): Only set MEM_READONLY_P
in the non TARGET_TOC case.
From-SVN: r86194
Zack Weinberg [Wed, 18 Aug 2004 17:05:14 +0000 (17:05 +0000)]
rtl.def (NIL): Delete.
* rtl.def (NIL): Delete.
* read-rtl.c (read_rtx): Handle (nil) like (define_constants).
Tighten the syntax a little.
* cfgloop.h, combine.c, cse.c, loop-iv.c, postreload.c, reload.c
* config/alpha/alpha.c, config/alpha/alpha.h, config/arc/arc.h
* config/arm/arm.h, config/frv/frv.h, config/i386/i386.c
* config/i386/predicates.md, config/m32r/m32r.h
* config/m68hc11/m68hc11.c, config/mcore/mcore.h, config/mips/mips.c
* config/mmix/mmix.c, config/pa/pa.h, config/sh/sh.h
* config/sparc/sparc.h, doc/tm.texi:
Replace all occurrences of NIL with UNKNOWN.
From-SVN: r86193
Zack Weinberg [Wed, 18 Aug 2004 16:39:40 +0000 (16:39 +0000)]
dojump.c (do_jump <unordered_bcc>): Do not recursively call self with a TRUTH_ORIF_EXPR...
* dojump.c (do_jump <unordered_bcc>): Do not recursively call
self with a TRUTH_ORIF_EXPR; generate the appropriate jump
sequence inline. Move drop_through_label code into this
block, being the only place it is used. Adjust comments.
From-SVN: r86192
Fariborz Jahanian [Wed, 18 Aug 2004 16:33:10 +0000 (16:33 +0000)]
save_world/rest_world for ppc-darwin.
Approved by Geoff Keating.
From-SVN: r86191
Caroline Tice [Wed, 18 Aug 2004 16:22:53 +0000 (09:22 -0700)]
Forgot to commit ChangeLog for rest of hot/cold partitioning update patch.
From-SVN: r86190
Caroline Tice [Wed, 18 Aug 2004 16:22:08 +0000 (09:22 -0700)]
Hot/cold partitioning update patch.
Hot/cold partitioning update patch. The problems that this patch
attemptd to address/fix are:
- Fix places where adding in_unlikely_executed_text to the enum data
type "in_section" threw off switch case statements.
- Make it work correctly (by turning it off) for functions where user
specifies "__attribute__ section"
- Make it work correctly (by turning it off) for linkonce sections
- Make it work correctly with -ffunction-sections flag
- Make it output correct cold section labels
- Undo some changes to original assembly code generation
- Turn off hot/cold partitioning in the presence of DWARF debugging (for
the moment)
- Turn off hot/cold partitioning for architectures that do not support
named sections
- Use variables rather than constants for cold section labels and names (to
work correctly with -ffunction-sections, among other things)
2004-08-18 Caroline Tice <ctice@apple.com>
* Makefile.in (STAGEFEEDBACK_FLAGS_TO_PASS) Add
"-freorder-blocks-and-partition" to the flags used in second
stage of profiledbootstrap.
* bb-reorder.c (push_to_next_round_p): Add new variable,
next_round_is_last; set and use variable to make sure, when
partitioning, that the last trace construction round consists
of all (and only) cold basic blocks.
(rotate_loop): Don't copy blocks that end in a section
crossing jump.
(copy_bb): Correctly initialize "partition" of duplicated bb.
(add_unlikely_executed_notes): Add a comment.
(find_rarely_executed_basic_blocks_and_crossing_edges): Modify
to make sure, if function contains hot blocks, that the
successors of ENTRY_BLOCK_PTR are hot; also, only look for
crossing edges if the architecture supports named sections.
(mark_bb_for_unlikely_executed_section): Modify to always
insert the NOTE_INSN_UNLIKELY_EXECUTED_CODE immediately after
the basic block note insn.
(fix_crossing_unconditional_branches): Remove extra space.
(fix_edges_for_rarely_executed_code): Modify to only do
partitioning work if the architecture supports named sections.
(reorder_basic_blocks): Modify to only add
NOTE_INSN_UNLIKELY_EXECUTED_CODE notes if the architecture
supports named sections.
* c-common.c (handle_section_attribute): Initialize new global
variable, user_defined_section_attribute, to true if user has
specified one.
* cfgcleanup.c (try_forward_edges): Modify to not attempt to
forward edges that cross section boundaries.
* cfglayout.c (fixup_reorder_chain): Modify to only fix up
partitioning information if the architecture supports named
sections.
* cfgrtl.c (target.h): Add statement to include this.
(rtl_split_block): Make sure newly created bb gets correct
partition.
(try_redirect_by_replacing_jump): Make sure redirection isn't
attempting to cross section boundaries.
(force_nonfallthru_and_redirect): Only do partition fix up if
architecture supports named sections.
(rtl_split_edge): Make sure newly created bb ends up in
correct partition.
(commit_one_edge_insertion): Remove code that incorrectly
updated basic block partition; Make sure partition fix up only
happens if architecture supports named sections and it's not
already done.
(rtl_verify_flow_info_1): Fix if-condition on test/error
condition that fallthru edges are not allowed to cross section
boundaries.
* defaults.h (NORMAL_TEXT_SECTION_NAME): Remove this.
* final.c (final_scan_insn): Remove redundant test from if-statement;
change calls to text_section into calls to function_section; add code
to only to partitioning fix up if architecture supports named
sections.
* ifcvt.c (find_if_case_1): Make sure newly created bb has correct
partition.
(if_convert): Add targetm.have_named_sections to test.
* output.h (unlikely_section_label): Extern declaration for new global
variable.
(unlikely_text_section_name): Likewise.
* opts.c (decode_options): If both partitioning and DWARF debugging
are turned on, issue a warning that this doesn't work, and change
partitiong to basic block reordering (without hot/cold partitions).
* passes.c (rest_of_handle_final): Re-set new global variable,
user_defined_section_attribute, to false.
(rest_of_compilation): Change options for calling partitioning
function: Don't call if the user defined the section attribute, and
don't call if DECL_ONE_ONLY is true for the current function.
* predict.c (choose_function_section): Return immediately if we
are doing hot/cold partitioning (i.e. let the basic block partitioning
determine where the function belongs).
* reg-stack.c (emit_swap_insn): Add condition to step over
NOTE_INSN_UNLIKELY_EXECUTED_CODE notes.
* toplev.c (user_defined_section_attribute): New global variable.
* toplev.h (user_defined_section_attribute): Extern declaration for new
global variable.
* varasm.c (unlikely_section_label): New global variable.
(unlikely_text_section_name): New global variable.
(unlikely_text_section): Add code to initialize unlikely_text_section_name
if necessary; modify to use unlikely_text_section_name and
unlikely_section_label; also to use named_section properly.
(in_unlikely_text_section): Modify to work correctly with named_section
and to use unlikely_text_section_name.
(named_section): Add code to work properly with cold section.
(function_section): Clean up if-statement.
* config/darwin.c (darwin_asm_named_section): Return to original code,
removing use of SECTION_FORMAT_STRING.
* config/arm/pe.h (switch_to_section): Add case for
in_unlikely_executed_text to switch statement.
* config/i386/cygming.h (switch_to_section): Likewise.
* config/i386/darwin.h (NORMAL_TEXT_SECTION_NAME): Remove.
(SECTION_FORMAT_STRING): Likewise.
* config/mcore/mcore.h (switch_to_section): Likewise.
* config/rs6000/darwin.h (NORMAL_TEXT_SECTION_NAME): Remove.
From-SVN: r86189
Bryce McKinlay [Wed, 18 Aug 2004 15:51:47 +0000 (15:51 +0000)]
re PR libgcj/17079 ([PATCH] Log messages whose logging level is equal to the threshold discarded by java.util.logging.Handler)
2004-08-18 Bryce McKinlay <mckinlay@redhat.com>
PR libgcj/17079
* java/util/logging/Handler.java (isLoggable): Accept record if its
log level equals the threshold level. From Robin Green.
From-SVN: r86187
David Daney [Wed, 18 Aug 2004 15:12:32 +0000 (15:12 +0000)]
natPosixProcess.cc (waitForSignal): Use sigsuspend instead of sigwait.
2004-08-18 David Daney <ddaney@avtrex.com>
* java/lang/natPosixProcess.cc (waitForSignal): Use sigsuspend
instead of sigwait.
From-SVN: r86186
Roger Sayle [Wed, 18 Aug 2004 15:07:55 +0000 (15:07 +0000)]
i386.h (FIXED_REGISTERS): Update encoding to be -ffixed-reg safe, by preserving the meanings of zero and one.
* config/i386/i386.h (FIXED_REGISTERS): Update encoding to be
-ffixed-reg safe, by preserving the meanings of zero and one.
(CALL_USED_REGISTERS): Likewise.
(CONDITIONAL_REGISTER_USAGE): Update to process new encodings.
From-SVN: r86185
Paul Brook [Wed, 18 Aug 2004 13:08:08 +0000 (13:08 +0000)]
* trans-types.c (gfc_sym_type): Use pointer types for optional args.
From-SVN: r86182
Kaz Kojima [Wed, 18 Aug 2004 12:24:16 +0000 (12:24 +0000)]
sh.c (split_branches): Check the result of next_active_insn.
* config/sh/sh.c (split_branches): Check the result of
next_active_insn.
(sh_output_mi_thunk): Call init_flow if basic_block_info is null.
Call rtl_register_cfg_hooks.
From-SVN: r86181
Dorit Nuzman [Wed, 18 Aug 2004 11:09:36 +0000 (11:09 +0000)]
Part of the vectorizer patch that was accidently left out...:
* config/i386/i386.h (UNITS_PER_SIMD_WORD): Define.
* config/rs6000/rs6000.h (UNITS_PER_SIMD_WORD): Define.
From-SVN: r86180
Richard Henderson [Wed, 18 Aug 2004 08:25:01 +0000 (01:25 -0700)]
rtl.h (MEM_READONLY_P): Replace RTX_UNCHANGING_P.
* rtl.h (MEM_READONLY_P): Replace RTX_UNCHANGING_P.
* alias.c (true_dependence): Update to match new semantics.
(canon_true_dependence, write_dependence_p): Likewise.
(anti_dependence, output_dependence): Update write_dependence_p args.
(unchanging_anti_dependence): Remove.
* calls.c (purge_mem_unchanging_flag): Remove.
(fixup_tail_calls): Don't call it.
(expand_call): Don't add unchanging memory to function usage.
* expr.c (emit_block_move_via_libcall): Likewise.
(clear_storage_via_libcall): Don't clobber RTX_UNCHANGING_P mems.
(get_subtarget): Don't use RTX_UNCHANGING_P.
(expand_assignment, store_constructor, expand_expr_real_1): Likewise.
(do_tablejump): Set MEM_READONLY_P, not RTX_UNCHANGING_P.
* combine.c (get_last_value_validate): Use MEM_READONLY_P.
* cse.c (insert): Don't use RTX_UNCHANGING_P.
(cse_insn, canon_hash): Use MEM_READONLY_P.
* emit-rtl.c (set_mem_attributes_minus_bitpos): Use MEM_READONLY_P
instead of RTX_UNCHANGING_P.
* explow.c (maybe_set_unchanging): Remove.
* expr.h (maybe_set_unchanging): Remove.
* flow.c (insn_dead_p, mark_used_regs): Use anti_dependence.
* function.c (assign_stack_temp_for_type): Don't use RTX_UNCHANGING_P.
(assign_parm_setup_reg, expand_function_start): Likewise.
* integrate.c (copy_rtx_and_substitute): Likewise.
* ra-rewrite.c (emit_colors): Likewise.
* regmove.c (copy_src_to_dest, regmove_optimize): Likewise.
(fixup_match_1): Likewise.
* reload1.c (reload, alter_reg): Likewise.
* local-alloc.c (validate_equiv_mem): Check MEM_READONLY_P,
not RTX_UNCHANGING_P.
(equiv_init_varies_p): Likewise.
* loop-invariant.c (check_maybe_invariant): Likewise.
* resource.c (mark_referenced_resources, mark_set_resources): Likewise.
* loop.c (note_addr_stored): Likewise.
(prescan_loop): Likewise. Don't check function usage for clobbered
unchanging memory.
* rtlanal.c (rtx_unstable_p): Check MEM_READONLY_P,
not RTX_UNCHANGING_P.
(rtx_varies_p, modified_between_p, modified_in_p): Likewise.
* varasm.c (force_const_mem): Likewise.
* stmt.c (expand_decl): Don't set RTX_UNCHANGING_P.
* web.c (entry_register): Likewise.
* tree-gimple.h (get_base_address): Move decl ...
* tree.h: ... here.
* doc/rtl.texi (MEM_READONLY_P): Replace RTX_UNCHANGING_P.
* config/alpha/alpha.c (alpha_set_memflags_1): Rewrite to be
called via for_each_rtx. Copy MEM_SCALAR_P, MEM_NOTRAP_P too.
(alpha_set_memflags): Update to match.
* config/darwin.c (machopic_indirect_data_reference): Set
MEM_READONLY_P instead of RTX_UNCHANGING_P.
(machopic_indirect_call_target): Likewise.
(machopic_legitimize_pic_address): Likewise.
* config/arm/arm.c (legitimize_pic_address, arm_gen_load_multiple,
arm_gen_store_multiple, arm_gen_movmemqi): Likewise.
* config/arm/arm.md (load_multiple, store_multiple): Likewise.
* config/frv/frv.md (symGOT2reg): Likewise.
* config/i386/i386.c (legitimize_pic_address,
legitimize_tls_address, ix86_split_to_parts): Likewise.
* config/ia64/ia64.c (ia64_expand_tls_address): Likewise.
* config/ia64/ia64.md (load_fptr): Likewise.
* config/m32r/m32r.c (m32r_legitimize_pic_address): Likewise.
* config/m68k/m68k.c (legitimize_pic_address): Likewise.
* config/mcore/mcore.c (block_move_sequence): Likewise.
* config/mn10300/mn10300.md (symGOT2reg): Likewise.
* config/pa/pa.c (legitimize_pic_address): Likewise.
* config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Likewise.
(rs6000_emit_move): Likewise.
* config/s390/s390.c (legitimize_pic_address): Likewise.
(legitimize_tls_address): Likewise.
* config/s390/s390.md (casesi): Likewise.
* config/sh/sh.c (prepare_move_operands, sh_reorg): Likewise.
* config/sh/sh.md (symGOT2reg): Likewise.
* config/sparc/sparc.c (legitimize_pic_address): Likewise.
* config/v850/v850.md (casesi): Likewise.
* config/ia64/ia64.c (gen_thread_pointer): Don't set RTX_UNCHANGING_P.
* config/iq2000/iq2000.c (save_restore_insns): Likewise.
* config/mips/mips.c (mips_restore_gp): Likewise.
(mips_save_restore_reg, mips16_gp_pseudo_reg): Likewise.
* config/sh/sh.c (sh_reorg): Likewise.
From-SVN: r86178
Richard Henderson [Wed, 18 Aug 2004 07:46:33 +0000 (00:46 -0700)]
tree.h (struct tree_decl): Add gimple_formal_temp.
* tree.h (struct tree_decl): Add gimple_formal_temp.
(DECL_GIMPLE_FORMAL_TEMP_P): New.
* gimplify.c (pop_gimplify_context): Clear it.
(lookup_tmp_var): Set it, if is_formal.
(gimplify_init_constructor): Use rhs_predicate_for for COMPLEX.
Use is_gimple_val for VECTOR. Simplify return value.
(gimplify_save_expr): Use and set DECL_GIMPLE_FORMAL_TEMP_P.
(gimplify_expr): Likewise.
* tree-gimple.c (is_gimple_formal_tmp_rhs): Rename from
is_gimple_tmp_rhs for clarity. Update all callers.
(is_gimple_reg_rhs): Simplify logic.
(is_gimple_formal_tmp_var): Rename from is_gimple_tmp_var for
clarity; use DECL_GIMPLE_FORMAL_TEMP_P.
(is_gimple_formal_tmp_reg): Similarly.
* tree-gimple.h: Update decls.
* tree-ssa-copyrename.c (copy_rename_partition_coalesce): Use
DECL_IGNORED_P, not DECL_ARTIFICIAL. Tidy formatting.
* tree-ssa-live.c (var_union, type_var_init): Likewise.
java/
* java-gimplify.c (java_gimplify_expr): Move '2' handling into
default case. Treat '<' similarly. Update for
is_gimple_formal_tmp_var name change.
testsuite/
* gcc.dg/
20040206-1.c: XFAIL.
From-SVN: r86176
Paolo Bonzini [Wed, 18 Aug 2004 07:12:19 +0000 (07:12 +0000)]
c4x.c (legitimize_operands): Remove calls to preserve_subexpressions_p.
2004-04-18 Paolo Bonzini <bonzini@gnu.org>
* config/c4x/c4x.c (legitimize_operands): Remove calls to
preserve_subexpressions_p.
From-SVN: r86175
Ian Lance Taylor [Wed, 18 Aug 2004 03:41:56 +0000 (03:41 +0000)]
Split ChangeLog
From-SVN: r86172
Mark Mitchell [Wed, 18 Aug 2004 02:55:14 +0000 (02:55 +0000)]
re PR c++/16246 (Incorrect template argument deduction)
PR c++/16246
* pt.c (unify): Tidy ARRAY_TYPE handling. Make sure that non-type
arguments have the same type as the corresponding parameter.
PR c++/16246
* g++.dg/template/array7.C: New test.
From-SVN: r86169
David Edelsohn [Wed, 18 Aug 2004 02:27:18 +0000 (02:27 +0000)]
varasm.c (MAX_OFILE_ALIGNMENT): Move ...
* varasm.c (MAX_OFILE_ALIGNMENT): Move ...
* defaults.h (MAX_OFILE_ALIGNMENT): ... here.
From-SVN: r86168
Ziemowit Laski [Wed, 18 Aug 2004 01:58:13 +0000 (01:58 +0000)]
gcc.c (default_compilers): Add info about ".mm", ".M" and ".mii" Objective-C++ extensions.
[gcc/ChangeLog]
2004-08-18 Ziemowit Laski <zlaski@apple.com>
* gcc.c (default_compilers): Add info about ".mm", ".M" and ".mii"
Objective-C++ extensions.
* gengtype.c (get_file_basename): Match entire subdirectory name
('cp', 'objc', 'objcp') rather than just its suffix.
(get_base_file_bitmap): Allow for files to belong to more than one
language.
(get_output_file_with_visibility): Treat objc/objc-act.h as a header
used by more than one front-end.
From-SVN: r86167
Victor Leikehman [Wed, 18 Aug 2004 01:20:06 +0000 (01:20 +0000)]
re PR fortran/13278 (derived type namelist I/O support missing, causes ICE)
2004-08-18 Victor Leikehman <lei@il.ibm.com>
PR fortran/13278
* trans-io.c (transfer_namelist_element): New. Recursively handle
derived-type variables. Pass string lengths.
(build_dt): Code moved to build_namelist, with some
changes and additions.
(gfc_build_io_library_fndecls): Declare the fifth
argument in st_set_nml_var_char -- string_length.
libgfortran/
* io/transfer.c (st_set_nml_var)
* io/write.c (namelist_write): Allow var_name and var_name_len to be
null. For strings, use string_length field instead of len.
* io/io.h (struct namelist_type): New field string_length.
(st_set_nml_var_char): New argument string_length.
From-SVN: r86166
Mark Mitchell [Wed, 18 Aug 2004 00:58:52 +0000 (00:58 +0000)]
re PR c++/16215 (Bad error message when requesting member of non-aggregate type)
PR c++/16215
* parser.c (cp_parser_name_lookup_error): If parser->object_scope
is set use it for diagnostic purposes.
(cp_parser_pseudo_destructor_name): Remove special-case error
message.
From-SVN: r86165
GCC Administrator [Wed, 18 Aug 2004 00:16:20 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r86163
Richard Earnshaw [Tue, 17 Aug 2004 23:38:53 +0000 (23:38 +0000)]
arm.md (addsi3, [...]): Rework to avoid use of preserve_subexpressions_p.
* arm.md (addsi3, subsi3, andsi3, iorsi3, movsi, movhi): Rework to
avoid use of preserve_subexpressions_p.
From-SVN: r86159
Richard Henderson [Tue, 17 Aug 2004 23:33:46 +0000 (16:33 -0700)]
re PR tree-optimization/17051 (ICE: internal compiler error: verify_ssa failed.for SSA_NAME: l_addr<D8610>_650)
PR 17051
* tree-sra.c (scalarize_use): Mark all v_defs for !is_output too.
From-SVN: r86158
Paolo Carlini [Tue, 17 Aug 2004 22:58:55 +0000 (22:58 +0000)]
baseline_symbols.txt: Update to 3.4.0.
2004-08-17 Paolo Carlini <pcarlini@suse.de>
* config/abi/alpha-linux-gnu/baseline_symbols.txt: Update to 3.4.0.
From-SVN: r86155
DJ Delorie [Tue, 17 Aug 2004 22:51:28 +0000 (18:51 -0400)]
extend.texi: Document new xstormy16 attribute.
* doc/extend.texi: Document new xstormy16 attribute.
* config/stormy16/stormy16.c (xstormy16_splittable_below100_operand): New.
(xstormy16_splittable_below100_or_register): New.
(combine_bnp): New.
(xstormy16_reorg): New.
(TARGET_MACHINE_DEPENDENT_REORG): Define.
* config/stormy16/stormy16.md (movqi_internal): Make name public.
(movhi_internal): Likewise.
(cbhranchhi): Likewise.
(cbhranchhi_neg): Likewise.
(andhi3): Only allow splittable below100 operands.
(iorhi3): Likewise.
(peephole2): New and/zero_extend->and peephole.
(peephole2): New load/ior/save->set1 peephole.
(peephole2): New load/and/save->clr1 peephole.
(bclrx, bclrx2, bclr7, bclr15): New.
(bsetx, bsetx2, bset7, bset15): New.
* config/stormy16/stormy16.c (xstormy16_print_operand): Be more
liberal about acceptable 'B' masks.
* config/stormy16/stormy16-protos.h
(xstormy16_asm_output_aligned_common, xstormy16_below100_symbol,
xstormy16_below100_operand, xstormy16_below100_or_register,
xstormy16_onebit_set_operand, xstormy16_onebit_clr_operand): New.
(PREDICATE_CODES): Add new predicates.
* config/stormy16/stormy16.c
(xstormy16_asm_output_aligned_common, xstormy16_below100_symbol,
xstormy16_below100_operand, xstormy16_below100_or_register,
xstormy16_onebit_set_operand, xstormy16_onebit_clr_operand): New.
(xstormy16_expand_iorqi3, xstormy16_expand_andqi3): New.
(xstormy16_legitimate_address_p): Allow below100 symbols.
(xstormy16_extra_constraint_p): Add 'W' for below100 operands.
(xstormy16_expand_move): Leave below100 operands as-is.
(xstormy16_encode_section_info): Encode below100 symbols.
(xstormy16_strip_name_encoding): New.
(xstormy16_print_operand): Print 'b' as shift mask.
(xstormy16_attribute_table): Add below100 attributes.
(xstormy16_handle_below100_attribute): New.
* config/stormy16/stormy16.h (EXTRA_SECTIONS): add in_bss100.
(XSTORMY16_SECTION_FUNCTION): New.
(EXTRA_SECTION_FUNCTIONS): Define using the above.
(ASM_OUTPUT_ALIGNED_DECL_COMMON, ASM_OUTPUT_ALIGNED_DECL_LOCAL): New.
(ASM_OUTPUT_SYMBOL_REF): Handle encoded symbols.
(ASM_OUTPUT_LABELREF): Define.
* config/stormy16/stormy16.md (movqi_internal): Add below100 support.
(movhi_internal): Add below100 support.
(andhi3): Add below100 support.
(iorhi3): Add below100 support.
(iorqi3, iorqi3_internal, andqi3, andqi3_internal): New.
From-SVN: r86154
Robert Millan [Tue, 17 Aug 2004 22:06:46 +0000 (22:06 +0000)]
Patch from Robert Millan for kfreebsd-gnu/knetbsd-gnu.
* configure.in: In noconfigdirs check, match GNU/k*BSD with GNU/Linux
(instead of FreeBSD).
* configure: Regenerate.
From-SVN: r86151
Jim Wilson [Tue, 17 Aug 2004 21:56:20 +0000 (14:56 -0700)]
Add missing -fno-fast-math.
From-SVN: r86150
David Edelsohn [Tue, 17 Aug 2004 21:55:58 +0000 (21:55 +0000)]
* config/darwin.c (macho_indirect_data_reference): Add DImode case.
From-SVN: r86149
James E Wilson [Tue, 17 Aug 2004 21:46:40 +0000 (21:46 +0000)]
Canonicalize mips nmadd/nmsub patterns.
* config/mips/mips.md: Add canonical nmadd and nmsub patterns for both
normal and -ffast-math code.
From-SVN: r86148
James E Wilson [Tue, 17 Aug 2004 21:42:44 +0000 (21:42 +0000)]
Testcases for canonical mips nmadd/nmsub patterns with or w/o fast-math.
* gcc.dg/mips-nmadd-1.c: New test.
* gcc.dg/mips-nmadd-2.c: New test.
From-SVN: r86147
James E Wilson [Tue, 17 Aug 2004 21:19:49 +0000 (21:19 +0000)]
Testcases for mips conditional move patterns.
* gcc.dg/mips-movcc-1.c: New test.
* gcc.dg/mips-movcc-2.c: New test.
* gcc.dg/mips-movcc-3.c: New test.
From-SVN: r86146
James E Wilson [Tue, 17 Aug 2004 21:18:42 +0000 (21:18 +0000)]
Canonicalize mips conditional move patterns.
* config/mips/mips.c (gen_conditional_move): Use GET_MODE (op0) instead
of VOIDmode for comparison code mode.
* config/mips/mips.md: For conditional move patterns, use mode of
first compare operand for comparison mode, instead of VOIDmode.
From-SVN: r86145
Mark Mitchell [Tue, 17 Aug 2004 20:56:25 +0000 (20:56 +0000)]
re PR c++/15871 (g++ does not honour -fkeep-inline-functions)
PR c++/15871
* semantics.c (expand_or_defer_fn): Honor -fkeep-inline-functions.
PR c++/15871
* doc/invoke.texi (-fkeep-inline-functions): Update documentation.
PR c++/15871
* g++.dg/opt/inline8.C: New test.
From-SVN: r86144
Paolo Carlini [Tue, 17 Aug 2004 20:25:55 +0000 (20:25 +0000)]
baseline_symbols.txt: Update to 3.4.0.
2004-08-17 Paolo Carlini <pcarlini@suse.de>
* config/abi/ia64-linux-gnu/baseline_symbols.txt: Update to 3.4.0.
From-SVN: r86142
Robert Bowdidge [Tue, 17 Aug 2004 20:02:46 +0000 (13:02 -0700)]
Add -mdynamic-no-pic to compile flags for gcc. On Mac OS X and Darwin,
the compiler generates position-independent-code by default. This allows
an object file to be used for a dylib or executable without any thought
on the developer's part, but generates less-efficient code. Setting this
flag on gcc speeds compiles by 3-5%.
* config/rs6000/x-darwin: Add -mdynamic-no-pic to gcc build flags.
From-SVN: r86141