[llvm] a5b457b - [Assignment Tracking] Update test to use opaque pointers

via llvm-commits llvm-commits at lists.llvm.org
Fri Jan 20 05:26:38 PST 2023


Author: OCHyams
Date: 2023-01-20T13:25:56Z
New Revision: a5b457b7781a4389c6acddc70576ced75a2c5062

URL: https://github.com/llvm/llvm-project/commit/a5b457b7781a4389c6acddc70576ced75a2c5062
DIFF: https://github.com/llvm/llvm-project/commit/a5b457b7781a4389c6acddc70576ced75a2c5062.diff

LOG: [Assignment Tracking] Update test to use opaque pointers

Added: 
    

Modified: 
    llvm/test/DebugInfo/Generic/assignment-tracking/track-assignments.ll

Removed: 
    


################################################################################
diff  --git a/llvm/test/DebugInfo/Generic/assignment-tracking/track-assignments.ll b/llvm/test/DebugInfo/Generic/assignment-tracking/track-assignments.ll
index 2d3a3c6512bd3..abb4d826a9a1f 100644
--- a/llvm/test/DebugInfo/Generic/assignment-tracking/track-assignments.ll
+++ b/llvm/test/DebugInfo/Generic/assignment-tracking/track-assignments.ll
@@ -1,4 +1,4 @@
-; RUN: opt -opaque-pointers=0 -passes='declare-to-assign,verify' %s -S -o - -experimental-assignment-tracking \
+; RUN: opt -passes='declare-to-assign,verify' %s -S -o - -experimental-assignment-tracking \
 ; RUN: | FileCheck %s --implicit-check-not="call void @llvm.dbg"
 
 ;; This test checks that `trackAssignments` is working correctly by using the
@@ -90,16 +90,16 @@ define dso_local void @_Z8zeroInitv() #0 !dbg !31 {
 entry:
   %Z = alloca [3 x i32], align 4
 ; CHECK:      %Z = alloca [3 x i32], align 4, !DIAssignID ![[ID_0:[0-9]+]]
-; CHECK-NEXT: call void @llvm.dbg.assign(metadata i1 undef, metadata ![[VAR_0:[0-9]+]], metadata !DIExpression(), metadata ![[ID_0]], metadata [3 x i32]* %Z, metadata !DIExpression())
-  %0 = bitcast [3 x i32]* %Z to i8*, !dbg !39
-  call void @llvm.lifetime.start.p0i8(i64 12, i8* %0) #5, !dbg !39
-  call void @llvm.dbg.declare(metadata [3 x i32]* %Z, metadata !35, metadata !DIExpression()), !dbg !40
-  %1 = bitcast [3 x i32]* %Z to i8*, !dbg !40
-  call void @llvm.memset.p0i8.i64(i8* align 4 %1, i8 0, i64 12, i1 false), !dbg !40
-; CHECK:       @llvm.memset.p0i8.i64{{.*}}, !DIAssignID ![[ID_1:[0-9]+]]
-; CHECK-NEXT:  call void @llvm.dbg.assign(metadata i8 0, metadata ![[VAR_0]], metadata !DIExpression(), metadata ![[ID_1]], metadata i8* %1, metadata !DIExpression())
-  %2 = bitcast [3 x i32]* %Z to i8*, !dbg !41
-  call void @llvm.lifetime.end.p0i8(i64 12, i8* %2) #5, !dbg !41
+; CHECK-NEXT: call void @llvm.dbg.assign(metadata i1 undef, metadata ![[VAR_0:[0-9]+]], metadata !DIExpression(), metadata ![[ID_0]], metadata ptr %Z, metadata !DIExpression())
+  %0 = bitcast ptr %Z to ptr, !dbg !39
+  call void @llvm.lifetime.start.p0i8(i64 12, ptr %0) #5, !dbg !39
+  call void @llvm.dbg.declare(metadata ptr %Z, metadata !35, metadata !DIExpression()), !dbg !40
+  %1 = bitcast ptr %Z to ptr, !dbg !40
+  call void @llvm.memset.p0i8.i64(ptr align 4 %1, i8 0, i64 12, i1 false), !dbg !40
+; CHECK:       @llvm.memset{{.*}}, !DIAssignID ![[ID_1:[0-9]+]]
+; CHECK-NEXT:  call void @llvm.dbg.assign(metadata i8 0, metadata ![[VAR_0]], metadata !DIExpression(), metadata ![[ID_1]], metadata ptr %1, metadata !DIExpression())
+  %2 = bitcast ptr %Z to ptr, !dbg !41
+  call void @llvm.lifetime.end.p0i8(i64 12, ptr %2) #5, !dbg !41
   ret void, !dbg !41
 }
 
@@ -115,16 +115,16 @@ define dso_local void @_Z10memcpyInitv() #0 !dbg !42 {
 entry:
   %A = alloca [4 x i32], align 16
 ; CHECK:      %A = alloca [4 x i32], align 16, !DIAssignID ![[ID_2:[0-9]+]]
-; CHECK-NEXT: call void @llvm.dbg.assign(metadata i1 undef, metadata ![[VAR_1:[0-9]+]], metadata !DIExpression(), metadata ![[ID_2]], metadata [4 x i32]* %A, metadata !DIExpression())
-  %0 = bitcast [4 x i32]* %A to i8*, !dbg !48
-  call void @llvm.lifetime.start.p0i8(i64 16, i8* %0) #5, !dbg !48
-  call void @llvm.dbg.declare(metadata [4 x i32]* %A, metadata !44, metadata !DIExpression()), !dbg !49
-  %1 = bitcast [4 x i32]* %A to i8*, !dbg !49
-  call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 16 %1, i8* align 16 bitcast ([4 x i32]* @__const._Z10memcpyInitv.A to i8*), i64 16, i1 false), !dbg !49
-; CHECK:       @llvm.memcpy.p0i8.p0i8.i64{{.*}}, !DIAssignID ![[ID_3:[0-9]+]]
-; CHECK-NEXT:  call void @llvm.dbg.assign(metadata i1 undef, metadata ![[VAR_1]], metadata !DIExpression(), metadata ![[ID_3]], metadata i8* %1, metadata !DIExpression())
-  %2 = bitcast [4 x i32]* %A to i8*, !dbg !50
-  call void @llvm.lifetime.end.p0i8(i64 16, i8* %2) #5, !dbg !50
+; CHECK-NEXT: call void @llvm.dbg.assign(metadata i1 undef, metadata ![[VAR_1:[0-9]+]], metadata !DIExpression(), metadata ![[ID_2]], metadata ptr %A, metadata !DIExpression())
+  %0 = bitcast ptr %A to ptr, !dbg !48
+  call void @llvm.lifetime.start.p0i8(i64 16, ptr %0) #5, !dbg !48
+  call void @llvm.dbg.declare(metadata ptr %A, metadata !44, metadata !DIExpression()), !dbg !49
+  %1 = bitcast ptr %A to ptr, !dbg !49
+  call void @llvm.memcpy.p0i8.p0i8.i64(ptr align 16 %1, ptr align 16 bitcast (ptr @__const._Z10memcpyInitv.A to ptr), i64 16, i1 false), !dbg !49
+; CHECK:       @llvm.memcpy{{.*}}, !DIAssignID ![[ID_3:[0-9]+]]
+; CHECK-NEXT:  call void @llvm.dbg.assign(metadata i1 undef, metadata ![[VAR_1]], metadata !DIExpression(), metadata ![[ID_3]], metadata ptr %1, metadata !DIExpression())
+  %2 = bitcast ptr %A to ptr, !dbg !50
+  call void @llvm.lifetime.end.p0i8(i64 16, ptr %2) #5, !dbg !50
   ret void, !dbg !50
 }
 
@@ -144,18 +144,18 @@ define dso_local void @_Z8setFieldv() #0 !dbg !51 {
 entry:
   %O = alloca %struct.Outer, align 4
 ; CHECK:      %O = alloca %struct.Outer, align 4, !DIAssignID ![[ID_4:[0-9]+]]
-; CHECK-NEXT: call void @llvm.dbg.assign(metadata i1 undef, metadata ![[VAR_2:[0-9]+]], metadata !DIExpression(), metadata ![[ID_4]], metadata %struct.Outer* %O, metadata !DIExpression())
-  %0 = bitcast %struct.Outer* %O to i8*, !dbg !58
-  call void @llvm.lifetime.start.p0i8(i64 16, i8* %0) #5, !dbg !58
-  call void @llvm.dbg.declare(metadata %struct.Outer* %O, metadata !53, metadata !DIExpression()), !dbg !59
-  %1 = load i32, i32* @Value, align 4, !dbg !60, !tbaa !61
-  %A = getelementptr inbounds %struct.Outer, %struct.Outer* %O, i32 0, i32 0, !dbg !65
-  %B = getelementptr inbounds %struct.Inner, %struct.Inner* %A, i32 0, i32 1, !dbg !66
-  store i32 %1, i32* %B, align 4, !dbg !67, !tbaa !68
-; CHECK:      store i32 %1, i32* %B, align 4,{{.*}}!DIAssignID ![[ID_5:[0-9]+]]
-; CHECK-NEXT: call void @llvm.dbg.assign(metadata i32 %1, metadata ![[VAR_2]], metadata !DIExpression(DW_OP_LLVM_fragment, 32, 32), metadata ![[ID_5]], metadata i32* %B, metadata !DIExpression())
-  %2 = bitcast %struct.Outer* %O to i8*, !dbg !71
-  call void @llvm.lifetime.end.p0i8(i64 16, i8* %2) #5, !dbg !71
+; CHECK-NEXT: call void @llvm.dbg.assign(metadata i1 undef, metadata ![[VAR_2:[0-9]+]], metadata !DIExpression(), metadata ![[ID_4]], metadata ptr %O, metadata !DIExpression())
+  %0 = bitcast ptr %O to ptr, !dbg !58
+  call void @llvm.lifetime.start.p0i8(i64 16, ptr %0) #5, !dbg !58
+  call void @llvm.dbg.declare(metadata ptr %O, metadata !53, metadata !DIExpression()), !dbg !59
+  %1 = load i32, ptr @Value, align 4, !dbg !60, !tbaa !61
+  %A = getelementptr inbounds %struct.Outer, ptr %O, i32 0, i32 0, !dbg !65
+  %B = getelementptr inbounds %struct.Inner, ptr %A, i32 0, i32 1, !dbg !66
+  store i32 %1, ptr %B, align 4, !dbg !67, !tbaa !68
+; CHECK:      store i32 %1, ptr %B, align 4,{{.*}}!DIAssignID ![[ID_5:[0-9]+]]
+; CHECK-NEXT: call void @llvm.dbg.assign(metadata i32 %1, metadata ![[VAR_2]], metadata !DIExpression(DW_OP_LLVM_fragment, 32, 32), metadata ![[ID_5]], metadata ptr %B, metadata !DIExpression())
+  %2 = bitcast ptr %O to ptr, !dbg !71
+  call void @llvm.lifetime.end.p0i8(i64 16, ptr %2) #5, !dbg !71
   ret void, !dbg !71
 }
 
@@ -176,17 +176,17 @@ define dso_local void @_Z13unknownOffsetv() #0 !dbg !72 {
 entry:
   %A = alloca [2 x i32], align 4
 ; CHECK:      %A = alloca [2 x i32], align 4, !DIAssignID ![[ID_6:[0-9]+]]
-; CHECK-NEXT: call void @llvm.dbg.assign(metadata i1 undef, metadata ![[VAR_3:[0-9]+]], metadata !DIExpression(), metadata ![[ID_6]], metadata [2 x i32]* %A, metadata !DIExpression())
-  %0 = bitcast [2 x i32]* %A to i8*, !dbg !78
-  call void @llvm.lifetime.start.p0i8(i64 8, i8* %0) #5, !dbg !78
-  call void @llvm.dbg.declare(metadata [2 x i32]* %A, metadata !74, metadata !DIExpression()), !dbg !79
-  %1 = load i32, i32* @Value, align 4, !dbg !80, !tbaa !61
-  %2 = load i32, i32* @Index, align 4, !dbg !81, !tbaa !61
+; CHECK-NEXT: call void @llvm.dbg.assign(metadata i1 undef, metadata ![[VAR_3:[0-9]+]], metadata !DIExpression(), metadata ![[ID_6]], metadata ptr %A, metadata !DIExpression())
+  %0 = bitcast ptr %A to ptr, !dbg !78
+  call void @llvm.lifetime.start.p0i8(i64 8, ptr %0) #5, !dbg !78
+  call void @llvm.dbg.declare(metadata ptr %A, metadata !74, metadata !DIExpression()), !dbg !79
+  %1 = load i32, ptr @Value, align 4, !dbg !80, !tbaa !61
+  %2 = load i32, ptr @Index, align 4, !dbg !81, !tbaa !61
   %idxprom = sext i32 %2 to i64, !dbg !82
-  %arrayidx = getelementptr inbounds [2 x i32], [2 x i32]* %A, i64 0, i64 %idxprom, !dbg !82
-  store i32 %1, i32* %arrayidx, align 4, !dbg !83, !tbaa !61
-  %3 = bitcast [2 x i32]* %A to i8*, !dbg !84
-  call void @llvm.lifetime.end.p0i8(i64 8, i8* %3) #5, !dbg !84
+  %arrayidx = getelementptr inbounds [2 x i32], ptr %A, i64 0, i64 %idxprom, !dbg !82
+  store i32 %1, ptr %arrayidx, align 4, !dbg !83, !tbaa !61
+  %3 = bitcast ptr %A to ptr, !dbg !84
+  call void @llvm.lifetime.end.p0i8(i64 8, ptr %3) #5, !dbg !84
   ret void, !dbg !84
 }
 
@@ -207,35 +207,35 @@ define dso_local i64 @_Z12sharedAllocav() #0 !dbg !85 {
 entry:
   %retval = alloca %struct.Inner, align 4
 ; CHECK:      %retval = alloca %struct.Inner, align 4, !DIAssignID ![[ID_7:[0-9]+]]
-; CHECK-NEXT: call void @llvm.dbg.assign(metadata i1 undef, metadata ![[VAR_4:[0-9]+]], metadata !DIExpression(), metadata ![[ID_7]], metadata %struct.Inner* %retval, metadata !DIExpression())
-; CHECK-NEXT: call void @llvm.dbg.assign(metadata i1 undef, metadata ![[VAR_5:[0-9]+]], metadata !DIExpression(), metadata ![[ID_7]], metadata %struct.Inner* %retval, metadata !DIExpression())
-  %0 = load i32, i32* @Cond, align 4, !dbg !94, !tbaa !61
+; CHECK-NEXT: call void @llvm.dbg.assign(metadata i1 undef, metadata ![[VAR_4:[0-9]+]], metadata !DIExpression(), metadata ![[ID_7]], metadata ptr %retval, metadata !DIExpression())
+; CHECK-NEXT: call void @llvm.dbg.assign(metadata i1 undef, metadata ![[VAR_5:[0-9]+]], metadata !DIExpression(), metadata ![[ID_7]], metadata ptr %retval, metadata !DIExpression())
+  %0 = load i32, ptr @Cond, align 4, !dbg !94, !tbaa !61
   %tobool = icmp ne i32 %0, 0, !dbg !94
   br i1 %tobool, label %if.then, label %if.else, !dbg !95
 
 if.then:                                          ; preds = %entry
 ; CHECK:      if.then:
-  call void @llvm.dbg.declare(metadata %struct.Inner* %retval, metadata !89, metadata !DIExpression()), !dbg !96
-  %1 = bitcast %struct.Inner* %retval to i8*, !dbg !97
-  call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 4 %1, i8* align 4 bitcast (%struct.Inner* @InnerA to i8*), i64 8, i1 false), !dbg !97, !tbaa.struct !98
+  call void @llvm.dbg.declare(metadata ptr %retval, metadata !89, metadata !DIExpression()), !dbg !96
+  %1 = bitcast ptr %retval to ptr, !dbg !97
+  call void @llvm.memcpy.p0i8.p0i8.i64(ptr align 4 %1, ptr align 4 bitcast (ptr @InnerA to ptr), i64 8, i1 false), !dbg !97, !tbaa.struct !98
 ; CHECK:      call void @llvm.memcpy{{.*}}, !DIAssignID ![[ID_8:[0-9]+]]
-; CHECK-NEXT: call void @llvm.dbg.assign(metadata i1 undef, metadata ![[VAR_4]], metadata !DIExpression(), metadata ![[ID_8]], metadata i8* %1, metadata !DIExpression())
-; CHECK-NEXT: call void @llvm.dbg.assign(metadata i1 undef, metadata ![[VAR_5]], metadata !DIExpression(), metadata ![[ID_8]], metadata i8* %1, metadata !DIExpression())
+; CHECK-NEXT: call void @llvm.dbg.assign(metadata i1 undef, metadata ![[VAR_4]], metadata !DIExpression(), metadata ![[ID_8]], metadata ptr %1, metadata !DIExpression())
+; CHECK-NEXT: call void @llvm.dbg.assign(metadata i1 undef, metadata ![[VAR_5]], metadata !DIExpression(), metadata ![[ID_8]], metadata ptr %1, metadata !DIExpression())
   br label %return, !dbg !99
 
 if.else:                                          ; preds = %entry
 ; CHECK:      if.else:
-  call void @llvm.dbg.declare(metadata %struct.Inner* %retval, metadata !92, metadata !DIExpression()), !dbg !100
-  %2 = bitcast %struct.Inner* %retval to i8*, !dbg !101
-  call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 4 %2, i8* align 4 bitcast (%struct.Inner* @InnerB to i8*), i64 8, i1 false), !dbg !101, !tbaa.struct !98
+  call void @llvm.dbg.declare(metadata ptr %retval, metadata !92, metadata !DIExpression()), !dbg !100
+  %2 = bitcast ptr %retval to ptr, !dbg !101
+  call void @llvm.memcpy.p0i8.p0i8.i64(ptr align 4 %2, ptr align 4 bitcast (ptr @InnerB to ptr), i64 8, i1 false), !dbg !101, !tbaa.struct !98
 ; CHECK:      call void @llvm.memcpy{{.*}}, !DIAssignID ![[ID_9:[0-9]+]]
-; CHECK-NEXT: call void @llvm.dbg.assign(metadata i1 undef, metadata ![[VAR_4]], metadata !DIExpression(), metadata ![[ID_9]], metadata i8* %2, metadata !DIExpression())
-; CHECK-NEXT: call void @llvm.dbg.assign(metadata i1 undef, metadata ![[VAR_5]], metadata !DIExpression(), metadata ![[ID_9]], metadata i8* %2, metadata !DIExpression())
+; CHECK-NEXT: call void @llvm.dbg.assign(metadata i1 undef, metadata ![[VAR_4]], metadata !DIExpression(), metadata ![[ID_9]], metadata ptr %2, metadata !DIExpression())
+; CHECK-NEXT: call void @llvm.dbg.assign(metadata i1 undef, metadata ![[VAR_5]], metadata !DIExpression(), metadata ![[ID_9]], metadata ptr %2, metadata !DIExpression())
   br label %return, !dbg !102
 
 return:                                           ; preds = %if.else, %if.then
-  %3 = bitcast %struct.Inner* %retval to i64*, !dbg !103
-  %4 = load i64, i64* %3, align 4, !dbg !103
+  %3 = bitcast ptr %retval to ptr, !dbg !103
+  %4 = load i64, ptr %3, align 4, !dbg !103
   ret i64 %4, !dbg !103
 }
 
@@ -250,13 +250,13 @@ return:                                           ; preds = %if.else, %if.then
 ;; assignment tracking pipeline). In lieu of being able to xfail a part of a
 ;; test, check that the dbg.declare is preserved so the test fails (and can be
 ;; updated) when this is fixed.
-define dso_local void @_Z4sretv(%struct.Large* noalias sret(%struct.Large) align 4 %agg.result) #0 !dbg !104 {
+define dso_local void @_Z4sretv(ptr noalias sret(%struct.Large) align 4 %agg.result) #0 !dbg !104 {
 ; CHECK-LABEL: define dso_local void @_Z4sretv
 entry:
 ; CHECK: call void @llvm.dbg.declare
-  call void @llvm.dbg.declare(metadata %struct.Large* %agg.result, metadata !108, metadata !DIExpression()), !dbg !109
-  %0 = bitcast %struct.Large* %agg.result to i8*, !dbg !110
-  call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 4 %0, i8* align 4 bitcast (%struct.Large* @L to i8*), i64 40, i1 false), !dbg !110, !tbaa.struct !111
+  call void @llvm.dbg.declare(metadata ptr %agg.result, metadata !108, metadata !DIExpression()), !dbg !109
+  %0 = bitcast ptr %agg.result to ptr, !dbg !110
+  call void @llvm.memcpy.p0i8.p0i8.i64(ptr align 4 %0, ptr align 4 bitcast (ptr @L to ptr), i64 40, i1 false), !dbg !110, !tbaa.struct !111
   ret void, !dbg !113
 }
 
@@ -265,11 +265,11 @@ entry:
 ;;    void byval(Large X) {}
 ;;
 ;; TODO: See comment for sret parameters above.
-define dso_local void @_Z5byval5Large(%struct.Large* noundef byval(%struct.Large) align 8 %X) #0 !dbg !114 {
+define dso_local void @_Z5byval5Large(ptr noundef byval(%struct.Large) align 8 %X) #0 !dbg !114 {
 ; CHECK-LABEL: define dso_local void @_Z5byval5Large
 entry:
 ; CHECK: llvm.dbg.declare
-  call void @llvm.dbg.declare(metadata %struct.Large* %X, metadata !118, metadata !DIExpression()), !dbg !119
+  call void @llvm.dbg.declare(metadata ptr %X, metadata !118, metadata !DIExpression()), !dbg !119
   ret void, !dbg !120
 }
 
@@ -285,15 +285,15 @@ entry:
 ;; to store the passed-in address for the storage for the variable. The
 ;; dbg.declare for the local R therefore requires a DW_OP_deref expression.
 ;; TODO: This isn't supported yet, so check the dbg.declare remains.
-define dso_local void @_Z14indirectReturnv(%struct.LCopyCtor* noalias sret(%struct.LCopyCtor) align 4 %agg.result) #0 !dbg !121 {
+define dso_local void @_Z14indirectReturnv(ptr noalias sret(%struct.LCopyCtor) align 4 %agg.result) #0 !dbg !121 {
 ; CHECK-LABEL: define dso_local void @_Z14indirectReturnv
 entry:
-  %result.ptr = alloca i8*, align 8
-  %0 = bitcast %struct.LCopyCtor* %agg.result to i8*
-  store i8* %0, i8** %result.ptr, align 8
-  call void @llvm.dbg.declare(metadata i8** %result.ptr, metadata !126, metadata !DIExpression(DW_OP_deref)), !dbg !127
+  %result.ptr = alloca ptr, align 8
+  %0 = bitcast ptr %agg.result to ptr
+  store ptr %0, ptr %result.ptr, align 8
+  call void @llvm.dbg.declare(metadata ptr %result.ptr, metadata !126, metadata !DIExpression(DW_OP_deref)), !dbg !127
 ; CHECK: call void @llvm.dbg.declare
-  call void @_ZN9LCopyCtorC1Ev(%struct.LCopyCtor* noundef nonnull align 4 dereferenceable(16) %agg.result), !dbg !127
+  call void @_ZN9LCopyCtorC1Ev(ptr noundef nonnull align 4 dereferenceable(16) %agg.result), !dbg !127
   ret void, !dbg !128
 }
 
@@ -310,31 +310,31 @@ define dso_local noundef i32 @_Z3funi(i32 noundef %X) !dbg !139 {
 entry:
   %Y.addr.i = alloca i32, align 4
 ; CHECK:      %Y.addr.i = alloca i32, align 4, !DIAssignID ![[ID_10:[0-9]+]]
-; CHECK-NEXT: call void @llvm.dbg.assign(metadata i1 undef, metadata ![[VAR_6:[0-9]+]], metadata !DIExpression(), metadata ![[ID_10]], metadata i32* %Y.addr.i, metadata !DIExpression()), !dbg ![[DBG_0:[0-9]+]]
+; CHECK-NEXT: call void @llvm.dbg.assign(metadata i1 undef, metadata ![[VAR_6:[0-9]+]], metadata !DIExpression(), metadata ![[ID_10]], metadata ptr %Y.addr.i, metadata !DIExpression()), !dbg ![[DBG_0:[0-9]+]]
   %X.addr = alloca i32, align 4
 ; CHECK-NEXT: %X.addr = alloca i32, align 4, !DIAssignID ![[ID_11:[0-9]+]]
-; CHECK-NEXT: call void @llvm.dbg.assign(metadata i1 undef, metadata ![[VAR_7:[0-9]+]], metadata !DIExpression(), metadata ![[ID_11]], metadata i32* %X.addr, metadata !DIExpression()), !dbg ![[DBG_1:[0-9]+]]
-  store i32 %X, i32* %X.addr, align 4
-; CHECK-NEXT: store i32 %X, i32* %X.addr, align 4, !DIAssignID ![[ID_12:[0-9]+]]
-; CHECK-NEXT: call void @llvm.dbg.assign(metadata i32 %X, metadata ![[VAR_7]], metadata !DIExpression(), metadata ![[ID_12]], metadata i32* %X.addr, metadata !DIExpression()), !dbg ![[DBG_1]]
-  call void @llvm.dbg.declare(metadata i32* %X.addr, metadata !140, metadata !DIExpression()), !dbg !141
-  %0 = load i32, i32* %X.addr, align 4, !dbg !142
-  store i32 %0, i32* %Y.addr.i, align 4
-; CHECK:      store i32 %0, i32* %Y.addr.i, align 4, !DIAssignID ![[ID_13:[0-9]+]]
-; CHECK-NEXT: call void @llvm.dbg.assign(metadata i32 %0, metadata ![[VAR_6]], metadata !DIExpression(), metadata ![[ID_13]], metadata i32* %Y.addr.i, metadata !DIExpression()), !dbg ![[DBG_0]]
-  call void @llvm.dbg.declare(metadata i32* %Y.addr.i, metadata !133, metadata !DIExpression()), !dbg !143
-  %1 = load i32, i32* %Y.addr.i, align 4, !dbg !145
-  %2 = load i32, i32* %Y.addr.i, align 4, !dbg !146
+; CHECK-NEXT: call void @llvm.dbg.assign(metadata i1 undef, metadata ![[VAR_7:[0-9]+]], metadata !DIExpression(), metadata ![[ID_11]], metadata ptr %X.addr, metadata !DIExpression()), !dbg ![[DBG_1:[0-9]+]]
+  store i32 %X, ptr %X.addr, align 4
+; CHECK-NEXT: store i32 %X, ptr %X.addr, align 4, !DIAssignID ![[ID_12:[0-9]+]]
+; CHECK-NEXT: call void @llvm.dbg.assign(metadata i32 %X, metadata ![[VAR_7]], metadata !DIExpression(), metadata ![[ID_12]], metadata ptr %X.addr, metadata !DIExpression()), !dbg ![[DBG_1]]
+  call void @llvm.dbg.declare(metadata ptr %X.addr, metadata !140, metadata !DIExpression()), !dbg !141
+  %0 = load i32, ptr %X.addr, align 4, !dbg !142
+  store i32 %0, ptr %Y.addr.i, align 4
+; CHECK:      store i32 %0, ptr %Y.addr.i, align 4, !DIAssignID ![[ID_13:[0-9]+]]
+; CHECK-NEXT: call void @llvm.dbg.assign(metadata i32 %0, metadata ![[VAR_6]], metadata !DIExpression(), metadata ![[ID_13]], metadata ptr %Y.addr.i, metadata !DIExpression()), !dbg ![[DBG_0]]
+  call void @llvm.dbg.declare(metadata ptr %Y.addr.i, metadata !133, metadata !DIExpression()), !dbg !143
+  %1 = load i32, ptr %Y.addr.i, align 4, !dbg !145
+  %2 = load i32, ptr %Y.addr.i, align 4, !dbg !146
   %mul.i = mul nsw i32 %1, %2, !dbg !147
   ret i32 %mul.i, !dbg !148
 }
 
-declare void @llvm.lifetime.start.p0i8(i64 immarg, i8* nocapture) #1
+declare void @llvm.lifetime.start.p0i8(i64 immarg, ptr nocapture) #1
 declare void @llvm.dbg.declare(metadata, metadata, metadata) #2
-declare void @llvm.memset.p0i8.i64(i8* nocapture writeonly, i8, i64, i1 immarg) #3
-declare void @llvm.memcpy.p0i8.p0i8.i64(i8* noalias nocapture writeonly, i8* noalias nocapture readonly, i64, i1 immarg) #4
-declare void @llvm.lifetime.end.p0i8(i64 immarg, i8* nocapture) #1
-declare dso_local void @_ZN9LCopyCtorC1Ev(%struct.LCopyCtor* noundef nonnull align 4 dereferenceable(16)) unnamed_addr
+declare void @llvm.memset.p0i8.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #3
+declare void @llvm.memcpy.p0i8.p0i8.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #4
+declare void @llvm.lifetime.end.p0i8(i64 immarg, ptr nocapture) #1
+declare dso_local void @_ZN9LCopyCtorC1Ev(ptr noundef nonnull align 4 dereferenceable(16)) unnamed_addr
 
 !llvm.dbg.cu = !{!2}
 !llvm.module.flags = !{!26, !27, !28, !29}


        


More information about the llvm-commits mailing list