Commit Graph

14375 Commits

Author SHA1 Message Date
Chris Lattner
b12914bfc0 'Pass' should now not be derived from by clients. Instead, they should derive
from ModulePass.  Instead of implementing Pass::run, then should implement
ModulePass::runOnModule.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16436 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-20 04:48:05 +00:00
Chris Lattner
bba61c07dd 'Pass' should now not be derived from by clients. Instead, they should derive
from ModulePass.  Instead of implementing Pass::run, then should implement
ModulePass::runOnModule.

Also, fix some undefined behavior, expecting | on booleans to evaluate
left-to-right.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16435 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-20 04:47:19 +00:00
Chris Lattner
68d033cc94 Finegrainify namespacification
'Pass' should now not be derived from by clients.  Instead, they should derive
from ModulePass.  Instead of implementing Pass::run, then should implement
ModulePass::runOnModule.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16434 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-20 04:44:31 +00:00
Chris Lattner
ded6d0c9fb Prototype more accurately
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16433 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-20 04:43:57 +00:00
Chris Lattner
4b50156049 Prototype these functions more accurately
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16432 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-20 04:43:15 +00:00
Chris Lattner
8e47e7292c Do not prototype any of these passes as returning Pass*. Instead, be specific
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16431 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-20 04:41:39 +00:00
Chris Lattner
f627892e26 'Pass' should now not be derived from by clients. Instead, they should derive
from ModulePass.  Instead of implementing Pass::run, then should implement
ModulePass::runOnModule.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16430 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-20 04:36:29 +00:00
Chris Lattner
d55c9bf318 Adjust to API changes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16429 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-20 04:35:27 +00:00
Reid Spencer
d232438f54 Put in a #error in the event that we don't have an mmap that can map a file
into memor. This is just a reminder that the ReadFileIntoAddressSpace
function needs to be properly converted to lib/System and implemented via
read/write if there's no mmap of file support.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16428 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-20 04:13:43 +00:00
Reid Spencer
777ce17d35 Fix problems with AC_FUNC_MMAP_FILE and AC_LINK_USE_R that caused problems
with correctly recognizing mmap of files and the linker's support of -r.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16427 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-20 04:09:56 +00:00
Reid Spencer
a42b525ea8 Correct the use AC_RUN_IFELSE to ensure it builds programs correctly by
using the AC_LANG_PROGRAM macro.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16426 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-20 04:08:22 +00:00
Reid Spencer
2e89ae2894 Allow the suffix for shared libraries to be obtained correctly so we can
build them again.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16425 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-20 03:06:28 +00:00
Reid Spencer
2650835b68 The problem with depending on the internal implementation of third party
tools is that you break when they change. This is a case in point.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16424 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-20 03:05:46 +00:00
Reid Spencer
9c96c72b84 libtool's name is now back to mklib.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16423 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-20 01:43:00 +00:00
Reid Spencer
e4d18e4d25 Change to support creation of "mklib" instead of "libtool" in builddir.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16422 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-20 01:42:32 +00:00
Reid Spencer
dad130f510 Update the script to generate mklib instead of libtool.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16421 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-20 01:41:24 +00:00
Reid Spencer
2706f8c5cf Adjust the libtool macros so that libtool's name is "mklib". Also, tidy up
the use of obsolete macros, hopefully making us more compliant on more sys.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16420 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-19 23:53:36 +00:00
Reid Spencer
c1b0d49e61 Various minor cleanups and replacement of obsoleted macro names.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16419 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-19 23:43:52 +00:00
Reid Spencer
a8bcc120d4 Numerous fixes to convert ~ into ; that (probably) occurred during data
transmission.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16418 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-19 23:42:55 +00:00
Chris Lattner
d404d7fb25 The lexicon doc is more of a user guide than programming dox
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16417 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-19 23:15:47 +00:00
Reid Spencer
12de17db02 Bring the script out of the dark ages and into modern autoconfness.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16415 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-19 22:31:49 +00:00
Reid Spencer
8eacb0c3a7 Make the "Warning" notice a LOT more prominent.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16414 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-19 22:30:53 +00:00
Reid Spencer
b03adb8cab Add in version dependency checks on all the tools we depend on. This is
necessary to ensure that a consistent configuration is created on each
platform. Certain definitions we use (like m4/libtool.m4) require certain
versions of the tools and we can no longer be slack about this or we'll
have problems with mis-configured builds.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16412 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-19 22:14:24 +00:00
Reid Spencer
ed8624d58e Add our own version of libtool.m4 instead of relying on the installed one.
This is a potential version mismatch problem because this file came from
libtool 1.5.10. If you're running a different version of libtool, the
checks in this file may not be quite right. Having our own version of this
file violates the spirit of libtool and is only provided to change the name
of "libtool" to "mklib". This is done so that the name "libtool" does not
conflict with the "lib" directory when doing tab completion and your
$objdir == $srcdir.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16411 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-19 21:47:47 +00:00
Chris Lattner
57d43e1fc0 better code
Move other things to the right sections


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16410 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-19 19:21:26 +00:00
Chris Lattner
8a37520f80 Make isSafeToLoadUnconditionally a bit smarter, implementing PR362 and
Regression/Transforms/InstCombine/CPP_min_max.llx


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16409 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-19 19:18:10 +00:00
Chris Lattner
c2fa9894ee New testcase for PR362: Icky code generated for std::min/std::max
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16408 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-19 19:17:10 +00:00
Chris Lattner
fff03c9074 Fix a nasty iterator invalidation problem I introduced yesterday. This
unfortunately is the cause of a bunch of failures from tonight, and the
reason the tester is running so slow :(


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16407 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-19 19:01:06 +00:00
Chris Lattner
a744b77e11 Remove a whole bunch of horrible hacky code that was used to promote allocas
whose addresses where used by trivial phi nodes and select instructions.  This
is now performed by the instcombine pass, which is more powerful, is much
simpler, and is faster.  This allows the deletion of a bunch of code, two
FIXME's and two gotos.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16406 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-19 18:51:51 +00:00
Chris Lattner
1fb6e41822 Instcombine now helps out with these
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16405 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-19 18:45:45 +00:00
Chris Lattner
c10acedb2d Make instruction combining a bit more aggressive in the face of volatile
loads, and implement two new transforms: InstCombine/load.ll:test[56].


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16404 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-19 18:43:46 +00:00
Chris Lattner
b4f5c68e5a Add two new testcases that instcombine should handle
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16403 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-19 18:43:01 +00:00
Reid Spencer
7b60a15abc Minor correction to Signals implementation.
Patch submitted by Jeff Cohen. Thanks Jeff!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16401 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-19 05:37:39 +00:00
Chris Lattner
f5afcabff8 Add comment
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16400 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-19 01:05:16 +00:00
Chris Lattner
0c0aa711b8 Fix the inliner to always delete any edges from the external call node to
a function being deleted.  Due to optimizations done while inlining, there
can be edges from the external call node to a function node that were not
apparent any longer.

This fixes the compiler crash while compiling 175.vpr


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16399 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-18 21:37:03 +00:00
Chris Lattner
cd382a3725 Add CallGraphNode::removeAnyCallEdgeTo method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16398 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-18 21:34:34 +00:00
Reid Spencer
111a348435 Use the /dev/zero device as the device on which the pages are mapped.
Patch contributed by Henrik Bach. Thanks Henrik!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16397 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-18 19:34:09 +00:00
Reid Spencer
d0c9e0ee0d Porting of Unix implementation to Win32.
Patch contributed by Jeff Cohen. Thanks Jeff!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16396 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-18 19:29:16 +00:00
Reid Spencer
622e220ca7 Get rid of file descriptor leak in create_file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16395 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-18 19:25:11 +00:00
Chris Lattner
62b442d378 Misha implemented the ModuleProvider interface back in 9/18/2003.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16394 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-18 16:16:28 +00:00
Chris Lattner
8fdb246fb1 Provide initial docs for CallGraphSCCPass's, and fix several grammar-o's and
other problems.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16393 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-18 06:39:35 +00:00
Chris Lattner
7a2fd89cca Make this HTML 4.01 strict
Update to reflect changes to the 'Register' tblgen class.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16392 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-18 06:28:07 +00:00
Chris Lattner
60ec2655bb Don't include libtool "object" files
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16391 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-18 04:40:46 +00:00
Chris Lattner
5eb6f6c829 Convert this pass to be a CallGraphSCCPass instead of a Pass, which eliminates
the worklist and makes it more efficient.  This does not change functionality
at all.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16390 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-18 00:34:13 +00:00
Chris Lattner
afbb1ccd2f Make sure to remove the Select instruction as well
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16389 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-18 00:32:40 +00:00
Chris Lattner
3795bc9785 When changing a function, make sure to update the CallGraphNode for the
function, not just the CallGraph.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16388 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-18 00:27:20 +00:00
Chris Lattner
ff8c495386 Implement new changeFunction method, nuke a never implemented one.
Add comments and doxygenify others.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16387 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-18 00:22:43 +00:00
Chris Lattner
6f7e5ebb42 Implement new changeFunction method, nuke a never implemented one.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16386 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-18 00:22:13 +00:00
John Criswell
794cbc22b7 Changed the distclean target to handle the new location of config.h.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16385 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-17 15:08:25 +00:00
Chris Lattner
ebeb0cba94 Fix typo in comment
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16384 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-17 03:58:39 +00:00