brintos

brintos / llvm-project-archived public Read only

0
0
Text · 7.5 KiB · 10a8f95 Raw
268 lines · plain
1; RUN: llc < %s -mtriple=x86_64-apple-darwin -mcpu=corei7-avx -enable-patchpoint-liveness=false | FileCheck %s2; RUN: llc < %s -mtriple=x86_64-apple-darwin -mcpu=corei7-avx                                   | FileCheck -check-prefix=PATCH %s3;4; Note: Print verbose stackmaps using -debug-only=stackmaps.5 6; CHECK-LABEL:  .section  __LLVM_STACKMAPS,__llvm_stackmaps7; CHECK-NEXT:   __LLVM_StackMaps:8; Header9; CHECK-NEXT:   .byte 310; CHECK-NEXT:   .byte 011; CHECK-NEXT:   .short 012; Num Functions13; CHECK-NEXT:   .long 214; Num LargeConstants15; CHECK-NEXT:   .long   016; Num Callsites17; CHECK-NEXT:   .long   518 19; Functions and stack size20; CHECK-NEXT:   .quad _stackmap_liveness21; CHECK-NEXT:   .quad 822; CHECK-NEXT:   .quad 323; CHECK-NEXT:   .quad _mixed_liveness24; CHECK-NEXT:   .quad 825; CHECK-NEXT:   .quad 226 27define void @stackmap_liveness() {28entry:29  %a1 = call <2 x double> asm sideeffect "", "={xmm2}"() nounwind30; StackMap 1 (no liveness information available)31; CHECK-LABEL:  .long L{{.*}}-_stackmap_liveness32; CHECK-NEXT:   .short  033; CHECK-NEXT:   .short  034; Padding35; CHECK-NEXT:   .p2align 336; CHECK-NEXT:   .short  037; Num LiveOut Entries: 038; CHECK-NEXT:   .short  039; Align40; CHECK-NEXT:   .p2align  341 42; StackMap 1 (patchpoint liveness information enabled)43; PATCH-LABEL:  .long L{{.*}}-_stackmap_liveness44; PATCH-NEXT:   .short  045; PATCH-NEXT:   .short  046; Padding47; PATCH-NEXT:   .p2align  348; PATCH-NEXT:   .short  049; Num LiveOut Entries: 650; PATCH-NEXT:   .short  651; LiveOut Entry 1:52; PATCH-NEXT:   .short 353; PATCH-NEXT:   .byte 054; PATCH-NEXT:   .byte 855; LiveOut Entry 2:56; PATCH-NEXT:   .short 1257; PATCH-NEXT:   .byte 058; PATCH-NEXT:   .byte 859; LiveOut Entry 3:60; PATCH-NEXT:   .short 1361; PATCH-NEXT:   .byte 062; PATCH-NEXT:   .byte 863; LiveOut Entry 4:64; PATCH-NEXT:   .short 1465; PATCH-NEXT:   .byte 066; PATCH-NEXT:   .byte 867; LiveOut Entry 5:68; PATCH-NEXT:   .short 1569; PATCH-NEXT:   .byte 070; PATCH-NEXT:   .byte 871; LiveOut Entry 6: %ymm2 (16 bytes) --> %xmm272; PATCH-NEXT:   .short  1973; PATCH-NEXT:   .byte 074; PATCH-NEXT:   .byte 1675; Align76; PATCH-NEXT:   .p2align  377  call anyregcc void (i64, i32, ptr, i32, ...) @llvm.experimental.patchpoint.void(i64 1, i32 12, ptr null, i32 0)78  %a2 = call i64 asm sideeffect "", "={r8}"() nounwind79  %a3 = call i8 asm sideeffect "", "={ah}"() nounwind80  %a4 = call <4 x double> asm sideeffect "", "={ymm0}"() nounwind81  %a5 = call <4 x double> asm sideeffect "", "={ymm1}"() nounwind82 83; StackMap 2 (no liveness information available)84; CHECK-LABEL:  .long L{{.*}}-_stackmap_liveness85; CHECK-NEXT:   .short  086; CHECK-NEXT:   .short  087; Padding88; CHECK-NEXT:   .p2align  389; CHECK-NEXT:   .short  090; Num LiveOut Entries: 091; CHECK-NEXT:   .short  092; Align93; CHECK-NEXT:   .p2align  394 95; StackMap 2 (patchpoint liveness information enabled)96; PATCH-LABEL:  .long L{{.*}}-_stackmap_liveness97; PATCH-NEXT:   .short  098; PATCH-NEXT:   .short  099; Padding100; PATCH-NEXT:   .p2align  3101; PATCH-NEXT:   .short  0102; Num LiveOut Entries: 10103; PATCH-NEXT:   .short 10104 105; LiveOut Entry 1: %rax (1 bytes) --> %al or %ah106; PATCH-NEXT:   .short  0107; PATCH-NEXT:   .byte 0108; PATCH-NEXT:   .byte 1109; LiveOut Entry 2:110; PATCH-NEXT:   .short 3111; PATCH-NEXT:   .byte 0112; PATCH-NEXT:   .byte 8113; LiveOut Entry 3: %r8 (8 bytes)114; PATCH-NEXT:   .short  8115; PATCH-NEXT:   .byte 0116; PATCH-NEXT:   .byte 8117; LiveOut Entry 4:118; PATCH-NEXT:   .short 12119; PATCH-NEXT:   .byte 0120; PATCH-NEXT:   .byte 8121; LiveOut Entry 5:122; PATCH-NEXT:   .short 13123; PATCH-NEXT:   .byte 0124; PATCH-NEXT:   .byte 8125; LiveOut Entry 6:126; PATCH-NEXT:   .short 14127; PATCH-NEXT:   .byte 0128; PATCH-NEXT:   .byte 8129; LiveOut Entry 7:130; PATCH-NEXT:   .short 15131; PATCH-NEXT:   .byte 0132; PATCH-NEXT:   .byte 8133; LiveOut Entry 8: %ymm0 (32 bytes)134; PATCH-NEXT:   .short  17135; PATCH-NEXT:   .byte 0136; PATCH-NEXT:   .byte 32137; LiveOut Entry 9: %ymm1 (32 bytes)138; PATCH-NEXT:   .short  18139; PATCH-NEXT:   .byte 0140; PATCH-NEXT:   .byte 32141; LiveOut Entry 10: %ymm2 (16 bytes) --> %xmm2142; PATCH-NEXT:   .short  19143; PATCH-NEXT:   .byte 0144; PATCH-NEXT:   .byte 16145; Align146; PATCH-NEXT:   .p2align  3147  call anyregcc void (i64, i32, ptr, i32, ...) @llvm.experimental.patchpoint.void(i64 2, i32 12, ptr null, i32 0)148  call void asm sideeffect "", "{r8},{ah},{ymm0},{ymm1}"(i64 %a2, i8 %a3, <4 x double> %a4, <4 x double> %a5) nounwind149 150; StackMap 3 (no liveness information available)151; CHECK-LABEL:  .long L{{.*}}-_stackmap_liveness152; CHECK-NEXT:   .short  0153; CHECK-NEXT:   .short  0154; Padding155; CHECK-NEXT:   .p2align  3156; CHECK-NEXT:   .short  0157; Num LiveOut Entries: 0158; CHECK-NEXT:   .short  0159; Align160; CHECK-NEXT:   .p2align  3161 162; StackMap 3 (patchpoint liveness information enabled)163; PATCH-LABEL:  .long L{{.*}}-_stackmap_liveness164; PATCH-NEXT:   .short  0165; PATCH-NEXT:   .short  0166; Padding167; PATCH-NEXT:   .p2align  3168; PATCH-NEXT:   .short  0169; Num LiveOut Entries: 7170; PATCH-NEXT:   .short 7171; LiveOut Entry 1:172; PATCH-NEXT:   .short 3173; PATCH-NEXT:   .byte 0174; PATCH-NEXT:   .byte 8175; LiveOut Entry 2: %rsp (8 bytes)176; PATCH-NEXT:   .short  7177; PATCH-NEXT:   .byte 0178; PATCH-NEXT:   .byte 8179; LiveOut Entry 3:180; PATCH-NEXT:   .short 12181; PATCH-NEXT:   .byte 0182; PATCH-NEXT:   .byte 8183; LiveOut Entry 4:184; PATCH-NEXT:   .short 13185; PATCH-NEXT:   .byte 0186; PATCH-NEXT:   .byte 8187; LiveOut Entry 5:188; PATCH-NEXT:   .short 14189; PATCH-NEXT:   .byte 0190; PATCH-NEXT:   .byte 8191; LiveOut Entry 6:192; PATCH-NEXT:   .short 15193; PATCH-NEXT:   .byte 0194; PATCH-NEXT:   .byte 8195; LiveOut Entry 7: %ymm2 (16 bytes) --> %xmm2196; PATCH-NEXT:   .short  19197; PATCH-NEXT:   .byte 0198; PATCH-NEXT:   .byte 16199; Align200; PATCH-NEXT:   .p2align  3201  call anyregcc void (i64, i32, ptr, i32, ...) @llvm.experimental.patchpoint.void(i64 3, i32 12, ptr null, i32 0)202  call void asm sideeffect "", "{xmm2}"(<2 x double> %a1) nounwind203  ret void204}205 206define void @mixed_liveness() {207entry:208  %a1 = call <2 x double> asm sideeffect "", "={xmm2}"() nounwind209; StackMap 4 (patchpoint liveness information enabled)210; PATCH-LABEL:  .long L{{.*}}-_mixed_liveness211; PATCH-NEXT:   .short  0212; PATCH-NEXT:   .short  0213; Padding214; PATCH-NEXT:   .p2align  3215; PATCH-NEXT:   .short  0216; Num LiveOut Entries: 0217; PATCH-NEXT:   .short  0218; Align219; PATCH-NEXT:   .p2align  3220 221; StackMap 5 (patchpoint liveness information enabled)222; PATCH-LABEL:  .long L{{.*}}-_mixed_liveness223; PATCH-NEXT:   .short  0224; PATCH-NEXT:   .short  0225; Padding226; PATCH-NEXT:   .p2align  3227; PATCH-NEXT:   .short  0228; Num LiveOut Entries: 7229; PATCH-NEXT:   .short 7230; LiveOut Entry 1:231; PATCH-NEXT:   .short 3232; PATCH-NEXT:   .byte 0233; PATCH-NEXT:   .byte 8234; LiveOut Entry 2: %rsp (8 bytes)235; PATCH-NEXT:   .short  7236; PATCH-NEXT:   .byte 0237; PATCH-NEXT:   .byte 8238; LiveOut Entry 3:239; PATCH-NEXT:   .short 12240; PATCH-NEXT:   .byte 0241; PATCH-NEXT:   .byte 8242; LiveOut Entry 4:243; PATCH-NEXT:   .short 13244; PATCH-NEXT:   .byte 0245; PATCH-NEXT:   .byte 8246; LiveOut Entry 5:247; PATCH-NEXT:   .short 14248; PATCH-NEXT:   .byte 0249; PATCH-NEXT:   .byte 8250; LiveOut Entry 6:251; PATCH-NEXT:   .short 15252; PATCH-NEXT:   .byte 0253; PATCH-NEXT:   .byte 8254; LiveOut Entry 7: %ymm2 (16 bytes) --> %xmm2255; PATCH-NEXT:   .short  19256; PATCH-NEXT:   .byte 0257; PATCH-NEXT:   .byte 16258; Align259; PATCH-NEXT:   .p2align  3260  call void (i64, i32, ...) @llvm.experimental.stackmap(i64 4, i32 5)261  call anyregcc void (i64, i32, ptr, i32, ...) @llvm.experimental.patchpoint.void(i64 5, i32 0, ptr null, i32 0)262  call void asm sideeffect "", "{xmm2}"(<2 x double> %a1) nounwind263  ret void264}265 266declare void @llvm.experimental.stackmap(i64, i32, ...)267declare void @llvm.experimental.patchpoint.void(i64, i32, ptr, i32, ...)268