mirror of
				https://github.com/c64scene-ar/llvm-6502.git
				synced 2025-10-31 08:16:47 +00:00 
			
		
		
		
	The most likely case where this error happens is when the user specifies too many register operands. Don't make it look like an internal LLVM bug when we can see that the error is coming from an inline asm instruction. For other instructions we keep the "ran out of registers" error. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192041 91177308-0d34-0410-b5e6-96231b3b80d8
		
			
				
	
	
		
			16 lines
		
	
	
		
			732 B
		
	
	
	
		
			LLVM
		
	
	
	
	
	
			
		
		
	
	
			16 lines
		
	
	
		
			732 B
		
	
	
	
		
			LLVM
		
	
	
	
	
	
| ; RUN: not llc -march x86 -regalloc=fast -optimize-regalloc=0 < %s 2> %t1
 | |
| ; RUN: not llc -march x86 -regalloc=basic      < %s 2> %t2
 | |
| ; RUN: not llc -march x86 -regalloc=greedy     < %s 2> %t3
 | |
| ; RUN: FileCheck %s < %t1
 | |
| ; RUN: FileCheck %s < %t2
 | |
| ; RUN: FileCheck %s < %t3
 | |
| 
 | |
| ; The register allocator must fail on this function.
 | |
| ; CHECK: error: inline assembly requires more registers than available
 | |
| 
 | |
| define void @f(i32 %x0, i32 %x1, i32 %x2, i32 %x3, i32 %x4, i32 %x5, i32 %x6, i32 %x7, i32 %x8, i32 %x9) nounwind ssp {
 | |
| entry:
 | |
|   tail call void asm sideeffect "hello world", "r,r,r,r,r,r,r,r,r,r,~{dirflag},~{fpsr},~{flags}"(i32 %x0, i32 %x1, i32 %x2, i32 %x3, i32 %x4, i32 %x5, i32 %x6, i32 %x7, i32 %x8, i32 %x9) nounwind
 | |
|   ret void
 | |
| }
 |