[LLVMdev] how to identify basic blocks added for switch instruction without default?

songlh songlh at cs.wisc.edu
Mon Apr 28 20:06:15 PDT 2014


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



More information about the llvm-dev mailing list