Skip to content
  • Bill Wendling's avatar
    If we have a function like this: · 0862e342
    Bill Wendling authored
    void bork() {
      int *address = 0;
      *address = 0;
    }
    
    It's compiled into LLVM code that looks like this:
    
    define void @bork() noreturn nounwind  {
    entry:
            unreachable
    }
    
    This is bad on some platforms (like PPC) because it will generate the label for
    the function but no body. The label could end up being associated with some
    non-code related stuff, like a section. This places a "trap" instruction if the
    SimplifyCFG pass removed all code from the function leaving only one
    "unreachable" instruction.
    
    llvm-svn: 46387
    0862e342
Loading