[llvm] [indvars] Missing variables at Og: (PR #69920)
Nikita Popov via llvm-commits
llvm-commits at lists.llvm.org
Mon Oct 23 05:33:41 PDT 2023
================
@@ -0,0 +1,115 @@
+; RUN: opt -passes=indvars -S -o - < %s | FileCheck %s
+
+; Missing local variable 'Index' after loop 'Induction Variable Elimination'.
+; When adding a breakpoint at line 11, LLDB does not have information on
+; the variable. But it has info on 'Var' and 'End'.
+
+; 1 __attribute__((optnone)) int nop(int Param) {
+; 2 return 0;
+; 3 }
+; 4
+; 5 void bar() {
+; 6 int End = 777;
+; 7 int Index = 27;
+; 8 char Var = 1;
+; 9 for (; Index < End; ++Index)
+; 10 ;
+; 11 nop(Index);
+; 12 }
+; 13
+; 14 int main () {
+; 15 bar();
+; 16 }
+
+; CHECK: for.cond: {{.*}}
+; CHECK: call void @llvm.dbg.value(metadata i32 poison, metadata ![[DBG:[0-9]+]], {{.*}}
+; CHECK: call void @llvm.dbg.value(metadata i32 poison, metadata ![[DBG:[0-9]+]], {{.*}}
+; CHECK: br i1 false, label %for.cond, label %for.end, {{.*}}
+; CHECK: for.end: {{.*}}
+; CHECK: call void @llvm.dbg.value(metadata i32 777, metadata ![[DBG:[0-9]+]], {{.*}}
+; CHECK: %call = tail call noundef i32 @_Z3nopi(i32 noundef 777), {{.*}}
+; CHECK-DAG: ![[DBG]] = !DILocalVariable(name: "Index"{{.*}})
+
+define dso_local noundef i32 @_Z3nopi(i32 noundef %Param) local_unnamed_addr #0 !dbg !10 {
----------------
nikic wrote:
Unrelated function?
https://github.com/llvm/llvm-project/pull/69920
More information about the llvm-commits
mailing list