mirror of
				https://github.com/c64scene-ar/llvm-6502.git
				synced 2025-10-31 08:16:47 +00:00 
			
		
		
		
	cache results of operator*
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108143 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
		| @@ -406,12 +406,14 @@ void LowerSetJmp::TransformSetJmpCall(CallInst* Inst) | |||||||
|     // Loop over all of the uses of instruction.  If any of them are after the |     // Loop over all of the uses of instruction.  If any of them are after the | ||||||
|     // call, "spill" the value to the stack. |     // call, "spill" the value to the stack. | ||||||
|     for (Value::use_iterator UI = II->use_begin(), E = II->use_end(); |     for (Value::use_iterator UI = II->use_begin(), E = II->use_end(); | ||||||
|          UI != E; ++UI) |          UI != E; ++UI) { | ||||||
|       if (cast<Instruction>(*UI)->getParent() != ABlock || |       User *U = *UI; | ||||||
|           InstrsAfterCall.count(cast<Instruction>(*UI))) { |       if (cast<Instruction>(U)->getParent() != ABlock || | ||||||
|  |           InstrsAfterCall.count(cast<Instruction>(U))) { | ||||||
|         DemoteRegToStack(*II); |         DemoteRegToStack(*II); | ||||||
|         break; |         break; | ||||||
|       } |       } | ||||||
|  |     } | ||||||
|   InstrsAfterCall.clear(); |   InstrsAfterCall.clear(); | ||||||
|  |  | ||||||
|   // Change the setjmp call into a branch statement. We'll remove the |   // Change the setjmp call into a branch statement. We'll remove the | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user