1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-29 23:12:55 +01:00
Commit Graph

595 Commits

Author SHA1 Message Date
Nate Begeman
31da564faa Move some common data structures between dom and pdom into the base class
llvm-svn: 26905
2006-03-20 19:32:48 +00:00
Nate Begeman
7c2afcfc02 Fix PR681 by using the standard Lengauer and Tarjan algorithm for dominator
set construction, rather than intersecting various std::sets.  This reduces
the memory usage for the testcase in PR681 from 496 to 26MB of ram on my
darwin system, and reduces the runtime from 32.8 to 0.8 seconds on a
2.5GHz G5.  This also enables future code sharing between Dom and PostDom
now that they share near-identical implementations.

llvm-svn: 26707
2006-03-11 02:20:46 +00:00
Chris Lattner
ed45ad33b7 Make the LLVM headers "-ansi -pedantic -Wno-long-long" clean.
Patch by Martin Partel!

llvm-svn: 26313
2006-02-22 16:23:43 +00:00
Chris Lattner
d92225434a Refactor a bunch of code into a non-inlined method
llvm-svn: 25972
2006-02-04 09:51:33 +00:00
Chris Lattner
43978e529e add a method
llvm-svn: 25959
2006-02-04 05:49:01 +00:00
Chris Lattner
fa8477498c Initialize DFSnum's to -1, in case a node is not reachable.
llvm-svn: 25344
2006-01-15 21:48:36 +00:00
Chris Lattner
789d498d78 add an assert, patch by Daniel Berlin
llvm-svn: 25343
2006-01-15 21:46:23 +00:00
Chris Lattner
551df64bd0 Change ET-Forest to automatically recalculate its DFSnum's if too many slow
queries are made.

Patch by Daniel Berlin!

llvm-svn: 25323
2006-01-14 20:55:09 +00:00
Chris Lattner
62ab0d6471 Add CallGraph::getOrInsertFunction, to allow clients to update the callgraph
when they change the program

llvm-svn: 25316
2006-01-14 20:01:50 +00:00
Chris Lattner
f75f017cae add a dump method to CallGraph
llvm-svn: 25314
2006-01-14 19:17:02 +00:00
Chris Lattner
07daf14bbd Switch loopinfo to using ETForest instead of DominatorSet to compute itself.Patch by Daniel Berlin!
llvm-svn: 25200
2006-01-11 05:08:57 +00:00
Chris Lattner
60499c68b3 Fix the build on platforms where <cassert> doesn't define NULL
llvm-svn: 25147
2006-01-08 09:10:46 +00:00
Chris Lattner
84a9d11b28 Initial implementation of the ET-Forest data structure for dominators and
post-dominators.  This code was written/adapted by Daniel Berlin!

llvm-svn: 25144
2006-01-08 08:22:18 +00:00
Chris Lattner
7f45e655a8 Separate the call graph implementation from its interface. This implements
the rough idea sketched out in http://nondot.org/sabre/LLVMNotes/CallGraphClass.txt,
allowing new spiffy implementations of the callgraph interface to be built.

Many thanks to Saem Ghani for contributing this!

llvm-svn: 24944
2005-12-22 06:07:52 +00:00
Sumant Kowshik
4e682cf56e Added comment for removing assert
llvm-svn: 24623
2005-12-06 18:16:08 +00:00
Sumant Kowshik
de8f54485b Handling of zero length last fields in struct used for growing it arbitrarily
llvm-svn: 24620
2005-12-06 18:01:20 +00:00
Chris Lattner
80afe26d76 Add a simple clear() method
llvm-svn: 24543
2005-11-30 19:31:23 +00:00
Chris Lattner
8154ba119b Fix PR670 and test/Regression/Transforms/Mem2Reg/2005-11-28-Crash.ll
llvm-svn: 24508
2005-11-29 01:07:12 +00:00
Chris Lattner
a19b6a0800 Fix the dominates method to return true if the two nodes are the same. Add
a new properlyDominates method to do what the old one did.

llvm-svn: 24407
2005-11-18 07:27:33 +00:00
Chris Lattner
3736ba002f remove a dead header
llvm-svn: 24084
2005-10-29 04:43:10 +00:00
John Criswell
0893d5847f Move some constant folding functions into LLVMAnalysis since they are used
by Analysis and Transformation passes.

llvm-svn: 24038
2005-10-27 16:00:10 +00:00
Chris Lattner
8a287bab72 This pass is very old and quite useless, remove it.
llvm-svn: 23946
2005-10-24 02:35:24 +00:00
Chris Lattner
48f3be3f64 add a proto
llvm-svn: 23923
2005-10-24 01:00:32 +00:00
Chris Lattner
b035470bae new header
llvm-svn: 23921
2005-10-24 00:59:49 +00:00
Chris Lattner
1cb80df69b add some prototypes
llvm-svn: 23919
2005-10-24 00:38:25 +00:00
Chris Lattner
f3471861a6 new method
llvm-svn: 23314
2005-09-12 17:03:16 +00:00
Chris Lattner
7597afd2b5 add two helper methods
llvm-svn: 22735
2005-08-09 23:36:18 +00:00
Jeff Cohen
019104459d Keep tabs and trailing spaces out.
llvm-svn: 22565
2005-07-30 18:33:25 +00:00
Nate Begeman
0d1a7b6737 Break SCEVExpander out of IndVarSimplify into its own .h/.cpp file so that
other passes may use it.

llvm-svn: 22557
2005-07-30 00:12:19 +00:00
Jeff Cohen
81980781a1 Eliminate tabs and trailing spaces.
llvm-svn: 22520
2005-07-27 05:53:44 +00:00
Chris Lattner
83170cd9ba Don't crash on a query where the block is not in any loop. Thanks to
Sameer D. Sahasrabuddhe for pointing this out!

llvm-svn: 22314
2005-06-29 17:41:25 +00:00
Andrew Lenharth
8ff5960b39 make AliasAnalysis know that VAArg writes memory. This is extremely conservative and should be fixed
llvm-svn: 22267
2005-06-20 15:24:23 +00:00
Chris Lattner
ee65cff29c fix warning
llvm-svn: 22060
2005-05-15 17:25:14 +00:00
Chris Lattner
138c960903 fix compiler warning
llvm-svn: 22059
2005-05-15 17:23:19 +00:00
Reid Spencer
ba222e3e99 Some cleanups for compilation with GCC 4.0.0 to remove warnings:
* Use C++ style casts, not C style casts
* Abstract base classes should have virtual destructor.

llvm-svn: 22057
2005-05-15 16:13:11 +00:00
Tanya Lattner
889ebef2ba Add accessor method,
llvm-svn: 21649
2005-05-01 16:22:41 +00:00
Misha Brukman
d292737471 Convert tabs to spaces
llvm-svn: 21436
2005-04-22 03:27:20 +00:00
Misha Brukman
3f0aa3dbf8 Remove trailing whitespace
llvm-svn: 21408
2005-04-21 20:19:05 +00:00
Chris Lattner
8ac773f1f1 add support for taking the address of free.
llvm-svn: 21395
2005-04-21 16:08:59 +00:00
Chris Lattner
472c891d23 Improve doxygen documentation, patch contributed by Evan Jones!
llvm-svn: 21393
2005-04-21 16:04:49 +00:00
Chris Lattner
dadd36cb34 merge EquivClassGraphs.h into DataStructure.h with the other DSA pass definitions.
llvm-svn: 21041
2005-04-02 20:08:06 +00:00
Chris Lattner
8b753bbfd9 add and use a callee_iterator typedef
llvm-svn: 21037
2005-04-02 20:02:32 +00:00
Chris Lattner
b58ad4e3eb Change the ActualCallees callgraph from hash_multimap<Instruction,Function>
to std::set<std::pair<Inst,Func>> to avoid duplicate entries.

llvm-svn: 21030
2005-04-02 19:15:15 +00:00
Chris Lattner
df0b2499ae add new spliceFrom methods.
llvm-svn: 20823
2005-03-24 23:45:20 +00:00
Chris Lattner
07f8360573 if a function doesn't access memory at all, it definitely doesn't read it.
llvm-svn: 20794
2005-03-23 23:27:34 +00:00
Chris Lattner
03631d6bc4 a hack to allow count-aa to work with ds-aa :(
llvm-svn: 20791
2005-03-23 21:59:34 +00:00
Chris Lattner
deb71bf41d Fix a serious bug where we didn't insert globals into the globalset when
cloning a graph.

llvm-svn: 20770
2005-03-22 19:44:11 +00:00
Chris Lattner
b2d5129f59 add a method
llvm-svn: 20761
2005-03-22 01:42:10 +00:00
Chris Lattner
0ed923c45a Now that the dead ctor is gone, nothing uses the old node mapping exported by
cloneInto: make it an internally used mapping.

llvm-svn: 20760
2005-03-22 00:36:51 +00:00
Chris Lattner
4264b1d97e remove a dead ctor
llvm-svn: 20759
2005-03-22 00:33:35 +00:00