mirror of
				https://github.com/c64scene-ar/llvm-6502.git
				synced 2025-10-30 16:17:05 +00:00 
			
		
		
		
	and back in. false alarm on the tests from another unrelated local change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110269 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
		| @@ -851,13 +851,18 @@ ARMBaseRegisterInfo::processFunctionBeforeCalleeSavedScan(MachineFunction &MF, | ||||
|   // slot of the previous FP. Also, if we have variable sized objects in the | ||||
|   // function, stack slot references will often be negative, and some of | ||||
|   // our instructions are positive-offset only, so conservatively consider | ||||
|   // that case to want a spill slot (or register) as well. | ||||
|   // that case to want a spill slot (or register) as well. Similarly, if | ||||
|   // the function adjusts the stack pointer during execution and the | ||||
|   // adjustments aren't already part of our stack size estimate, our offset | ||||
|   // calculations may be off, so be conservative. | ||||
|   // FIXME: We could add logic to be more precise about negative offsets | ||||
|   //        and which instructions will need a scratch register for them. Is it | ||||
|   //        worth the effort and added fragility? | ||||
|   bool BigStack = | ||||
|     (RS && (estimateStackSize(MF) + (hasFP(MF) ? 4:0) >= | ||||
|             estimateRSStackSizeLimit(MF))) || MFI->hasVarSizedObjects(); | ||||
|             estimateRSStackSizeLimit(MF)) | ||||
|      || MFI->hasVarSizedObjects() | ||||
|      || (MFI->adjustsStack() && !canSimplifyCallFramePseudos(MF))); | ||||
|  | ||||
|   bool ExtraCSSpill = false; | ||||
|   if (BigStack || !CanEliminateFrame || cannotEliminateFrame(MF)) { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user