You've already forked linux-packaging-mono
							
							
		
			
	
	
		
			47 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			LLVM
		
	
	
	
	
	
		
		
			
		
	
	
			47 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			LLVM
		
	
	
	
	
	
|   | ; RUN: llc  %s -mtriple=armv7-linux-gnueabi -o - | \
 | ||
|  | ; RUN:    FileCheck  -check-prefix=ELFASM %s 
 | ||
|  | ; RUN: llc  %s -mtriple=armv7-linux-gnueabi -filetype=obj -o - | \
 | ||
|  | ; RUN:    llvm-readobj -s -sd | FileCheck  -check-prefix=ELFOBJ %s
 | ||
|  | 
 | ||
|  | ;; Make sure that bl __aeabi_read_tp is materialized and fixed up correctly
 | ||
|  | ;; in the obj case. 
 | ||
|  | 
 | ||
|  | @i = external thread_local global i32 | ||
|  | @a = external global i8 | ||
|  | @b = external global [10 x i8] | ||
|  | 
 | ||
|  | define arm_aapcs_vfpcc i32 @main() nounwind { | ||
|  | entry: | ||
|  |   %0 = load i32, i32* @i, align 4 | ||
|  |   switch i32 %0, label %bb2 [ | ||
|  |     i32 12, label %bb | ||
|  |     i32 13, label %bb1 | ||
|  |   ] | ||
|  | 
 | ||
|  | bb:                                               ; preds = %entry
 | ||
|  |   %1 = tail call arm_aapcs_vfpcc  i32 @foo(i8* @a) nounwind | ||
|  |   ret i32 %1 | ||
|  | ; ELFASM:       	bl	__aeabi_read_tp
 | ||
|  | 
 | ||
|  | 
 | ||
|  | ; ELFOBJ:      Sections [
 | ||
|  | ; ELFOBJ:        Section {
 | ||
|  | ; ELFOBJ:          Name: .text
 | ||
|  | ; ELFOBJ:          SectionData (
 | ||
|  | ;;;                  BL __aeabi_read_tp is ---------+
 | ||
|  | ;;;                                                 V
 | ||
|  | ; ELFOBJ-NEXT:     0000: 00482DE9 3C009FE5 00109FE7 FEFFFFEB
 | ||
|  | 
 | ||
|  | 
 | ||
|  | bb1:                                              ; preds = %entry
 | ||
|  |   %2 = tail call arm_aapcs_vfpcc  i32 @bar(i32* bitcast ([10 x i8]* @b to i32*)) nounwind | ||
|  |   ret i32 %2 | ||
|  | 
 | ||
|  | bb2:                                              ; preds = %entry
 | ||
|  |   ret i32 -1 | ||
|  | } | ||
|  | 
 | ||
|  | declare arm_aapcs_vfpcc i32 @foo(i8*) | ||
|  | 
 | ||
|  | declare arm_aapcs_vfpcc i32 @bar(i32*) |