1
1
; RUN: rm -rf %t && split-file %s %t && cd %t
2
- ; XFAIL: *
3
2
4
3
;--- valid.ll
5
4
; RUN: opt valid.ll -S -passes=verify 2>&1 | FileCheck --implicit-check-not 'invalid expression' valid.ll
@@ -21,20 +20,20 @@ entry:
21
20
; CHECK: #dbg_declare(ptr %i, ![[#]], !DIExpression(DIOpArg(0, ptr), DIOpArg(0, ptr), DIOpComposite(2, %struct.type)), ![[#]])
22
21
call void @llvm.dbg.declare (metadata ptr %i , metadata !21 , metadata !DIExpression (DIOpArg(0 , ptr ), DIOpArg(0 , ptr ), DIOpComposite(2 , %struct.type ))), !dbg !22
23
22
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
26
25
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
29
28
30
29
; CHECK: #dbg_declare(ptr %i, ![[#]], !DIExpression(DIOpArg(0, ptr), DIOpDeref(%struct.type), DIOpConstant(i32 64), DIOpBitOffset(ptr)), ![[#]])
31
30
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
32
31
33
32
; CHECK: #dbg_declare(ptr %i, ![[#]], !DIExpression(DIOpArg(0, ptr), DIOpDeref(%struct.type), DIOpConstant(i32 8), DIOpByteOffset(ptr)), ![[#]])
34
33
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
35
34
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
38
37
39
38
ret void
40
39
}
@@ -152,19 +151,19 @@ entry:
152
151
call void @llvm.dbg.declare (metadata ptr %i , metadata !21 , metadata !DIExpression (DIOpArg(0 , ptr ), DIOpArg(0 , ptr ), DIOpShl())), !dbg !22
153
152
154
153
; 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
156
155
157
156
; 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
159
158
160
159
; FIXME(diexpression-poison): DIExpression must yield a location at least as wide as the variable or fragment it describes
161
160
;call void @llvm.dbg.declare(metadata ptr %i, metadata !21, metadata !DIExpression(DIOpArg(0, ptr), DIOpDeref(i16), DIOpConstant(i16 1), DIOpAdd())), !dbg !22
162
161
163
162
; 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
165
164
166
165
; 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
168
167
169
168
ret void
170
169
}
0 commit comments