Commit Graph

923 Commits

Author SHA1 Message Date
Alkis Evlogimenos
c1754b874d Split assertion to two in order to give better assertion messages.
llvm-svn: 15543
2004-08-06 14:33:37 +00:00
Alkis Evlogimenos
8fb6d20345 Make GlobalVariable constructor assert when an initializer is of
incorrect type.

llvm-svn: 15519
2004-08-05 11:28:34 +00:00
Chris Lattner
a36473bd83 Fix another minor problem that exists if you ahve multiple functions with
nonunifiable types but the same name.  Down with PR411!

llvm-svn: 15511
2004-08-04 22:39:54 +00:00
Chris Lattner
a359f9e730 Fix a typeo
llvm-svn: 15510
2004-08-04 22:29:05 +00:00
Chris Lattner
b22ba044c1 Add a hack to work around a problem my changes exposed
llvm-svn: 15509
2004-08-04 22:26:13 +00:00
Chris Lattner
4107bfcf9b Fix a latent bug exposed by my recent changes
llvm-svn: 15498
2004-08-04 18:50:09 +00:00
Chris Lattner
586734c438 Fix a major regression in my previous checkin
llvm-svn: 15486
2004-08-04 08:30:43 +00:00
Alkis Evlogimenos
bdd0467a1e Stop using getValues().
llvm-svn: 15485
2004-08-04 08:08:13 +00:00
Alkis Evlogimenos
72232b4a01 Stop using getValues().
llvm-svn: 15482
2004-08-04 08:02:59 +00:00
Chris Lattner
3f4d9ffde5 FindGlobalNamed used to take 2.92s out of 8.39s running a profile build of
gccld -disable-opt on 252.eon.

This patch deletes it and replaces it with a map.  The proper fix for this
is to fix PR411, but this will do in the short term.

gccld on eon now takes 5.51s, which is 50% faster than before this patch. :)

llvm-svn: 15480
2004-08-04 07:44:58 +00:00
Chris Lattner
f140ae0851 I swear I compiled this, really I did.
llvm-svn: 15467
2004-08-04 07:28:06 +00:00
Chris Lattner
5cc9a6fda7 Factor some code out, no substantial change.
llvm-svn: 15466
2004-08-04 07:05:54 +00:00
Chris Lattner
4a2f261fab Concisify some code
Do not call FindGlobalNamed when we know we will ignore the result (because
we are not going to link a static symbol anyway).  This speeds up
gccld -disable-opt on 252.eon from 8.63s to 8.39s.

llvm-svn: 15465
2004-08-04 06:05:47 +00:00
Chris Lattner
100d0875ba Implement a FIXME, by not searching linearly through a map to remove an
element.  This speeds up the bytecode reader from 12.86s to 8.72s on 252.eon.

llvm-svn: 15463
2004-08-04 04:48:01 +00:00
Chris Lattner
8eda57f392 Add a cast
llvm-svn: 15457
2004-08-04 02:27:17 +00:00
Chris Lattner
71bbf1ea00 Change SymbolTable::insertEntry to be more careful about how many map
lookups it does.  This shaves another 5% off of bcreading 252.eon.  Note that
the proper solution to this problem is to fix PR411, but that will have to
wait until later.

llvm-svn: 15455
2004-08-04 00:37:31 +00:00
Misha Brukman
58104df77b Fix #includes of i*.h => Instructions.h as per PR403.
llvm-svn: 15334
2004-07-29 17:30:56 +00:00
Misha Brukman
8346db7afe Fix #includes of i*.h files => Instructions.h as per PR403
llvm-svn: 15327
2004-07-29 16:53:53 +00:00
Alkis Evlogimenos
09d3f2533c Merge i*.cpp definitions into Instructions.cpp as part of bug403.
llvm-svn: 15326
2004-07-29 12:33:25 +00:00
Alkis Evlogimenos
fb27f702ca Merge i*.h headers into Instructions.h as part of bug403.
llvm-svn: 15325
2004-07-29 12:17:34 +00:00
Chris Lattner
687d568cf1 alloca void makes no sense
llvm-svn: 15262
2004-07-27 07:30:02 +00:00
Reid Spencer
a23e595275 Avoid use of size(), which counts, in favor of other mechanisms.
llvm-svn: 15221
2004-07-25 21:44:54 +00:00
Reid Spencer
07e3e1c29b Adjust to new Module.h interface for dependent libraries
Only write the target triple and deplibs if they are non-empty.

llvm-svn: 15216
2004-07-25 21:29:43 +00:00
Reid Spencer
11fc1457c0 bug 263:
Ensure the list of libraries is cleared.

llvm-svn: 15212
2004-07-25 18:08:57 +00:00
Reid Spencer
9077f12bb0 bug 263:
Add ability to write target triple and dependent libraries information.

llvm-svn: 15211
2004-07-25 18:08:18 +00:00
Alkis Evlogimenos
d4ef731684 Use name.empty() instead of testing against equality with the empty
string.

llvm-svn: 15191
2004-07-25 06:16:52 +00:00
Alkis Evlogimenos
d5f5b018e9 Disallow creation of named values of type void.
llvm-svn: 15190
2004-07-25 06:07:15 +00:00
Brian Gaeke
bdab8e50cd Fix problem with inserting FunctionPasses that depend on ImmutablePasses
(e.g., LICM) into FunctionPassManagers. The problem is that we were
using a C-style cast to cast required analysis passes to PassClass*, but
if it's a FunctionPassManager, and the required analysis pass is an
ImmutablePass, the types aren't really compatible, so the C-style cast
causes a crash.

llvm-svn: 15140
2004-07-23 19:35:50 +00:00
Chris Lattner
59c0771263 Updates to gc intrinsics, contributed by Tobias Nurmiranta
llvm-svn: 15096
2004-07-22 05:50:01 +00:00
Chris Lattner
6dbdddfa28 classof implementations are now inlined
llvm-svn: 14987
2004-07-19 00:59:10 +00:00
Chris Lattner
1353dd5917 Method now returns null, dtor is inlined
llvm-svn: 14983
2004-07-19 00:55:35 +00:00
Chris Lattner
80105701f5 Fix infinite loop gccld'ing povray
llvm-svn: 14962
2004-07-18 08:12:57 +00:00
Reid Spencer
78477eb62b Shrink some code.
llvm-svn: 14956
2004-07-18 01:04:19 +00:00
Reid Spencer
4a586ee919 bug 122:
- Move these functions from other places
- Provide implementations of Constant class overrides in GlobalValue

llvm-svn: 14936
2004-07-18 00:06:26 +00:00
Reid Spencer
ad3ee0e6bb bug 122:
- Replace ConstantPointerRef usage with GlobalValue usage
- Replace tabs.

llvm-svn: 14935
2004-07-18 00:03:48 +00:00
Reid Spencer
873e776581 bug 122:
- Correct an assert to not have redundant isa<GlobalValue>

llvm-svn: 14934
2004-07-18 00:02:41 +00:00
Reid Spencer
27b74ad249 bug 122:
- Correct isa<Constant> for GlobalValue subclass

llvm-svn: 14933
2004-07-18 00:01:50 +00:00
Reid Spencer
4005f11ca3 bug 122:
- Correct isa<Constant> for GlobalValue subclass
- Fix some tabs and indentation.

llvm-svn: 14932
2004-07-17 23:57:36 +00:00
Reid Spencer
d83e76d112 bug 122:
- Module doesn't need to manage ConstantPointerRefs any more.

llvm-svn: 14931
2004-07-17 23:53:23 +00:00
Reid Spencer
0e268122cc bug 122:
- Replace ConstantPointerRef usage with GlobalValue usage
- Correct isa<Constant> for GlobalValue subclass

llvm-svn: 14930
2004-07-17 23:50:57 +00:00
Reid Spencer
daba673c69 bug 122:
- Move GlobalValue and GlobalVariable implementations to Globals.cpp

llvm-svn: 14929
2004-07-17 23:50:19 +00:00
Reid Spencer
56e2bed436 bug 122:
- Replace ConstantPointerRef usage with GlobalValue usage
- Minimize redundant isa<GlobalValue> usage
- Correct isa<Constant> for GlobalValue subclass
- Delete ConstantPointerRef member function implementations

llvm-svn: 14928
2004-07-17 23:48:33 +00:00
Reid Spencer
bc38cd572f bug 122:
- Replace ConstantPointerRef usage with GlobalValue usage
- Minimize redundant isa<GlobalValue> usage
- Correct isa<Constant> for GlobalValue subclass

llvm-svn: 14927
2004-07-17 23:47:01 +00:00
Alkis Evlogimenos
ddd1db50f9 Add convinience constructor for function calls with two args.
llvm-svn: 14885
2004-07-16 12:04:28 +00:00
Chris Lattner
9b03d18729 IA64 compat
llvm-svn: 14867
2004-07-16 00:08:28 +00:00
Chris Lattner
94212f7102 Fixes for PR341
llvm-svn: 14847
2004-07-15 02:51:31 +00:00
Chris Lattner
d1b726d18f Implement folding of expressions like 'uint cast (int* getelementptr (int*
null, uint 1) to uint)' to a constant integer.  We can only do this with
primitive LLVM types, because other types have target-specific sizes.

llvm-svn: 14837
2004-07-15 01:16:59 +00:00
Chris Lattner
74bd192fba Implement new helper methods for creating two-index GEP instructions
llvm-svn: 14821
2004-07-14 18:14:33 +00:00
Chris Lattner
183766f21e Make Argument::print more resilient to non-verifiable IR
llvm-svn: 14801
2004-07-13 23:14:34 +00:00
Chris Lattner
1a1afa3566 Catch aggregates passed by value sooner rather than later.
llvm-svn: 14800
2004-07-13 20:09:51 +00:00