Kyle Galloway [Wed, 7 Feb 2007 23:28:04 +0000 (23:28 +0000)]
jvmti.cc (CHECK_FOR_NATIVE_METHOD): New macro.
2007-02-07 Kyle Galloway <kgallowa@redhat.com>
* jvmti.cc (CHECK_FOR_NATIVE_METHOD): New macro.
(_Jv_JVMTI_GetMaxLocals): New method.
* include/java-interp.h
(_Jv_InterpMethod::get_max_locals): New method.
Tom Tromey [Wed, 7 Feb 2007 22:02:40 +0000 (22:02 +0000)]
init.c: New file.
* testsuite/libjava.jni/init.c: New file.
* testsuite/libjava.jni/init.java: New file.
* testsuite/libjava.jni/init.out: New file.
* testsuite/libjava.jni/init.jar: New file.
* testsuite/libjava.jni/init.h: New file.
* testsuite/libjava.jni/init$NativeClass.h: New file.
Chris Burdess [Wed, 7 Feb 2007 18:22:26 +0000 (18:22 +0000)]
re PR classpath/30718 (TransformerException in XSLURIResolver)
2007-02-07 Chris Burdess <dog@gnu.org>
Fixes PR 30718.
* gnu/xml/dom/ls/SAXEventSink.java: Add public accessor/mutators.
* gnu/xml/transform/XSLURIResolver.java: Add support for custom
SAXSources without a backing URL or stream.
Fixes PR 27710.
* gnu/xml/dom/DomDocumentBuilderFactory.java: Fall back to synchronous
LSParser if implementation does not support asynchronous.
* gnu/xml/stream/XMLParser.java,
gnu/xml/stream/XIncludeFilter.java: Use custom code instead of
java.net.URL to resolve to an an absolute URI, to avoid nonexistent
protocol handler problems.
Jakub Jelinek [Wed, 7 Feb 2007 12:16:22 +0000 (13:16 +0100)]
re PR c++/30703 (ICE Segmentation fault on using OpenMP)
PR c++/30703
* gimplify.c (gimplify_scan_omp_clauses): Remove special casing
of INDIRECT_REF <RESULT_DECL>.
* cp-gimplify.c (cp_genericize_r): Don't dereference invisiref
parameters and result decls in omp clauses.
(cxx_omp_privatize_by_reference): Pass also invisiref PARM_DECLs
by reference.
1.cc: Use only 10000 iterations for simulator targets.
* testsuite/27_io/basic_stringbuf/overflow/char/1.cc: Use only
10000 iterations for simulator targets.
* testsuite/ext/pb_ds/regression/tree_data_map_rand.cc: Use only 5
iterations for simulator targets.
* testsuite/ext/pb_ds/regression/tree_no_data_map_rand.cc: Ditto.
* testsuite/ext/pb_ds/regression/trie_data_map_rand.cc: Ditto.
* testsuite/ext/pb_ds/regression/trie_no_data_map_rand.cc: Ditto.
* testsuite/ext/pb_ds/regression/hash_no_data_map_rand.cc: Ditto.
* testsuite/ext/pb_ds/regression/hash_data_map_rand.cc: Ditto.
* testsuite/ext/pb_ds/regression/priority_queue_rand.cc: Ditto.
* testsuite/23_containers/set/modifiers/16728.cc: Use only 10
iterations for simulator targets.
Andreas Krebbel [Wed, 7 Feb 2007 09:54:47 +0000 (09:54 +0000)]
raise-gcc.c (get_region_description_for, [...]): Replaced _Unwind_Word with _uleb128_t and _Unwind_SWord with _sleb128_t.
2007-02-07 Andreas Krebbel <krebbel1@de.ibm.com>
* raise-gcc.c (get_region_description_for, get_call_site_action_for,
get_action_description_for): Replaced _Unwind_Word with _uleb128_t
and _Unwind_SWord with _sleb128_t.
Zdenek Dvorak [Tue, 6 Feb 2007 21:49:49 +0000 (22:49 +0100)]
loop.texi: Document possibility not to perform disambiguation of loops with multiple latches.
* doc/loop.texi: Document possibility not to perform disambiguation
of loops with multiple latches.
* cfgloopmanip.c (alp_enum_p): Removed.
(add_loop): Handle subloops. Use get_loop_body_with_size.
(create_preheader): Do not allow ENTRY_BLOCK_PTR to be preheader.
* cfghooks.c (redirect_edge_and_branch_force): Set dominator for
the new forwarder block.
(make_forwarder_block): Only call new_bb_cbk if it is not NULL.
Handle the case latch is NULL.
* tree-ssa-dom.c (tree_ssa_dominator_optimize): Avoid cfg modifications
when marking loop exits.
* ifcvt.c (if_convert): Ditto. Mark loop exits even if cfg cannot
be modified.
* loop-init.c (loop_optimizer_init): Do not modify cfg. Call
disambiguate_loops_with_multiple_latches.
* tree-cfgcleanup.c (cleanup_tree_cfg_loop): Calculate dominators
before fix_loop_structure.
* cfgloop.c: Include pointer-set.h and output.h.
(canonicalize_loop_headers, HEADER_BLOCK, LATCH_EDGE,
update_latch_info, mfb_keep_just, mfb_keep_nonlatch): Removed.
(get_loop_latch_edges, find_subloop_latch_edge_by_profile,
find_subloop_latch_edge_by_ivs, find_subloop_latch_edge,
mfb_redirect_edges_in_set, form_subloop, merge_latch_edges,
disambiguate_multiple_latches, get_loop_body_with_size,
disambiguate_loops_with_multiple_latches): New functions.
(flow_loop_dump): Dump multiple latch edges.
(flow_loop_nodes_find): Handle loops with multiple latches.
(flow_loops_find): Ditto. Do not call canonicalize_loop_headers.
(glb_enum_p): Modified.
(get_loop_body): Use get_loop_body_with_size.
* cfgloop.h (LOOPS_HAVE_RECORDED_EXITS): New flag.
(AVOID_CFG_MODIFICATIONS): New constant.
(disambiguate_loops_with_multiple_latches, add_loop,
get_loop_body_with_size): Declare.
* Makefile.in (cfgloop.o): Add pointer-set.h and output.h.
* tree-ssa-loop-ivopts.c: Include pointer-set.h.
(struct ivopts_data): Change niters to pointer_map_t.
(struct nfe_cache_elt, nfe_hash, nfe_eq): Delete.
(niter_for_exit): Create pointer_map on demand. Change for
pointer_map API.
(tree_ssa_iv_optimize_init): Initialize data->niters to NULL.
(free_loop_data): Destroy data->niters if created and reset field.
(tree_ssa_iv_optimize_finalize): Don't delete data->niters here.
(tree_ssa_iv_optimize_loop): Check for presence of stale data.
* tree-ssa-reassoc.c: Include pointer-set.h.
(bb_rank): Change to long *.
(operand_rank): Change to pointer_map_t.
(find_operand_rank): Return long, -1 if not found. Declare as inline.
(insert_operand_rank): Accept long.
(operand_entry_hash, operand_entry_eq): Remove.
(get_rank): Return long. Adjust for changes above.
(init_reassoc): Change rank type to long. Adjust creation of bb_rank
and operand_rank.
(fini_reassoc): Delete operand_rank with pointer_map_destroy.
* tree-ssa-structalias.c (vi_for_tree): Change to pointer_map.
(struct tree_vi, tree_vi_t, tree_vi_hash, tree_vi_eq): Delete.
(insert_vi_for_tree): Rewrite for pointer_map API. Assert argument
is not NULL.
(lookup_vi_for_tree): Rewrite for pointer_map API. Return varinfo_t
directly since it cannot be NULL.
(get_vi_for_tree): Rewrite for pointer_map API.
(find_what_p_points_to): Adjust for change to lookup_vi_for_tree.
(init_alias_vars): Create vi_for_tree as pointer_map.
(delete_points_to_sets): Delete vi_for_tree using pointer_map_destroy.
* tree-cfg.c: Don't include hashtab.h.
(edge_to_cases): Declare as pointer_map.
(struct edge_to_cases_elt, edge_to_cases_hash, edge_to_cases_eq):
Delete.
(edge_to_cases_cleanup): Rewrite as pointer_map_traverse callback.
(start_recording_case_labels): Create edge_to_cases as pointer_map.
(end_recoding_case_labels): Cleanup edge_to_cases manually before
destroying it.
(record_switch_edge): Delete.
(get_cases_for_edge): Adjust for pointer_map API, inline
record_switch_edge (rewritten for new API), remove goto.
Paolo Bonzini [Tue, 6 Feb 2007 13:55:01 +0000 (13:55 +0000)]
tree.c (tree_int_map_hash, [...]): Remove prototypes and make them non-static.
gcc:
2007-02-06 Paolo Bonzini <bonzini@gnu.org>
* tree.c (tree_int_map_hash, tree_int_map_eq, tree_int_map_marked_p):
Remove prototypes and make them non-static.
(struct tree_int_map): Remove.
* tree.h (struct tree_int_map): Move here, turning TO into an
unsigned int.
(tree_int_map_hash, tree_int_map_eq, tree_int_map_marked_p): Declare.
* tree.h (TREE_COMPLEXITY): Remove.
(struct tree_exp): Remove complexity field.
* tree.c (build1_stat): Don't set it.
gcc/ada:
2007-02-06 Paolo Bonzini <bonzini@gnu.org>
* Make-lang.in (ada/decl.o): Add gt-ada-decl.h dependency.
* decl.c: Include gt-ada-decl.h.
(annotate_value_cache): New.
(annotate_value): Use it instead of TREE_COMPLEXITY.
Dorit Nuzman [Tue, 6 Feb 2007 10:08:51 +0000 (10:08 +0000)]
tree-vectorizer.c (vect_is_simple_use): Support induction.
2007-02-06 Dorit Nuzman <dorit@il.ibm.com>
Victor Kaplansky <victork@il.ibm.com>
* tree-vectorizer.c (vect_is_simple_use): Support induction.
(vect_is_simple_reduction): Support reduction with induction as
one of the operands.
(vect_is_simple_iv_evolution): Fix formatting.
* tree-vect-analyze.c (vect_mark_stmts_to_be_vectorized): Fix
formatting. Don't mark induction phis for vectorization.
(vect_analyze_scalar_cycles): Analyze all inductions, then reductions.
* tree-vect-transform.c (get_initial_def_for_induction): New function.
(vect_get_vec_def_for_operand): Support induction.
(vect_get_vec_def_for_stmt_copy): Fix formatting and add check for
induction case.
(vectorizable_reduction): Support reduction with induction as one of
the operands.
(vectorizable_type_demotion): Use def-type of stmt argument rather
than dummy def-type.
* tree-ssa-loop.c (gate_scev_const_prop): Return the value of
flag_tree_scev_cprop.
* common.opt (tree-scev-cprop): New flag.
* tree-vect-transform.c (vect_create_destination_var): Use 'kind' in
call to vect_get_new_vect_var.
Co-Authored-By: Victor Kaplansky <victork@il.ibm.com>
From-SVN: r121643
Alexandre Oliva [Tue, 6 Feb 2007 01:35:10 +0000 (01:35 +0000)]
re PR debug/30189 (ICE on modified_type_die)
gcc/ChangeLog:
PR debug/30189
* dwarf2out.c (modified_type_die): Follow DECL_ORIGINAL_TYPE
even if cv-qualification is the same.
gcc/testsuite/ChangeLog:
PR debug/30189
* gcc.dg/pr30189.c: New test.
re PR target/30665 (peephole2 misapplied on postinc mem)
PR target/30665
* config/cris/cris.md ("*andsi_movu", "*andsi_clear", "*andhi_movu")
("*andhi_clear", andu (casesi+45)): For size-changed operand where
memory is allowed, require !side_effects_p, not just !MEM_VOLATILE_P.
cris.md ("*andsi_movu", [...]): For size-changed operand where memory is allowed...
* config/cris/cris.md ("*andsi_movu", "*andsi_clear", "*andhi_movu")
("*andhi_clear", andu (casesi+45)): For size-changed operand where
memory is allowed, require !side_effects_p, not just !MEM_VOLATILE_P.
Roger Sayle [Mon, 5 Feb 2007 19:10:44 +0000 (19:10 +0000)]
fold-const.c (fold_unary): Test for availability of BUILT_IN_COS before simplifying REAL_PART(CEXPI)) to COS.
* fold-const.c (fold_unary) <REAL_PART>: Test for availability of
BUILT_IN_COS before simplifying REAL_PART(CEXPI)) to COS.
<IMAG_PART>: Likewise, check for availability of BUILT_IN_SIN.
* builtins.c (fold_builtin_sincos): Check for TARGET_C99_FUNCTIONS
before canonicalizing sincos to cexpi.
(fold_builtin_cexp): Likewise, for canonicalizing cexp to cexpi.
Roman Zippel [Mon, 5 Feb 2007 18:18:11 +0000 (18:18 +0000)]
gcconfig.h: use LINUX_STACKBOTTOM so it works with Linux 2.6, reactivate MPROTECT_VDB
2007-02-05 Roman Zippel <zippel@linux-m68k.org>
* boehm-gc/include/private/gcconfig.h: use LINUX_STACKBOTTOM so
it works with Linux 2.6, reactivate MPROTECT_VDB
* boehm-gc/pthread_stop_world.c: save all register
on signal entry
Roger Sayle [Mon, 5 Feb 2007 16:39:58 +0000 (16:39 +0000)]
alpha.c (alpha_add_builtins): New Helper function.
* config/alpha/alpha.c (alpha_add_builtins): New Helper function.
Set TREE_READONLY and TREE_NOTHROW directly, not via attributes.
(alpha_init_builtins): Use alpha_add_builtins to process tables.
Roger Sayle [Mon, 5 Feb 2007 16:04:14 +0000 (16:04 +0000)]
Makefile.in: Make libgcc_s.so depend on libunwind.so.
* Makefile.in <LIBUNWIND>: Make libgcc_s.so depend on libunwind.so.
(libgcc_s.so): Append -B./ to CFLAGS for $(SHLIB_LINK).
(libunwind.so): Likewise for $(SHLIBUNWIND_LINK).
Co-Authored-By: Daniel Jacobowitz <dan@codesourcery.com>
From-SVN: r121601
tm.texi (DWARF_ALT_FRAME_RETURN_COLUMN): Do not require DWARF_FRAME_RETURN_COLUMN to be a general register.
gcc/
* doc/tm.texi (DWARF_ALT_FRAME_RETURN_COLUMN): Do not require
DWARF_FRAME_RETURN_COLUMN to be a general register.
* dwarf2out.c (init_return_column_size): New function, split from...
(expand_builtin_init_dwarf_reg_sizes): ...here. Allow both
DWARF_FRAME_RETURN_COLUMN and DWARF_ALT_FRAME_RETURN_COLUMN
to be nongeneral registers.
* config/m68k/m68k.h (DWARF_FRAME_REGNUM): Only map FP and
integer registers.
(DWARF_FRAME_REGISTERS, DWARF_FRAME_RETURN_COLUMN): Define.
(DWARF_ALT_FRAME_RETURN_COLUMN): Define.
Paolo Bonzini [Mon, 5 Feb 2007 07:57:49 +0000 (07:57 +0000)]
cp-tree.h (OMP_ATOMIC_CODE): Delete.
2007-02-05 Paolo Bonzini <bonzini@gnu.org>
* cp-tree.h (OMP_ATOMIC_CODE): Delete.
(OMP_ATOMIC_DEPENDENT_P): Rewrite.
* pt.c (tsubst_expr): Adjust for new format of dependent OMP_ATOMIC
expressions.
* semantics.c (finish_omp_atomic): Store a whole expression node
in operand 1, and integer_zero_node in operand 0, for dependent
OMP_ATOMIC. Rewrite to make flow easier to understand.
Jan Hubicka [Sun, 4 Feb 2007 13:27:23 +0000 (14:27 +0100)]
tree-optimize.c (has_abnormal_outgoing_edge_p): Move to tree-inline.
* tree-optimize.c (has_abnormal_outgoing_edge_p): Move to tree-inline.
(execute_fixup_cfg): Break out the abnormal goto code.
* tree-inline.c (has_abnormal_outgoing_edge_p): Move here from
tree-optimize.c.
(make_nonlocal_label_edges): Move here from execute_fixup_cfg.
(optimize_inline_calls): Call make_nonlocal_label_edges.
Co-Authored-By: Eric Botcazou <ebotcazou@libertysurf.fr>
From-SVN: r121572
Jan Hubicka [Sun, 4 Feb 2007 13:02:45 +0000 (14:02 +0100)]
tree-ssa-copyrename.c (copy_rename_partition_coalesce): Return true when something was changed.
* tree-ssa-copyrename.c (copy_rename_partition_coalesce): Return
true when something was changed.
(rename_ssa_copies): When something was changed, do
TODO_remove_unused_locals.
* tree-ssa-forwprop.c (tree_ssa_forward_propagate_single_use_value):
add TODO_remove_unused_locals when instruction was removed.
Jan Hubicka [Sun, 4 Feb 2007 13:01:13 +0000 (14:01 +0100)]
ipa-inline.c (try_inline): Improve debug output; work on already inline edges too.
* ipa-inline.c (try_inline): Improve debug output; work on already
inline edges too.
(cgraph_decide_inlining_incrementally): Indent; improve debug output;
call try_inline for already inlined edges too when flattening;
inline also functions that make callee growth but overall unit size
reduce.
Jan Hubicka [Sat, 3 Feb 2007 23:35:42 +0000 (00:35 +0100)]
re PR gcov-profile/30650 (ICE with -fprofile-use)
PR gcov-profile/30650
* value-prof.c (stringop_block_profile): Fix handling of size counter;
do not divide by zero for never executed counters.
(tree_find_values_to_profile): Fix counters.
* gcov-ui.h (GCOV_COUNTER_AVERAGE, GCOV_COUNTER_IOR): Fix comments.