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
Chris Lattner
ee6826b5e3
Change swapstructs itf
...
Add nasty hack to be removed later
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1356 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-26 18:18:53 +00:00
Chris Lattner
a8b3015d40
Run constprop before -raise
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1354 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-26 18:16:07 +00:00
Chris Lattner
c2ae4f6d3b
Fix link prob
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1297 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-14 11:03:17 +00:00
Chris Lattner
854acb996e
Add hooks to call the new swap structcontents pass
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1243 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-10 07:16:10 +00:00
Chris Lattner
e764f60710
add Yet Another Instance of a Static Library
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1242 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-10 07:15:53 +00:00
Chris Lattner
9f8ae2b8cc
Add hooks for the FindUsedTypes pass
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1233 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-09 05:27:34 +00:00
Chris Lattner
483c3ee18e
Add analysis pass.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1182 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-07 21:16:29 +00:00
Chris Lattner
068f487ee5
Move the Raise xform from opt to transforms
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1072 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-01 02:41:09 +00:00
Chris Lattner
dbe0514e12
crunch the output of GCC a bit to make it nicer
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1068 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-31 06:36:48 +00:00
Chris Lattner
11c862cf46
Fix dumb copy and paste typos
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1063 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-31 04:33:33 +00:00
Chris Lattner
e166fe1910
Add hook for GCC cleanup pass
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1060 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-31 04:29:44 +00:00
Chris Lattner
f83bcfcd00
Build new gccas tool
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1059 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-31 04:29:30 +00:00
Chris Lattner
ecbde333a2
Initial checkin of GCCAS
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1058 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-31 04:28:11 +00:00
Chris Lattner
53b20c34dc
Implement memset memcpy, calloc
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1055 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-30 22:37:01 +00:00
Chris Lattner
2b2e5b360e
Initialize map for purify
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1049 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-30 20:28:46 +00:00
Chris Lattner
fe83ab527d
I screwed up the macros, so of course strtol didn't work. *sigh*
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1035 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-29 17:47:10 +00:00
Chris Lattner
aa7420b35b
Oops, accidentally broke reading from stdin when doing command line arguments
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1026 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-29 14:00:48 +00:00
Chris Lattner
43e3f7c962
Implement a -trace command line option and a trace option in the interpreter.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@989 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-27 08:43:52 +00:00
Chris Lattner
c259316730
* Make pointer values work better by treating them uniformly as 64 bit values.
...
This causes code that is generated by gcc to work better.
* Implement mul & div
* Export malloc, free, and pow
* add strtol, atoi, and atol to the runtime library
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@988 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-27 08:28:11 +00:00
Chris Lattner
204eec3f57
Provide argv for commands
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@987 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-27 05:54:31 +00:00
Chris Lattner
e43db88b2d
* Implement exit() builtin function
...
* Implement linked in runtime library with puts(char*) in it
* implement builtin putchar(int) function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@985 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-27 04:15:57 +00:00
Chris Lattner
4a82271451
Add support for building a runtime library for LLI
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@983 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-24 19:52:41 +00:00
Chris Lattner
65be321fdb
Implement a -L command line argument to specify a search path. Implement minimal ar compatibility stuff
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@975 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-24 06:23:00 +00:00
Chris Lattner
d6b65255fe
Changes to get some meaningful feedback from the bytecode reader. At some point this stuff should all be exception driven, but for now it is not.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@970 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-24 01:15:12 +00:00
Chris Lattner
b81adf14fb
Add '-v' option to enable verbose output from the linker
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@966 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-23 20:44:55 +00:00
Chris Lattner
ffa6f9ca06
Fix to reference the right header
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@915 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-19 15:39:14 +00:00
Chris Lattner
f8f2afb8cc
Enhancements to pass argc & argv to main if required
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@909 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-18 21:55:32 +00:00
Chris Lattner
d7477ee9d9
Remove unneccesary retcode var
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@905 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-18 20:33:21 +00:00
Chris Lattner
2197d21c3b
Refactor Assembly/Bytecode writer code into Assembly & bytecode libraries
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@904 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-18 20:32:07 +00:00
Chris Lattner
9effd69ca2
Expose more xforms to the opt utility
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@900 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-18 20:06:45 +00:00
Chris Lattner
c2c9dd1718
Bytecode writer is yanked out of Module printer
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@899 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-18 20:06:31 +00:00
Vikram S. Adve
712ac2b951
Move malloc/free lowering after tracing until lli supports
...
calls to external malloc/free functions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@893 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-18 18:20:20 +00:00
Chris Lattner
c9a1de6d1b
Only output code if file open is successful
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@890 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-18 17:07:22 +00:00
Vikram S. Adve
79a334968c
Trace code should always be exported just before code generation;
...
this is not a debugging option. But we can export it as assembly
instead of bytecode if -debugtrace is specified.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@889 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-18 13:51:20 +00:00
Chris Lattner
73e11d77aa
Use the standard header not the old one
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@886 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-18 06:13:08 +00:00
Chris Lattner
0eafc31684
Add support to insert trace code as an "optimization"
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@884 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-18 06:05:15 +00:00
Chris Lattner
685639df42
Convert to new simpler, more powerful pass structure
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@882 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-18 05:28:44 +00:00
Chris Lattner
6db0f4795c
* Passes return true if they change something, not if they fail
...
* Convert opt to use Pass's and convert optimizations to pass structure
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@870 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-18 01:31:43 +00:00
Chris Lattner
05e5e070ee
Passes return true if they change something, not if they fail
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@869 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-18 01:31:22 +00:00
Chris Lattner
2db4b72017
ConcretePass should not be a templated class!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@838 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-15 17:47:13 +00:00
Chris Lattner
25c1229930
Minor cleanups
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@837 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-15 17:41:24 +00:00
Chris Lattner
3524fc2197
Use the new Pass infrastructure to clean up llc
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@835 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-15 17:30:47 +00:00
Chris Lattner
1f4b6eb79f
Add library
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@827 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-15 15:55:15 +00:00
Chris Lattner
90c5b3d753
Minor code cleanups
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@825 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-15 13:47:13 +00:00
Chris Lattner
2e42d3a306
Implement global variables. Struct and Pointer initializers are not implemented yet though
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@818 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-15 05:51:48 +00:00
Vikram S. Adve
2f64f9f264
*** empty log message ***
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@811 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-14 23:29:28 +00:00
Chris Lattner
164cb69e04
Add a new -d argument to dump the internal rep as assembly.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@804 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-14 23:23:33 +00:00
Chris Lattner
b27c9e72d1
MethodTypes take an explicit isVarArg argument
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@782 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 07:07:28 +00:00
Chris Lattner
1d7b50b4f8
Fix comment flyer
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@781 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 07:06:57 +00:00
Chris Lattner
075a0b771e
Add new linker
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@780 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 07:06:23 +00:00
Chris Lattner
38c13463f6
Build the new linker
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@779 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 07:06:06 +00:00
Vikram S. Adve
7b70f3f086
Repeat some libs due to circular dependences between Sparc and other
...
code gen libraries.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@722 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-10 20:58:57 +00:00
Chris Lattner
b79757c621
Add hack to get rid of malloc & free instructions for code generation
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@713 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-04 01:40:53 +00:00