brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.1 KiB · 5a951d9 Raw
48 lines · plain
1; RUN: llc %s -stop-after wasm-cfg-stackify -o - | FileCheck %s2 3; The test ensures "block" instruction is not inserted in the middle of a group4; of instructions that form a stackified expression when DBG_VALUE is present5; among them.6 7; CHECK: body:8; CHECK: BLOCK9;                       <-- Stackified expression starts10; CHECK-NEXT: I32_WRAP_I6411; CHECK-NEXT: DBG_VALUE12;                       <-- BLOCK should NOT be placed here!13; CHECK-NEXT: BR_UNLESS14;                       <-- Stackified expression ends15 16target triple = "wasm32-unknown-unknown"17 18define void @foo(i64 %arg) !dbg !37 {19start:20  %val = trunc i64 %arg to i3221  %cmp = icmp eq i32 %val, 022  call void @llvm.dbg.value(metadata i32 %val, metadata !46, metadata !DIExpression()), !dbg !10523  br i1 %cmp, label %bb2, label %bb124bb1:                                              ; preds = %start25  call void @bar()26  br label %bb227bb2:                                              ; preds = %bb1, start28  ret void29}30 31declare void @bar()32declare void @llvm.dbg.value(metadata, metadata, metadata)33 34!llvm.dbg.cu = !{!0}35!llvm.module.flags = !{!33}36!0 = distinct !DICompileUnit(language: DW_LANG_Rust, file: !6, producer: "clang LLVM (rustc version 1.30.0-dev)", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, enums: !2, globals: !2)37!2 = !{}38!6 = !DIFile(filename: "<unknown>", directory: "")39!22 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "&str", file: !6, size: 64, align: 32, elements: !{}, identifier: "111094d970b097647de579f9c509ef08")40!33 = !{i32 2, !"Debug Info Version", i32 3}41!35 = distinct !DILexicalBlock(scope: !37, file: !6, line: 357, column: 8)42!37 = distinct !DISubprogram(name: "foo", scope: !6, file: !6, line: 353, type: !39, isLocal: true, isDefinition: true, scopeLine: 353, flags: DIFlagPrototyped, isOptimized: true, unit: !0, templateParams: !2, retainedNodes: !42)43!38 = !DINamespace(name: "ptr", scope: null)44!39 = !DISubroutineType(types: !2)45!42 = !{!46}46!46 = !DILocalVariable(name: "z", scope: !35, file: !6, line: 357, type: !22, align: 4)47!105 = !DILocation(line: 357, column: 12, scope: !35)48