@@ -26,6 +26,15 @@ entry:
26
26
; CHECK: #dbg_declare(i8 poison, ![[#]], !DIExpression(DIOpArg(0, i32)), ![[#]])
27
27
#dbg_declare(i8 poison, !24 , !DIExpression (DIOpArg(0 , i32 )), !22 )
28
28
29
+ ; CHECK: #dbg_declare(ptr %i, ![[#]], !DIExpression(DIOpArg(0, ptr), DIOpDeref(%struct.type), DIOpConstant(i32 64), DIOpBitOffset(ptr)), ![[#]])
30
+ #dbg_declare(ptr %i , !26 , !DIExpression (DIOpArg(0 , ptr ), DIOpDeref(%struct.type ), DIOpConstant(i32 64 ), DIOpBitOffset(ptr )), !22 )
31
+
32
+ ; CHECK: #dbg_declare(ptr %i, ![[#]], !DIExpression(DIOpArg(0, ptr), DIOpDeref(%struct.type), DIOpConstant(i32 8), DIOpByteOffset(ptr)), ![[#]])
33
+ #dbg_declare(ptr %i , !27 , !DIExpression (DIOpArg(0 , ptr ), DIOpDeref(%struct.type ), DIOpConstant(i32 8 ), DIOpByteOffset(ptr )), !22 )
34
+
35
+ ; 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()), ![[#]])
36
+ #dbg_declare(i32 3 , !28 , !DIExpression (DIOpArg(0 , i32 ), DIOpConstant(<2 x i32 > <i32 1 , i32 2 >), DIOpConstant(<2 x i32 > <i32 3 , i32 4 >), DIOpSelect()), !22 )
37
+
29
38
ret void
30
39
}
31
40
@@ -55,6 +64,10 @@ entry:
55
64
!22 = !DILocation (line: 12 , column: 7 , scope: !17 )
56
65
!23 = !DILocation (line: 13 , column: 1 , scope: !17 )
57
66
!24 = !DILocalVariable (name: "j" , scope: !17 , file: !1 , line: 12 , type: !10 )
67
+ !25 = !DIBasicType (name: "int64" , size: 64 , encoding: DW_ATE_unsigned)
68
+ !26 = !DILocalVariable (name: "k" , scope: !17 , file: !1 , line: 12 , type: !25 )
69
+ !27 = !DILocalVariable (name: "l" , scope: !17 , file: !1 , line: 12 , type: !25 )
70
+ !28 = !DILocalVariable (name: "m" , scope: !17 , file: !1 , line: 12 , type: !25 )
58
71
59
72
;--- invalid.ll
60
73
; RUN: opt invalid.ll -S -passes=verify 2>&1 | FileCheck invalid.ll
@@ -81,10 +94,10 @@ entry:
81
94
; CHECK: DIOpReinterpret must not alter bitsize of child
82
95
#dbg_declare(ptr %x , !18 , !DIExpression (DIOpArg(0 , ptr ), DIOpReinterpret(i32 )), !20 )
83
96
84
- ; CHECK: DIOpBitOffset requires first input be integer typed
97
+ ; CHECK: DIOpBitOffset requires an integer typed offset
85
98
#dbg_declare(ptr %x , !18 , !DIExpression (DIOpConstant(float 0 .0 ), DIOpArg(0 , ptr ), DIOpBitOffset(ptr )), !20 )
86
99
87
- ; CHECK: DIOpByteOffset requires first input be integer typed
100
+ ; CHECK: DIOpByteOffset requires an integer typed offset
88
101
#dbg_declare(ptr %x , !18 , !DIExpression (DIOpConstant(ptr undef ), DIOpArg(0 , ptr ), DIOpByteOffset(ptr )), !20 )
89
102
90
103
; CHECK: DIOpComposite bitsize does not match sum of child bitsizes
0 commit comments