Chris Lattner
c7042b310c
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
216f9ee1fb
Add documentation for weak variables
...
llvm-svn: 9001
2003-10-10 05:01:39 +00:00
Chris Lattner
991fdc030c
Add support for the weak linkage specifier
...
llvm-svn: 9000
2003-10-10 04:56:26 +00:00
Chris Lattner
62b99977f6
new testcase. globaldce should not delete the global
...
llvm-svn: 8999
2003-10-10 04:54:23 +00:00
Chris Lattner
269b0c1d79
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
8152d183d2
New testcase
...
llvm-svn: 8997
2003-10-10 04:05:29 +00:00
Chris Lattner
e4012123b6
Add better checking
...
llvm-svn: 8996
2003-10-10 03:56:01 +00:00
John Criswell
3b63013cd0
Added the eon and perlbmk benchmarks.
...
llvm-svn: 8995
2003-10-10 01:11:54 +00:00
Chris Lattner
3fd3ddbd2d
Another 10% performance improvement by not using replaceAllUsesWith
...
llvm-svn: 8994
2003-10-09 23:10:14 +00:00
Chris Lattner
b8883ea999
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
b6367d9414
Add a method to reserve space for operands
...
llvm-svn: 8992
2003-10-09 22:45:59 +00:00
Chris Lattner
7467b5ff4e
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
85f5b18995
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
b876f55b76
Kill warning when compiling in optimized mode
...
llvm-svn: 8989
2003-10-09 20:43:55 +00:00
Chris Lattner
36f2dcd3d5
Change getConstantValue to throw an exception on error, not return null
...
llvm-svn: 8988
2003-10-09 20:41:16 +00:00
Chris Lattner
8e6b42c567
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
01d8fd6a3b
Do not read past the end of the contained type list
...
llvm-svn: 8986
2003-10-09 20:31:18 +00:00
Chris Lattner
c0abb16551
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
8f99fbb02c
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
4eb71c8940
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
bdf6a7ae06
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
a43819053c
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
c527ed77b8
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
6f7b5bd63f
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
3b7b192b6a
Remove a dead method
...
llvm-svn: 8978
2003-10-09 05:25:34 +00:00
Chris Lattner
55e1c2edfb
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
c920c81739
Inline the postResolveValues method. It was poorly named anyway
...
llvm-svn: 8976
2003-10-08 21:51:46 +00:00
Brian Gaeke
58114a907c
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
730c899b43
Use 3-arg form of AC_DEFINE.
...
llvm-svn: 8974
2003-10-08 21:45:58 +00:00
Brian Gaeke
766a1fe79d
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
481aaf411f
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
a7d6d16c13
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
7b758ed3b5
Destroy allocated resources on exception.
...
llvm-svn: 8969
2003-10-08 19:55:47 +00:00
Brian Gaeke
66d8a200cf
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
c9222aa60a
old testcase
...
llvm-svn: 8967
2003-10-08 18:28:10 +00:00
Chris Lattner
aca333bd44
Checkin an old bug, which appears to be fixed
...
llvm-svn: 8966
2003-10-08 18:26:10 +00:00
Chris Lattner
bf95cc12a3
Update comment
...
llvm-svn: 8965
2003-10-08 16:56:11 +00:00
Chris Lattner
9cece85acb
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
251ff679ce
Minor fixes here and there
...
llvm-svn: 8963
2003-10-08 16:21:03 +00:00
Chris Lattner
36960b263b
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
116ee26d36
Convert over to short bug URLs
...
llvm-svn: 8961
2003-10-08 06:01:38 +00:00
Alkis Evlogimenos
74568bc9d4
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
a9f403d226
Properly close anchor tags in column descriptions
...
llvm-svn: 8959
2003-10-08 05:09:52 +00:00
Alkis Evlogimenos
33a498f90c
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
c7b7956e94
Add rule for regenerating config.h.in using autoheader.
...
llvm-svn: 8957
2003-10-07 23:44:10 +00:00
Brian Gaeke
f8bed70df3
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
16b7ed1eaa
whoops, don't accidentally lose variable names
...
llvm-svn: 8955
2003-10-07 22:58:41 +00:00
Chris Lattner
f507e6e58e
Fix bug: InstCombine/cast.ll:test11 / PR#7
...
llvm-svn: 8954
2003-10-07 22:54:13 +00:00
Chris Lattner
7c1203fedb
new testcase
...
llvm-svn: 8953
2003-10-07 22:53:46 +00:00
Chris Lattner
e8b656a62f
Refactor code a bit
...
llvm-svn: 8952
2003-10-07 22:32:43 +00:00