brintos

brintos / llvm-project-archived public Read only

0
0
Text · 5.2 KiB · 9a1b9c4 Raw
198 lines · plain
1; RUN: llc < %s -mtriple=x86_64-apple-darwin -mcpu=corei7                             | FileCheck %s2; RUN: llc < %s -mtriple=x86_64-apple-darwin -mcpu=corei7 -fast-isel -fast-isel-abort=1 | FileCheck %s3 4; CHECK-LABEL:  .section  __LLVM_STACKMAPS,__llvm_stackmaps5; CHECK-NEXT:  __LLVM_StackMaps:6; Header7; CHECK-NEXT:   .byte 38; CHECK-NEXT:   .byte 09; CHECK-NEXT:   .short 010; Num Functions11; CHECK-NEXT:   .long 412; Num LargeConstants13; CHECK-NEXT:   .long 314; Num Callsites15; CHECK-NEXT:   .long 716 17; Functions and stack size18; CHECK-NEXT:   .quad _constantargs19; CHECK-NEXT:   .quad 820; CHECK-NEXT:   .quad 121; CHECK-NEXT:   .quad _liveConstant22; CHECK-NEXT:   .quad 823; CHECK-NEXT:   .quad 124; CHECK-NEXT:   .quad _directFrameIdx25; CHECK-NEXT:   .quad 4026; CHECK-NEXT:   .quad 127; CHECK-NEXT:   .quad _longid28; CHECK-NEXT:   .quad 829; CHECK-NEXT:   .quad 430 31; Large Constants32; CHECK-NEXT:   .quad   214748364833; CHECK-NEXT:   .quad   429496729534; CHECK-NEXT:   .quad   429496729635 36; Callsites37; Constant arguments38;39; CHECK-NEXT:   .quad   140; CHECK-NEXT:   .long   L{{.*}}-_constantargs41; CHECK-NEXT:   .short  042; CHECK-NEXT:   .short  1243; SmallConstant44; CHECK-NEXT:   .byte   445; CHECK-NEXT:   .byte   046; CHECK-NEXT:   .short  847; CHECK-NEXT:   .short  048; CHECK-NEXT:   .short  049; CHECK-NEXT:   .long   -150; SmallConstant51; CHECK-NEXT:   .byte   452; CHECK-NEXT:   .byte   053; CHECK-NEXT:   .short  854; CHECK-NEXT:   .short  055; CHECK-NEXT:   .short  056; CHECK-NEXT:   .long   -157; SmallConstant58; CHECK-NEXT:   .byte   459; CHECK-NEXT:   .byte   060; CHECK-NEXT:   .short  861; CHECK-NEXT:   .short  062; CHECK-NEXT:   .short  063; CHECK-NEXT:   .long   6553664; SmallConstant65; CHECK-NEXT:   .byte   466; CHECK-NEXT:   .byte   067; CHECK-NEXT:   .short  868; CHECK-NEXT:   .short  069; CHECK-NEXT:   .short  070; CHECK-NEXT:   .long   200000000071; SmallConstant72; CHECK-NEXT:   .byte   473; CHECK-NEXT:   .byte   074; CHECK-NEXT:   .short  875; CHECK-NEXT:   .short  076; CHECK-NEXT:   .short  077; CHECK-NEXT:   .long   214748364778; SmallConstant79; CHECK-NEXT:   .byte   480; CHECK-NEXT:   .byte   081; CHECK-NEXT:   .short  882; CHECK-NEXT:   .short  083; CHECK-NEXT:   .short  084; CHECK-NEXT:   .long   -185; SmallConstant86; CHECK-NEXT:   .byte   487; CHECK-NEXT:   .byte   088; CHECK-NEXT:   .short  889; CHECK-NEXT:   .short  090; CHECK-NEXT:   .short  091; CHECK-NEXT:   .long   -192; SmallConstant93; CHECK-NEXT:   .byte   494; CHECK-NEXT:   .byte   095; CHECK-NEXT:   .short  896; CHECK-NEXT:   .short  097; CHECK-NEXT:   .short  098; CHECK-NEXT:   .long   099; LargeConstant at index 0100; CHECK-NEXT:   .byte   5101; CHECK-NEXT:   .byte   0102; CHECK-NEXT:   .short  8103; CHECK-NEXT:   .short  0104; CHECK-NEXT:   .short  0105; CHECK-NEXT:   .long   0106; LargeConstant at index 1107; CHECK-NEXT:   .byte   5108; CHECK-NEXT:   .byte   0109; CHECK-NEXT:   .short  8110; CHECK-NEXT:   .short  0111; CHECK-NEXT:   .short  0112; CHECK-NEXT:   .long   1113; LargeConstant at index 2114; CHECK-NEXT:   .byte   5115; CHECK-NEXT:   .byte   0116; CHECK-NEXT:   .short  8117; CHECK-NEXT:   .short  0118; CHECK-NEXT:   .short  0119; CHECK-NEXT:   .long   2120; SmallConstant121; CHECK-NEXT:   .byte   4122; CHECK-NEXT:   .byte   0123; CHECK-NEXT:   .short  8124; CHECK-NEXT:   .short  0125; CHECK-NEXT:   .short  0126; CHECK-NEXT:   .long   -1127 128define void @constantargs() {129entry:130  tail call void (i64, i32, ...) @llvm.experimental.stackmap(i64 1, i32 15, i16 65535, i16 -1, i32 65536, i32 2000000000, i32 2147483647, i32 -1, i32 4294967295, i32 4294967296, i64 2147483648, i64 4294967295, i64 4294967296, i64 -1)131  ret void132}133 134; Map a constant value.135;136; CHECK-LABEL:  .long L{{.*}}-_liveConstant137; CHECK-NEXT:   .short 0138; 1 location139; CHECK-NEXT:   .short 1140; Loc 0: SmallConstant141; CHECK-NEXT:   .byte   4142; CHECK-NEXT:   .byte   0143; CHECK-NEXT:   .short  8144; CHECK-NEXT:   .short  0145; CHECK-NEXT:   .short  0146; CHECK-NEXT:   .long   33147 148define void @liveConstant() {149  tail call void (i64, i32, ...) @llvm.experimental.stackmap(i64 15, i32 5, i32 33)150  ret void151}152 153; Directly map an alloca's address.154;155; Callsite 16156; CHECK-LABEL:  .long L{{.*}}-_directFrameIdx157; CHECK-NEXT:   .short 0158; 1 location159; CHECK-NEXT:   .short	1160; Loc 0: Direct rbp - ofs161; CHECK-NEXT:   .byte	2162; CHECK-NEXT:   .byte	0163; CHECK-NEXT:   .short	8164; CHECK-NEXT:   .short	6165; CHECK-NEXT:   .short  0166; CHECK-NEXT:   .long167 168define void @directFrameIdx() {169entry:170  %metadata1 = alloca i64, i32 3, align 8171  store i64 11, ptr %metadata1172  store i64 12, ptr %metadata1173  store i64 13, ptr %metadata1174  call void (i64, i32, ...) @llvm.experimental.stackmap(i64 16, i32 0, ptr %metadata1)175  ret void176}177 178; Test a 64-bit ID.179;180; CHECK:        .quad 4294967295181; CHECK-LABEL:  .long L{{.*}}-_longid182; CHECK:        .quad 4294967296183; CHECK-LABEL:  .long L{{.*}}-_longid184; CHECK:        .quad 9223372036854775807185; CHECK-LABEL:  .long L{{.*}}-_longid186; CHECK:        .quad -1187; CHECK-LABEL:  .long L{{.*}}-_longid188define void @longid() {189entry:190  tail call void (i64, i32, ...) @llvm.experimental.stackmap(i64 4294967295, i32 0)191  tail call void (i64, i32, ...) @llvm.experimental.stackmap(i64 4294967296, i32 0)192  tail call void (i64, i32, ...) @llvm.experimental.stackmap(i64 9223372036854775807, i32 0)193  tail call void (i64, i32, ...) @llvm.experimental.stackmap(i64 -1, i32 0)194  ret void195}196 197declare void @llvm.experimental.stackmap(i64, i32, ...)198