Andrew Pinski [Tue, 1 Apr 2003 20:37:00 +0000 (20:37 +0000)]
config-lang.in (gtfiles): add \$(srcdir)/cp/name-lookup.c after \$(srcdir)/cp/name-lookup.h.
2003-04-01 Andrew Pinski <pinskia@physics.uc.edu>
* config-lang.in (gtfiles): add \$(srcdir)/cp/name-lookup.c
after \$(srcdir)/cp/name-lookup.h.
* name-lookup.c: (cxx_binding_make): Use ggc_alloc_clearedinstead
of ggc_alloc. Include gt-cp-name-lookup.h at the end of the file.
* Make-lang.in: (gt-cp-name-lookup.h): is generated by the gtype.
(cp/name-lookup.o): depends on gt-cp-name-lookup.h.
* gcse.c (struct ls_expr): Added pattern_regs field.
(ldst_entry): Initialize it.
(extract_mentioned_regs, extract_mentioned_regs_helper): New.
(store_ops_ok): Use regs precomputed by them.
(find_loads, store_killed_in_insn, load_kills_store): Change return
type to bool.
(store_killed_before, store_killed_after): Take position of register
set in account.
(reg_set_info): Store position of the setter.
(gcse_main): Enable store motion.
(mems_conflict_for_gcse_p): Enable load motion of non-symbol mems.
(pre_insert_copy_insn, update_ld_motion_stores, insert_store): Prevent rtl
sharing.
(simple_mem): Enable store motion of non-symbol mems.
(regvec): Type changed.
(LAST_AVAIL_CHECK_FAILURE): New.
(compute_store_table_current_insn): New.
(build_store_vectors): Computation of availability and anticipatability
moved ...
(compute_store_table, find_moveable_store): ... here.
(delete_store): Remove senseless comment.
(store_motion): Reorganize.
David Edelsohn [Tue, 1 Apr 2003 18:05:46 +0000 (18:05 +0000)]
{40x.md,603.md,6xx.md,7450.md,7xx.md,mpc.md, [...]: Change mult_compare to imul_compare.
* config/rs6000/{40x.md,603.md,6xx.md,7450.md,7xx.md,mpc.md,
power4.md,rios1.md,rios2.md,rs64.md}: Change mult_compare to
imul_compare. Add lmul_compare.
* config/rs6000/power4.md: Bump some latencies. Model extra cycle
in second pair of dispatch slots. Model stores more accurately.
Tweak multiply model. Add bypasses for CR instructions dependent
on complicated compares.
* config/rs6000/rs6000.md (mulsi3): Name imul_compare patterns.
(muldi3): Add lmul_compare patterns.
* config/rs6000/rs6000.c (rs6000_variable_issue): Move FPLOAD_UX
and FPSTORE_UX to split instructions and add COMPARE,
DELAYED_COMPARE, IMUL_COMPARE, LMUL_COMPARE, IDIV, LDIV.
(rs6000_adjust_cost): Add IMUL_COMPARE and LMUL_COMPARE.
(rs6000_rtx_costs): Separate POWER4 multiply case.
* config/rs6000/rs6000-protos.h: Add prototype for
easy_vector_constant, emit_easy_vector_insn.
* config/rs6000/altivec.md (xorv8hi3): New.
(xorv16qi3): New.
Remove all _const0 patterns.
(movv4si_internal): Rewrite to use code. Add vector constant to
vector alternative. Add splitter.
(movv8hi_internal): Same.
(movv16qi_internal): Same.
(movv4sf_internal): Same.
Change the unspecs for vspltis* to use constants.
* config/rs6000/spe.md ("xorv4hi3"): New.
("spe_evxor"): Rename to xorv2si3.
("xorv1di3"): New.
Remove all _const0 patterns.
(movv2si_internal): Rewrite to use code. Add vector constant to
alternatives. Add splitter.
(movv4hi_internal): Add vector constant to alternatives.
(movv1di_internal): Same.
(movv2sf_internal): Same.
Mark Mitchell [Tue, 1 Apr 2003 07:35:11 +0000 (07:35 +0000)]
re PR middle-end/9936 (ICE with local function and variable-length 2d array)
PR c/9936
* c-decl.c (grokdeclarator): Clear SAVE_EXPR_CONTEXT for
variably-sized arrays in parameters.
(set_save_expr_context): New function.
(c_expand_body): Use it, via walk_tree.
Stephane Carrez [Mon, 31 Mar 2003 20:28:40 +0000 (22:28 +0200)]
m68hc11.c (expand_prologue): For an interrupt handler save the soft registers after the frame pointer so...
* config/m68hc11/m68hc11.c (expand_prologue): For an interrupt handler
save the soft registers after the frame pointer so that gdb can unwind
the frame more easily.
(expand_epilogue): Likewise in opposite order; allow to use X register
as scratch if the return value is by reference.
Matt Austern [Mon, 31 Mar 2003 20:02:40 +0000 (20:02 +0000)]
cpppch.c (struct cpp_savedstate): Add defs and n_defs members.
* cpppch.c (struct cpp_savedstate): Add defs and n_defs members.
(count_defs): Keep track of number of defs as well as total size.
(write_defs): Put every definition in cpp_savedstate's defs array.
(comp_hashnode): Define. Comparison function for qsort.
(cpp_write_pch_deps): Sort definitions before writing them.
(struct ht_node_list): Define. Like cpp_savedstate but simpler.
(collect_ht_nodes): Define.
(cpp_valid_state): When verifying that undefined identifiers in
the pch file are still undefined, read a sorted list of undefined
identifiers, collect all defined identifiers into a sorted list,
and walk through both lists to make sure there's no match.
Roger Sayle [Mon, 31 Mar 2003 14:30:29 +0000 (14:30 +0000)]
emit-rtl.c (dconstm2, dconsthalf): New real constants.
* emit-rtl.c (dconstm2, dconsthalf): New real constants.
(init_emit_once): Initialize dconstm2 and dconsthalf here.
* real.h (dconstm2, dconsthalf): Add prototypes here.
* real.c (real_sqrt): Use dconsthalf rather than local copy.
* builtins.c (fold_builtin): When optimizing sqrt(exp(x)) as
exp(x/2.0) remember to fold the division if possible.
Fold sin(0.0) as 0.0, cos(0.0) as 1.0, pow(x,1.0) as x,
pow(x,-1.0) as 1.0/x, pow(x,2.0) as x*x, pow(x,-2.0) as
1.0/(x*x) and pow(x,0.5) as sqrt(x).
* gcc.dg/builtins-3.c: Add new tests for sin and cos.
* gcc.dg/builtins-7.c: New test case.
* gcc.dg/builtins-8.c: New test case.
Michael Koch [Mon, 31 Mar 2003 12:19:21 +0000 (12:19 +0000)]
2003-03-31 Michael Koch <konqueror@gmx.de>
* javax/swing/AbstractAction.java
(AbstractAction): Reformatted.
(serialVersionUID): New private member variable.
* javax/swing/plaf/BorderUIResource.java
(serialVersionUID): New private member variable.
* javax/swing/plaf/basic/BasicLookAndFeel.java
(serialVersionUID): New private member variable.
Michael Koch [Mon, 31 Mar 2003 11:22:03 +0000 (11:22 +0000)]
VMID.java, [...]: New version from libgcj.
2003-03-31 Michael Koch <konqueror@gmx.de>
* java/rmi/dgc/VMID.java,
java/rmi/registry/RegistryHandler.java,
java/rmi/server/LoaderHandler.java,
java/rmi/server/LogStream.java,
java/rmi/server/Operation.java,
java/rmi/server/RemoteCall.java,
java/rmi/server/RemoteRef.java,
java/rmi/server/RemoteStub.java,
java/rmi/server/Skeleton.java:
New version from libgcj.
Michael Koch [Mon, 31 Mar 2003 10:15:48 +0000 (10:15 +0000)]
2003-03-31 Michael Koch <konqueror@gmx.de>
* java/io/File.java
(separator): Merged documentation from classpath.
(separatorChar): Merged documentation from classpath.
(pathSeparator): Merged documentation from classpath.
(pathSeparatorChar): Merged documentation from classpath.
(path): Merged documentation from classpath.
(canRead): Merged documentation from classpath.
(canWrite): Merged documentation from classpath.
(createNewFile): Merged documentation from classpath.
(delete): Merged documentation from classpath.
(equals): Merged documentation from classpath.
(exists): Merged documentation from classpath.
(File): Renamed p to name to match classpath, merged documentation
from classpath.
(getAbsolutePath): Merged documentation from classpath.
(getCanonicalPath): Merged documentation from classpath.
(getCanonicalFile): Merged documentation from classpath.
(getName): Merged documentation from classpath.
(getParent): Merged documentation from classpath.
(getParentFile): Merged documentation from classpath.
(getPath): Merged documentation from classpath.
(hashCode): Merged documentation from classpath.
(isAbsolute): Merged documentation from classpath.
(isDirectory): Merged documentation from classpath.
(isFile): Merged documentation from classpath.
(isHidden): Merged documentation from classpath.
(lastModified): Merged documentation from classpath.
(length): Merged documentation from classpath.
(list): Merged documentation from classpath.
(listFiles): Merged documentation from classpath.
(toString): Merged documentation from classpath.
(toURL): Merged documentation from classpath.
(mkdir): Merged documentation from classpath.
(mkdirs): Merged documentation from classpath.
(createTempFile): Merged documentation from classpath.
(setReadOnly): Merged documentation from classpath.
(listRoots): Merged documentation from classpath.
(compareTo): Merged documentation from classpath.
(renameTo): Merged documentation from classpath.
(setLastModified): Merged documentation from classpath.
* java/io/PrintStream.java
(auto_flush): Merged documentation from classpath.
(PrintStream): Merged documentation from classpath.
(checkError): Merged documentation from classpath.
(setError): Merged documentation from classpath.
(close): Merged documentation from classpath.
(flush): Merged documentation from classpath.
(print): Merged documentation from classpath.
(println): Merged documentation from classpath.
(write): Renamed count to len to match classpath,
merged documentation from classpath.
* java/io/RandomAccessFile.java
(readShort): Merged documentation from classpath.
(readUnsignedByte): Merged documentation from classpath.
(readUnsignedShort): Merged documentation from classpath.
(readUTF): Merged documentation from classpath.
(seek): Reformatted, merged documentation from classpath.
(skipBytes): Renamed some variables to match classpath, reformatted,
merged documentation from classpath.
(write): Merged documentation from classpath.
(writeBoolean): Merged documentation from classpath.
(writeByte): Merged documentation from classpath.
(writeShort): Merged documentation from classpath.
(writeChar): Merged documentation from classpath.
(writeInt): Merged documentation from classpath.
(writeLong): Merged documentation from classpath.
(writeFloat): Merged documentation from classpath.
(writeDouble): Merged documentation from classpath.
(writeBytes): Merged documentation from classpath.
(writeChars): Merged documentation from classpath.
(writeUTF): Reformatted.
(getChannel): Reformatted.
Roger Sayle [Mon, 31 Mar 2003 05:25:52 +0000 (05:25 +0000)]
gcse.c (gcse_constant_p): New function to identify constants suitable for constant propagation...
* gcse.c (gcse_constant_p): New function to identify constants
suitable for constant propagation, including COMPARE with two
integer constant arguments.
(hash_scan_set): Use gcse_constant_p.
(find_avail_set): Likewise.
(cprop_insn): Likewise.
(do_local_cprop): Likewise.
(find_implicit_sets): Likewise.
(find_bypass_set): Likewise.
Eric Blake [Sun, 30 Mar 2003 06:43:45 +0000 (06:43 +0000)]
natString.cc (hashCode): Use cachedHashCode.
2003-03-29 Eric Blake <ebb9@email.byu.edu>
Tom Tromey <tromey@redhat.com>
* java/lang/natString.cc (hashCode): Use cachedHashCode.
(init()): Removed.
(charAt): Put index in exception.
(contentEquals): New method.
Include StringBuffer.h.
* java/lang/String.java (cachedHashCode): New field.
(String()): Follow classpath implementation.
(init()): Removed.
(contentEquals): Declare.
(subSequence): Don't declare IndexOutIfBoundsException in throws
clause.
(matches, replaceFirst, replaceAll, split): New methods from
Classpath.
Co-Authored-By: Tom Tromey <tromey@redhat.com>
From-SVN: r65037
Tom Tromey [Sat, 29 Mar 2003 20:17:02 +0000 (20:17 +0000)]
natClass.cc (newInstance): Put method name in exception.
* java/lang/natClass.cc (newInstance): Put method name in
exception.
(getConstructor): Likewise.
(getDeclaredConstructor): Likewise.
(getPrivateMethod): Likewise.
Ulrich Weigand [Fri, 28 Mar 2003 23:40:51 +0000 (23:40 +0000)]
gcc/ ChangeLog:
* config/s390/s390.c (s390_emit_prologoue): Make sure backchain is
set up before any trapping memory access if flag_non_call_exceptions.
libjava/ ChangeLog:
* configure.in (HAVE_BACKTRACE) [s390*-*-linux*]: Define.
* configure: Regenerate.
Ulrich Weigand [Fri, 28 Mar 2003 20:27:02 +0000 (20:27 +0000)]
s390.md ("literal_pool_31"): Output pool anchor label even if pool empty when generating PIC.
* config/s390/s390.md ("literal_pool_31"): Output pool anchor
label even if pool empty when generating PIC.
("literal_pool_31", "literal_pool_64"): Coding style cleanup.
Mark Mitchell [Fri, 28 Mar 2003 19:30:41 +0000 (19:30 +0000)]
decl2.c (generate_ctor_or_dtor_function): Tolerate a non-existant ssdf_decls array.
* decl2.c (generate_ctor_or_dtor_function): Tolerate a
non-existant ssdf_decls array.
(finish_file): Call generator_ctor_or_dtor_function when there are
static constructors or destructors and no other static
initializations.
Michael Koch [Fri, 28 Mar 2003 13:07:46 +0000 (13:07 +0000)]
File.java: Import needed classes instead of whole packages...
2003-03-28 Michael Koch <konqueror@gmx.de>
* java/io/File.java:
Import needed classes instead of whole packages, merged class
documentation with classpath, moved constants and variables to top of
class.
* java/io/PrintStream.java:
Merged class documentation with classpath, moved constants and
variables to top of class.
* java/io/RandomAccessFile.java
(RandomAccessFile): Merged with classpath.
(read): Merged with classpath).
(read*): Reformatted.
Michael Koch [Fri, 28 Mar 2003 08:59:41 +0000 (08:59 +0000)]
2003�03-28 Michael Koch <konqueror@gmx.de>
* java/io/FileOutputStream.java:
Merged class documentation and authors with classpath.
(FileOutputStream): Partly merged with classpath.
(write): Merged with classpath.
(getChannel): Make it synchronized instead of explicit block in this
method.
* java/io/RandomAccessFile.java:
Merged class documentation and authors with classpath.