Hello LLVM Experts, Please ignore the last email. I'm trying to get the location of used variables inside the function pass.
For example: *Symbol a = [4, 4, 6] linesSymbol b= [5, 5, 7] lines* *C code:* void bar() { int a = 10; //line 2 int b = 20; //line 3 a = a + 5; //line 4 b = b + 1; //line 5 a++; //line 6 b--; //line 7 } *LLVM IR:* %a = alloca i32, align 4 %b = alloca i32, align 4 call void @llvm.dbg.declare(metadata i32* %a, metadata !10, metadata !DIExpression()), !dbg !12 store i32 10, i32* %a, align 4, !dbg !12 call void @llvm.dbg.declare(metadata i32* %b, metadata !13, metadata !DIExpression()), !dbg !14 store i32 20, i32* %b, align 4, !dbg !14 %0 = load i32, i32* *%a*, align 4, !dbg !15 %add = add nsw i32 %0, 5, !dbg !16 store i32 %add, i32* *%a*, align 4, !dbg !17 %1 = load i32, i32* *%b*, align 4, !dbg !18 %add1 = add nsw i32 %1, 1, !dbg !19 store i32 %add1, i32* *%b*, align 4, !dbg !20 %2 = load i32, i32* *%a*, align 4, !dbg !21 %inc = add nsw i32 %2, 1, !dbg !21 store i32 %inc, i32* *%a*, align 4, !dbg !21 %3 = load i32, i32* *%b*, align 4, !dbg !22 %dec = add nsw i32 %3, -1, !dbg !22 store i32 %dec, i32* *%b*, align 4, !dbg !22 ret void, !dbg !23 } !10 = !DILocalVariable(name: "a", scope: !7, file: !1, line: 2, type: !11) !11 = !DIBasicType(name: "int", size: 32, encoding: DW_ATE_signed) !12 = !DILocation(line: 2, column: 7, scope: !7) !13 = !DILocalVariable(name: "b", scope: !7, file: !1, line: 3, type: !11) !14 = !DILocation(line: 3, column: 7, scope: !7) !15 = !DILocation(line: 4, column: 7, scope: !7) !16 = !DILocation(line: 4, column: 9, scope: !7) !17 = !DILocation(line: 4, column: 5, scope: !7) !18 = !DILocation(line: 5, column: 7, scope: !7) !19 = !DILocation(line: 5, column: 9, scope: !7) !20 = !DILocation(line: 5, column: 5, scope: !7) !21 = !DILocation(line: 6, column: 4, scope: !7) !22 = !DILocation(line: 7, column: 4, scope: !7) !23 = !DILocation(line: 8, column: 2, scope: !7) Thanks and Regards.
_______________________________________________ cfe-users mailing list cfe-users@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-users