aboutsummaryrefslogtreecommitdiffstats
path: root/include
Commit message (Collapse)AuthorAgeFilesLines
...
* Add a method "getMainFunction()" that efficiently locates 'main' in a moduleChris Lattner2002-11-081-0/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4629 91177308-0d34-0410-b5e6-96231b3b80d8
* Include HashExtras.h since it is almost always needed anyway.Vikram S. Adve2002-11-082-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4626 91177308-0d34-0410-b5e6-96231b3b80d8
* Use DSNodeHandle for persistent mapsChris Lattner2002-11-084-6/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4623 91177308-0d34-0410-b5e6-96231b3b80d8
* Add flag that may be used to determine if dead nodes are used. It's temporaryChris Lattner2002-11-082-2/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4620 91177308-0d34-0410-b5e6-96231b3b80d8
* Restore a #include because this header file needs the definitionsVikram S. Adve2002-11-082-4/+2
| | | | | | | of DSCallSite::~DSCallSite and DSNodeHandle::~DSNodeHandle. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4616 91177308-0d34-0410-b5e6-96231b3b80d8
* Add interfaces for ResolveCallSiteModRefInfoChris Lattner2002-11-071-1/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4601 91177308-0d34-0410-b5e6-96231b3b80d8
* Instead of using a bool that constant has to be explained, use a selfChris Lattner2002-11-072-16/+26
| | | | | | | explanitory enum instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4600 91177308-0d34-0410-b5e6-96231b3b80d8
* Add new methodChris Lattner2002-11-072-0/+18
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4598 91177308-0d34-0410-b5e6-96231b3b80d8
* Expose isPointerType to clients of dsanalysisChris Lattner2002-11-072-0/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4597 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a commentChris Lattner2002-11-062-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4586 91177308-0d34-0410-b5e6-96231b3b80d8
* Allow the ResolveCallSiteModRefInfo method to return a mapping of nodes,Chris Lattner2002-11-061-2/+3
| | | | | | | implement the mod/ref bit masking git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4578 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a stub to implement the context sensitive mod/ref info for call sitesChris Lattner2002-11-061-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4577 91177308-0d34-0410-b5e6-96231b3b80d8
* Give a back pointer to the IPModRef object to the FunctionModRefInfo objectChris Lattner2002-11-061-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4576 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove a couple of #includes, move some code to .cpp fileChris Lattner2002-11-061-31/+15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4574 91177308-0d34-0410-b5e6-96231b3b80d8
* Make maxSize a private variable, add a size() accessorChris Lattner2002-11-062-8/+12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4573 91177308-0d34-0410-b5e6-96231b3b80d8
* Make PointerShift/Size be enums so they are constants instead of globalsChris Lattner2002-11-062-4/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4571 91177308-0d34-0410-b5e6-96231b3b80d8
* Make query operations non-const to allow demand-driven analyses.Vikram S. Adve2002-11-062-8/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4569 91177308-0d34-0410-b5e6-96231b3b80d8
* An implementation of the bit-vector representation of sets.Vikram S. Adve2002-11-062-0/+478
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4568 91177308-0d34-0410-b5e6-96231b3b80d8
* An interprocedural analysis pass that computes flow-insensitiveVikram S. Adve2002-11-061-0/+235
| | | | | | | IP Mod and Ref information for every function and every call site. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4567 91177308-0d34-0410-b5e6-96231b3b80d8
* Add const version of function getNodeForValue:Vikram S. Adve2002-11-062-0/+14
| | | | | | | const DSNodeHandle &getNodeForValue(Value *V) const. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4566 91177308-0d34-0410-b5e6-96231b3b80d8
* Dramatically simplify internal DSNode representation, get implementationChris Lattner2002-11-066-274/+156
| | | | | | | | *FULLY OPERATIONAL* and safe. We are now capable of completely analyzing at LEAST the Olden benchmarks + 181.mcf git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4562 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove stripscalars argument to cloneIntoChris Lattner2002-11-062-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4561 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a bunch of assertionsChris Lattner2002-11-042-4/+20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4549 91177308-0d34-0410-b5e6-96231b3b80d8
* Allow memory sizes to be negative, eliminate TmpRSSChris Lattner2002-11-042-10/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4539 91177308-0d34-0410-b5e6-96231b3b80d8
* Generic graph iterator to enumerate the SCCs of a graphVikram S. Adve2002-11-042-0/+442
| | | | | | | in linear time using Tarjan's DFS algorithm. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4531 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement methods needed to print out call graphChris Lattner2002-11-041-3/+22
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4522 91177308-0d34-0410-b5e6-96231b3b80d8
* Allow the call graph to be called from analyze naturally with print implementedChris Lattner2002-11-041-17/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4517 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename ValueMap to ScalarMapChris Lattner2002-11-032-22/+22
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4516 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename NewNode flag to HeapNodeChris Lattner2002-11-032-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4515 91177308-0d34-0410-b5e6-96231b3b80d8
* Check in header file that was missing, thus broke the buildChris Lattner2002-11-031-0/+16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4513 91177308-0d34-0410-b5e6-96231b3b80d8
* Fixed comment on top of DSNode.h, added note to DSSupport.h as to whyMisha Brukman2002-11-024-4/+12
| | | | | | | functions were split out from DSNode class. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4509 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement the "unknown flag" which mainly consists of aligning printing codeChris Lattner2002-11-022-14/+16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4490 91177308-0d34-0410-b5e6-96231b3b80d8
* * Eliminate Scalar node type (renumber other node types)Chris Lattner2002-11-022-18/+22
| | | | | | | * Allow DSNodeHandle::mergeWith to work if a node handle isn't pointing to a node yet git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4487 91177308-0d34-0410-b5e6-96231b3b80d8
* Eliminate some unneccesary #includes and forward declsChris Lattner2002-10-314-56/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4475 91177308-0d34-0410-b5e6-96231b3b80d8
* Refactored DSGraph.h:Misha Brukman2002-10-316-970/+1072
| | | | | | | | | * DSGraph.h contains DSGraph * DSNode.h contains DSNode (soon UDSNode and MDSNode) * DSSupport.h contains DSCallsite, DSTypeRec, and DSNodeHandler git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4466 91177308-0d34-0410-b5e6-96231b3b80d8
* This fixes all kinds of problems with array handling. There are still bugs toChris Lattner2002-10-312-44/+120
| | | | | | | | | | | | | | | | | be fixed, but we are getting much closer now. * Make DSNode::TypeRec a full fledged DSTypeRec type. * Add methods used to update and access the typerecords elements * Add methods to query if and to cause a node to be completely folded * DSGraph construction doesn't use the allocation type for anything at all, now nodes get their type information based on how they are used. * Fixed a bug with global value handling introduced in the last checkin * GEP support is now much better, arrays are handled correctly. The array flag is now updated in type records. There are still cases that are not handled yet (we do not detect pessimizations), but getting much closer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4465 91177308-0d34-0410-b5e6-96231b3b80d8
* New isAssociative/isCommutative inspection methods, graciously contributed byChris Lattner2002-10-311-0/+21
| | | | | | | Casey Carter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4459 91177308-0d34-0410-b5e6-96231b3b80d8
* Statistic class should return const reference to *this, not a reference toChris Lattner2002-10-312-12/+12
| | | | | | | the data type. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4458 91177308-0d34-0410-b5e6-96231b3b80d8
* Add interface to update domfrontier info, thanks to Casey Carter for implChris Lattner2002-10-311-3/+21
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4456 91177308-0d34-0410-b5e6-96231b3b80d8
* Bug fix: need to initialize new CallArgsDescriptor pointer.Vikram S. Adve2002-10-301-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4453 91177308-0d34-0410-b5e6-96231b3b80d8
* Bug fix in setting an implicit ref.Vikram S. Adve2002-10-301-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4452 91177308-0d34-0410-b5e6-96231b3b80d8
* Allow BuildMI that helps automate construction of SSA informationChris Lattner2002-10-302-5/+22
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4443 91177308-0d34-0410-b5e6-96231b3b80d8
* * Add new "Target Specific Flags" field to instruction descriptorChris Lattner2002-10-302-60/+56
| | | | | | | * Rename iclass to Flags git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4439 91177308-0d34-0410-b5e6-96231b3b80d8
* Add new optional getRegisterInfo to TargetMachineChris Lattner2002-10-301-0/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4436 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for structured printingChris Lattner2002-10-301-1/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4432 91177308-0d34-0410-b5e6-96231b3b80d8
* Improve comments, add methods for structured printingChris Lattner2002-10-301-11/+20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4431 91177308-0d34-0410-b5e6-96231b3b80d8
* Add methodChris Lattner2002-10-291-0/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4428 91177308-0d34-0410-b5e6-96231b3b80d8
* Add capability to have machine instruction autoinsert when it is createdChris Lattner2002-10-292-12/+18
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4424 91177308-0d34-0410-b5e6-96231b3b80d8
* Fixed spelling of `propagation'.Misha Brukman2002-10-293-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4422 91177308-0d34-0410-b5e6-96231b3b80d8
* Eliminate virtual methods that are sparc specificChris Lattner2002-10-291-19/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4419 91177308-0d34-0410-b5e6-96231b3b80d8