Reid Spencer
b27b78f6a4
Base the implementation on the llvmdo script so that we only have to
...
maintain the logic for "what counts as a source file" in one place.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16442 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-20 07:22:23 +00:00
Reid Spencer
8141e37109
Fixed to actually work correctly and be the basis for other tools by
...
allowing the set of directories searched to be specified either by the
LLVMDO_DIRS env var or by the -dirs "dirs..." command line option.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16441 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-20 07:21:19 +00:00
Alkis Evlogimenos
7b6ec600c5
Fix loop condition so that we don't decrement off the beginning of the
...
list.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16440 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-20 06:42:58 +00:00
Chris Lattner
2ac3f19e90
Don't count .lo files :)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16439 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-20 05:01:04 +00:00
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