Devang Patel
|
da35cdf10e
|
Remove unused constructor.
llvm-svn: 32516
|
2006-12-12 23:51:31 +00:00 |
|
Devang Patel
|
ae9da674a1
|
Add routines to dump pass manager queue.
llvm-svn: 32513
|
2006-12-12 23:34:33 +00:00 |
|
Devang Patel
|
b26731c9cd
|
FunctionPassManager()
Set AnalysisResolver_New and add FPM to PassManagers list.
llvm-svn: 32512
|
2006-12-12 23:27:37 +00:00 |
|
Devang Patel
|
e08024130b
|
Do not runOnFunction on external functions.
llvm-svn: 32510
|
2006-12-12 23:15:28 +00:00 |
|
Devang Patel
|
09032bc2b0
|
Initialize AnalysisImpls for each pass before executing the pass.
llvm-svn: 32509
|
2006-12-12 23:13:09 +00:00 |
|
Devang Patel
|
e969385cb9
|
collectRequiredAnalysisPasses().
Include RequiredTrainsitiveSet also.
llvm-svn: 32508
|
2006-12-12 23:09:32 +00:00 |
|
Devang Patel
|
8a5442e16d
|
removeNotPreservedAnalysis().
Do not remove ImmutablePass from the list.
llvm-svn: 32507
|
2006-12-12 23:07:44 +00:00 |
|
Devang Patel
|
94bb02ef16
|
Initialize activeManager.
llvm-svn: 32506
|
2006-12-12 22:57:43 +00:00 |
|
Devang Patel
|
a756f126ea
|
Remove unused constructor.
llvm-svn: 32505
|
2006-12-12 22:56:36 +00:00 |
|
Devang Patel
|
ea7846dd99
|
Maintain ImmutablePasses list at top level only. Do not make them
directly available to individual managers.
llvm-svn: 32504
|
2006-12-12 22:53:40 +00:00 |
|
Devang Patel
|
4d694e6674
|
findAnalysisPass().
First search all available passes before searching ImmutablePasses.
llvm-svn: 32503
|
2006-12-12 22:50:05 +00:00 |
|
Devang Patel
|
921f11b896
|
Fix thinko.
While searching for a analysis in a pass manager, do not search it into
pass manager's manager.
llvm-svn: 32501
|
2006-12-12 22:47:13 +00:00 |
|
Devang Patel
|
a3a8aeb459
|
o s/OtherPassManagers/IndirectPassManagers
o Make IndirectPassManagers vector of PMDataManager *
o Move PMTopLevelManager implementation below all class declarations.
llvm-svn: 32499
|
2006-12-12 22:35:25 +00:00 |
|
Devang Patel
|
bda67816fd
|
Initialize AnalysisImpls for ImmutablePass.
llvm-svn: 32498
|
2006-12-12 22:21:37 +00:00 |
|
Devang Patel
|
f2e0fe66cd
|
Set top level manager.
llvm-svn: 32496
|
2006-12-12 22:02:16 +00:00 |
|
Devang Patel
|
1dab3b3558
|
Analysis resolver now manages AnalysisImpls for the given patch.
llvm-svn: 32389
|
2006-12-09 01:11:34 +00:00 |
|
Devang Patel
|
a330306e9b
|
Top level pass manager keeps track of other managers, so this can be
removed now.
llvm-svn: 32388
|
2006-12-09 00:09:12 +00:00 |
|
Devang Patel
|
73cf028f5f
|
Use analysis resolver to find the info.
llvm-svn: 32387
|
2006-12-09 00:07:38 +00:00 |
|
Devang Patel
|
385edd79c5
|
Do not drop ImmutablePasses on the floor.
llvm-svn: 32386
|
2006-12-08 23:57:43 +00:00 |
|
Devang Patel
|
4e6c9b0ad9
|
Set AnalysisResolver for the passes when they are inserted into
pass manager queuer.
llvm-svn: 32385
|
2006-12-08 23:53:00 +00:00 |
|
Devang Patel
|
6f0bb6fbed
|
Add AnalysisResolver_New. It is a replacement for existing
AnalysisResolver.
llvm-svn: 32383
|
2006-12-08 23:28:54 +00:00 |
|
Devang Patel
|
17fec0924c
|
Keep track of other pass managers, that are not directly managed by
top level manager. Use this info to findAnalysisPass.
llvm-svn: 32382
|
2006-12-08 23:11:43 +00:00 |
|
Devang Patel
|
1342f262e3
|
Implement top level FunctionPassManager::run(Function &F)
llvm-svn: 32381
|
2006-12-08 22:57:48 +00:00 |
|
Devang Patel
|
ddcef36da4
|
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
|
f0c7476178
|
Remove unused schedulePass() parameter.
llvm-svn: 32379
|
2006-12-08 22:34:02 +00:00 |
|
Devang Patel
|
8ff822772f
|
Remove unused getAnalysisPass and getAnalysisPassFromManager
llvm-svn: 32378
|
2006-12-08 22:32:32 +00:00 |
|
Devang Patel
|
a4ef9062bf
|
Implement PMTopLevel::findAnalysisPass() and
PMDataManager::findAnalysisPass()
llvm-svn: 32377
|
2006-12-08 22:30:11 +00:00 |
|
Devang Patel
|
7f1091cb14
|
During runOnModule() do initialization and finalization.
llvm-svn: 32371
|
2006-12-08 19:04:09 +00:00 |
|
Devang Patel
|
ebab6b3112
|
Reuse code. Directly use runOnFunction().
llvm-svn: 32370
|
2006-12-08 19:03:05 +00:00 |
|
Devang Patel
|
4833df8e9e
|
Implement FunctionPassManager_New::FunctionPassManager_New(ModuleProvider *P)
llvm-svn: 32368
|
2006-12-08 18:57:16 +00:00 |
|
Devang Patel
|
94eedf9be1
|
BasicBlockPassManager_New::runOnFunction()
Do initialization and finalization.
llvm-svn: 32346
|
2006-12-08 01:38:28 +00:00 |
|
Devang Patel
|
0fc48cda15
|
doInitialization and doFinalization for BasicBlockPassManager_New
llvm-svn: 32345
|
2006-12-08 00:59:05 +00:00 |
|
Devang Patel
|
67bb3725d4
|
Reimplement removeDeadPasses().
llvm-svn: 32344
|
2006-12-08 00:37:52 +00:00 |
|
Devang Patel
|
3364b5821e
|
set Last User.
llvm-svn: 32342
|
2006-12-07 23:55:10 +00:00 |
|
Devang Patel
|
df9f0e26f9
|
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
|
19a733b718
|
New method, PMDataManager::collectRequiredAnalysisPasses()
llvm-svn: 32338
|
2006-12-07 23:05:44 +00:00 |
|
Devang Patel
|
b361bb840c
|
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
|
967a319698
|
PMDataManager does not maintain LastUser info.
llvm-svn: 32332
|
2006-12-07 22:17:09 +00:00 |
|
Devang Patel
|
9be7d811ae
|
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
|
145469fbf2
|
Add TODOs
llvm-svn: 32328
|
2006-12-07 21:58:50 +00:00 |
|
Devang Patel
|
a15af91097
|
Fix thinko.
llvm-svn: 32327
|
2006-12-07 21:44:12 +00:00 |
|
Devang Patel
|
b945504462
|
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
|
ff5d922b04
|
Now FunctionPassManagerImpl_New and PassManagerImpl_New derives from
PMTopLevelManager.
llvm-svn: 32325
|
2006-12-07 21:27:23 +00:00 |
|
Devang Patel
|
81b62a7e2c
|
Reimplement schedulePass interface. Move it into PMTopLevelManager.
llvm-svn: 32324
|
2006-12-07 21:10:57 +00:00 |
|
Devang Patel
|
b2ce1fc089
|
While initializing AvailableAnalysis info, make ImmutablePasses available
immediately.
llvm-svn: 32323
|
2006-12-07 21:02:08 +00:00 |
|
Devang Patel
|
adf0a3a147
|
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
|
0117a3e391
|
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
|
318adc0e9d
|
Pass Managers themselves do not invalidate any analysis info.
llvm-svn: 32318
|
2006-12-07 19:57:52 +00:00 |
|
Devang Patel
|
8c988e1dc2
|
Add a handle to the top level pass manager in PMDataManager.
llvm-svn: 32317
|
2006-12-07 19:54:15 +00:00 |
|
Devang Patel
|
e6f5ded0ef
|
Cosmetic markers to divide code in separate chunks.
llvm-svn: 32316
|
2006-12-07 19:39:39 +00:00 |
|