mirror of
				https://github.com/c64scene-ar/llvm-6502.git
				synced 2025-10-31 08:16:47 +00:00 
			
		
		
		
	The language reference says that: "If a symbol appears in the @llvm.used list, then the compiler, assembler, and linker are required to treat the symbol as if there is a reference to the symbol that it cannot see" Since even the linker cannot see the reference, we must assume that the reference can be using the symbol table. For example, a user can add __attribute__((used)) to a debug helper function like dump and use it from a debugger. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187103 91177308-0d34-0410-b5e6-96231b3b80d8
		
			
				
	
	
		
			21 lines
		
	
	
		
			421 B
		
	
	
	
		
			LLVM
		
	
	
	
	
	
			
		
		
	
	
			21 lines
		
	
	
		
			421 B
		
	
	
	
		
			LLVM
		
	
	
	
	
	
| ; RUN: opt < %s -internalize -S | FileCheck %s
 | |
| 
 | |
| @llvm.used = appending global [1 x void ()*] [void ()* @f], section "llvm.metadata"
 | |
| 
 | |
| @llvm.compiler.used = appending global [1 x void ()*] [void ()* @g], section "llvm.metadata"
 | |
| 
 | |
| ; CHECK: define void @f()
 | |
| define void @f() {
 | |
|   ret void
 | |
| }
 | |
| 
 | |
| ; CHECK: define internal void @g()
 | |
| define void @g() {
 | |
|   ret void
 | |
| }
 | |
| 
 | |
| ; CHECK: define internal void @h()
 | |
| define void @h() {
 | |
|   ret void
 | |
| }
 |