[llvm] [DebugInfo][IndVarSimplify] fix missing debug location updates (PR #91443)
Orlando Cazalet-Hyams via llvm-commits
llvm-commits at lists.llvm.org
Wed May 8 06:24:32 PDT 2024
================
@@ -0,0 +1,65 @@
+; RUN: opt < %s -passes=indvars -S | FileCheck %s
+
+; This testcase checks the preservation of debug locations of newly created
+; phi, sitofp, add and icmp instructions in IndVarSimplify Pass.
+
+define void @test1() !dbg !5 {
+; CHECK-LABEL: @test1(
+; CHECK-NEXT: entry:
+; CHECK-NEXT: br label [[BB:%.*]], !dbg
+; CHECK: bb:
+; CHECK: [[IV_INT:%.*]] = phi i32 [ 0, [[ENTRY:%.*]] ], [ [[DOTINT:%.*]], [[BB]] ], !dbg
+; CHECK: [[INDVAR_CONV:%.*]] = sitofp i32 [[IV_INT]] to double, !dbg
+; CHECK: [[DOTINT]] = add nuw nsw i32 [[IV_INT]], 1, !dbg
+; CHECK: [[TMP1:%.*]] = icmp ult i32 [[DOTINT]], 10000, !dbg
+;
+entry:
+ br label %bb, !dbg !16
+
+bb: ; preds = %bb, %entry
+ %iv = phi double [ 0.000000e+00, %entry ], [ %1, %bb ], !dbg !17
+ tail call void @llvm.dbg.value(metadata double %iv, metadata !9, metadata !DIExpression()), !dbg !17
+ %0 = tail call i32 @foo(double %iv), !dbg !18
+ tail call void @llvm.dbg.value(metadata i32 %0, metadata !11, metadata !DIExpression()), !dbg !18
+ %1 = fadd double %iv, 1.000000e+00, !dbg !19
+ tail call void @llvm.dbg.value(metadata double %1, metadata !13, metadata !DIExpression()), !dbg !19
+ %2 = fcmp olt double %1, 1.000000e+04, !dbg !20
+ tail call void @llvm.dbg.value(metadata i1 %2, metadata !14, metadata !DIExpression()), !dbg !20
----------------
OCHyams wrote:
nit: could remove the dbg.values (and the declaration) as they just add noise
https://github.com/llvm/llvm-project/pull/91443
More information about the llvm-commits
mailing list