Commit Graph

268 Commits

Author SHA1 Message Date
Chris Lattner
e6ef6690b0 Rename functions to be more consistend with other pass constructors
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2388 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 21:45:36 +00:00
Chris Lattner
97e52e4336 Tighten up the AnalysisUsage of lots of passes, primarily to correctly indicate whether or not they invalidate the CFGA
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2386 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 21:27:06 +00:00
Chris Lattner
4ec35ab1c6 Eliminate the cfg namespace
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2371 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 16:21:53 +00:00
Chris Lattner
c6d52e07e5 Expose the internalize pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2365 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 05:49:53 +00:00
Chris Lattner
7bf5dfec19 Run the internalize pass to mark all functions except main internal when
linking the final program to allow smarter optimizations


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2364 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 05:49:45 +00:00
Chris Lattner
d43035e1d7 Use operator << to print modules
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2360 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 05:13:45 +00:00
Chris Lattner
598d21c7e5 Run GCSE as part of gccas.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2340 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 01:00:15 +00:00
Chris Lattner
e5fb83ebb8 Expose new GCSE pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2339 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 00:48:17 +00:00
Chris Lattner
483e14ee04 s/Method/Function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2336 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-27 07:27:19 +00:00
Chris Lattner
f57b845547 * Rename MethodPass class to FunctionPass
- Rename runOnMethod to runOnFunction
* Transform getAnalysisUsageInfo into getAnalysisUsage
  - Method is now const
  - It now takes one AnalysisUsage object to fill in instead of 3 vectors
    to fill in
  - Pass's now specify which other passes they _preserve_ not which ones
    they modify (be conservative!)
  - A pass can specify that it preserves all analyses (because it never
    modifies the underlying program)
* s/Method/Function/g in other random places as well


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2333 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-27 06:56:12 +00:00
Chris Lattner
76d12299b5 Make sure that there is no case where a signal can occur leaving a partially
written output file.  This is important because crashing testcases often write
part of a file out, and the testing harness decides the file is up-to-date next
time the test is run.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2303 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-18 19:55:25 +00:00
Chris Lattner
30af368082 * Add the printm pass to allow dumping the entire module after a transformation.
* s/Method/Function/


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2234 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-13 18:32:47 +00:00
Chris Lattner
9d6e7eb74f Expose funcresolve pass through opt
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2231 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-12 18:21:13 +00:00
Chris Lattner
f8b90ee366 * The cleangcc pass is broken into two parts, we only want to
FunctionResolvingPass one.
* We run it *after* the symbol stripping pass so that -strip can be
  pipelined with the constant merging pass or something else if desired.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2226 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-10 20:37:47 +00:00
Chris Lattner
6a1f6940a1 The cleangcc pass is brokeninto two pieces, execute both of them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2225 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-10 20:33:32 +00:00
Chris Lattner
bc55a3140c Remove extranous #include
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2183 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-08 22:05:10 +00:00
Chris Lattner
02d6ef8976 s/PrintMethodPass/PrintFunctionPass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2182 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-08 22:05:01 +00:00
Chris Lattner
8bfa89c7f5 Add #includes
s/PrintMethodPass/PrintFunctionPass


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2181 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-08 22:04:24 +00:00
Chris Lattner
2b59837f02 Add support for the gnu ld -s (strip) option
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2157 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-08 05:18:12 +00:00
Chris Lattner
ad202a0620 GCCLD actually does transformations to simplify the linked program now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2155 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-08 00:14:58 +00:00
Chris Lattner
94202988a8 Remove asmwriter library from link line, because the useful contents of it
have been incorporated into the vmcore library.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2153 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-07 22:35:30 +00:00
Chris Lattner
5bdf161418 Perform debug outputs with ->dump() instead of <<
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2152 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-07 22:34:44 +00:00
Chris Lattner
06272dcfb2 use dump method instead of Asm/Writer to do debug printing
Rename C to M because C used to be 'Class' and now we are 'Module'


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2151 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-07 22:34:19 +00:00
Chris Lattner
2fbfdcffd3 Change references to the Method class to be references to the Function
class.  The Method class is obsolete (renamed) and all references to it
are being converted over to Function.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2144 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-07 20:49:59 +00:00
Chris Lattner
69cd2b1ade Move the PromoteMemoryToRegister pass to be run _after_ the raise pointer
references pass, so it is given the chance to do some good!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2089 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-01 19:45:11 +00:00
Chris Lattner
bfd3a6afb0 Makefile change for IPO's that use the Datastructure analysis stuff
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2015 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-28 18:10:31 +00:00
Chris Lattner
328207c3ff Add hook for pool allocation pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2013 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-28 18:08:07 +00:00
Chris Lattner
fe59454fa2 Checking for Cameron
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2011 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-28 17:56:28 +00:00
Cameron Buschardt
0732c70ffb Rename constructor function for mem2reg pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2008 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-27 23:29:23 +00:00
Chris Lattner
bc132d62d3 * Add support for DataStructure analysis
* Parameterize pass outputting with the printPass template, so analysis
  output can optionally take more arguments than just a stream.  The
  default output mode is just to use operator<< on the analysis.
* Remove CurrentModule hack, in favor of using printPass
* Remove special operator<<'s defined for FindUsedTypes and
  FindUnsafePointerTypes, in favor of printPass specializations
* Use std::cout instead of cout


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1995 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-26 22:43:12 +00:00
Vikram S. Adve
d32e70a09f Rename pass to DecomposeMultiDimRefs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1960 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-24 03:19:54 +00:00
Chris Lattner
081c409e27 Add a debugging option to gccas to cause it to not do level raise or anything
after it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1934 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-21 21:21:50 +00:00
Chris Lattner
2b72c360bb Expose dead instruction elimination pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1877 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-14 22:36:15 +00:00
Chris Lattner
084235a989 Echo the right tool name on error
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1865 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-12 15:41:36 +00:00
Chris Lattner
2dc78088b7 Remove runtime library in favor of users linking against real libraries.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1853 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-11 17:57:13 +00:00
Chris Lattner
41c3465812 * Implement linking to libraries
* Pass arguments to program through shell script


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1851 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-11 17:49:53 +00:00
Chris Lattner
71e7bb4bc0 Pull interprocedural analyses out of Analysis library into their own lib
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1827 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-06 18:44:29 +00:00
Chris Lattner
cabc17a293 Don't forget to build gccld!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1826 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-06 18:05:02 +00:00
Chris Lattner
70d12b037b Since verifier and SlotCalculator are now in VMCore library, libanalysis is
no longer required


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1823 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-06 17:41:18 +00:00
Chris Lattner
e2aed35319 Pull callgraph out of Cfg namespace
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1822 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-06 17:40:37 +00:00
Chris Lattner
417fbe5287 Change to use new pass accessor functions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1817 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-26 21:47:29 +00:00
Chris Lattner
bd0ef77cde Change over to use new style pass mechanism, now passes only expose small
creation functions in their public header file, unless they can help it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1816 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-26 21:46:54 +00:00
Chris Lattner
4ddcd54751 * Make all command line arguments static
* Change -trace & -tracem options to use a 3 values enum option
* Change to use new style interface to passes


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1813 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-26 21:36:53 +00:00
Chris Lattner
eded4916d6 Move ProfilePaths class into ProfilePaths library, only expose a creation function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1812 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-26 20:04:59 +00:00
Anand Shukla
dc9a1f5ce8 Includes -paths option to trace paths in the program
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1811 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-26 19:57:59 +00:00
Anand Shukla
06e84ed495 Link in the PathProfiles library
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1800 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-26 18:29:20 +00:00
Chris Lattner
ec4913ea7c Remove hack. This is better fixed in Makefile.common
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1795 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-24 23:25:46 +00:00
Chris Lattner
5b077b00a5 Cleanup to build with GCC 3.0.4
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1794 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-24 23:25:24 +00:00
Chris Lattner
1156edf01c Build with newer compiler, with same bug
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1793 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-24 23:11:05 +00:00
Chris Lattner
bee1940791 GCC3.0.4 crashes when compiling this. Comment it out for now
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1792 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-24 23:03:37 +00:00
Chris Lattner
04bb837cc0 Genericize the ReversePostOrderIterator.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1785 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-24 21:48:59 +00:00
Chris Lattner
22d26d7c7d * Expose the verifier pass as one that can be ran
* Force the verifier to run before bytecode is written


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1783 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-20 17:56:53 +00:00
Chris Lattner
221d688a5e Method.h no longer includes BasicBlock.h
Method::inst_* is now in llvm/Support/InstIterator.h
GraphTraits specializations for BasicBlock and Methods are now in llvm/Support/CFG.h


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1746 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-12 21:07:25 +00:00
Chris Lattner
eeeaf52ab6 Enable register promotion pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1740 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-12 17:17:33 +00:00
Chris Lattner
c8b758dedc Trim down makefile, again.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1691 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-04 17:37:25 +00:00
Chris Lattner
69a28d0565 Cut down number of times libraries are included to link a little bit faster
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1678 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-04 06:43:56 +00:00
Chris Lattner
e41576d141 * Remove -noasm option. If we're not compiling, what's the point?
* convert over to pass based target backend.  Much cleaner now


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1665 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-03 23:43:19 +00:00
Chris Lattner
c889677195 Switch over to a model where we compile each method, emit assembly, then free
machineinstr memory before starting on the next method.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1659 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-03 07:54:10 +00:00
Chris Lattner
7d922623e3 Catch the parse exception if bad input is provided. Much better than an abort
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1631 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-01 05:09:35 +00:00
Chris Lattner
0be4101d12 Add mergereturn pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1629 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-01 04:54:11 +00:00
Chris Lattner
c0cbbcf169 Add dependency
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1620 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-31 18:33:23 +00:00
Chris Lattner
1fcaf00b6c Fix dependency problem
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1619 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-31 18:33:09 +00:00
Chris Lattner
0253ceeb56 Resolve deps
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1615 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-31 15:52:41 +00:00
Chris Lattner
6a39f2c80c Resolve dependencies
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1614 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-31 15:43:11 +00:00
Chris Lattner
fb1b3f119d Convert to use new Pass framework...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1610 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-31 00:47:12 +00:00
Chris Lattner
cd50d3fafa PassManager is now in its own header file
MethodPass's now cannot be run on external methods


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1609 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-31 00:46:45 +00:00
Chris Lattner
0f3bfffd9e PassManager is now in it's own header file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1608 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-31 00:46:22 +00:00
Chris Lattner
fa6db4be91 Convert analyze over to use new pass framework for its analyses
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1607 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-31 00:46:09 +00:00
Chris Lattner
e8bab6a1c0 Accept, but ignore -lfoo options.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1585 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-25 03:59:39 +00:00
Chris Lattner
e7fca510f3 Initial Checkin of gccld
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1578 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-24 19:12:12 +00:00
Chris Lattner
888912dbe0 In an amazing fit of stupidity, I flipped the conditional and didn't test
it right.  Sheesh :)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1550 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-22 21:07:24 +00:00
Chris Lattner
e94525575f Only run DeadInst elimination early, because it is quick and painless and
pipelines well


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1549 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-22 21:06:44 +00:00
Chris Lattner
3dc67dd95b Misc cleanups. Allocate ofstream statically, and use a pass to write out the bytecode
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1529 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-22 03:30:46 +00:00
Chris Lattner
5ad6b8b779 Try again, now it works right
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1526 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-22 02:28:50 +00:00
Chris Lattner
d7db863c1d Rename LowerAllocations.h to ChangeAllocations.h since it now contains the
RaiseAllocations pass as well.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1525 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-22 01:04:08 +00:00
Chris Lattner
221653f8f6 Fix ordering dependency problem
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1524 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-22 01:03:39 +00:00
Chris Lattner
5048c3b853 Pull RaiseAllocations stuff out of the CleanGCC pass into it's own pass in
the ChangeAllocations.h header file.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1522 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-22 00:13:51 +00:00
Chris Lattner
59b6b8e0b3 Move stuff out of the Optimizations directories into the appropriate Transforms
directories.  Eliminate the opt namespace.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1520 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-21 23:17:48 +00:00
Chris Lattner
ae96151970 Chuck fixed the GCC problems so this hack is now unneccesary
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1519 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-21 23:17:07 +00:00
Chris Lattner
8efb9d733f Eliminate opt library
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1516 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-21 23:13:46 +00:00
Chris Lattner
04c85dcad8 Rename SwapStructureContents -> IPO/SimpleStructMutation
Move MutateStructTypes.(cpp|h) -> IPO/MutateStructTypes.(cpp|h)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1510 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-21 07:52:35 +00:00
Chris Lattner
f4de63f65f Implement a more powerful, simpler, pass system. This pass system can figure
out how to run a collection of passes optimially given their behaviors and
charactaristics.

Convert code to use it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1507 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-21 07:31:50 +00:00
Chris Lattner
697954c15d Changes to build successfully with GCC 3.02
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1503 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-20 22:54:45 +00:00
Chris Lattner
528e8b58a5 Add instruction combining pass
Rename -mergecons to -constmerge


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1478 91177308-0d34-0410-b5e6-96231b3b80d8
2001-12-14 16:50:35 +00:00
Chris Lattner
d584dcc6ef Add more passes to run after raising
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1476 91177308-0d34-0410-b5e6-96231b3b80d8
2001-12-14 16:48:30 +00:00
Chris Lattner
e20bcd81eb Build runtime library with local GCCAS
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1447 91177308-0d34-0410-b5e6-96231b3b80d8
2001-12-13 00:44:23 +00:00
Chris Lattner
75ad704490 Implement strlen strdup strcmp
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1446 91177308-0d34-0410-b5e6-96231b3b80d8
2001-12-13 00:44:09 +00:00
Chris Lattner
952d365a3a Tell the user if a file is corrupt or not... not that the file cannot be
found.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1433 91177308-0d34-0410-b5e6-96231b3b80d8
2001-12-08 20:31:32 +00:00
Chris Lattner
0d7a474463 Run DCE before cleanupGCCoutput which will cause some dead types (like FILE) to be removed
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1429 91177308-0d34-0410-b5e6-96231b3b80d8
2001-12-07 04:25:36 +00:00
Chris Lattner
e04a967e7e Remove unnecesary namespace impot
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1419 91177308-0d34-0410-b5e6-96231b3b80d8
2001-12-05 06:35:30 +00:00
Chris Lattner
9c6f2ac665 Simplify induction variables before 'raising' the representation
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1418 91177308-0d34-0410-b5e6-96231b3b80d8
2001-12-05 06:34:58 +00:00
Chris Lattner
fe196cf98b Use new induction variable simplification code with -indvars option
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1410 91177308-0d34-0410-b5e6-96231b3b80d8
2001-12-04 04:32:04 +00:00
Chris Lattner
df89f6efbc Induction variables must be phi nodes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1402 91177308-0d34-0410-b5e6-96231b3b80d8
2001-12-03 17:27:42 +00:00
Chris Lattner
cee8f9ae67 Create a new #include "Support/..." directory structure to move things
from "llvm/Support/..." that are not llvm dependant.

Move files and fix #includes


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1400 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-27 00:03:19 +00:00
Chris Lattner
2409ddb5b2 -raise includes constprop and dce
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1397 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-26 19:37:43 +00:00
Chris Lattner
63202328d3 * Add hooks to globaldce
* Fix ugly hacks by implementing IPOs correctly
* Use an auto_ptr to manage the module lifecycle


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1395 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-26 19:22:39 +00:00
Chris Lattner
aa4730d9c3 Link to ipo library
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1394 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-26 19:21:02 +00:00
Chris Lattner
aca8e90cd9 Fix problem where lli < foo.bc would have argc = 0
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1393 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-26 19:20:38 +00:00
Chris Lattner
de3b862a18 Add support to enable -lfoo to be processed correctly
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1390 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-26 19:18:30 +00:00
Chris Lattner
75deac6b12 Add hooks to print natural loop information and induction variables
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1389 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-26 19:18:11 +00:00