Skip to content
  • Craig Topper's avatar
    Implementation of asm-goto support in LLVM · 784929d0
    Craig Topper authored
    This patch accompanies the RFC posted here:
    http://lists.llvm.org/pipermail/llvm-dev/2018-October/127239.html
    
    This patch adds a new CallBr IR instruction to support asm-goto
    inline assembly like gcc as used by the linux kernel. This
    instruction is both a call instruction and a terminator
    instruction with multiple successors. Only inline assembly
    usage is supported today.
    
    This also adds a new INLINEASM_BR opcode to SelectionDAG and
    MachineIR to represent an INLINEASM block that is also
    considered a terminator instruction.
    
    There will likely be more bug fixes and optimizations to follow
    this, but we felt it had reached a point where we would like to
    switch to an incremental development model.
    
    Patch by Craig Topper, Alexander Ivchenko, Mikhail Dvoretckii
    
    Differential Revision: https://reviews.llvm.org/D53765
    
    llvm-svn: 353563
    784929d0
Loading