11; RUN: rm -rf %t && split-file %s %t && cd %t
2- ; XFAIL: *
32
43;--- valid.ll
54; RUN: opt valid.ll -S -passes=verify 2>&1 | FileCheck --implicit-check-not 'invalid expression' valid.ll
@@ -21,20 +20,20 @@ entry:
2120 ; CHECK: #dbg_declare(ptr %i, ![[#]], !DIExpression(DIOpArg(0, ptr), DIOpArg(0, ptr), DIOpComposite(2, %struct.type)), ![[#]])
2221 call void @llvm.dbg.declare (metadata ptr %i , metadata !21 , metadata !DIExpression (DIOpArg(0 , ptr ), DIOpArg(0 , ptr ), DIOpComposite(2 , %struct.type ))), !dbg !22
2322
24- ; CHECK: #dbg_declare (i16 42, ![[#]], !DIExpression(DIOpArg(0, i16), DIOpFragment(16, 16)), ![[#]])
25- call void @llvm.dbg.declare (metadata i16 42 , metadata !21 , metadata !DIExpression (DIOpArg(0 , i16 ), DIOpFragment(16 , 16 ))), !dbg !22
23+ ; CHECK: #dbg_value (i16 42, ![[#]], !DIExpression(DIOpArg(0, i16), DIOpFragment(16, 16)), ![[#]])
24+ call void @llvm.dbg.value (metadata i16 42 , metadata !21 , metadata !DIExpression (DIOpArg(0 , i16 ), DIOpFragment(16 , 16 ))), !dbg !22
2625
27- ; CHECK: #dbg_declare (i8 poison, ![[#]], !DIExpression(DIOpArg(0, i32)), ![[#]])
28- call void @llvm.dbg.declare (metadata i8 poison, metadata !24 , metadata !DIExpression (DIOpArg(0 , i32 ))), !dbg !22
26+ ; CHECK: #dbg_value (i8 poison, ![[#]], !DIExpression(DIOpArg(0, i32)), ![[#]])
27+ call void @llvm.dbg.value (metadata i8 poison, metadata !24 , metadata !DIExpression (DIOpArg(0 , i32 ))), !dbg !22
2928
3029 ; CHECK: #dbg_declare(ptr %i, ![[#]], !DIExpression(DIOpArg(0, ptr), DIOpDeref(%struct.type), DIOpConstant(i32 64), DIOpBitOffset(ptr)), ![[#]])
3130 call void @llvm.dbg.declare (metadata ptr %i , metadata !26 , metadata !DIExpression (DIOpArg(0 , ptr ), DIOpDeref(%struct.type ), DIOpConstant(i32 64 ), DIOpBitOffset(ptr ))), !dbg !22
3231
3332 ; CHECK: #dbg_declare(ptr %i, ![[#]], !DIExpression(DIOpArg(0, ptr), DIOpDeref(%struct.type), DIOpConstant(i32 8), DIOpByteOffset(ptr)), ![[#]])
3433 call void @llvm.dbg.declare (metadata ptr %i , metadata !27 , metadata !DIExpression (DIOpArg(0 , ptr ), DIOpDeref(%struct.type ), DIOpConstant(i32 8 ), DIOpByteOffset(ptr ))), !dbg !22
3534
36- ; CHECK: #dbg_declare (i32 3, ![[#]], !DIExpression(DIOpArg(0, i32), DIOpConstant(<2 x i32> <i32 1, i32 2>), DIOpConstant(<2 x i32> <i32 3, i32 4>), DIOpSelect()), ![[#]])
37- call void @llvm.dbg.declare (metadata i32 3 , metadata !28 , metadata !DIExpression (DIOpArg(0 , i32 ), DIOpConstant(<2 x i32 > <i32 1 , i32 2 >), DIOpConstant(<2 x i32 > <i32 3 , i32 4 >), DIOpSelect())), !dbg !22
35+ ; CHECK: #dbg_value (i32 3, ![[#]], !DIExpression(DIOpArg(0, i32), DIOpConstant(<2 x i32> <i32 1, i32 2>), DIOpConstant(<2 x i32> <i32 3, i32 4>), DIOpSelect()), ![[#]])
36+ call void @llvm.dbg.value (metadata i32 3 , metadata !28 , metadata !DIExpression (DIOpArg(0 , i32 ), DIOpConstant(<2 x i32 > <i32 1 , i32 2 >), DIOpConstant(<2 x i32 > <i32 3 , i32 4 >), DIOpSelect())), !dbg !22
3837
3938 ret void
4039}
@@ -152,19 +151,19 @@ entry:
152151 call void @llvm.dbg.declare (metadata ptr %i , metadata !21 , metadata !DIExpression (DIOpArg(0 , ptr ), DIOpArg(0 , ptr ), DIOpShl())), !dbg !22
153152
154153 ; CHECK: DIOpConvert on integers requires result type to be no wider than input type
155- call void @llvm.dbg.declare (metadata i8 42 , metadata !21 , metadata !DIExpression (DIOpArg(0 , i8 ), DIOpConvert(i16 ))), !dbg !22
154+ call void @llvm.dbg.value (metadata i8 42 , metadata !21 , metadata !DIExpression (DIOpArg(0 , i8 ), DIOpConvert(i16 ))), !dbg !22
156155
157156 ; FIXME(diexpression-poison): DIExpression must yield a location at least as wide as the variable or fragment it describes
158- ;call void @llvm.dbg.declare (metadata i8 42, metadata !21, metadata !DIExpression(DIOpArg(0, i8))), !dbg !22
157+ ;call void @llvm.dbg.value (metadata i8 42, metadata !21, metadata !DIExpression(DIOpArg(0, i8))), !dbg !22
159158
160159 ; FIXME(diexpression-poison): DIExpression must yield a location at least as wide as the variable or fragment it describes
161160 ;call void @llvm.dbg.declare(metadata ptr %i, metadata !21, metadata !DIExpression(DIOpArg(0, ptr), DIOpDeref(i16), DIOpConstant(i16 1), DIOpAdd())), !dbg !22
162161
163162 ; FIXME(diexpression-poison): DIExpression must yield a location at least as wide as the variable or fragment it describes
164- ;call void @llvm.dbg.declare (metadata i8 42, metadata !21, metadata !DIExpression(DIOpArg(0, i8), DIOpFragment(0, 16))), !dbg !22
163+ ;call void @llvm.dbg.value (metadata i8 42, metadata !21, metadata !DIExpression(DIOpArg(0, i8), DIOpFragment(0, 16))), !dbg !22
165164
166165 ; CHECK: DIOpFragment must be contained within variable
167- call void @llvm.dbg.declare (metadata i16 42 , metadata !21 , metadata !DIExpression (DIOpArg(0 , i16 ), DIOpFragment(24 , 16 ))), !dbg !22
166+ call void @llvm.dbg.value (metadata i16 42 , metadata !21 , metadata !DIExpression (DIOpArg(0 , i16 ), DIOpFragment(24 , 16 ))), !dbg !22
168167
169168 ret void
170169}
0 commit comments