forked from OSchip/llvm-project
				
			
		
			
				
	
	
		
			18 lines
		
	
	
		
			360 B
		
	
	
	
		
			LLVM
		
	
	
	
			
		
		
	
	
			18 lines
		
	
	
		
			360 B
		
	
	
	
		
			LLVM
		
	
	
	
| ; RUN: llc < %s -march=x86 | \
 | |
| ; RUN:   ignore grep {movl..0} | count 0
 | |
| 
 | |
| %struct.obj = type { i8*, %struct.obj* }
 | |
| 
 | |
| declare void @g() gc "shadow-stack"
 | |
| 
 | |
| define void @f(i8* %o) gc "shadow-stack" {
 | |
| entry:
 | |
| 	%root = alloca i8*
 | |
| 	call void @llvm.gcroot(i8** %root, i8* null)
 | |
| 	store i8* %o, i8** %root
 | |
| 	call void @g()
 | |
| 	ret void
 | |
| }
 | |
| 
 | |
| declare void @llvm.gcroot(i8**, i8*)
 |