1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-21 03:53:04 +02:00
Commit Graph

57 Commits

Author SHA1 Message Date
Reid Spencer
50ec3f9325 Add #include <iostream> since Value.h does not #include it any more.
llvm-svn: 14622
2004-07-04 12:19:56 +00:00
Chris Lattner
9579beadfe Don't grab the condition of unconditional branches!
This fixes PR363

llvm-svn: 14076
2004-06-08 21:50:30 +00:00
Chris Lattner
69d4611250 Remove code to update loop depths
llvm-svn: 13058
2004-04-19 03:02:09 +00:00
Chris Lattner
509116ec78 Add new method
llvm-svn: 13050
2004-04-18 22:45:27 +00:00
Chris Lattner
06e17bb6f7 Fix computation of exit blocks
llvm-svn: 13047
2004-04-18 22:21:41 +00:00
Chris Lattner
7174acca00 Change the ExitBlocks list from being explicitly contained in the Loop
structure to being dynamically computed on demand.  This makes updating
loop information MUCH easier.

llvm-svn: 13045
2004-04-18 22:14:10 +00:00
Chris Lattner
08232425a0 Implement method
llvm-svn: 13036
2004-04-18 06:54:48 +00:00
Chris Lattner
6606b526f6 Add a new method, add a check missing that caused a segfault if a loop didn't
have a canonical indvar

llvm-svn: 13032
2004-04-18 05:38:05 +00:00
Chris Lattner
a86cf626b5 add some helpful methods. Rearrange #includes to proper order
llvm-svn: 12960
2004-04-15 15:16:02 +00:00
Chris Lattner
fd1cfeeb1d Add some methods that are useful for updating loop information.
llvm-svn: 12871
2004-04-12 20:26:17 +00:00
Misha Brukman
440d62207c Order #includes alphabetically, per style guide.
llvm-svn: 11015
2004-01-30 17:26:24 +00:00
Chris Lattner
1736f44b1d Improve encapsulation in the Loop and LoopInfo classes by eliminating the
getSubLoops/getTopLevelLoops methods, replacing them with iterator-based
accessors.

llvm-svn: 10714
2004-01-08 00:09:44 +00:00
Brian Gaeke
d25f86d683 Put all LLVM code into the llvm namespace, as per bug 109.
llvm-svn: 9903
2003-11-11 22:41:34 +00:00
Chris Lattner
ce023da56a Do not add unreachable code to a natural loop!
llvm-svn: 9377
2003-10-22 16:41:21 +00:00
John Criswell
b402729b30 Added LLVM project notice to the top of every C++ source file.
Header files will be on the way.

llvm-svn: 9298
2003-10-20 19:43:21 +00:00
Chris Lattner
b6c8569f05 Regularize header file comments
llvm-svn: 9071
2003-10-13 03:32:08 +00:00
Chris Lattner
be9a1813c6 Make getNumBackEdges more efficient
llvm-svn: 9063
2003-10-12 22:14:27 +00:00
Chris Lattner
36559daef0 Remove explicit use of BasicBlock::succ_iterator
llvm-svn: 8706
2003-09-24 22:18:35 +00:00
Chris Lattner
d34f5bd750 Fix the bug that broke the nightly tester in McCat/18-imp last night. :(
llvm-svn: 7925
2003-08-17 21:47:33 +00:00
Chris Lattner
0674b75f99 Fix bug: LoopPreheaders/2003-08-15-PreheadersFail.ll
llvm-svn: 7915
2003-08-16 20:57:16 +00:00
Chris Lattner
648e9d9cff Fix bug: Analysis/LoopInfo/2003-05-15-NestingProblem.ll
llvm-svn: 6230
2003-05-15 18:03:51 +00:00
Chris Lattner
72338826c9 Fix bug: LoopPreheaders/2003-04-25-AssertFail.ll
llvm-svn: 5959
2003-04-26 19:34:18 +00:00
Chris Lattner
77840ef407 Add dump method for Loops
llvm-svn: 5671
2003-02-28 16:54:45 +00:00
Chris Lattner
030a114dba Simplify a bit by using a new member function
llvm-svn: 5662
2003-02-27 22:48:08 +00:00
Chris Lattner
c37308604f Change behavior of changeExitBlock function to replace all instances of exit block
llvm-svn: 5661
2003-02-27 22:37:44 +00:00
Chris Lattner
e1d4fb3c2c Fix bug: LICM/2003-02-27-PreheaderProblem.ll
There may be a single outside predecessor and
still need a new loop-preheader if the predecessor has multiple
successors.

llvm-svn: 5656
2003-02-27 21:51:38 +00:00
Chris Lattner
ac72aab6e7 - LoopInfo now calculates and tracks loop exit blocks
llvm-svn: 5650
2003-02-27 00:38:34 +00:00
Chris Lattner
4c2012352d Dramatically simplify building of natural loops and fix a bug where the BBMap
was not correctly computed.

llvm-svn: 5606
2003-02-22 21:33:11 +00:00
Chris Lattner
1fc8307d2a Fix the requisite bug that I introduced
llvm-svn: 5605
2003-02-20 00:28:00 +00:00
Chris Lattner
92bf8c2754 Fix 80 character formatting
llvm-svn: 5604
2003-02-20 00:18:07 +00:00
Chris Lattner
97d323caea Fix bug: 2003-02-19-LoopInfoNestingBug.ll
llvm-svn: 5603
2003-02-20 00:17:17 +00:00
Misha Brukman
d55cfa6b94 Added helper functions in LoopInfo: isLoopExit and numBackEdges.
llvm-svn: 4112
2002-10-11 05:31:10 +00:00
Chris Lattner
53be50fb2f Minor tweak
llvm-svn: 3985
2002-09-29 22:59:29 +00:00
Chris Lattner
45c83d6451 Fix printing of loop information
llvm-svn: 3977
2002-09-29 21:43:04 +00:00
Chris Lattner
8b97a81265 Fix printing of loop information
llvm-svn: 3941
2002-09-26 16:15:54 +00:00
Chris Lattner
bfa0786c7e - Add new methods to LoopInfo: getLoopPreheader, addBasicBlockToLoop.
These allow extra information to be easily gathered, and loopinfo to be
    updated.

llvm-svn: 3936
2002-09-26 05:32:50 +00:00
Anand Shukla
1e105cdb7c Changed so it gets linked properly
llvm-svn: 3508
2002-08-26 16:45:19 +00:00
Chris Lattner
6c83ee57c1 - Do not expose ::ID from any of the analyses anymore.
llvm-svn: 3417
2002-08-21 17:09:49 +00:00
Chris Lattner
91d4742562 - Cleaned up the interface to AnalysisUsage to take analysis class names
instead of ::ID's.
 - Pass::getAnalysis<> now no longer takes an optional argument

llvm-svn: 3264
2002-08-08 19:01:28 +00:00
Chris Lattner
57c110ce62 Declare that these passes only depend on the CFG of the function
llvm-svn: 3157
2002-07-30 16:27:52 +00:00
Chris Lattner
b202b77aab * Eliminate the Provided set. All Passes now finally just automatically
provide themselves.

llvm-svn: 3124
2002-07-29 21:03:33 +00:00
Chris Lattner
ec2780457d * Standardize how analysis results/passes as printed with the print() virtual
methods
* Eliminate AnalysisID:  Now it is just a typedef for const PassInfo*
* Simplify how AnalysisID's are initialized
* Eliminate Analysis/Writer.cpp/.h: incorporate printing functionality into
  the analyses themselves.

llvm-svn: 3116
2002-07-27 01:12:17 +00:00
Chris Lattner
b934722f1b * Add support for different "PassType's"
* Add new RegisterOpt/RegisterAnalysis templates for registering passes that
  are to show up in opt or analyze
* Register Analyses now
* Change optimizations to use RegisterOpt instead of RegisterPass
* Add support for different "PassType's"
* Add new RegisterOpt/RegisterAnalysis templates for registering passes that
  are to show up in opt or analyze
* Register Analyses now
* Change optimizations to use RegisterOpt instead of RegisterPass
* Remove getPassName implementations from various subclasses

llvm-svn: 3112
2002-07-26 21:12:44 +00:00
Chris Lattner
dfd421a7df MEGAPATCH checkin.
For details, See: docs/2002-06-25-MegaPatchInfo.txt

llvm-svn: 2779
2002-06-25 16:13:24 +00:00
Chris Lattner
27a93b1e90 *** empty log message ***
llvm-svn: 2755
2002-06-03 22:10:52 +00:00
Chris Lattner
44c4a3f18f Mark analyses that only depend on the CFG of a function
llvm-svn: 2507
2002-05-06 19:32:07 +00:00
Chris Lattner
07fe96ca98 Eliminate the cfg namespace, moving LoopInfo, Dominators, Interval* classes
to the global namespace

llvm-svn: 2370
2002-04-28 16:21:30 +00:00
Chris Lattner
741453dd60 Change the Dominator info and LoopInfo classes to keep track of BasicBlock's, not
const BasicBlocks

llvm-svn: 2337
2002-04-28 00:15:57 +00:00
Chris Lattner
536cf1b13f * 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

llvm-svn: 2333
2002-04-27 06:56:12 +00:00
Chris Lattner
0a8a112014 Don't leak all of the Loop objects created...
llvm-svn: 2196
2002-04-09 05:43:19 +00:00