1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 12:12:47 +01:00
Commit Graph

242 Commits

Author SHA1 Message Date
Chris Lattner
73edb721e8 Add hook for pool allocation pass
llvm-svn: 2013
2002-03-28 18:08:07 +00:00
Chris Lattner
6e01190339 Checking for Cameron
llvm-svn: 2011
2002-03-28 17:56:28 +00:00
Cameron Buschardt
788a1aaab0 Rename constructor function for mem2reg pass.
llvm-svn: 2008
2002-03-27 23:29:23 +00:00
Chris Lattner
d425cc5987 * 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

llvm-svn: 1995
2002-03-26 22:43:12 +00:00
Vikram S. Adve
1231c34e04 Rename pass to DecomposeMultiDimRefs.
llvm-svn: 1960
2002-03-24 03:19:54 +00:00
Chris Lattner
42439b8827 Add a debugging option to gccas to cause it to not do level raise or anything
after it.

llvm-svn: 1934
2002-03-21 21:21:50 +00:00
Chris Lattner
9036b8c899 Expose dead instruction elimination pass
llvm-svn: 1877
2002-03-14 22:36:15 +00:00
Chris Lattner
6a2a2e40f3 Echo the right tool name on error
llvm-svn: 1865
2002-03-12 15:41:36 +00:00
Chris Lattner
558efd4bf0 Remove runtime library in favor of users linking against real libraries.
llvm-svn: 1853
2002-03-11 17:57:13 +00:00
Chris Lattner
4489946ab0 * Implement linking to libraries
* Pass arguments to program through shell script

llvm-svn: 1851
2002-03-11 17:49:53 +00:00
Chris Lattner
cc1fa55c61 Pull interprocedural analyses out of Analysis library into their own lib
llvm-svn: 1827
2002-03-06 18:44:29 +00:00
Chris Lattner
06711c728d Don't forget to build gccld!
llvm-svn: 1826
2002-03-06 18:05:02 +00:00
Chris Lattner
319dec9cea Since verifier and SlotCalculator are now in VMCore library, libanalysis is
no longer required

llvm-svn: 1823
2002-03-06 17:41:18 +00:00
Chris Lattner
0c342ec032 Pull callgraph out of Cfg namespace
llvm-svn: 1822
2002-03-06 17:40:37 +00:00
Chris Lattner
9287e88e26 Change to use new pass accessor functions
llvm-svn: 1817
2002-02-26 21:47:29 +00:00
Chris Lattner
e2383e8592 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.

llvm-svn: 1816
2002-02-26 21:46:54 +00:00
Chris Lattner
5e721a352c * 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

llvm-svn: 1813
2002-02-26 21:36:53 +00:00
Chris Lattner
1b9b843452 Move ProfilePaths class into ProfilePaths library, only expose a creation function
llvm-svn: 1812
2002-02-26 20:04:59 +00:00
Anand Shukla
19d77241bc Includes -paths option to trace paths in the program
llvm-svn: 1811
2002-02-26 19:57:59 +00:00
Anand Shukla
209b88c6fc Link in the PathProfiles library
llvm-svn: 1800
2002-02-26 18:29:20 +00:00
Chris Lattner
44d96e69f4 Remove hack. This is better fixed in Makefile.common
llvm-svn: 1795
2002-02-24 23:25:46 +00:00
Chris Lattner
98aa08c950 Cleanup to build with GCC 3.0.4
llvm-svn: 1794
2002-02-24 23:25:24 +00:00
Chris Lattner
dcdf0532ff Build with newer compiler, with same bug
llvm-svn: 1793
2002-02-24 23:11:05 +00:00
Chris Lattner
a3ec3f6fd0 GCC3.0.4 crashes when compiling this. Comment it out for now
llvm-svn: 1792
2002-02-24 23:03:37 +00:00
Chris Lattner
5ece03aed8 Genericize the ReversePostOrderIterator.
llvm-svn: 1785
2002-02-24 21:48:59 +00:00
Chris Lattner
3b17492321 * Expose the verifier pass as one that can be ran
* Force the verifier to run before bytecode is written

llvm-svn: 1783
2002-02-20 17:56:53 +00:00
Chris Lattner
b0a2c5546b 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

llvm-svn: 1746
2002-02-12 21:07:25 +00:00
Chris Lattner
589decaa98 Enable register promotion pass
llvm-svn: 1740
2002-02-12 17:17:33 +00:00
Chris Lattner
fbe7890cc4 Trim down makefile, again.
llvm-svn: 1691
2002-02-04 17:37:25 +00:00
Chris Lattner
32703676f4 Cut down number of times libraries are included to link a little bit faster
llvm-svn: 1678
2002-02-04 06:43:56 +00:00
Chris Lattner
4e02006161 * Remove -noasm option. If we're not compiling, what's the point?
* convert over to pass based target backend.  Much cleaner now

llvm-svn: 1665
2002-02-03 23:43:19 +00:00
Chris Lattner
ed11b34f8d Switch over to a model where we compile each method, emit assembly, then free
machineinstr memory before starting on the next method.

llvm-svn: 1659
2002-02-03 07:54:10 +00:00
Chris Lattner
bfdc4a546a Catch the parse exception if bad input is provided. Much better than an abort
llvm-svn: 1631
2002-02-01 05:09:35 +00:00
Chris Lattner
d4cdf2337a Add mergereturn pass
llvm-svn: 1629
2002-02-01 04:54:11 +00:00
Chris Lattner
5786d62ec7 Add dependency
llvm-svn: 1620
2002-01-31 18:33:23 +00:00
Chris Lattner
c03f994e04 Fix dependency problem
llvm-svn: 1619
2002-01-31 18:33:09 +00:00
Chris Lattner
15709802b8 Resolve deps
llvm-svn: 1615
2002-01-31 15:52:41 +00:00
Chris Lattner
f03244d976 Resolve dependencies
llvm-svn: 1614
2002-01-31 15:43:11 +00:00
Chris Lattner
88bd8acf90 Convert to use new Pass framework...
llvm-svn: 1610
2002-01-31 00:47:12 +00:00
Chris Lattner
70f03681e8 PassManager is now in its own header file
MethodPass's now cannot be run on external methods

llvm-svn: 1609
2002-01-31 00:46:45 +00:00
Chris Lattner
5e70addcea PassManager is now in it's own header file
llvm-svn: 1608
2002-01-31 00:46:22 +00:00
Chris Lattner
525a04cef7 Convert analyze over to use new pass framework for its analyses
llvm-svn: 1607
2002-01-31 00:46:09 +00:00
Chris Lattner
eb93690918 Accept, but ignore -lfoo options.
llvm-svn: 1585
2002-01-25 03:59:39 +00:00
Chris Lattner
51e409d5ce Initial Checkin of gccld
llvm-svn: 1578
2002-01-24 19:12:12 +00:00
Chris Lattner
d4ebfa46da In an amazing fit of stupidity, I flipped the conditional and didn't test
it right.  Sheesh :)

llvm-svn: 1550
2002-01-22 21:07:24 +00:00
Chris Lattner
bf0c3377fd Only run DeadInst elimination early, because it is quick and painless and
pipelines well

llvm-svn: 1549
2002-01-22 21:06:44 +00:00
Chris Lattner
fd5a4f7123 Misc cleanups. Allocate ofstream statically, and use a pass to write out the bytecode
llvm-svn: 1529
2002-01-22 03:30:46 +00:00
Chris Lattner
819df41a64 Try again, now it works right
llvm-svn: 1526
2002-01-22 02:28:50 +00:00
Chris Lattner
4cecd63a42 Rename LowerAllocations.h to ChangeAllocations.h since it now contains the
RaiseAllocations pass as well.

llvm-svn: 1525
2002-01-22 01:04:08 +00:00
Chris Lattner
d3a94cc67a Fix ordering dependency problem
llvm-svn: 1524
2002-01-22 01:03:39 +00:00
Chris Lattner
83056c99ec Pull RaiseAllocations stuff out of the CleanGCC pass into it's own pass in
the ChangeAllocations.h header file.

llvm-svn: 1522
2002-01-22 00:13:51 +00:00
Chris Lattner
4454cdc5c0 Move stuff out of the Optimizations directories into the appropriate Transforms
directories.  Eliminate the opt namespace.

llvm-svn: 1520
2002-01-21 23:17:48 +00:00
Chris Lattner
071f08916e Chuck fixed the GCC problems so this hack is now unneccesary
llvm-svn: 1519
2002-01-21 23:17:07 +00:00
Chris Lattner
10a9b7627d Eliminate opt library
llvm-svn: 1516
2002-01-21 23:13:46 +00:00
Chris Lattner
bbb4dcdcd1 Rename SwapStructureContents -> IPO/SimpleStructMutation
Move MutateStructTypes.(cpp|h) -> IPO/MutateStructTypes.(cpp|h)

llvm-svn: 1510
2002-01-21 07:52:35 +00:00
Chris Lattner
2521ae1011 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.

llvm-svn: 1507
2002-01-21 07:31:50 +00:00
Chris Lattner
3dc9a2a61f Changes to build successfully with GCC 3.02
llvm-svn: 1503
2002-01-20 22:54:45 +00:00
Chris Lattner
085560caa2 Add instruction combining pass
Rename -mergecons to -constmerge

llvm-svn: 1478
2001-12-14 16:50:35 +00:00
Chris Lattner
e6523ce62b Add more passes to run after raising
llvm-svn: 1476
2001-12-14 16:48:30 +00:00
Chris Lattner
eed30bc7da Build runtime library with local GCCAS
llvm-svn: 1447
2001-12-13 00:44:23 +00:00
Chris Lattner
c513c2ef29 Implement strlen strdup strcmp
llvm-svn: 1446
2001-12-13 00:44:09 +00:00
Chris Lattner
b0b2af33c7 Tell the user if a file is corrupt or not... not that the file cannot be
found.

llvm-svn: 1433
2001-12-08 20:31:32 +00:00
Chris Lattner
6d97b3a7be Run DCE before cleanupGCCoutput which will cause some dead types (like FILE) to be removed
llvm-svn: 1429
2001-12-07 04:25:36 +00:00
Chris Lattner
447d8fd004 Remove unnecesary namespace impot
llvm-svn: 1419
2001-12-05 06:35:30 +00:00
Chris Lattner
b1aa7e795d Simplify induction variables before 'raising' the representation
llvm-svn: 1418
2001-12-05 06:34:58 +00:00
Chris Lattner
f2e6a6be44 Use new induction variable simplification code with -indvars option
llvm-svn: 1410
2001-12-04 04:32:04 +00:00
Chris Lattner
a302c202ab Induction variables must be phi nodes
llvm-svn: 1402
2001-12-03 17:27:42 +00:00
Chris Lattner
463cc31132 Create a new #include "Support/..." directory structure to move things
from "llvm/Support/..." that are not llvm dependant.

Move files and fix #includes

llvm-svn: 1400
2001-11-27 00:03:19 +00:00
Chris Lattner
9da08d6abf -raise includes constprop and dce
llvm-svn: 1397
2001-11-26 19:37:43 +00:00
Chris Lattner
cc821cf542 * Add hooks to globaldce
* Fix ugly hacks by implementing IPOs correctly
* Use an auto_ptr to manage the module lifecycle

llvm-svn: 1395
2001-11-26 19:22:39 +00:00
Chris Lattner
a148c8ca93 Link to ipo library
llvm-svn: 1394
2001-11-26 19:21:02 +00:00
Chris Lattner
2b12cae948 Fix problem where lli < foo.bc would have argc = 0
llvm-svn: 1393
2001-11-26 19:20:38 +00:00
Chris Lattner
9588b188db Add support to enable -lfoo to be processed correctly
llvm-svn: 1390
2001-11-26 19:18:30 +00:00
Chris Lattner
b0bd512e44 Add hooks to print natural loop information and induction variables
llvm-svn: 1389
2001-11-26 19:18:11 +00:00
Chris Lattner
195bbf88ba Change swapstructs itf
Add nasty hack to be removed later

llvm-svn: 1356
2001-11-26 18:18:53 +00:00
Chris Lattner
e0ca60fc70 Run constprop before -raise
llvm-svn: 1354
2001-11-26 18:16:07 +00:00
Chris Lattner
5908013cfc Fix link prob
llvm-svn: 1297
2001-11-14 11:03:17 +00:00
Chris Lattner
6f00b04246 Add hooks to call the new swap structcontents pass
llvm-svn: 1243
2001-11-10 07:16:10 +00:00
Chris Lattner
c9486bac28 add Yet Another Instance of a Static Library
llvm-svn: 1242
2001-11-10 07:15:53 +00:00
Chris Lattner
3659e104ec Add hooks for the FindUsedTypes pass
llvm-svn: 1233
2001-11-09 05:27:34 +00:00
Chris Lattner
821d1b8d30 Add analysis pass.
llvm-svn: 1182
2001-11-07 21:16:29 +00:00
Chris Lattner
943810898d Move the Raise xform from opt to transforms
llvm-svn: 1072
2001-11-01 02:41:09 +00:00
Chris Lattner
81a5b6edbf crunch the output of GCC a bit to make it nicer
llvm-svn: 1068
2001-10-31 06:36:48 +00:00
Chris Lattner
0db277e65e Fix dumb copy and paste typos
llvm-svn: 1063
2001-10-31 04:33:33 +00:00
Chris Lattner
882675498b Add hook for GCC cleanup pass
llvm-svn: 1060
2001-10-31 04:29:44 +00:00
Chris Lattner
a2ae364718 Build new gccas tool
llvm-svn: 1059
2001-10-31 04:29:30 +00:00
Chris Lattner
4506f72080 Initial checkin of GCCAS
llvm-svn: 1058
2001-10-31 04:28:11 +00:00
Chris Lattner
396a23cffb Implement memset memcpy, calloc
llvm-svn: 1055
2001-10-30 22:37:01 +00:00
Chris Lattner
b02a9d8ce4 Initialize map for purify
llvm-svn: 1049
2001-10-30 20:28:46 +00:00
Chris Lattner
fbbdca242a I screwed up the macros, so of course strtol didn't work. *sigh*
llvm-svn: 1035
2001-10-29 17:47:10 +00:00
Chris Lattner
067667b61e Oops, accidentally broke reading from stdin when doing command line arguments
llvm-svn: 1026
2001-10-29 14:00:48 +00:00
Chris Lattner
52736dc8e3 Implement a -trace command line option and a trace option in the interpreter.
llvm-svn: 989
2001-10-27 08:43:52 +00:00
Chris Lattner
9def26ab6b * 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

llvm-svn: 988
2001-10-27 08:28:11 +00:00
Chris Lattner
de2726ed00 Provide argv for commands
llvm-svn: 987
2001-10-27 05:54:31 +00:00
Chris Lattner
e04a4efa13 * Implement exit() builtin function
* Implement linked in runtime library with puts(char*) in it
* implement builtin putchar(int) function

llvm-svn: 985
2001-10-27 04:15:57 +00:00
Chris Lattner
fc68c300ce Add support for building a runtime library for LLI
llvm-svn: 983
2001-10-24 19:52:41 +00:00
Chris Lattner
b75ed5de9d Implement a -L command line argument to specify a search path. Implement minimal ar compatibility stuff
llvm-svn: 975
2001-10-24 06:23:00 +00:00
Chris Lattner
7ec504f5dc 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.
llvm-svn: 970
2001-10-24 01:15:12 +00:00
Chris Lattner
aa8d1c9987 Add '-v' option to enable verbose output from the linker
llvm-svn: 966
2001-10-23 20:44:55 +00:00
Chris Lattner
1c682e89db Fix to reference the right header
llvm-svn: 915
2001-10-19 15:39:14 +00:00