brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.3 KiB · 652b53b Raw
47 lines · plain
1; RUN: llc  %s -mtriple=armv7-linux-gnueabi -o - | \2; RUN:    FileCheck  -check-prefix=ELFASM %s 3; RUN: llc  %s -mtriple=armv7-linux-gnueabi -filetype=obj -o - | \4; RUN:    llvm-readobj -S --sd - | FileCheck  -check-prefix=ELFOBJ %s5 6;; Make sure that bl __aeabi_read_tp is materialized and fixed up correctly7;; in the obj case. 8 9@i = external thread_local global i3210@a = external global i811@b = external global [10 x i8]12 13define arm_aapcs_vfpcc i32 @main() nounwind {14entry:15  %0 = load i32, ptr @i, align 416  switch i32 %0, label %bb2 [17    i32 12, label %bb18    i32 13, label %bb119  ]20 21bb:                                               ; preds = %entry22  %1 = tail call arm_aapcs_vfpcc  i32 @foo(ptr @a) nounwind23  ret i32 %124; ELFASM:       	bl	__aeabi_read_tp25 26 27; ELFOBJ:      Sections [28; ELFOBJ:        Section {29; ELFOBJ:          Name: .text30; ELFOBJ:          SectionData (31;;;                  BL __aeabi_read_tp is ---------+32;;;                                                 V33; ELFOBJ-NEXT:     0000: 00482DE9 3C009FE5 00109FE7 FEFFFFEB34 35 36bb1:                                              ; preds = %entry37  %2 = tail call arm_aapcs_vfpcc  i32 @bar(ptr @b) nounwind38  ret i32 %239 40bb2:                                              ; preds = %entry41  ret i32 -142}43 44declare arm_aapcs_vfpcc i32 @foo(ptr)45 46declare arm_aapcs_vfpcc i32 @bar(ptr)47