Bendersky, Eli
2012-Jul-16 12:48 UTC
[LLVMdev] !dbg metadata not generated for if.else->if.end branch
Hello, For this C code: int func(int foo, char bar) { int result = foo + bar; if (foo > bar) result += 100 - foo; else result += 221 - bar; return result; } Compiled with -O0 -g, the following IR represents the relevant parts of the if/else statement: %0 = load i32* %foo.addr, align 4, !dbg !49 %1 = load i8* %bar.addr, align 1, !dbg !49 %conv = sext i8 %1 to i32, !dbg !49 %add = add nsw i32 %0, %conv, !dbg !49 store i32 %add, i32* %result, align 4, !dbg !49 %2 = load i32* %foo.addr, align 4, !dbg !50 %3 = load i8* %bar.addr, align 1, !dbg !50 %conv1 = sext i8 %3 to i32, !dbg !50 %cmp = icmp sgt i32 %2, %conv1, !dbg !50 br i1 %cmp, label %if.then, label %if.else, !dbg !50 if.then: ; preds = %entry %4 = load i32* %foo.addr, align 4, !dbg !51 %sub = sub nsw i32 100, %4, !dbg !51 %5 = load i32* %result, align 4, !dbg !51 %add3 = add nsw i32 %5, %sub, !dbg !51 store i32 %add3, i32* %result, align 4, !dbg !51 br label %if.end, !dbg !51 if.else: ; preds = %entry %6 = load i8* %bar.addr, align 1, !dbg !52 %conv4 = sext i8 %6 to i32, !dbg !52 %sub5 = sub nsw i32 221, %conv4, !dbg !52 %7 = load i32* %result, align 4, !dbg !52 %add6 = add nsw i32 %7, %sub5, !dbg !52 store i32 %add6, i32* %result, align 4, !dbg !52 br label %if.end if.end: ; preds = %if.else, %if.then %8 = load i32* %result, align 4, !dbg !53 ---- Note that for the branch from if.else to if.end (br label %if.end), no !dbg metadata is generated. Is there a good reason for this, or should I open a bug? [I guess this would be for Clang then?] Eli --------------------------------------------------------------------- Intel Israel (74) Limited This e-mail and any attachments may contain confidential material for the sole use of the intended recipient(s). Any review or distribution by others is strictly prohibited. If you are not the intended recipient, please contact the sender and delete all copies. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20120716/2bd64a70/attachment.html>