Commit Graph

8277 Commits

Author SHA1 Message Date
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
Alkis Evlogimenos 5f1f337d95 Change MRegisterDesc::AliasSet, TargetInstrDescriptor::ImplicitDefs
and TargetInstrDescriptor::ImplicitUses to always point to a null
terminated array and never be null. So there is no need to check for
pointer validity when iterating over those sets. Code that looked
like:

if (const unsigned* AS = TID.ImplicitDefs) {
  for (int i = 0; AS[i]; ++i) {
    // use AS[i]
  }
}

was changed to:

for (const unsigned* AS = TID.ImplicitDefs; *AS; ++AS) {
  // use *AS
}

llvm-svn: 8960
2003-10-08 05:20:08 +00:00
Alkis Evlogimenos 74f2f89831 Properly close anchor tags in column descriptions
llvm-svn: 8959
2003-10-08 05:09:52 +00:00
Alkis Evlogimenos b3b1e08563 Forward declare class Type since it is used in this class and Type.h is not included
llvm-svn: 8958
2003-10-08 04:45:45 +00:00
Brian Gaeke 11e25a7f5f Add rule for regenerating config.h.in using autoheader.
llvm-svn: 8957
2003-10-07 23:44:10 +00:00
Brian Gaeke 2f329a7342 Regenerated with (at top-level llvm directory):
% autoheader -I autoconf autoconf/configure.ac

llvm-svn: 8956
2003-10-07 23:39:51 +00:00
Chris Lattner 950fc785ae whoops, don't accidentally lose variable names
llvm-svn: 8955
2003-10-07 22:58:41 +00:00
Chris Lattner 75b4d1deec Fix bug: InstCombine/cast.ll:test11 / PR#7
llvm-svn: 8954
2003-10-07 22:54:13 +00:00
Chris Lattner 68c824b7c0 new testcase
llvm-svn: 8953
2003-10-07 22:53:46 +00:00
Chris Lattner aec3d948cf Refactor code a bit
llvm-svn: 8952
2003-10-07 22:32:43 +00:00
Chris Lattner 815ae2bfe3 Add a sanity check for constant expression casts
llvm-svn: 8951
2003-10-07 22:19:19 +00:00
Chris Lattner 46ecf619c5 Add links to bugzilla
llvm-svn: 8950
2003-10-07 22:14:37 +00:00
John Criswell abd3f80121 Renamed -use-spec to -use-spec2000.
The pathname to SPEC2000 is now given with the -use-spec2000 option.
On our machines, SPEC2000 will be enabled by default.

llvm-svn: 8949
2003-10-07 21:57:39 +00:00
Chris Lattner e7525b55ea Cleanups, include a list of passes
llvm-svn: 8948
2003-10-07 21:38:31 +00:00
Brian Gaeke bdf295cb6e Fix bugs in mmap()-of-files test program on Mac OS X:
1) MAP_FAILED is declared to be a pointer
2) can't include sys/mman.h before sys/types.h without getting an error :-(

llvm-svn: 8947
2003-10-07 21:33:27 +00:00
John Criswell c64016dfde Fixed the location of the expectations file.
Added the registration of the LLVM Database class.

llvm-svn: 8946
2003-10-07 21:30:07 +00:00
John Criswell e078b436f1 Switching over to the new test database.
Adding new qmt files should no longer be necessary.
QMTest should know just "magically" know what sort of test each file is.

llvm-svn: 8945
2003-10-07 21:13:47 +00:00
Chris Lattner 86ccd702c2 Add more credits
llvm-svn: 8944
2003-10-07 20:50:29 +00:00