Commit Graph

8295 Commits

Author SHA1 Message Date
Brian Gaeke e8bbcfc298 Change to use GetAddressOfSymbol instead of dlsym.
llvm-svn: 9012
2003-10-10 17:02:42 +00:00
Brian Gaeke 0cf2da2b03 Change to use LinkDynamicObject instead of dlopen.
llvm-svn: 9011
2003-10-10 17:01:49 +00:00
Brian Gaeke e5e53229fc Change to use strtoul instead of strtoll.
llvm-svn: 9010
2003-10-10 17:01:36 +00:00
Misha Brukman b3acb4027e Fixing the spelling of this filename.
llvm-svn: 9009
2003-10-10 16:57:31 +00:00
Brian Gaeke e2a8124476 Add my abstracted dynamic linker support files.
llvm-svn: 9008
2003-10-10 16:55:42 +00:00
Chris Lattner 8ad183194b Reserve space for PHI operands
llvm-svn: 9007
2003-10-10 16:34:58 +00:00
John Criswell e285b410fa Removed information about compiling the GCC front end. This will be in a
separate document that we will provide to people who request the source.
Updated the support architecture information to be a little more precise.
Added hyperlinks for all of the tools which are required for building LLVM.
This should make it easier for people to find and install these required
tools.
Italicized some of the "variables" that we use in place of absolute paths.
Added the --enable-spec2000 option to the quick start section.
Other minor changes/corrections/clarifications.

llvm-svn: 9006
2003-10-10 16:17:19 +00:00
Chris Lattner 2c9a328881 Make the message stand out more
llvm-svn: 9004
2003-10-10 15:55:43 +00:00
John Criswell 38cc2b5fc6 Re-did some of the text wrapping (sorry).
Made the "Getting Started Quickly" material its own section.  I think this makes
the document easier to read.
Added bars after every major section heading (to distinguish them more easily from
sub-section headings).
Renamed C front end to GCC front end, as we now support C and C++.
Updated material to reflect the new autoconf-style object root.
Added material about the llvm/runtime directory and the fact that you need to
install the GCC front end before building LLVM (before, it was optional).

llvm-svn: 9003
2003-10-10 14:26:14 +00:00
Chris Lattner fdf472a83a Ok, the "fix" for this is to do a real associative container. Symbol tables
are ordered by name, not by slot, so the previous solution wasn't any good.
On a large testcase, this reduces time to parse from 2.17s to 1.58s.

llvm-svn: 9002
2003-10-10 05:43:47 +00:00
Chris Lattner e838773b63 Add documentation for weak variables
llvm-svn: 9001
2003-10-10 05:01:39 +00:00
Chris Lattner 9865db1fcb Add support for the weak linkage specifier
llvm-svn: 9000
2003-10-10 04:56:26 +00:00
Chris Lattner 3cd3cb537c new testcase. globaldce should not delete the global
llvm-svn: 8999
2003-10-10 04:54:23 +00:00
Chris Lattner f4120d9a2a Accept 'weak' as a linkage type. For now, just turn it into linkonce linkage
llvm-svn: 8998
2003-10-10 04:54:02 +00:00
Chris Lattner 7bfec50f74 New testcase
llvm-svn: 8997
2003-10-10 04:05:29 +00:00
Chris Lattner 6f8cd63693 Add better checking
llvm-svn: 8996
2003-10-10 03:56:01 +00:00
John Criswell fc3d20d142 Added the eon and perlbmk benchmarks.
llvm-svn: 8995
2003-10-10 01:11:54 +00:00
Chris Lattner 1434d68164 Another 10% performance improvement by not using replaceAllUsesWith
llvm-svn: 8994
2003-10-09 23:10:14 +00:00
Chris Lattner 2ec9de30cd Reserve space for PHI nodes when we read them in. This provides a VERY
tasty 15% speedup on the testcase from Bill.

llvm-svn: 8993
2003-10-09 22:46:58 +00:00
Chris Lattner 5a485c8117 Add a method to reserve space for operands
llvm-svn: 8992
2003-10-09 22:45:59 +00:00
Chris Lattner 5255bed8bc Use the version of getValue that takes the type plane instead of the type
if possible.  This provides a consistent 8.5% speedup.

llvm-svn: 8991
2003-10-09 22:39:30 +00:00
Chris Lattner 819ce2dca1 Pass a vector around to reduce dynamic allocation
Throw the RawInst class in an anon namespace

llvm-svn: 8990
2003-10-09 20:45:42 +00:00
Chris Lattner c6ba9de7b7 Kill warning when compiling in optimized mode
llvm-svn: 8989
2003-10-09 20:43:55 +00:00
Chris Lattner 1ae8a48a62 Change getConstantValue to throw an exception on error, not return null
llvm-svn: 8988
2003-10-09 20:41:16 +00:00
Chris Lattner 47be980aec Make getContainedType more efficient by not returning null if out of range!
llvm-svn: 8987
2003-10-09 20:35:15 +00:00
Chris Lattner 93cb392a33 Do not read past the end of the contained type list
llvm-svn: 8986
2003-10-09 20:31:18 +00:00
Chris Lattner a89c91020c Remove potentially N^2 algorithm from symbol table reader. No speedup
in practice though

llvm-svn: 8985
2003-10-09 20:30:04 +00:00
Chris Lattner e7691a4520 Major refactoring of the bytecode reader. This includes the following
changes:
  * BytecodeReader::getType(...) used to return a null pointer
    on error.  This was only checked about half the time.  Now we convert
    it to throw an exception, and delete the half that checked for error.
    This was checked in before, but psmith crashed and lost the change :(
  * insertValue no longer returns -1 on error, so callers don't need to
    check for it.
  * Substantial rewrite of InstructionReader.cpp, to use more efficient,
    simpler, data structures.  This provides another 5% speedup.  This also
    makes the code much easier to read and understand.

llvm-svn: 8984
2003-10-09 20:22:47 +00:00
Chris Lattner bd26abdc95 Significantly clean up parsing of instructions. This exceptionizes and
simplifies the control flow a bit.  This provides a small (~3%) speedup,
but it's primarily a cleanup exercise.

llvm-svn: 8983
2003-10-09 18:25:19 +00:00
Chris Lattner 60eb9bc4af Include the new docs directory, whenever it gets added. www is gone
llvm-svn: 8982
2003-10-09 16:10:15 +00:00
John Criswell e3a9bd8531 Added 177.mesa to the list of Makefiles to propogate to the object root.
llvm-svn: 8981
2003-10-09 15:44:28 +00:00
Chris Lattner 1e8addf890 Eliminate the instruction placeholder. Simplify a bunch of code.
This results in no significant speedup, but does provide simpler code

llvm-svn: 8980
2003-10-09 06:14:26 +00:00
Chris Lattner 42dce1e365 Eliminate the old LateResolveValues data structure, replacing it with a
new, simpler, ForwardReferences data structure.  This is just the first
simple replacement, subsequent changes will improve the code more.

This simple change improves the performance of loading a file from HDF5
(contributed by Bill) from 2.36s to 1.93s, a 22% improvement.  This
presumably has to do with the fact that we only create ONE placeholder for
a particular forward referenced values, and also may be because the data
structure is much simpler.

llvm-svn: 8979
2003-10-09 06:05:40 +00:00
Chris Lattner a9c297c8ea Remove a dead method
llvm-svn: 8978
2003-10-09 05:25:34 +00:00
Chris Lattner abf6412c09 This patch substantially simplifies and cleans up handling of basic blocks
in the bytecode parser.  Before we tried to shoehorn basic blocks into the
"getValue" code path with other types of values.  For a variety of reasons
this was a bad idea, so this patch separates it out into its own data structure.

This simplifies the code, makes it fit in 80 columns, and is also much faster.
In a testcase provided by Bill, which has lots of PHI nodes, this patch speeds
up bytecode parsing from taking 6.9s to taking 2.32s.  More speedups to
follow later.

llvm-svn: 8977
2003-10-08 22:52:54 +00:00
Chris Lattner f29c7b1a3f Inline the postResolveValues method. It was poorly named anyway
llvm-svn: 8976
2003-10-08 21:51:46 +00:00
Brian Gaeke bb5bf31e53 test/Programs/NoSource and www are gone from the tree; don't try to configure
their Makefiles.

llvm-svn: 8975
2003-10-08 21:48:26 +00:00
Brian Gaeke ce76fe8022 Use 3-arg form of AC_DEFINE.
llvm-svn: 8974
2003-10-08 21:45:58 +00:00
Brian Gaeke d7a702d40d Use 3-arg form of AC_DEFINE.
Check for strsignal(), which isn't found everywhere, and sys_siglist,
 which can be used to implement it.

llvm-svn: 8973
2003-10-08 21:44:07 +00:00
Brian Gaeke 0f0f617379 I really meant to use that AUTOHEADER variable I put in there.
llvm-svn: 8972
2003-10-08 21:38:35 +00:00
Chris Lattner 85555779de Various cleanups and simplifications. This speeds up reading a bytecode file
Bill gave me from 8.69s to 6.90s.

llvm-svn: 8971
2003-10-08 21:18:57 +00:00
Misha Brukman b5c59fa16d Destroy allocated resources on exception.
llvm-svn: 8969
2003-10-08 19:55:47 +00:00
Brian Gaeke 068546cf78 Make more error messages have gccld's name in them.
Add a newline after "Cannot find <library>".

llvm-svn: 8968
2003-10-08 19:09:30 +00:00
Chris Lattner f6b9e8cc69 old testcase
llvm-svn: 8967
2003-10-08 18:28:10 +00:00
Chris Lattner 7803da6151 Checkin an old bug, which appears to be fixed
llvm-svn: 8966
2003-10-08 18:26:10 +00:00
Chris Lattner 35e56e7372 Update comment
llvm-svn: 8965
2003-10-08 16:56:11 +00:00
Chris Lattner 0bbbe5d4c8 Use a set to keep track of which edges have been noticed as executable already
to avoid reprocessing PHI nodes needlessly.  This speeds up the big bad PHI
testcase 43%: from 104.9826 to 73.5157s

llvm-svn: 8964
2003-10-08 16:55:34 +00:00
Chris Lattner 7324f7cd03 Minor fixes here and there
llvm-svn: 8963
2003-10-08 16:21:03 +00:00
Chris Lattner 71ac22ffb5 Avoid building data structures we don't really need. This improves the runtime
of a test that Bill Wendling sent me from 228.5s to 105s.  Obviously there is
more improvement to be had, but this is a nice speedup which should be "felt"
by many programs.

llvm-svn: 8962
2003-10-08 15:47:41 +00:00
Chris Lattner c4788bbde0 Convert over to short bug URLs
llvm-svn: 8961
2003-10-08 06:01:38 +00:00