[LLVMdev] how to identify basic blocks added for switch instruction without default?
Jingyue Wu
jingyue at google.com
Mon Apr 28 20:12:55 PDT 2014
I suspect pattern matching "sw.default" will identify these blocks with a
reasonable accuracy. The code in clang adding these blocks is in
lib/CodeGen/CGStmt.cpp.
Jingyue
On Mon, Apr 28, 2014 at 8:06 PM, songlh <songlh at cs.wisc.edu> wrote:
> Hi,
>
> I just notice that front-end will add an extra block for switch
> instruction without default. How could I identify basic blocks added due to
> this reason?
>
> The added codes looks like:
>
> sw.default.i625: ; preds = %if.end512
> tail call void @fancy_abort(i8* getelementptr inbounds ([38 x i8]*
> @.str, i64 0, i64 0), i32 3045, i8* getelementptr inbounds ([23 x i8]*
> @__FUNCTION__.compcode_to_comparison, i64 0, i64 0)) #7, !dbg !8046
> unreachable, !dbg !8046
>
> Could I get "unreachable" information from metadata?
>
> Thanks a lot!
>
> Best,
>
>
> Linhai
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140428/695aa901/attachment.html>
More information about the llvm-dev
mailing list