Commit Graph

114 Commits

Author SHA1 Message Date
Chris Lattner
6d37acb052 Give passnames to the printer classes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4559 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-06 06:16:08 +00:00
Chris Lattner
c9d8beff59 No need to explicitly inclue ExportSymbols now
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4543 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-04 20:50:57 +00:00
Vikram S. Adve
c405daf392 Simple passes that print out SCCs in the CFGs or in the CallGraph of a module.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4532 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-04 14:20:22 +00:00
Chris Lattner
f74825436c Implement a new -print-callgraph analysis that turns a callgraph into a dot
graph


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4524 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-04 02:55:30 +00:00
Chris Lattner
ac859db3e4 - Implement a new -print-cfg option for analyze, that causes it to print the
CFG of each function in the module to 'dot' files.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4062 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-07 18:38:01 +00:00
Chris Lattner
44756999dc Enable correct support for dynamic loading on Linux
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3779 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-17 20:40:22 +00:00
Chris Lattner
cd7fbf2d0f - 'analyze' and 'as' now explicitly verify input because AsmParser doesn't.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3551 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-30 22:54:37 +00:00
Chris Lattner
c74cb8698f - Eliminate the last traces of the 'analysis' namespace
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3550 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-30 22:53:53 +00:00
Chris Lattner
e52e913626 New datastructure analysis correctly uses TargetData
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3525 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-29 20:10:29 +00:00
Chris Lattner
5f0eb8da62 - Cleaned up the interface to AnalysisUsage to take analysis class names
instead of ::ID's.
 - Pass::getAnalysis<> now no longer takes an optional argument


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3265 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-08 19:01:30 +00:00
Chris Lattner
8633a487c7 Changes to be GCC3.1 friendly
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3187 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-31 19:32:14 +00:00
Chris Lattner
50e3a20b54 Print the tool name when an error comes from so that I can tell which
tool of a pipeline is having issues.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3167 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-30 21:43:22 +00:00
Chris Lattner
1ad4436cc2 Use a module analysis
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3133 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-29 23:02:25 +00:00
Chris Lattner
781e6f5f89 Seperate analysis wrapper stuff to AnalysisWrappers.cpp
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3127 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-29 21:24:10 +00:00
Chris Lattner
9a740fdf21 Make analyze use the Pass repository to populate it's command line argument list
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3114 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-27 01:08:50 +00:00
Chris Lattner
ce6ef112c4 *** empty log message ***
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3105 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-26 18:40:14 +00:00
Chris Lattner
98ad7e9b5d Be more namespace correct
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3086 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-25 16:31:01 +00:00
Chris Lattner
40ac148c1d Convert over to new style of Makefile, where there is a difference between .o and .a libraries.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3000 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-23 17:50:41 +00:00
Chris Lattner
84b362b42c Add description to Enum options.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2987 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-22 02:18:00 +00:00
Chris Lattner
50e3f88d38 Convert command line option processing code over to use the syntax supported
by the CommandLine 2.0 library


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2984 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-22 02:10:07 +00:00
Chris Lattner
f7ccb70604 Add support for bottom up closure of ds analysis
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2963 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-18 06:40:56 +00:00
Chris Lattner
4c7b04508e Rename DataStructure to LocalDataStructures
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2873 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-10 22:42:53 +00:00
Chris Lattner
0b12b5f50e MEGAPATCH checkin.
For details, See: docs/2002-06-25-MegaPatchInfo.txt


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2778 91177308-0d34-0410-b5e6-96231b3b80d8
2002-06-25 16:13:21 +00:00
Chris Lattner
65f1b895bb Merge all include/llvm/Transforms/Scalar/* into a single Scalar.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2538 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-07 20:03:27 +00:00
Chris Lattner
fbaed2e070 Remove InstForest from analysis namespace
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2401 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-29 18:13:31 +00:00
Chris Lattner
c6f3ae5c66 Eliminate duplicate or unneccesary #include's
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2397 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-29 17:42:12 +00:00
Chris Lattner
96c466b06a Add new optional getPassName() virtual function that a Pass can override
to make debugging output a lot nicer.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2395 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-29 14:57:45 +00:00
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
c4199ecf6e Add support to print a call graph, and also add support for module level interprocedural analyses
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@659 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-28 00:07:36 +00:00
Chris Lattner
b312259842 Export the instruction forest support from the analysis library
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@556 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 01:42:42 +00:00
Chris Lattner
e4ca607ab0 iFix dependence order
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@517 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-09 21:03:12 +00:00
Chris Lattner
c9744e7f26 Make use of the new TOOLNAME/USEDLIBS options provided in Makefile.common
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@501 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 22:59:25 +00:00
Chris Lattner
da5cfa369f Parenthesize output for expranalyze so that pointer stuff being multiplied isn't confusing
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@299 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-25 22:48:37 +00:00
Chris Lattner
a8e1fd30ed Use the new Alias command line option
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@284 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-23 20:22:30 +00:00
Chris Lattner
1e78f36127 CommandLine library cleanup. No longer use getValue/setValue, instead, just treat the commandline
args as the objects they represent and the "right thing" will happen


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@283 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-23 19:27:24 +00:00
Chris Lattner
57dbb3ad63 Moved inline/llvm/Tools/* to include/llvm/Support/*
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@279 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-23 17:46:59 +00:00
Chris Lattner
8f367bd3c0 Large scale changes to implement new command line argument facility
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@272 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-23 02:35:57 +00:00
Chris Lattner
85202d4622 Support changed expression api
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@242 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-21 19:08:44 +00:00
Chris Lattner
1546bff423 Update makefile for more accurate deps
Include support to print out Expression types


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@216 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-20 19:16:29 +00:00
Chris Lattner
a3c8916228 Fix clean target
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-18 23:43:53 +00:00
Vikram S. Adve
416ae8da19 Reordered link line for correct static linking.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@198 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-15 21:13:29 +00:00
Chris Lattner
c13aff657e Add better support for post dominator information.
Print method name for each analysis.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-06 16:59:10 +00:00
Chris Lattner
f3dc2c9a07 Initial checkin of analyze tool.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-03 15:30:38 +00:00