brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.5 KiB · 0bc13ad Raw
155 lines · plain
1; RUN: llc < %s -mtriple=x86_64-apple-darwin -mcpu=corei7-avx -enable-patchpoint-liveness=false | FileCheck %s2 3; CHECK-LABEL:  .section  __LLVM_STACKMAPS,__llvm_stackmaps4; CHECK-NEXT:   __LLVM_StackMaps:5 6; Header7; CHECK-NEXT:   .byte 38; CHECK-NEXT:   .byte 09; CHECK-NEXT:   .short 010 11; NumFunctions12; CHECK-NEXT:   .long 113; NumConstants14; CHECK-NEXT:   .long 015; NumRecords16; CHECK-NEXT:   .long 117 18; StackSizeRecord[NumFunctions]19;   StackSizeRecord[0]20;     CHECK-NEXT:   .quad _main21;     CHECK-NEXT:   .quad 2422;     CHECK-NEXT:   .quad 123 24; Constants[NumConstants] (empty)25 26; StkMapRecord[NumRecords]27;   StkMapRecord[0]28;     CHECK-NEXT:	.quad 029;     CHECK-NEXT:   .long {{.*}}30;     CHECK-NEXT:   .short {{.*}}31;     NumLocations32;     CHECK-NEXT:   .short 1133;     Location[NumLocations]34;       Location[0]35;         CHECK-NEXT: .byte   136;         CHECK-NEXT: .byte   037;         CHECK-NEXT: .short  138;         CHECK-NEXT: .short  {{.*}}39;         CHECK-NEXT: .short  040;         CHECK-NEXT: .long   041;       Location[1]42;         CHECK-NEXT: .byte   443;         CHECK-NEXT: .byte   044;         CHECK-NEXT: .short  845;         CHECK-NEXT: .short  046;         CHECK-NEXT: .short  047;         CHECK-NEXT: .long   2248;       Location[2]49;         CHECK-NEXT: .byte   150;         CHECK-NEXT: .byte   051;         CHECK-NEXT: .short  152;         CHECK-NEXT: .short  {{.*}}53;         CHECK-NEXT: .short  054;         CHECK-NEXT: .long   055;       Location[3]56;         CHECK-NEXT: .byte   157;         CHECK-NEXT: .byte   058;         CHECK-NEXT: .short  1659;         CHECK-NEXT: .short  {{.*}}60;         CHECK-NEXT: .short  061;         CHECK-NEXT: .long   062;       Location[4]63;         CHECK-NEXT: .byte   164;         CHECK-NEXT: .byte   065;         CHECK-NEXT: .short  1666;         CHECK-NEXT: .short  {{.*}}67;         CHECK-NEXT: .short  068;         CHECK-NEXT: .long   069;       Location[5]70;         CHECK-NEXT: .byte   471;         CHECK-NEXT: .byte   072;         CHECK-NEXT: .short  873;         CHECK-NEXT: .short  {{.*}}74;         CHECK-NEXT: .short  075;         CHECK-NEXT: .long   6676;       Location[6]77;         CHECK-NEXT: .byte   178;         CHECK-NEXT: .byte   079;         CHECK-NEXT: .short  480;         CHECK-NEXT: .short  {{.*}}81;         CHECK-NEXT: .short  082;         CHECK-NEXT: .long   083;       Location[7]84;         CHECK-NEXT: .byte   485;         CHECK-NEXT: .byte   086;         CHECK-NEXT: .short  887;         CHECK-NEXT: .short  088;         CHECK-NEXT: .short  089;         CHECK-NEXT: .long   090;       Location[8]91;         CHECK-NEXT: .byte   192;         CHECK-NEXT: .byte   093;         CHECK-NEXT: .short  494;         CHECK-NEXT: .short  {{.*}}95;         CHECK-NEXT: .short  096;         CHECK-NEXT: .long   097;       Location[9]98;         CHECK-NEXT: .byte   499;         CHECK-NEXT: .byte   0100;         CHECK-NEXT: .short  8101;         CHECK-NEXT: .short  0102;         CHECK-NEXT: .short  0103;         CHECK-NEXT: .long   0104;       Location[10]105;         CHECK-NEXT: .byte   1106;         CHECK-NEXT: .byte   0107;         CHECK-NEXT: .short  1108;         CHECK-NEXT: .short  {{.*}}109;         CHECK-NEXT: .short  0110;         CHECK-NEXT: .long   0111 112@p32 = external global ptr addrspace(270)113 114%struct1 = type {i32, i64}115%struct2 = type {i1, i1, i1}116 117declare void @llvm.experimental.patchpoint.void(i64, i32, ptr, i32, ...)118 119define dso_local i32 @main(i32 %argc, ptr %argv) {120entry:121  %i1reg = icmp eq i32 %argc, 5122  %i7reg = zext i1 %i1reg to i7123  %halfreg = sitofp i32 %argc to half124  %ptr32 = load ptr addrspace(270), ptr @p32125  %structreg1 = insertvalue %struct1 zeroinitializer, i32 %argc, 0126  %structreg2 = insertvalue %struct2 zeroinitializer, i1 %i1reg, 0127  call void (i64, i32, ptr, i32, ...) @llvm.experimental.patchpoint.void(128    i64 0,129    i32 0,130    ptr null,131    i32 0,132    i1 %i1reg,133    i7 22,134    i7 %i7reg,135    half 1.0,136    half %halfreg,137    i128 66,138    ; FIXME: fix and test vectors. At the moment even legally sized vectors139    ; are broken:140    ; https://github.com/llvm/llvm-project/issues/55613141    ;142    ; FIXME: test non-constant i128 once these are fixed:143    ;  - https://github.com/llvm/llvm-project/issues/26431144    ;  - https://github.com/llvm/llvm-project/issues/55957145    ptr addrspace(270) %ptr32,146    ; FIXME: The stackmap record generated for structs is incorrect:147    ;  - https://github.com/llvm/llvm-project/issues/55649148    ;  - https://github.com/llvm/llvm-project/issues/55957149    %struct1 zeroinitializer,150    %struct1 %structreg1,151    %struct2 zeroinitializer,152    %struct2 %structreg2)153  ret i32 0154}155