mirror of
				https://github.com/c64scene-ar/llvm-6502.git
				synced 2025-10-30 16:17:05 +00:00 
			
		
		
		
	Implement top level FunctionPassManager::run(Function &F)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32381 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
		| @@ -401,6 +401,7 @@ public: | ||||
|   /// so, return true. | ||||
|   bool runOnModule(Module &M); | ||||
|   bool runOnFunction(Function &F); | ||||
|   bool run(Function &F); | ||||
|  | ||||
|   /// doInitialization - Run all of the initializers for the function passes. | ||||
|   /// | ||||
| @@ -800,7 +801,7 @@ bool FunctionPassManager_New::run(Function &F) { | ||||
|     cerr << "Error reading bytecode file: " << errstr << "\n"; | ||||
|     abort(); | ||||
|   } | ||||
|   return FPM->runOnFunction(F); | ||||
|   return FPM->run(F); | ||||
| } | ||||
|  | ||||
|  | ||||
| @@ -934,6 +935,19 @@ inline bool FunctionPassManagerImpl_New::doFinalization(Module &M) { | ||||
|   return Changed; | ||||
| } | ||||
|  | ||||
| // Execute all the passes managed by this top level manager. | ||||
| // Return true if any function is modified by a pass. | ||||
| bool FunctionPassManagerImpl_New::run(Function &F) { | ||||
|  | ||||
|   bool Changed = false; | ||||
|   for (std::vector<Pass *>::iterator I = passManagersBegin(), | ||||
|          E = passManagersEnd(); I != E; ++I) { | ||||
|     FunctionPass *FP = dynamic_cast<FunctionPass *>(*I); | ||||
|     Changed |= FP->runOnFunction(F); | ||||
|   } | ||||
|   return Changed; | ||||
| } | ||||
|  | ||||
| //===----------------------------------------------------------------------===// | ||||
| // ModulePassManager implementation | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user