Commit Graph

41 Commits

Author SHA1 Message Date
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