Commit Graph

14362 Commits

Author SHA1 Message Date
Alkis Evlogimenos d59cebf87a Fix loop condition so that we don't decrement off the beginning of the
list.

llvm-svn: 16440
2004-09-20 06:42:58 +00:00
Chris Lattner 91006d8e2c Don't count .lo files :)
llvm-svn: 16439
2004-09-20 05:01:04 +00:00
Chris Lattner 4f2cf030e8 '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.

llvm-svn: 16436
2004-09-20 04:48:05 +00:00
Chris Lattner 79e523de04 '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.

llvm-svn: 16435
2004-09-20 04:47:19 +00:00
Chris Lattner 135419193e 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.

llvm-svn: 16434
2004-09-20 04:44:31 +00:00
Chris Lattner cd671065be Prototype more accurately
llvm-svn: 16433
2004-09-20 04:43:57 +00:00
Chris Lattner 3e86084641 Prototype these functions more accurately
llvm-svn: 16432
2004-09-20 04:43:15 +00:00
Chris Lattner 1556b2722d Do not prototype any of these passes as returning Pass*. Instead, be specific
llvm-svn: 16431
2004-09-20 04:41:39 +00:00
Chris Lattner 3c11c04d43 '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.

llvm-svn: 16430
2004-09-20 04:36:29 +00:00
Reid Spencer 45101043ef 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.

llvm-svn: 16428
2004-09-20 04:13:43 +00:00
Reid Spencer ac16ea98de 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.

llvm-svn: 16427
2004-09-20 04:09:56 +00:00
Reid Spencer 57f1c0e0a6 Correct the use AC_RUN_IFELSE to ensure it builds programs correctly by
using the AC_LANG_PROGRAM macro.

llvm-svn: 16426
2004-09-20 04:08:22 +00:00
Reid Spencer ef538ef635 Allow the suffix for shared libraries to be obtained correctly so we can
build them again.

llvm-svn: 16425
2004-09-20 03:06:28 +00:00
Reid Spencer a9317d68b6 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.

llvm-svn: 16424
2004-09-20 03:05:46 +00:00
Reid Spencer 3f2f555690 libtool's name is now back to mklib.
llvm-svn: 16423
2004-09-20 01:43:00 +00:00
Reid Spencer 7bf145cb95 Change to support creation of "mklib" instead of "libtool" in builddir.
llvm-svn: 16422
2004-09-20 01:42:32 +00:00
Reid Spencer 3ed4d9f7e9 Update the script to generate mklib instead of libtool.
llvm-svn: 16421
2004-09-20 01:41:24 +00:00
Reid Spencer f184a86f05 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.

llvm-svn: 16420
2004-09-19 23:53:36 +00:00
Reid Spencer 2024d0ed5a Various minor cleanups and replacement of obsoleted macro names.
llvm-svn: 16419
2004-09-19 23:43:52 +00:00
Reid Spencer 200dcd9e68 Numerous fixes to convert ~ into ; that (probably) occurred during data
transmission.

llvm-svn: 16418
2004-09-19 23:42:55 +00:00
Chris Lattner 85927a6730 The lexicon doc is more of a user guide than programming dox
llvm-svn: 16417
2004-09-19 23:15:47 +00:00
Reid Spencer 70eca35170 Bring the script out of the dark ages and into modern autoconfness.
llvm-svn: 16415
2004-09-19 22:31:49 +00:00
Reid Spencer eb61eb2e32 Make the "Warning" notice a LOT more prominent.
llvm-svn: 16414
2004-09-19 22:30:53 +00:00
Reid Spencer 2aeccd0f1c 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.

llvm-svn: 16412
2004-09-19 22:14:24 +00:00
Reid Spencer dc6f5680f3 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.

llvm-svn: 16411
2004-09-19 21:47:47 +00:00
Chris Lattner 2249dd1c41 better code
Move other things to the right sections

llvm-svn: 16410
2004-09-19 19:21:26 +00:00
Chris Lattner e6f13093e6 Make isSafeToLoadUnconditionally a bit smarter, implementing PR362 and
Regression/Transforms/InstCombine/CPP_min_max.llx

llvm-svn: 16409
2004-09-19 19:18:10 +00:00
Chris Lattner 75cf9f08cc New testcase for PR362: Icky code generated for std::min/std::max
llvm-svn: 16408
2004-09-19 19:17:10 +00:00
Chris Lattner d6d99dfa3f 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 :(

llvm-svn: 16407
2004-09-19 19:01:06 +00:00
Chris Lattner 855a4ff4dd 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.

llvm-svn: 16406
2004-09-19 18:51:51 +00:00
Chris Lattner 2f7bb1be42 Instcombine now helps out with these
llvm-svn: 16405
2004-09-19 18:45:45 +00:00
Chris Lattner f62ea8ef4b Make instruction combining a bit more aggressive in the face of volatile
loads, and implement two new transforms: InstCombine/load.ll:test[56].

llvm-svn: 16404
2004-09-19 18:43:46 +00:00
Chris Lattner 29dd824a10 Add two new testcases that instcombine should handle
llvm-svn: 16403
2004-09-19 18:43:01 +00:00
Reid Spencer 1bdd0f0a08 Minor correction to Signals implementation.
Patch submitted by Jeff Cohen. Thanks Jeff!

llvm-svn: 16401
2004-09-19 05:37:39 +00:00
Chris Lattner 9864df96ba Add comment
llvm-svn: 16400
2004-09-19 01:05:16 +00:00
Chris Lattner 6455c51ab6 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

llvm-svn: 16399
2004-09-18 21:37:03 +00:00
Chris Lattner 824a21868b Add CallGraphNode::removeAnyCallEdgeTo method
llvm-svn: 16398
2004-09-18 21:34:34 +00:00
Reid Spencer 91e6f5e975 Use the /dev/zero device as the device on which the pages are mapped.
Patch contributed by Henrik Bach. Thanks Henrik!

llvm-svn: 16397
2004-09-18 19:34:09 +00:00
Reid Spencer 0e86336edc Porting of Unix implementation to Win32.
Patch contributed by Jeff Cohen. Thanks Jeff!

llvm-svn: 16396
2004-09-18 19:29:16 +00:00
Reid Spencer 36e3cbfd3b Get rid of file descriptor leak in create_file.
llvm-svn: 16395
2004-09-18 19:25:11 +00:00
Chris Lattner 9fb88200c4 Misha implemented the ModuleProvider interface back in 9/18/2003.
llvm-svn: 16394
2004-09-18 16:16:28 +00:00
Chris Lattner 9e4be6faed Provide initial docs for CallGraphSCCPass's, and fix several grammar-o's and
other problems.

llvm-svn: 16393
2004-09-18 06:39:35 +00:00
Chris Lattner a94619ddef Make this HTML 4.01 strict
Update to reflect changes to the 'Register' tblgen class.

llvm-svn: 16392
2004-09-18 06:28:07 +00:00
Chris Lattner 24ba604c98 Don't include libtool "object" files
llvm-svn: 16391
2004-09-18 04:40:46 +00:00
Chris Lattner 37b6c4f2d2 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.

llvm-svn: 16390
2004-09-18 00:34:13 +00:00
Chris Lattner 475dc2c93d Make sure to remove the Select instruction as well
llvm-svn: 16389
2004-09-18 00:32:40 +00:00
Chris Lattner 85d5ccc006 When changing a function, make sure to update the CallGraphNode for the
function, not just the CallGraph.

llvm-svn: 16388
2004-09-18 00:27:20 +00:00
Chris Lattner d4f3238c12 Implement new changeFunction method, nuke a never implemented one.
Add comments and doxygenify others.

llvm-svn: 16387
2004-09-18 00:22:43 +00:00
Chris Lattner e81c2aa42a Implement new changeFunction method, nuke a never implemented one.
llvm-svn: 16386
2004-09-18 00:22:13 +00:00
John Criswell db981ab5cc Changed the distclean target to handle the new location of config.h.
llvm-svn: 16385
2004-09-17 15:08:25 +00:00