Devang Patel
|
272908dcf2
|
Implement top level FunctionPassManager::run(Function &F)
llvm-svn: 32381
|
2006-12-08 22:57:48 +00:00 |
Devang Patel
|
5bbeb49130
|
Do not keep yet another list of pass managers in PassManagerImpl_New.
Use one provided by toplevel manager.
llvm-svn: 32380
|
2006-12-08 22:47:25 +00:00 |
Devang Patel
|
df6c9ae208
|
Remove unused schedulePass() parameter.
llvm-svn: 32379
|
2006-12-08 22:34:02 +00:00 |
Devang Patel
|
e31049fed5
|
Remove unused getAnalysisPass and getAnalysisPassFromManager
llvm-svn: 32378
|
2006-12-08 22:32:32 +00:00 |
Devang Patel
|
640c5bba77
|
Implement PMTopLevel::findAnalysisPass() and
PMDataManager::findAnalysisPass()
llvm-svn: 32377
|
2006-12-08 22:30:11 +00:00 |
Devang Patel
|
0e29e29cc5
|
During runOnModule() do initialization and finalization.
llvm-svn: 32371
|
2006-12-08 19:04:09 +00:00 |
Devang Patel
|
1929089ea2
|
Reuse code. Directly use runOnFunction().
llvm-svn: 32370
|
2006-12-08 19:03:05 +00:00 |
Devang Patel
|
1f65368a82
|
Implement FunctionPassManager_New::FunctionPassManager_New(ModuleProvider *P)
llvm-svn: 32368
|
2006-12-08 18:57:16 +00:00 |
Devang Patel
|
e958559204
|
BasicBlockPassManager_New::runOnFunction()
Do initialization and finalization.
llvm-svn: 32346
|
2006-12-08 01:38:28 +00:00 |
Devang Patel
|
475c453c00
|
doInitialization and doFinalization for BasicBlockPassManager_New
llvm-svn: 32345
|
2006-12-08 00:59:05 +00:00 |
Devang Patel
|
17ad096dd8
|
Reimplement removeDeadPasses().
llvm-svn: 32344
|
2006-12-08 00:37:52 +00:00 |
Devang Patel
|
bc03f13b75
|
set Last User.
llvm-svn: 32342
|
2006-12-07 23:55:10 +00:00 |
Devang Patel
|
4c36e6bee0
|
Maintain level(or depth) of pass manager in pass manager food chain.
llvm-svn: 32339
|
2006-12-07 23:24:58 +00:00 |
Devang Patel
|
1d6267cac3
|
New method, PMDataManager::collectRequiredAnalysisPasses()
llvm-svn: 32338
|
2006-12-07 23:05:44 +00:00 |
Devang Patel
|
4949fe01f1
|
When new pass manager is created, initialize available analysis info
of existing manager at the same level. Otherwise, such info may be
considered as available, which not true.
llvm-svn: 32334
|
2006-12-07 22:34:21 +00:00 |
Devang Patel
|
f4805ce89a
|
PMDataManager does not maintain LastUser info.
llvm-svn: 32332
|
2006-12-07 22:17:09 +00:00 |
Devang Patel
|
17bff0dbdc
|
Make current pass info available _after_ removing info that is not
preserved.
llvm-svn: 32329
|
2006-12-07 22:09:36 +00:00 |
Devang Patel
|
642c1437cf
|
Add TODOs
llvm-svn: 32328
|
2006-12-07 21:58:50 +00:00 |
Devang Patel
|
28bbcbed4f
|
Fix thinko.
llvm-svn: 32327
|
2006-12-07 21:44:12 +00:00 |
Devang Patel
|
31217aff9b
|
Top level manages schedule the pass immediately at the time of insertion.
llvm-svn: 32326
|
2006-12-07 21:32:57 +00:00 |
Devang Patel
|
abcd1d38ed
|
Now FunctionPassManagerImpl_New and PassManagerImpl_New derives from
PMTopLevelManager.
llvm-svn: 32325
|
2006-12-07 21:27:23 +00:00 |
Devang Patel
|
de124185fa
|
Reimplement schedulePass interface. Move it into PMTopLevelManager.
llvm-svn: 32324
|
2006-12-07 21:10:57 +00:00 |
Devang Patel
|
b3900320c6
|
While initializing AvailableAnalysis info, make ImmutablePasses available
immediately.
llvm-svn: 32323
|
2006-12-07 21:02:08 +00:00 |
Devang Patel
|
e0eb9d8e31
|
Add ImmutablePass into the list of info managed by top level pass
manager.
llvm-svn: 32322
|
2006-12-07 20:51:18 +00:00 |
Devang Patel
|
2e169c37ea
|
If pass reserves all analysis info then each info is not separately
included in PreservedSet. So check getPreservesAll() first.
llvm-svn: 32319
|
2006-12-07 20:03:49 +00:00 |
Devang Patel
|
f9d96b934d
|
Pass Managers themselves do not invalidate any analysis info.
llvm-svn: 32318
|
2006-12-07 19:57:52 +00:00 |
Devang Patel
|
f3827bc21d
|
Add a handle to the top level pass manager in PMDataManager.
llvm-svn: 32317
|
2006-12-07 19:54:15 +00:00 |
Devang Patel
|
a1514cbdea
|
Cosmetic markers to divide code in separate chunks.
llvm-svn: 32316
|
2006-12-07 19:39:39 +00:00 |
Devang Patel
|
e9976aa91d
|
s/noteDownAvailableAnalysis/recordAvailableAnalysis
While recording available analysis, include interfaces implemented.
llvm-svn: 32315
|
2006-12-07 19:33:53 +00:00 |
Devang Patel
|
f33f3ebd14
|
Add PMTopLevelManager. It is not used yet.
llvm-svn: 32314
|
2006-12-07 19:21:29 +00:00 |
Devang Patel
|
8f677cecaa
|
RequiredAnalysis support is buggy and not used at the moment so remove
the code. Add TODO note.
llvm-svn: 32313
|
2006-12-07 18:47:25 +00:00 |
Devang Patel
|
a6b6dcbb1b
|
s/clearAnalysis/initializeAnalysisInfo/g
llvm-svn: 32312
|
2006-12-07 18:41:09 +00:00 |
Devang Patel
|
dbe4a1eef2
|
s/CommonPassManagerImpl/PMDataManager/g
llvm-svn: 32311
|
2006-12-07 18:36:24 +00:00 |
Devang Patel
|
6fea285c82
|
Add overview of pass manager.
llvm-svn: 32309
|
2006-12-07 18:23:30 +00:00 |
Bill Wendling
|
f3baad3ee1
|
Changed llvm_ostream et all to OStream. llvm_cerr, llvm_cout, llvm_null, are
now cerr, cout, and NullStream resp.
llvm-svn: 32298
|
2006-12-07 01:30:32 +00:00 |
Bill Wendling
|
dfc91897df
|
Changed to using LLVM streams.
llvm-svn: 31955
|
2006-11-28 02:09:03 +00:00 |
Devang Patel
|
9f3083eef0
|
Add run(Function &F) support in FunctionPassManager_New
llvm-svn: 31756
|
2006-11-15 19:39:54 +00:00 |
Devang Patel
|
4a3fa4ff26
|
Tidy up marking of last analysis user pass.
llvm-svn: 31746
|
2006-11-15 01:48:14 +00:00 |
Devang Patel
|
ff631ae600
|
Add doInitialization and doFinalization support in FunctionManager_New.
llvm-svn: 31745
|
2006-11-15 01:27:05 +00:00 |
Devang Patel
|
42add710fa
|
Do not derive CommonPassManagerImpl from Pass.
Now BasicBlockPassManager_New is a FunctionPass,
FunctionPassManager_New is a ModulePass
llvm-svn: 31744
|
2006-11-15 01:11:27 +00:00 |
Devang Patel
|
07f4f58945
|
Copy initializeAnalysisImpl() implementation from PassManagerT.
Update LastUser to recursively walk required transitive set.
llvm-svn: 31741
|
2006-11-14 21:49:36 +00:00 |
Devang Patel
|
ca1892699c
|
Implement removeDeadPasses().
llvm-svn: 31722
|
2006-11-14 03:05:08 +00:00 |
Devang Patel
|
3f0832a3b5
|
Keep track of Last user of analysis phase.
llvm-svn: 31721
|
2006-11-14 02:54:23 +00:00 |
Devang Patel
|
f60b5d9676
|
Use std::map to map AnalysisID and Pass.
llvm-svn: 31720
|
2006-11-14 01:59:59 +00:00 |
Devang Patel
|
050ec72ae4
|
Manage analysis passes during run.
llvm-svn: 31716
|
2006-11-14 01:23:29 +00:00 |
Devang Patel
|
dafa4ddc46
|
Update comments.
llvm-svn: 31713
|
2006-11-14 00:03:04 +00:00 |
Devang Patel
|
7086844634
|
Update PassManagerImpl_New::analysisCurrentlyAvailable to check all
managed passmanagers.
llvm-svn: 31710
|
2006-11-13 22:53:19 +00:00 |
Devang Patel
|
ebba970a6d
|
Check currently available anlysis in active managers.
llvm-svn: 31709
|
2006-11-13 22:40:09 +00:00 |
Devang Patel
|
1a6eaa49fe
|
Implement schedulePasses().
llvm-svn: 31671
|
2006-11-11 02:22:31 +00:00 |
Devang Patel
|
db789fb8f2
|
Implement PassManagerImpl_New::add().
Just add pass into the pass manager queue without processing analysis.
llvm-svn: 31670
|
2006-11-11 02:06:21 +00:00 |