public class com.oracle.truffle.llvm.parser.factories.BasicNodeFactory implements com.oracle.truffle.llvm.runtime.NodeFactory
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.oracle.truffle.llvm.parser.factories.BasicNodeFactory
  super_class: java.lang.Object
{
  protected final com.oracle.truffle.llvm.runtime.LLVMLanguage language;
    descriptor: Lcom/oracle/truffle/llvm/runtime/LLVMLanguage;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected com.oracle.truffle.llvm.runtime.datalayout.DataLayout dataLayout;
    descriptor: Lcom/oracle/truffle/llvm/runtime/datalayout/DataLayout;
    flags: (0x0004) ACC_PROTECTED

  protected final com.oracle.truffle.llvm.runtime.types.Type vaListType;
    descriptor: Lcom/oracle/truffle/llvm/runtime/types/Type;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  private static final java.util.regex.Pattern INTRINSIC_TYPE_SUFFIX_PATTERN;
    descriptor: Ljava/util/regex/Pattern;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final int CONSTRAINED_PREFIX_LEN;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 364
            ldc Lcom/oracle/truffle/llvm/parser/factories/BasicNodeFactory;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic com.oracle.truffle.llvm.parser.factories.BasicNodeFactory.$assertionsDisabled:Z
         3: .line 1341
            ldc "\\S+(?<suffix>\\.(?:[vp]\\d+)?[if]\\d+)$"
            invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
            putstatic com.oracle.truffle.llvm.parser.factories.BasicNodeFactory.INTRINSIC_TYPE_SUFFIX_PATTERN:Ljava/util/regex/Pattern;
         4: .line 1678
            ldc "llvm.experimental.constrained."
            invokevirtual java.lang.String.length:()I
            putstatic com.oracle.truffle.llvm.parser.factories.BasicNodeFactory.CONSTRAINED_PREFIX_LEN:I
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(com.oracle.truffle.llvm.runtime.LLVMLanguage, com.oracle.truffle.llvm.runtime.datalayout.DataLayout);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/LLVMLanguage;Lcom/oracle/truffle/llvm/runtime/datalayout/DataLayout;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
        start local 1 // com.oracle.truffle.llvm.runtime.LLVMLanguage language
        start local 2 // com.oracle.truffle.llvm.runtime.datalayout.DataLayout dataLayout
         0: .line 370
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 371
            aload 0 /* this */
            aload 1 /* language */
            putfield com.oracle.truffle.llvm.parser.factories.BasicNodeFactory.language:Lcom/oracle/truffle/llvm/runtime/LLVMLanguage;
         2: .line 372
            aload 0 /* this */
            aload 2 /* dataLayout */
            putfield com.oracle.truffle.llvm.parser.factories.BasicNodeFactory.dataLayout:Lcom/oracle/truffle/llvm/runtime/datalayout/DataLayout;
         3: .line 374
            aload 0 /* this */
            aload 1 /* language */
            invokevirtual com.oracle.truffle.llvm.runtime.LLVMLanguage.getActiveConfiguration:()Lcom/oracle/truffle/llvm/runtime/config/Configuration;
            ldc Lcom/oracle/truffle/llvm/runtime/PlatformCapability;
            invokeinterface com.oracle.truffle.llvm.runtime.config.Configuration.getCapability:(Ljava/lang/Class;)Lcom/oracle/truffle/llvm/runtime/config/LLVMCapability;
            checkcast com.oracle.truffle.llvm.runtime.PlatformCapability
            invokevirtual com.oracle.truffle.llvm.runtime.PlatformCapability.getVAListType:()Lcom/oracle/truffle/llvm/runtime/types/Type;
            putfield com.oracle.truffle.llvm.parser.factories.BasicNodeFactory.vaListType:Lcom/oracle/truffle/llvm/runtime/types/Type;
         4: .line 375
            return
        end local 2 // com.oracle.truffle.llvm.runtime.datalayout.DataLayout dataLayout
        end local 1 // com.oracle.truffle.llvm.runtime.LLVMLanguage language
        end local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lcom/oracle/truffle/llvm/parser/factories/BasicNodeFactory;
            0    5     1    language  Lcom/oracle/truffle/llvm/runtime/LLVMLanguage;
            0    5     2  dataLayout  Lcom/oracle/truffle/llvm/runtime/datalayout/DataLayout;
    MethodParameters:
            Name  Flags
      language    
      dataLayout  

  public com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode createInsertElement(com.oracle.truffle.llvm.runtime.types.Type, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
         0: .line 378
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/parser/factories/BasicNodeFactory;
    MethodParameters:
            Name  Flags
      resultType  
      vector      
      element     
      index       

  public com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode createExtractElement(com.oracle.truffle.llvm.runtime.types.Type, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
         0: .line 407
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/parser/factories/BasicNodeFactory;
    MethodParameters:
            Name  Flags
      resultType  
      vector      
      index       

  public com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode createShuffleVector(com.oracle.truffle.llvm.runtime.types.Type, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
         0: .line 436
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/parser/factories/BasicNodeFactory;
    MethodParameters:
          Name  Flags
      llvmType  
      vector1   
      vector2   
      mask      

  public com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode createLoad(com.oracle.truffle.llvm.runtime.types.Type, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
        start local 1 // com.oracle.truffle.llvm.runtime.types.Type resolvedResultType
        start local 2 // com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode loadTarget
         0: .line 467
            aload 1 /* resolvedResultType */
            aload 2 /* loadTarget */
            invokestatic com.oracle.truffle.llvm.runtime.CommonNodeFactory.createLoad:(Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMLoadNode;
            areturn
        end local 2 // com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode loadTarget
        end local 1 // com.oracle.truffle.llvm.runtime.types.Type resolvedResultType
        end local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    1     0                this  Lcom/oracle/truffle/llvm/parser/factories/BasicNodeFactory;
            0    1     1  resolvedResultType  Lcom/oracle/truffle/llvm/runtime/types/Type;
            0    1     2          loadTarget  Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    MethodParameters:
                    Name  Flags
      resolvedResultType  
      loadTarget          

  public com.oracle.truffle.llvm.runtime.nodes.api.LLVMStatementNode createStore(com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.llvm.runtime.types.Type);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/types/Type;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
        start local 1 // com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode pointerNode
        start local 2 // com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode valueNode
        start local 3 // com.oracle.truffle.llvm.runtime.types.Type type
         0: .line 473
            aload 0 /* this */
            aload 1 /* pointerNode */
            aload 2 /* valueNode */
            aload 3 /* type */
            invokevirtual com.oracle.truffle.llvm.parser.factories.BasicNodeFactory.createMemoryStore:(Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/types/Type;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStoreNode;
         1: areturn
         2: .line 474
      StackMap locals:
      StackMap stack: com.oracle.truffle.llvm.runtime.types.Type$TypeOverflowException
            astore 4 /* e */
        start local 4 // com.oracle.truffle.llvm.runtime.types.Type$TypeOverflowException e
         3: .line 475
            aload 4 /* e */
            invokestatic com.oracle.truffle.llvm.runtime.types.Type.handleOverflowStatement:(Lcom/oracle/truffle/llvm/runtime/types/Type$TypeOverflowException;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;
            areturn
        end local 4 // com.oracle.truffle.llvm.runtime.types.Type$TypeOverflowException e
        end local 3 // com.oracle.truffle.llvm.runtime.types.Type type
        end local 2 // com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode valueNode
        end local 1 // com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode pointerNode
        end local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lcom/oracle/truffle/llvm/parser/factories/BasicNodeFactory;
            0    4     1  pointerNode  Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
            0    4     2    valueNode  Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
            0    4     3         type  Lcom/oracle/truffle/llvm/runtime/types/Type;
            3    4     4            e  Lcom/oracle/truffle/llvm/runtime/types/Type$TypeOverflowException;
      Exception table:
        from    to  target  type
           0     1       2  Class com.oracle.truffle.llvm.runtime.types.Type$TypeOverflowException
    MethodParameters:
             Name  Flags
      pointerNode  
      valueNode    
      type         

  private com.oracle.truffle.llvm.runtime.nodes.api.LLVMStoreNode createMemoryStore(com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.llvm.runtime.types.Type);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/types/Type;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStoreNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
         0: .line 479
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/parser/factories/BasicNodeFactory;
    Exceptions:
      throws com.oracle.truffle.llvm.runtime.types.Type$TypeOverflowException
    MethodParameters:
             Name  Flags
      pointerNode  
      valueNode    
      type         

  public com.oracle.truffle.llvm.runtime.nodes.memory.store.LLVMOffsetStoreNode createOffsetMemoryStore(com.oracle.truffle.llvm.runtime.types.Type, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;)Lcom/oracle/truffle/llvm/runtime/nodes/memory/store/LLVMOffsetStoreNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
         0: .line 516
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/parser/factories/BasicNodeFactory;
    Exceptions:
      throws com.oracle.truffle.llvm.runtime.types.Type$TypeOverflowException
    MethodParameters:
              Name  Flags
      resolvedType  
      value         

  public com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode createRMWXchg(com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.llvm.runtime.types.Type);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/types/Type;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
         0: .line 545
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/parser/factories/BasicNodeFactory;
    MethodParameters:
             Name  Flags
      pointerNode  
      valueNode    
      type         

  public com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode createRMWAdd(com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.llvm.runtime.types.Type);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/types/Type;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
         0: .line 563
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/parser/factories/BasicNodeFactory;
    MethodParameters:
             Name  Flags
      pointerNode  
      valueNode    
      type         

  public com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode createRMWSub(com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.llvm.runtime.types.Type);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/types/Type;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
         0: .line 581
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/parser/factories/BasicNodeFactory;
    MethodParameters:
             Name  Flags
      pointerNode  
      valueNode    
      type         

  public com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode createRMWAnd(com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.llvm.runtime.types.Type);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/types/Type;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
         0: .line 599
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/parser/factories/BasicNodeFactory;
    MethodParameters:
             Name  Flags
      pointerNode  
      valueNode    
      type         

  public com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode createRMWNand(com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.llvm.runtime.types.Type);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/types/Type;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
         0: .line 617
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/parser/factories/BasicNodeFactory;
    MethodParameters:
             Name  Flags
      pointerNode  
      valueNode    
      type         

  public com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode createRMWOr(com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.llvm.runtime.types.Type);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/types/Type;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
         0: .line 635
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/parser/factories/BasicNodeFactory;
    MethodParameters:
             Name  Flags
      pointerNode  
      valueNode    
      type         

  public com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode createRMWXor(com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.llvm.runtime.types.Type);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/types/Type;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
         0: .line 653
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/parser/factories/BasicNodeFactory;
    MethodParameters:
             Name  Flags
      pointerNode  
      valueNode    
      type         

  public com.oracle.truffle.llvm.runtime.nodes.api.LLVMStatementNode createFence();
    descriptor: ()Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
         0: .line 671
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/parser/factories/BasicNodeFactory;

  public com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode createVectorLiteralNode(com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode[], com.oracle.truffle.llvm.runtime.types.Type);
    descriptor: ([Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/types/Type;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
         0: .line 676
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/parser/factories/BasicNodeFactory;
    MethodParameters:
        Name  Flags
      values  
      type    

  public com.oracle.truffle.llvm.runtime.nodes.api.LLVMControlFlowNode createRetVoid();
    descriptor: ()Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMControlFlowNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
         0: .line 705
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/parser/factories/BasicNodeFactory;

  public com.oracle.truffle.llvm.runtime.nodes.api.LLVMControlFlowNode createNonVoidRet(com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.llvm.runtime.types.Type);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/types/Type;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMControlFlowNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
         0: .line 710
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/parser/factories/BasicNodeFactory;
    MethodParameters:
          Name  Flags
      retValue  
      type      

  public com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode createFunctionArgNode(int, com.oracle.truffle.llvm.runtime.types.Type);
    descriptor: (ILcom/oracle/truffle/llvm/runtime/types/Type;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
         0: .line 753
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/parser/factories/BasicNodeFactory;
    MethodParameters:
           Name  Flags
      argIndex   
      paramType  

  public com.oracle.truffle.llvm.runtime.nodes.vars.LLVMWriteNode createFrameWrite(com.oracle.truffle.llvm.runtime.types.Type, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.api.frame.FrameSlot);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/api/frame/FrameSlot;)Lcom/oracle/truffle/llvm/runtime/nodes/vars/LLVMWriteNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
         0: .line 761
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/parser/factories/BasicNodeFactory;
    MethodParameters:
          Name  Flags
      llvmType  
      result    
      slot      

  public com.oracle.truffle.llvm.runtime.nodes.api.LLVMLoadNode createExtractValue(com.oracle.truffle.llvm.runtime.types.Type, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMLoadNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
         0: .line 796
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/parser/factories/BasicNodeFactory;
    MethodParameters:
               Name  Flags
      type           
      targetAddress  

  public com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode createTypedElementPointer(long, com.oracle.truffle.llvm.runtime.types.Type, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode);
    descriptor: (JLcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=5
        start local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
         0: .line 854
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/parser/factories/BasicNodeFactory;
    MethodParameters:
                   Name  Flags
      indexedTypeLength  
      targetType         
      aggregateAddress   
      index              

  public com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode createVectorizedTypedElementPointer(long, com.oracle.truffle.llvm.runtime.types.Type, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode);
    descriptor: (JLcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=5
        start local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
         0: .line 859
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/parser/factories/BasicNodeFactory;
    MethodParameters:
                   Name  Flags
      indexedTypeLength  
      targetType         
      aggregateAddress   
      index              

  public com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode createSelect(com.oracle.truffle.llvm.runtime.types.Type, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
         0: .line 864
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/parser/factories/BasicNodeFactory;
    MethodParameters:
            Name  Flags
      type        
      condition   
      trueValue   
      falseValue  

  public com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode createZeroVectorInitializer(int, com.oracle.truffle.llvm.runtime.types.VectorType);
    descriptor: (ILcom/oracle/truffle/llvm/runtime/types/VectorType;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
         0: .line 910
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/parser/factories/BasicNodeFactory;
    MethodParameters:
            Name  Flags
      nrElements  
      llvmType    

  public com.oracle.truffle.llvm.runtime.nodes.api.LLVMControlFlowNode createUnreachableNode();
    descriptor: ()Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMControlFlowNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
         0: .line 947
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/parser/factories/BasicNodeFactory;

  public com.oracle.truffle.llvm.runtime.nodes.api.LLVMControlFlowNode createIndirectBranch(com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, int[], com.oracle.truffle.llvm.runtime.nodes.api.LLVMStatementNode[]);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;[I[Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMControlFlowNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
        start local 1 // com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode value
        start local 2 // int[] labelTargets
        start local 3 // com.oracle.truffle.llvm.runtime.nodes.api.LLVMStatementNode[] phiWrites
         0: .line 953
            aload 1 /* value */
            aload 2 /* labelTargets */
            aload 3 /* phiWrites */
            invokestatic com.oracle.truffle.llvm.runtime.nodes.control.LLVMIndirectBranchNode.create:(Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;[I[Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;)Lcom/oracle/truffle/llvm/runtime/nodes/control/LLVMIndirectBranchNode;
            areturn
        end local 3 // com.oracle.truffle.llvm.runtime.nodes.api.LLVMStatementNode[] phiWrites
        end local 2 // int[] labelTargets
        end local 1 // com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode value
        end local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lcom/oracle/truffle/llvm/parser/factories/BasicNodeFactory;
            0    1     1         value  Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
            0    1     2  labelTargets  [I
            0    1     3     phiWrites  [Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;
    MethodParameters:
              Name  Flags
      value         
      labelTargets  
      phiWrites     

  public com.oracle.truffle.llvm.runtime.nodes.api.LLVMControlFlowNode createSwitch(com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, int[], com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode[], com.oracle.truffle.llvm.runtime.types.Type, com.oracle.truffle.llvm.runtime.nodes.api.LLVMStatementNode[]);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;[I[Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/types/Type;[Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMControlFlowNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=6
        start local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
        start local 1 // com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode cond
        start local 2 // int[] successors
        start local 3 // com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode[] cases
        start local 4 // com.oracle.truffle.llvm.runtime.types.Type llvmType
        start local 5 // com.oracle.truffle.llvm.runtime.nodes.api.LLVMStatementNode[] phiWriteNodes
         0: .line 958
            aload 3 /* cases */
            aload 3 /* cases */
            arraylength
            ldc [Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
            invokestatic java.util.Arrays.copyOf:([Ljava/lang/Object;ILjava/lang/Class;)[Ljava/lang/Object;
            checkcast com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode[]
            astore 6 /* caseNodes */
        start local 6 // com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode[] caseNodes
         1: .line 959
            aload 2 /* successors */
            aload 5 /* phiWriteNodes */
            aload 1 /* cond */
            aload 6 /* caseNodes */
            invokestatic com.oracle.truffle.llvm.runtime.nodes.control.LLVMSwitchNode.create:([I[Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;[Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;)Lcom/oracle/truffle/llvm/runtime/nodes/control/LLVMSwitchNode;
            areturn
        end local 6 // com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode[] caseNodes
        end local 5 // com.oracle.truffle.llvm.runtime.nodes.api.LLVMStatementNode[] phiWriteNodes
        end local 4 // com.oracle.truffle.llvm.runtime.types.Type llvmType
        end local 3 // com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode[] cases
        end local 2 // int[] successors
        end local 1 // com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode cond
        end local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lcom/oracle/truffle/llvm/parser/factories/BasicNodeFactory;
            0    2     1           cond  Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
            0    2     2     successors  [I
            0    2     3          cases  [Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
            0    2     4       llvmType  Lcom/oracle/truffle/llvm/runtime/types/Type;
            0    2     5  phiWriteNodes  [Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;
            1    2     6      caseNodes  [Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    MethodParameters:
               Name  Flags
      cond           
      successors     
      cases          
      llvmType       
      phiWriteNodes  

  public com.oracle.truffle.llvm.runtime.nodes.api.LLVMControlFlowNode createConditionalBranch(int, int, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.llvm.runtime.nodes.api.LLVMStatementNode, com.oracle.truffle.llvm.runtime.nodes.api.LLVMStatementNode);
    descriptor: (IILcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMControlFlowNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=6
        start local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
        start local 1 // int trueIndex
        start local 2 // int falseIndex
        start local 3 // com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode conditionNode
        start local 4 // com.oracle.truffle.llvm.runtime.nodes.api.LLVMStatementNode truePhiWriteNodes
        start local 5 // com.oracle.truffle.llvm.runtime.nodes.api.LLVMStatementNode falsePhiWriteNodes
         0: .line 965
            iload 1 /* trueIndex */
            iload 2 /* falseIndex */
            aload 4 /* truePhiWriteNodes */
            aload 5 /* falsePhiWriteNodes */
            aload 3 /* conditionNode */
            invokestatic com.oracle.truffle.llvm.runtime.nodes.control.LLVMConditionalBranchNode.create:(IILcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;)Lcom/oracle/truffle/llvm/runtime/nodes/control/LLVMConditionalBranchNode;
            areturn
        end local 5 // com.oracle.truffle.llvm.runtime.nodes.api.LLVMStatementNode falsePhiWriteNodes
        end local 4 // com.oracle.truffle.llvm.runtime.nodes.api.LLVMStatementNode truePhiWriteNodes
        end local 3 // com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode conditionNode
        end local 2 // int falseIndex
        end local 1 // int trueIndex
        end local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    1     0                this  Lcom/oracle/truffle/llvm/parser/factories/BasicNodeFactory;
            0    1     1           trueIndex  I
            0    1     2          falseIndex  I
            0    1     3       conditionNode  Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
            0    1     4   truePhiWriteNodes  Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;
            0    1     5  falsePhiWriteNodes  Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;
    MethodParameters:
                    Name  Flags
      trueIndex           
      falseIndex          
      conditionNode       
      truePhiWriteNodes   
      falsePhiWriteNodes  

  public com.oracle.truffle.llvm.runtime.nodes.api.LLVMControlFlowNode createUnconditionalBranch(int, com.oracle.truffle.llvm.runtime.nodes.api.LLVMStatementNode);
    descriptor: (ILcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMControlFlowNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
        start local 1 // int unconditionalIndex
        start local 2 // com.oracle.truffle.llvm.runtime.nodes.api.LLVMStatementNode phiWrites
         0: .line 970
            iload 1 /* unconditionalIndex */
            aload 2 /* phiWrites */
            invokestatic com.oracle.truffle.llvm.runtime.nodes.control.LLVMBrUnconditionalNode.create:(ILcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;)Lcom/oracle/truffle/llvm/runtime/nodes/control/LLVMBrUnconditionalNode;
            areturn
        end local 2 // com.oracle.truffle.llvm.runtime.nodes.api.LLVMStatementNode phiWrites
        end local 1 // int unconditionalIndex
        end local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    1     0                this  Lcom/oracle/truffle/llvm/parser/factories/BasicNodeFactory;
            0    1     1  unconditionalIndex  I
            0    1     2           phiWrites  Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;
    MethodParameters:
                    Name  Flags
      unconditionalIndex  
      phiWrites           

  public com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode createArrayLiteral(com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode[], com.oracle.truffle.llvm.runtime.types.ArrayType, com.oracle.truffle.llvm.runtime.GetStackSpaceFactory);
    descriptor: ([Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/types/ArrayType;Lcom/oracle/truffle/llvm/runtime/GetStackSpaceFactory;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
         0: .line 974
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/parser/factories/BasicNodeFactory;
    MethodParameters:
                           Name  Flags
      arrayValues                
      arrayType                  
      arrayGetStackSpaceFactory  

  protected com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode createAlloca(long, int);
    descriptor: (JI)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
         0: .line 994
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/parser/factories/BasicNodeFactory;
    MethodParameters:
           Name  Flags
      byteSize   
      alignment  

  public com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode createPrimitiveArrayLiteral(java.lang.Object, com.oracle.truffle.llvm.runtime.types.ArrayType, com.oracle.truffle.llvm.runtime.GetStackSpaceFactory);
    descriptor: (Ljava/lang/Object;Lcom/oracle/truffle/llvm/runtime/types/ArrayType;Lcom/oracle/truffle/llvm/runtime/GetStackSpaceFactory;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
         0: .line 999
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/parser/factories/BasicNodeFactory;
    MethodParameters:
                           Name  Flags
      arrayValues                
      arrayType                  
      arrayGetStackSpaceFactory  

  public com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode createAlloca(com.oracle.truffle.llvm.runtime.types.Type);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/types/Type;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
        start local 1 // com.oracle.truffle.llvm.runtime.types.Type type
         0: .line 1023
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* type */
            invokevirtual com.oracle.truffle.llvm.parser.factories.BasicNodeFactory.getByteSize:(Lcom/oracle/truffle/llvm/runtime/types/Type;)J
            aload 0 /* this */
            aload 1 /* type */
            invokevirtual com.oracle.truffle.llvm.parser.factories.BasicNodeFactory.getByteAlignment:(Lcom/oracle/truffle/llvm/runtime/types/Type;)I
            invokevirtual com.oracle.truffle.llvm.parser.factories.BasicNodeFactory.createAlloca:(JI)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
         1: areturn
         2: .line 1024
      StackMap locals:
      StackMap stack: com.oracle.truffle.llvm.runtime.types.Type$TypeOverflowException
            astore 2 /* e */
        start local 2 // com.oracle.truffle.llvm.runtime.types.Type$TypeOverflowException e
         3: .line 1025
            aload 2 /* e */
            invokestatic com.oracle.truffle.llvm.runtime.types.Type.handleOverflowExpression:(Lcom/oracle/truffle/llvm/runtime/types/Type$TypeOverflowException;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
            areturn
        end local 2 // com.oracle.truffle.llvm.runtime.types.Type$TypeOverflowException e
        end local 1 // com.oracle.truffle.llvm.runtime.types.Type type
        end local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/oracle/truffle/llvm/parser/factories/BasicNodeFactory;
            0    4     1  type  Lcom/oracle/truffle/llvm/runtime/types/Type;
            3    4     2     e  Lcom/oracle/truffle/llvm/runtime/types/Type$TypeOverflowException;
      Exception table:
        from    to  target  type
           0     1       2  Class com.oracle.truffle.llvm.runtime.types.Type$TypeOverflowException
    MethodParameters:
      Name  Flags
      type  

  protected boolean isVAListType(com.oracle.truffle.llvm.runtime.types.Type);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/types/Type;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
        start local 1 // com.oracle.truffle.llvm.runtime.types.Type type
         0: .line 1034
            aload 1 /* type */
            ifnull 1
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.parser.factories.BasicNodeFactory.vaListType:Lcom/oracle/truffle/llvm/runtime/types/Type;
            aload 1 /* type */
            invokevirtual com.oracle.truffle.llvm.runtime.types.Type.equals:(Ljava/lang/Object;)Z
            ifeq 1
            aload 1 /* type */
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.parser.factories.BasicNodeFactory.vaListType:Lcom/oracle/truffle/llvm/runtime/types/Type;
            if_acmpeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // com.oracle.truffle.llvm.runtime.types.Type type
        end local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/llvm/parser/factories/BasicNodeFactory;
            0    2     1  type  Lcom/oracle/truffle/llvm/runtime/types/Type;
    MethodParameters:
      Name  Flags
      type  

  public com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode createAlloca(com.oracle.truffle.llvm.runtime.types.Type, int);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/types/Type;I)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
         0: .line 1038
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/parser/factories/BasicNodeFactory;
    MethodParameters:
           Name  Flags
      type       
      alignment  

  public com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode createGetUniqueStackSpace(com.oracle.truffle.llvm.runtime.types.Type, com.oracle.truffle.llvm.runtime.memory.LLVMStack$UniquesRegion, com.oracle.truffle.api.frame.FrameDescriptor);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/runtime/memory/LLVMStack$UniquesRegion;Lcom/oracle/truffle/api/frame/FrameDescriptor;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
         0: .line 1052
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/parser/factories/BasicNodeFactory;
    MethodParameters:
                 Name  Flags
      type             
      uniquesRegion    
      frameDescriptor  

  public com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode createAllocaArray(com.oracle.truffle.llvm.runtime.types.Type, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, int);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;I)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
         0: .line 1062
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/parser/factories/BasicNodeFactory;
    MethodParameters:
             Name  Flags
      elementType  
      numElements  
      alignment    

  public com.oracle.truffle.llvm.runtime.memory.VarargsAreaStackAllocationNode createVarargsAreaStackAllocation();
    descriptor: ()Lcom/oracle/truffle/llvm/runtime/memory/VarargsAreaStackAllocationNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
         0: .line 1072
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/parser/factories/BasicNodeFactory;

  public com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode createInsertValue(com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, long, long, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.llvm.runtime.types.Type);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;JJLcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/types/Type;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=9, args_size=7
        start local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
         0: .line 1077
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/parser/factories/BasicNodeFactory;
    MethodParameters:
                 Name  Flags
      resultAggregate  
      sourceAggregate  
      size             
      offset           
      valueToInsert    
      llvmType         

  public com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode createZeroNode(com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, long);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;J)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
         0: .line 1119
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/parser/factories/BasicNodeFactory;
    MethodParameters:
             Name  Flags
      addressNode  
      size         

  public com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode createStructureConstantNode(com.oracle.truffle.llvm.runtime.types.Type, com.oracle.truffle.llvm.runtime.GetStackSpaceFactory, boolean, com.oracle.truffle.llvm.runtime.types.Type[], com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode[]);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/runtime/GetStackSpaceFactory;Z[Lcom/oracle/truffle/llvm/runtime/types/Type;[Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=6
        start local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
         0: .line 1124
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/parser/factories/BasicNodeFactory;
    MethodParameters:
                      Name  Flags
      structType            
      getStackSpaceFactory  
      packed                
      types                 
      constants             

  public com.oracle.truffle.api.nodes.RootNode createFunction(com.oracle.truffle.api.frame.FrameSlot, com.oracle.truffle.llvm.runtime.nodes.base.LLVMBasicBlockNode[], com.oracle.truffle.llvm.runtime.memory.LLVMStack$UniquesRegion, com.oracle.truffle.llvm.runtime.nodes.api.LLVMStatementNode[], com.oracle.truffle.api.frame.FrameDescriptor, com.oracle.truffle.api.frame.FrameSlot, com.oracle.truffle.llvm.runtime.types.symbols.LocalVariableDebugInfo, java.lang.String, java.lang.String, int, com.oracle.truffle.api.source.Source, com.oracle.truffle.llvm.runtime.debug.scope.LLVMSourceLocation);
    descriptor: (Lcom/oracle/truffle/api/frame/FrameSlot;[Lcom/oracle/truffle/llvm/runtime/nodes/base/LLVMBasicBlockNode;Lcom/oracle/truffle/llvm/runtime/memory/LLVMStack$UniquesRegion;[Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;Lcom/oracle/truffle/api/frame/FrameDescriptor;Lcom/oracle/truffle/api/frame/FrameSlot;Lcom/oracle/truffle/llvm/runtime/types/symbols/LocalVariableDebugInfo;Ljava/lang/String;Ljava/lang/String;ILcom/oracle/truffle/api/source/Source;Lcom/oracle/truffle/llvm/runtime/debug/scope/LLVMSourceLocation;)Lcom/oracle/truffle/api/nodes/RootNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=13, args_size=13
        start local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
         0: .line 1148
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/parser/factories/BasicNodeFactory;
    MethodParameters:
                      Name  Flags
      exceptionValueSlot    
      allFunctionNodes      
      uniquesRegion         
      copyArgumentsToFrame  
      frameDescriptor       
      loopSuccessorSlot     
      debugInfo             
      name                  
      originalName          
      argumentCount         
      bcSource              
      location              

  public com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode createInlineAssemblerExpression(java.lang.String, java.lang.String, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode[], com.oracle.truffle.llvm.runtime.types.Type$TypeArrayBuilder, com.oracle.truffle.llvm.runtime.types.Type);
    descriptor: (Ljava/lang/String;Ljava/lang/String;[Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/types/Type$TypeArrayBuilder;Lcom/oracle/truffle/llvm/runtime/types/Type;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=6
        start local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
         0: .line 1162
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/parser/factories/BasicNodeFactory;
    MethodParameters:
               Name  Flags
      asmExpression  
      asmFlags       
      args           
      argTypes       
      retType        

  public com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode createGetStackFromFrame();
    descriptor: ()Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
         0: .line 1206
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/parser/factories/BasicNodeFactory;

  private com.oracle.truffle.llvm.runtime.nodes.func.LLVMInlineAssemblyRootNode getLazyUnsupportedInlineRootNode(java.lang.String, com.oracle.truffle.llvm.asm.amd64.AsmParseException);
    descriptor: (Ljava/lang/String;Lcom/oracle/truffle/llvm/asm/amd64/AsmParseException;)Lcom/oracle/truffle/llvm/runtime/nodes/func/LLVMInlineAssemblyRootNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=6, args_size=3
        start local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
        start local 1 // java.lang.String asmExpression
        start local 2 // com.oracle.truffle.llvm.asm.amd64.AsmParseException e
         0: .line 1212
            new java.lang.StringBuilder
            dup
            aload 1 /* asmExpression */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* e */
            invokevirtual com.oracle.truffle.llvm.asm.amd64.AsmParseException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* message */
        start local 4 // java.lang.String message
         1: .line 1213
            new com.oracle.truffle.api.frame.FrameDescriptor
            dup
            invokespecial com.oracle.truffle.api.frame.FrameDescriptor.<init>:()V
            astore 5 /* frameDescriptor */
        start local 5 // com.oracle.truffle.api.frame.FrameDescriptor frameDescriptor
         2: .line 1214
            new com.oracle.truffle.llvm.runtime.nodes.func.LLVMInlineAssemblyRootNode
            dup
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.parser.factories.BasicNodeFactory.language:Lcom/oracle/truffle/llvm/runtime/LLVMLanguage;
            aload 5 /* frameDescriptor */
            aload 0 /* this */
            aload 5 /* frameDescriptor */
            invokevirtual com.oracle.truffle.llvm.parser.factories.BasicNodeFactory.createStackAccess:(Lcom/oracle/truffle/api/frame/FrameDescriptor;)Lcom/oracle/truffle/llvm/runtime/memory/LLVMStack$LLVMStackAccess;
         3: .line 1215
            getstatic com.oracle.truffle.llvm.runtime.LLVMUnsupportedException$UnsupportedReason.INLINE_ASSEMBLER:Lcom/oracle/truffle/llvm/runtime/LLVMUnsupportedException$UnsupportedReason;
            aload 4 /* message */
            invokestatic com.oracle.truffle.llvm.runtime.nodes.others.LLVMUnsupportedInstructionNode.create:(Lcom/oracle/truffle/llvm/runtime/LLVMUnsupportedException$UnsupportedReason;Ljava/lang/String;)Lcom/oracle/truffle/llvm/runtime/nodes/others/LLVMUnsupportedInstructionNode;
            invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            aconst_null
         4: .line 1214
            invokespecial com.oracle.truffle.llvm.runtime.nodes.func.LLVMInlineAssemblyRootNode.<init>:(Lcom/oracle/truffle/llvm/runtime/LLVMLanguage;Lcom/oracle/truffle/api/frame/FrameDescriptor;Lcom/oracle/truffle/llvm/runtime/memory/LLVMStack$LLVMStackAccess;Ljava/util/List;Ljava/util/List;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;)V
            astore 3 /* assemblyRoot */
        start local 3 // com.oracle.truffle.llvm.runtime.nodes.func.LLVMInlineAssemblyRootNode assemblyRoot
         5: .line 1216
            aload 3 /* assemblyRoot */
            areturn
        end local 5 // com.oracle.truffle.api.frame.FrameDescriptor frameDescriptor
        end local 4 // java.lang.String message
        end local 3 // com.oracle.truffle.llvm.runtime.nodes.func.LLVMInlineAssemblyRootNode assemblyRoot
        end local 2 // com.oracle.truffle.llvm.asm.amd64.AsmParseException e
        end local 1 // java.lang.String asmExpression
        end local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    6     0             this  Lcom/oracle/truffle/llvm/parser/factories/BasicNodeFactory;
            0    6     1    asmExpression  Ljava/lang/String;
            0    6     2                e  Lcom/oracle/truffle/llvm/asm/amd64/AsmParseException;
            5    6     3     assemblyRoot  Lcom/oracle/truffle/llvm/runtime/nodes/func/LLVMInlineAssemblyRootNode;
            1    6     4          message  Ljava/lang/String;
            2    6     5  frameDescriptor  Lcom/oracle/truffle/api/frame/FrameDescriptor;
    MethodParameters:
               Name  Flags
      asmExpression  
      e              

  public com.oracle.truffle.llvm.runtime.nodes.api.LLVMControlFlowNode createFunctionInvoke(com.oracle.truffle.llvm.runtime.nodes.vars.LLVMWriteNode, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode[], com.oracle.truffle.llvm.runtime.types.FunctionType, int, int, com.oracle.truffle.llvm.runtime.nodes.api.LLVMStatementNode, com.oracle.truffle.llvm.runtime.nodes.api.LLVMStatementNode);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/nodes/vars/LLVMWriteNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;[Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/types/FunctionType;IILcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMControlFlowNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=9, args_size=9
        start local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
        start local 1 // com.oracle.truffle.llvm.runtime.nodes.vars.LLVMWriteNode writeResult
        start local 2 // com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode functionNode
        start local 3 // com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode[] argNodes
        start local 4 // com.oracle.truffle.llvm.runtime.types.FunctionType type
        start local 5 // int normalIndex
        start local 6 // int unwindIndex
        start local 7 // com.oracle.truffle.llvm.runtime.nodes.api.LLVMStatementNode normalPhiWriteNodes
        start local 8 // com.oracle.truffle.llvm.runtime.nodes.api.LLVMStatementNode unwindPhiWriteNodes
         0: .line 1222
            aload 4 /* type */
            aload 1 /* writeResult */
            aload 2 /* functionNode */
            aload 3 /* argNodes */
            iload 5 /* normalIndex */
            iload 6 /* unwindIndex */
            aload 7 /* normalPhiWriteNodes */
            aload 8 /* unwindPhiWriteNodes */
            invokestatic com.oracle.truffle.llvm.runtime.nodes.func.LLVMInvokeNode.create:(Lcom/oracle/truffle/llvm/runtime/types/FunctionType;Lcom/oracle/truffle/llvm/runtime/nodes/vars/LLVMWriteNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;[Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;IILcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;)Lcom/oracle/truffle/llvm/runtime/nodes/func/LLVMInvokeNode;
            areturn
        end local 8 // com.oracle.truffle.llvm.runtime.nodes.api.LLVMStatementNode unwindPhiWriteNodes
        end local 7 // com.oracle.truffle.llvm.runtime.nodes.api.LLVMStatementNode normalPhiWriteNodes
        end local 6 // int unwindIndex
        end local 5 // int normalIndex
        end local 4 // com.oracle.truffle.llvm.runtime.types.FunctionType type
        end local 3 // com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode[] argNodes
        end local 2 // com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode functionNode
        end local 1 // com.oracle.truffle.llvm.runtime.nodes.vars.LLVMWriteNode writeResult
        end local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    1     0                 this  Lcom/oracle/truffle/llvm/parser/factories/BasicNodeFactory;
            0    1     1          writeResult  Lcom/oracle/truffle/llvm/runtime/nodes/vars/LLVMWriteNode;
            0    1     2         functionNode  Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
            0    1     3             argNodes  [Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
            0    1     4                 type  Lcom/oracle/truffle/llvm/runtime/types/FunctionType;
            0    1     5          normalIndex  I
            0    1     6          unwindIndex  I
            0    1     7  normalPhiWriteNodes  Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;
            0    1     8  unwindPhiWriteNodes  Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;
    MethodParameters:
                     Name  Flags
      writeResult          
      functionNode         
      argNodes             
      type                 
      normalIndex          
      unwindIndex          
      normalPhiWriteNodes  
      unwindPhiWriteNodes  

  public com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode createLandingPad(com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.api.frame.FrameSlot, boolean, long[], com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode[], com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/api/frame/FrameSlot;Z[J[Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=7
        start local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
         0: .line 1226
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/parser/factories/BasicNodeFactory;
    MethodParameters:
                         Name  Flags
      allocateLandingPadValue  
      exceptionValueSlot       
      cleanup                  
      clauseKinds              
      entries                  
      getStack                 

  private static com.oracle.truffle.llvm.runtime.nodes.func.LLVMLandingpadNode$LandingpadEntryNode getLandingpadCatchEntry(com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;)Lcom/oracle/truffle/llvm/runtime/nodes/func/LLVMLandingpadNode$LandingpadEntryNode;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode exp
         0: .line 1245
            aload 0 /* exp */
            invokestatic com.oracle.truffle.llvm.runtime.nodes.func.LLVMLandingpadNode.createCatchEntry:(Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;)Lcom/oracle/truffle/llvm/runtime/nodes/func/LLVMLandingpadNode$LandingpadEntryNode;
            areturn
        end local 0 // com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode exp
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   exp  Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    MethodParameters:
      Name  Flags
      exp   

  private static com.oracle.truffle.llvm.runtime.nodes.func.LLVMLandingpadNode$LandingpadEntryNode getLandingpadFilterEntry(com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;)Lcom/oracle/truffle/llvm/runtime/nodes/func/LLVMLandingpadNode$LandingpadEntryNode;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=4, args_size=1
        start local 0 // com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode exp
         0: .line 1249
            aload 0 /* exp */
            astore 1 /* arrayNode */
        start local 1 // com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode arrayNode
         1: .line 1250
            aload 1 /* arrayNode */
            checkcast com.oracle.truffle.llvm.runtime.nodes.memory.literal.LLVMArrayLiteralNode
            astore 2 /* array */
        start local 2 // com.oracle.truffle.llvm.runtime.nodes.memory.literal.LLVMArrayLiteralNode array
         2: .line 1251
            aload 2 /* array */
            ifnonnull 3
            getstatic com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode.NO_EXPRESSIONS:[Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
            goto 4
      StackMap locals: com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode com.oracle.truffle.llvm.runtime.nodes.memory.literal.LLVMArrayLiteralNode
      StackMap stack:
         3: aload 2 /* array */
            invokevirtual com.oracle.truffle.llvm.runtime.nodes.memory.literal.LLVMArrayLiteralNode.getValues:()[Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
      StackMap locals:
      StackMap stack: com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode[]
         4: astore 3 /* types */
        start local 3 // com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode[] types
         5: .line 1252
            aload 3 /* types */
            invokestatic com.oracle.truffle.llvm.runtime.nodes.func.LLVMLandingpadNode.createFilterEntry:([Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;)Lcom/oracle/truffle/llvm/runtime/nodes/func/LLVMLandingpadNode$LandingpadEntryNode;
            areturn
        end local 3 // com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode[] types
        end local 2 // com.oracle.truffle.llvm.runtime.nodes.memory.literal.LLVMArrayLiteralNode array
        end local 1 // com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode arrayNode
        end local 0 // com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode exp
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0        exp  Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
            1    6     1  arrayNode  Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
            2    6     2      array  Lcom/oracle/truffle/llvm/runtime/nodes/memory/literal/LLVMArrayLiteralNode;
            5    6     3      types  [Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    MethodParameters:
      Name  Flags
      exp   

  public com.oracle.truffle.llvm.runtime.nodes.api.LLVMControlFlowNode createResumeInstruction(com.oracle.truffle.api.frame.FrameSlot);
    descriptor: (Lcom/oracle/truffle/api/frame/FrameSlot;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMControlFlowNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
         0: .line 1256
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/parser/factories/BasicNodeFactory;
    MethodParameters:
                    Name  Flags
      exceptionValueSlot  

  public com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode createCompareExchangeInstruction(com.oracle.truffle.llvm.runtime.types.AggregateType, com.oracle.truffle.llvm.runtime.types.Type, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/types/AggregateType;Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=7, args_size=6
        start local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
        start local 1 // com.oracle.truffle.llvm.runtime.types.AggregateType returnType
        start local 2 // com.oracle.truffle.llvm.runtime.types.Type elementType
        start local 3 // com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode ptrNode
        start local 4 // com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode cmpNode
        start local 5 // com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode newNode
         0: .line 1264
            aload 0 /* this */
            aload 1 /* returnType */
            invokevirtual com.oracle.truffle.llvm.parser.factories.BasicNodeFactory.createAlloca:(Lcom/oracle/truffle/llvm/runtime/types/Type;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
            aload 1 /* returnType */
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.parser.factories.BasicNodeFactory.dataLayout:Lcom/oracle/truffle/llvm/runtime/datalayout/DataLayout;
            aload 3 /* ptrNode */
            aload 4 /* cmpNode */
            aload 5 /* newNode */
            invokestatic com.oracle.truffle.llvm.runtime.nodes.memory.LLVMCompareExchangeNode.create:(Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/types/AggregateType;Lcom/oracle/truffle/llvm/runtime/datalayout/DataLayout;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;)Lcom/oracle/truffle/llvm/runtime/nodes/memory/LLVMCompareExchangeNode;
         1: areturn
         2: .line 1265
      StackMap locals:
      StackMap stack: com.oracle.truffle.llvm.runtime.types.Type$TypeOverflowException
            astore 6 /* e */
        start local 6 // com.oracle.truffle.llvm.runtime.types.Type$TypeOverflowException e
         3: .line 1266
            aload 6 /* e */
            invokestatic com.oracle.truffle.llvm.runtime.types.Type.handleOverflowExpression:(Lcom/oracle/truffle/llvm/runtime/types/Type$TypeOverflowException;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
            areturn
        end local 6 // com.oracle.truffle.llvm.runtime.types.Type$TypeOverflowException e
        end local 5 // com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode newNode
        end local 4 // com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode cmpNode
        end local 3 // com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode ptrNode
        end local 2 // com.oracle.truffle.llvm.runtime.types.Type elementType
        end local 1 // com.oracle.truffle.llvm.runtime.types.AggregateType returnType
        end local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lcom/oracle/truffle/llvm/parser/factories/BasicNodeFactory;
            0    4     1   returnType  Lcom/oracle/truffle/llvm/runtime/types/AggregateType;
            0    4     2  elementType  Lcom/oracle/truffle/llvm/runtime/types/Type;
            0    4     3      ptrNode  Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
            0    4     4      cmpNode  Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
            0    4     5      newNode  Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
            3    4     6            e  Lcom/oracle/truffle/llvm/runtime/types/Type$TypeOverflowException;
      Exception table:
        from    to  target  type
           0     1       2  Class com.oracle.truffle.llvm.runtime.types.Type$TypeOverflowException
    MethodParameters:
             Name  Flags
      returnType   
      elementType  
      ptrNode      
      cmpNode      
      newNode      

  public com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode createLLVMBuiltin(com.oracle.truffle.llvm.runtime.types.symbols.Symbol, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode[], com.oracle.truffle.llvm.runtime.types.Type$TypeArrayBuilder, int);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/types/symbols/Symbol;[Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/types/Type$TypeArrayBuilder;I)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
         0: .line 1271
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/parser/factories/BasicNodeFactory;
    MethodParameters:
                     Name  Flags
      target               
      args                 
      argsTypes            
      callerArgumentCount  

  private com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode createMemsetIntrinsic(com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode[]);
    descriptor: ([Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
         0: .line 1307
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/parser/factories/BasicNodeFactory;
    MethodParameters:
      Name  Flags
      args  

  private com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode createMemcpyIntrinsic(com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode[]);
    descriptor: ([Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
         0: .line 1318
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/parser/factories/BasicNodeFactory;
    MethodParameters:
      Name  Flags
      args  

  private com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode createMemmoveIntrinsic(com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode[]);
    descriptor: ([Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
         0: .line 1329
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/parser/factories/BasicNodeFactory;
    MethodParameters:
      Name  Flags
      args  

  private static java.lang.String getTypeSuffix(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.String intrinsicName
         0: .line 1344
            getstatic com.oracle.truffle.llvm.parser.factories.BasicNodeFactory.$assertionsDisabled:Z
            ifne 1
            aload 0 /* intrinsicName */
            ifnonnull 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 1345
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.llvm.parser.factories.BasicNodeFactory.INTRINSIC_TYPE_SUFFIX_PATTERN:Ljava/util/regex/Pattern;
            aload 0 /* intrinsicName */
            invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
            astore 1 /* typeSuffixMatcher */
        start local 1 // java.util.regex.Matcher typeSuffixMatcher
         2: .line 1346
            aload 1 /* typeSuffixMatcher */
            invokevirtual java.util.regex.Matcher.matches:()Z
            ifeq 4
         3: .line 1347
            aload 1 /* typeSuffixMatcher */
            ldc "suffix"
            invokevirtual java.util.regex.Matcher.group:(Ljava/lang/String;)Ljava/lang/String;
            areturn
         4: .line 1349
      StackMap locals: java.util.regex.Matcher
      StackMap stack:
            aconst_null
            areturn
        end local 1 // java.util.regex.Matcher typeSuffixMatcher
        end local 0 // java.lang.String intrinsicName
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    5     0      intrinsicName  Ljava/lang/String;
            2    5     1  typeSuffixMatcher  Ljava/util/regex/Matcher;
    MethodParameters:
               Name  Flags
      intrinsicName  

  protected com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode getLLVMBuiltin(com.oracle.truffle.llvm.parser.model.functions.FunctionDeclaration, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode[], int);
    descriptor: (Lcom/oracle/truffle/llvm/parser/model/functions/FunctionDeclaration;[Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;I)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
         0: .line 1352
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/parser/factories/BasicNodeFactory;
    MethodParameters:
                     Name  Flags
      declaration          
      args                 
      callerArgumentCount  

  private static com.oracle.truffle.llvm.runtime.CompareOperator getCompareOp(com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;)Lcom/oracle/truffle/llvm/runtime/CompareOperator;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode expr
         0: .line 1642
            aload 0 /* expr */
            checkcast com.oracle.truffle.llvm.runtime.nodes.literals.LLVMMetaLiteralNode
            astore 1 /* meta */
        start local 1 // com.oracle.truffle.llvm.runtime.nodes.literals.LLVMMetaLiteralNode meta
         1: .line 1643
            aload 1 /* meta */
            invokevirtual com.oracle.truffle.llvm.runtime.nodes.literals.LLVMMetaLiteralNode.getMetadata:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* op */
        start local 2 // java.lang.String op
         2: .line 1644
            aload 2 /* op */
            dup
            astore 3
            invokevirtual java.lang.String.hashCode:()I
            lookupswitch { // 14
               109915: 3
               109965: 4
               109980: 5
               110120: 6
               110135: 7
               110182: 8
               110305: 9
               115681: 10
               115731: 11
               115746: 12
               115886: 13
               115901: 14
               115948: 15
               115958: 16
              default: 31
          }
      StackMap locals: com.oracle.truffle.llvm.runtime.nodes.literals.LLVMMetaLiteralNode java.lang.String java.lang.String
      StackMap stack:
         3: aload 3
            ldc "oeq"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 17
            goto 31
      StackMap locals:
      StackMap stack:
         4: aload 3
            ldc "oge"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 19
            goto 31
      StackMap locals:
      StackMap stack:
         5: aload 3
            ldc "ogt"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 18
            goto 31
      StackMap locals:
      StackMap stack:
         6: aload 3
            ldc "ole"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 21
            goto 31
      StackMap locals:
      StackMap stack:
         7: aload 3
            ldc "olt"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 20
            goto 31
      StackMap locals:
      StackMap stack:
         8: aload 3
            ldc "one"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 22
            goto 31
      StackMap locals:
      StackMap stack:
         9: aload 3
            ldc "ord"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 23
            goto 31
      StackMap locals:
      StackMap stack:
        10: aload 3
            ldc "ueq"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 24
            goto 31
      StackMap locals:
      StackMap stack:
        11: aload 3
            ldc "uge"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 26
            goto 31
      StackMap locals:
      StackMap stack:
        12: aload 3
            ldc "ugt"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 25
            goto 31
      StackMap locals:
      StackMap stack:
        13: aload 3
            ldc "ule"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 28
            goto 31
      StackMap locals:
      StackMap stack:
        14: aload 3
            ldc "ult"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 27
            goto 31
      StackMap locals:
      StackMap stack:
        15: aload 3
            ldc "une"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 29
            goto 31
      StackMap locals:
      StackMap stack:
        16: aload 3
            ldc "uno"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 30
            goto 31
        17: .line 1646
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.llvm.runtime.CompareOperator.FP_ORDERED_EQUAL:Lcom/oracle/truffle/llvm/runtime/CompareOperator;
            areturn
        18: .line 1648
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.llvm.runtime.CompareOperator.FP_ORDERED_GREATER_THAN:Lcom/oracle/truffle/llvm/runtime/CompareOperator;
            areturn
        19: .line 1650
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.llvm.runtime.CompareOperator.FP_ORDERED_GREATER_OR_EQUAL:Lcom/oracle/truffle/llvm/runtime/CompareOperator;
            areturn
        20: .line 1652
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.llvm.runtime.CompareOperator.FP_ORDERED_LESS_THAN:Lcom/oracle/truffle/llvm/runtime/CompareOperator;
            areturn
        21: .line 1654
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.llvm.runtime.CompareOperator.FP_ORDERED_LESS_OR_EQUAL:Lcom/oracle/truffle/llvm/runtime/CompareOperator;
            areturn
        22: .line 1656
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.llvm.runtime.CompareOperator.FP_ORDERED_NOT_EQUAL:Lcom/oracle/truffle/llvm/runtime/CompareOperator;
            areturn
        23: .line 1658
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.llvm.runtime.CompareOperator.FP_ORDERED:Lcom/oracle/truffle/llvm/runtime/CompareOperator;
            areturn
        24: .line 1660
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.llvm.runtime.CompareOperator.FP_UNORDERED_EQUAL:Lcom/oracle/truffle/llvm/runtime/CompareOperator;
            areturn
        25: .line 1662
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.llvm.runtime.CompareOperator.FP_UNORDERED_GREATER_THAN:Lcom/oracle/truffle/llvm/runtime/CompareOperator;
            areturn
        26: .line 1664
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.llvm.runtime.CompareOperator.FP_UNORDERED_GREATER_OR_EQUAL:Lcom/oracle/truffle/llvm/runtime/CompareOperator;
            areturn
        27: .line 1666
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.llvm.runtime.CompareOperator.FP_UNORDERED_LESS_THAN:Lcom/oracle/truffle/llvm/runtime/CompareOperator;
            areturn
        28: .line 1668
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.llvm.runtime.CompareOperator.FP_UNORDERED_LESS_OR_EQUAL:Lcom/oracle/truffle/llvm/runtime/CompareOperator;
            areturn
        29: .line 1670
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.llvm.runtime.CompareOperator.FP_UNORDERED_NOT_EQUAL:Lcom/oracle/truffle/llvm/runtime/CompareOperator;
            areturn
        30: .line 1672
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.llvm.runtime.CompareOperator.FP_UNORDERED:Lcom/oracle/truffle/llvm/runtime/CompareOperator;
            areturn
        31: .line 1674
      StackMap locals:
      StackMap stack:
            new com.oracle.truffle.llvm.runtime.except.LLVMParserException
            dup
            new java.lang.StringBuilder
            dup
            ldc "unsupported fp compare op: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* op */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial com.oracle.truffle.llvm.runtime.except.LLVMParserException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.lang.String op
        end local 1 // com.oracle.truffle.llvm.runtime.nodes.literals.LLVMMetaLiteralNode meta
        end local 0 // com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode expr
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   32     0  expr  Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
            1   32     1  meta  Lcom/oracle/truffle/llvm/runtime/nodes/literals/LLVMMetaLiteralNode;
            2   32     2    op  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      expr  

  private com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode getConstrainedFPBuiltin(com.oracle.truffle.llvm.parser.model.functions.FunctionDeclaration, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode[]);
    descriptor: (Lcom/oracle/truffle/llvm/parser/model/functions/FunctionDeclaration;[Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=7, args_size=3
        start local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
        start local 1 // com.oracle.truffle.llvm.parser.model.functions.FunctionDeclaration declaration
        start local 2 // com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode[] args
         0: .line 1688
            getstatic com.oracle.truffle.llvm.parser.factories.BasicNodeFactory.$assertionsDisabled:Z
            ifne 1
            aload 1 /* declaration */
            invokevirtual com.oracle.truffle.llvm.parser.model.functions.FunctionDeclaration.getName:()Ljava/lang/String;
            ldc "llvm.experimental.constrained."
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 1689
      StackMap locals:
      StackMap stack:
            aload 1 /* declaration */
            invokevirtual com.oracle.truffle.llvm.parser.model.functions.FunctionDeclaration.getName:()Ljava/lang/String;
            bipush 46
            getstatic com.oracle.truffle.llvm.parser.factories.BasicNodeFactory.CONSTRAINED_PREFIX_LEN:I
            invokevirtual java.lang.String.indexOf:(II)I
            istore 3 /* typeIndex */
        start local 3 // int typeIndex
         2: .line 1690
            aload 1 /* declaration */
            invokevirtual com.oracle.truffle.llvm.parser.model.functions.FunctionDeclaration.getName:()Ljava/lang/String;
            getstatic com.oracle.truffle.llvm.parser.factories.BasicNodeFactory.CONSTRAINED_PREFIX_LEN:I
            iload 3 /* typeIndex */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 4 /* name */
        start local 4 // java.lang.String name
         3: .line 1691
            aload 1 /* declaration */
            invokevirtual com.oracle.truffle.llvm.parser.model.functions.FunctionDeclaration.getType:()Lcom/oracle/truffle/llvm/runtime/types/FunctionType;
            invokevirtual com.oracle.truffle.llvm.runtime.types.FunctionType.getReturnType:()Lcom/oracle/truffle/llvm/runtime/types/Type;
            astore 5 /* retType */
        start local 5 // com.oracle.truffle.llvm.runtime.types.Type retType
         4: .line 1693
            aload 4 /* name */
            dup
            astore 6
            invokevirtual java.lang.String.hashCode:()I
            lookupswitch { // 12
          -1267793445: 5
          -1267793383: 6
           -902079525: 7
           -844821223: 8
           -646799582: 9
              3135099: 10
              3137312: 11
              3138155: 12
              3147166: 13
              3151476: 14
              3152922: 15
             97636631: 16
              default: 25
          }
      StackMap locals: com.oracle.truffle.llvm.parser.factories.BasicNodeFactory com.oracle.truffle.llvm.parser.model.functions.FunctionDeclaration com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode[] int java.lang.String com.oracle.truffle.llvm.runtime.types.Type java.lang.String
      StackMap stack:
         5: aload 6
            ldc "fptosi"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 23
            goto 25
      StackMap locals:
      StackMap stack:
         6: aload 6
            ldc "fptoui"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 22
            goto 25
      StackMap locals:
      StackMap stack:
         7: aload 6
            ldc "sitofp"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 23
            goto 25
      StackMap locals:
      StackMap stack:
         8: aload 6
            ldc "uitofp"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 22
            goto 25
      StackMap locals:
      StackMap stack:
         9: aload 6
            ldc "fptrunc"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 23
            goto 25
      StackMap locals:
      StackMap stack:
        10: aload 6
            ldc "fadd"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 17
            goto 25
      StackMap locals:
      StackMap stack:
        11: aload 6
            ldc "fcmp"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 24
            goto 25
      StackMap locals:
      StackMap stack:
        12: aload 6
            ldc "fdiv"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 20
            goto 25
      StackMap locals:
      StackMap stack:
        13: aload 6
            ldc "fmul"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 19
            goto 25
      StackMap locals:
      StackMap stack:
        14: aload 6
            ldc "frem"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 21
            goto 25
      StackMap locals:
      StackMap stack:
        15: aload 6
            ldc "fsub"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 18
            goto 25
      StackMap locals:
      StackMap stack:
        16: aload 6
            ldc "fpext"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 23
            goto 25
        17: .line 1695
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic com.oracle.truffle.llvm.runtime.ArithmeticOperation.ADD:Lcom/oracle/truffle/llvm/runtime/ArithmeticOperation;
            aload 5 /* retType */
            aload 2 /* args */
            iconst_1
            aaload
            aload 2 /* args */
            iconst_2
            aaload
            invokevirtual com.oracle.truffle.llvm.parser.factories.BasicNodeFactory.createScalarArithmeticOp:(Lcom/oracle/truffle/llvm/runtime/ArithmeticOperation;Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;)Lcom/oracle/truffle/llvm/runtime/nodes/op/LLVMArithmeticNode;
            areturn
        18: .line 1697
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic com.oracle.truffle.llvm.runtime.ArithmeticOperation.SUB:Lcom/oracle/truffle/llvm/runtime/ArithmeticOperation;
            aload 5 /* retType */
            aload 2 /* args */
            iconst_1
            aaload
            aload 2 /* args */
            iconst_2
            aaload
            invokevirtual com.oracle.truffle.llvm.parser.factories.BasicNodeFactory.createScalarArithmeticOp:(Lcom/oracle/truffle/llvm/runtime/ArithmeticOperation;Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;)Lcom/oracle/truffle/llvm/runtime/nodes/op/LLVMArithmeticNode;
            areturn
        19: .line 1699
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic com.oracle.truffle.llvm.runtime.ArithmeticOperation.MUL:Lcom/oracle/truffle/llvm/runtime/ArithmeticOperation;
            aload 5 /* retType */
            aload 2 /* args */
            iconst_1
            aaload
            aload 2 /* args */
            iconst_2
            aaload
            invokevirtual com.oracle.truffle.llvm.parser.factories.BasicNodeFactory.createScalarArithmeticOp:(Lcom/oracle/truffle/llvm/runtime/ArithmeticOperation;Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;)Lcom/oracle/truffle/llvm/runtime/nodes/op/LLVMArithmeticNode;
            areturn
        20: .line 1701
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic com.oracle.truffle.llvm.runtime.ArithmeticOperation.DIV:Lcom/oracle/truffle/llvm/runtime/ArithmeticOperation;
            aload 5 /* retType */
            aload 2 /* args */
            iconst_1
            aaload
            aload 2 /* args */
            iconst_2
            aaload
            invokevirtual com.oracle.truffle.llvm.parser.factories.BasicNodeFactory.createScalarArithmeticOp:(Lcom/oracle/truffle/llvm/runtime/ArithmeticOperation;Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;)Lcom/oracle/truffle/llvm/runtime/nodes/op/LLVMArithmeticNode;
            areturn
        21: .line 1703
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic com.oracle.truffle.llvm.runtime.ArithmeticOperation.REM:Lcom/oracle/truffle/llvm/runtime/ArithmeticOperation;
            aload 5 /* retType */
            aload 2 /* args */
            iconst_1
            aaload
            aload 2 /* args */
            iconst_2
            aaload
            invokevirtual com.oracle.truffle.llvm.parser.factories.BasicNodeFactory.createScalarArithmeticOp:(Lcom/oracle/truffle/llvm/runtime/ArithmeticOperation;Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;)Lcom/oracle/truffle/llvm/runtime/nodes/op/LLVMArithmeticNode;
            areturn
        22: .line 1706
      StackMap locals:
      StackMap stack:
            aload 2 /* args */
            iconst_1
            aaload
            aload 5 /* retType */
            invokestatic com.oracle.truffle.llvm.runtime.CommonNodeFactory.createUnsignedCast:(Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/types/Type;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
            areturn
        23: .line 1711
      StackMap locals:
      StackMap stack:
            aload 2 /* args */
            iconst_1
            aaload
            aload 5 /* retType */
            invokestatic com.oracle.truffle.llvm.runtime.CommonNodeFactory.createSignedCast:(Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/types/Type;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
            areturn
        24: .line 1713
      StackMap locals:
      StackMap stack:
            aload 2 /* args */
            iconst_3
            aaload
            invokestatic com.oracle.truffle.llvm.parser.factories.BasicNodeFactory.getCompareOp:(Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;)Lcom/oracle/truffle/llvm/runtime/CompareOperator;
            aload 5 /* retType */
            aload 2 /* args */
            iconst_1
            aaload
            aload 2 /* args */
            iconst_2
            aaload
            invokestatic com.oracle.truffle.llvm.runtime.CommonNodeFactory.createComparison:(Lcom/oracle/truffle/llvm/runtime/CompareOperator;Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
            areturn
        25: .line 1716
      StackMap locals:
      StackMap stack:
            aload 1 /* declaration */
            invokevirtual com.oracle.truffle.llvm.parser.model.functions.FunctionDeclaration.getName:()Ljava/lang/String;
            invokestatic com.oracle.truffle.llvm.runtime.nodes.intrinsics.llvm.x86.LLVMX86_MissingBuiltin.create:(Ljava/lang/String;)Lcom/oracle/truffle/llvm/runtime/nodes/intrinsics/llvm/x86/LLVMX86_MissingBuiltin;
            areturn
        end local 5 // com.oracle.truffle.llvm.runtime.types.Type retType
        end local 4 // java.lang.String name
        end local 3 // int typeIndex
        end local 2 // com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode[] args
        end local 1 // com.oracle.truffle.llvm.parser.model.functions.FunctionDeclaration declaration
        end local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   26     0         this  Lcom/oracle/truffle/llvm/parser/factories/BasicNodeFactory;
            0   26     1  declaration  Lcom/oracle/truffle/llvm/parser/model/functions/FunctionDeclaration;
            0   26     2         args  [Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
            2   26     3    typeIndex  I
            3   26     4         name  Ljava/lang/String;
            4   26     5      retType  Lcom/oracle/truffle/llvm/runtime/types/Type;
    MethodParameters:
             Name  Flags
      declaration  
      args         

  public com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode createArithmeticOp(com.oracle.truffle.llvm.runtime.ArithmeticOperation, com.oracle.truffle.llvm.runtime.types.Type, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/ArithmeticOperation;Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
         0: .line 1720
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/parser/factories/BasicNodeFactory;
    MethodParameters:
       Name  Flags
      op     
      type   
      left   
      right  

  protected com.oracle.truffle.llvm.runtime.nodes.op.LLVMArithmeticNode createScalarArithmeticOp(com.oracle.truffle.llvm.runtime.ArithmeticOperation, com.oracle.truffle.llvm.runtime.types.Type, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/ArithmeticOperation;Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;)Lcom/oracle/truffle/llvm/runtime/nodes/op/LLVMArithmeticNode;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
         0: .line 1730
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/parser/factories/BasicNodeFactory;
    MethodParameters:
       Name  Flags
      op     
      type   
      left   
      right  

  public com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode createUnaryOp(com.oracle.truffle.llvm.runtime.UnaryOperation, com.oracle.truffle.llvm.runtime.types.Type, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/UnaryOperation;Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
         0: .line 1761
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/parser/factories/BasicNodeFactory;
    MethodParameters:
         Name  Flags
      op       
      type     
      operand  

  protected com.oracle.truffle.llvm.runtime.nodes.op.LLVMUnaryNode createScalarUnaryOp(com.oracle.truffle.llvm.runtime.UnaryOperation, com.oracle.truffle.llvm.runtime.types.Type, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/UnaryOperation;Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;)Lcom/oracle/truffle/llvm/runtime/nodes/op/LLVMUnaryNode;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
         0: .line 1771
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/parser/factories/BasicNodeFactory;
    MethodParameters:
         Name  Flags
      op       
      type     
      operand  

  public com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode createBitcast(com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.llvm.runtime.types.Type, com.oracle.truffle.llvm.runtime.types.Type);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/runtime/types/Type;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
        start local 1 // com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode fromNode
        start local 2 // com.oracle.truffle.llvm.runtime.types.Type targetType
        start local 3 // com.oracle.truffle.llvm.runtime.types.Type fromType
         0: .line 1791
            aload 1 /* fromNode */
            aload 2 /* targetType */
            aload 3 /* fromType */
            invokestatic com.oracle.truffle.llvm.runtime.CommonNodeFactory.createBitcast:(Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/runtime/types/Type;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
            areturn
        end local 3 // com.oracle.truffle.llvm.runtime.types.Type fromType
        end local 2 // com.oracle.truffle.llvm.runtime.types.Type targetType
        end local 1 // com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode fromNode
        end local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lcom/oracle/truffle/llvm/parser/factories/BasicNodeFactory;
            0    1     1    fromNode  Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
            0    1     2  targetType  Lcom/oracle/truffle/llvm/runtime/types/Type;
            0    1     3    fromType  Lcom/oracle/truffle/llvm/runtime/types/Type;
    MethodParameters:
            Name  Flags
      fromNode    
      targetType  
      fromType    

  private long getOverflowFieldOffset(com.oracle.truffle.llvm.parser.model.functions.FunctionDeclaration);
    descriptor: (Lcom/oracle/truffle/llvm/parser/model/functions/FunctionDeclaration;)J
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
        start local 1 // com.oracle.truffle.llvm.parser.model.functions.FunctionDeclaration declaration
         0: .line 1795
            aload 0 /* this */
            lconst_1
            aload 1 /* declaration */
            invokevirtual com.oracle.truffle.llvm.parser.model.functions.FunctionDeclaration.getType:()Lcom/oracle/truffle/llvm/runtime/types/FunctionType;
            invokevirtual com.oracle.truffle.llvm.runtime.types.FunctionType.getReturnType:()Lcom/oracle/truffle/llvm/runtime/types/Type;
            checkcast com.oracle.truffle.llvm.runtime.types.AggregateType
            invokevirtual com.oracle.truffle.llvm.parser.factories.BasicNodeFactory.getIndexOffset:(JLcom/oracle/truffle/llvm/runtime/types/AggregateType;)J
            lreturn
        end local 1 // com.oracle.truffle.llvm.parser.model.functions.FunctionDeclaration declaration
        end local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lcom/oracle/truffle/llvm/parser/factories/BasicNodeFactory;
            0    1     1  declaration  Lcom/oracle/truffle/llvm/parser/model/functions/FunctionDeclaration;
    Exceptions:
      throws com.oracle.truffle.llvm.runtime.types.Type$TypeOverflowException
    MethodParameters:
             Name  Flags
      declaration  

  protected com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode getGccBuiltin(com.oracle.truffle.llvm.parser.model.functions.FunctionDeclaration, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode[]);
    descriptor: (Lcom/oracle/truffle/llvm/parser/model/functions/FunctionDeclaration;[Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
         0: .line 1798
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/parser/factories/BasicNodeFactory;
    MethodParameters:
             Name  Flags
      declaration  
      args         

  private static boolean isZeroExtendArithmeticBuiltin(com.oracle.truffle.llvm.parser.model.functions.FunctionDeclaration);
    descriptor: (Lcom/oracle/truffle/llvm/parser/model/functions/FunctionDeclaration;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // com.oracle.truffle.llvm.parser.model.functions.FunctionDeclaration declaration
         0: .line 1835
            aload 0 /* declaration */
            iconst_0
            invokevirtual com.oracle.truffle.llvm.parser.model.functions.FunctionDeclaration.getParameterAttributesGroup:(I)Lcom/oracle/truffle/llvm/parser/model/attributes/AttributesGroup;
            astore 1 /* group */
        start local 1 // com.oracle.truffle.llvm.parser.model.attributes.AttributesGroup group
         1: .line 1836
            aload 1 /* group */
            ifnonnull 3
         2: .line 1837
            iconst_0
            ireturn
         3: .line 1839
      StackMap locals: com.oracle.truffle.llvm.parser.model.attributes.AttributesGroup
      StackMap stack:
            aload 1 /* group */
            invokevirtual com.oracle.truffle.llvm.parser.model.attributes.AttributesGroup.getAttributes:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 7
      StackMap locals: com.oracle.truffle.llvm.parser.model.functions.FunctionDeclaration com.oracle.truffle.llvm.parser.model.attributes.AttributesGroup top java.util.Iterator
      StackMap stack:
         4: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.truffle.llvm.parser.model.attributes.Attribute
            astore 2 /* a */
        start local 2 // com.oracle.truffle.llvm.parser.model.attributes.Attribute a
         5: .line 1840
            aload 2 /* a */
            instanceof com.oracle.truffle.llvm.parser.model.attributes.Attribute$KnownAttribute
            ifeq 7
            aload 2 /* a */
            checkcast com.oracle.truffle.llvm.parser.model.attributes.Attribute$KnownAttribute
            invokevirtual com.oracle.truffle.llvm.parser.model.attributes.Attribute$KnownAttribute.getAttr:()Lcom/oracle/truffle/llvm/parser/model/attributes/Attribute$Kind;
            getstatic com.oracle.truffle.llvm.parser.model.attributes.Attribute$Kind.ZEROEXT:Lcom/oracle/truffle/llvm/parser/model/attributes/Attribute$Kind;
            if_acmpne 7
         6: .line 1841
            iconst_1
            ireturn
        end local 2 // com.oracle.truffle.llvm.parser.model.attributes.Attribute a
         7: .line 1839
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         8: .line 1844
            iconst_0
            ireturn
        end local 1 // com.oracle.truffle.llvm.parser.model.attributes.AttributesGroup group
        end local 0 // com.oracle.truffle.llvm.parser.model.functions.FunctionDeclaration declaration
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0  declaration  Lcom/oracle/truffle/llvm/parser/model/functions/FunctionDeclaration;
            1    9     1        group  Lcom/oracle/truffle/llvm/parser/model/attributes/AttributesGroup;
            5    7     2            a  Lcom/oracle/truffle/llvm/parser/model/attributes/Attribute;
    MethodParameters:
             Name  Flags
      declaration  

  public com.oracle.truffle.llvm.runtime.nodes.api.LLVMStatementNode createPhi(com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode[], com.oracle.truffle.llvm.runtime.nodes.vars.LLVMWriteNode[], com.oracle.truffle.llvm.runtime.nodes.vars.LLVMWriteNode[]);
    descriptor: ([Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;[Lcom/oracle/truffle/llvm/runtime/nodes/vars/LLVMWriteNode;[Lcom/oracle/truffle/llvm/runtime/nodes/vars/LLVMWriteNode;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
         0: .line 1848
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/parser/factories/BasicNodeFactory;
    MethodParameters:
                Name  Flags
      cycleFrom       
      cycleWrites     
      ordinaryWrites  

  public com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode createCopyStructByValue(com.oracle.truffle.llvm.runtime.types.Type, com.oracle.truffle.llvm.runtime.GetStackSpaceFactory, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/runtime/GetStackSpaceFactory;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
         0: .line 1854
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/parser/factories/BasicNodeFactory;
    MethodParameters:
                      Name  Flags
      type                  
      getStackSpaceFactory  
      parameterNode         

  public com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode createVarArgCompoundValue(long, int, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode);
    descriptor: (JILcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
         0: .line 1864
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/parser/factories/BasicNodeFactory;
    MethodParameters:
               Name  Flags
      length         
      alignment      
      parameterNode  

  public com.oracle.truffle.llvm.runtime.memory.LLVMMemMoveNode createMemMove();
    descriptor: ()Lcom/oracle/truffle/llvm/runtime/memory/LLVMMemMoveNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
         0: .line 1869
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/parser/factories/BasicNodeFactory;

  public com.oracle.truffle.llvm.runtime.memory.LLVMAllocateNode createAllocateGlobalsBlock(com.oracle.truffle.llvm.runtime.types.StructureType, boolean);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/types/StructureType;Z)Lcom/oracle/truffle/llvm/runtime/memory/LLVMAllocateNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
        start local 1 // com.oracle.truffle.llvm.runtime.types.StructureType structType
        start local 2 // boolean readOnly
         0: .line 1876
            iload 2 /* readOnly */
            ifeq 3
         1: .line 1877
            aload 1 /* structType */
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.parser.factories.BasicNodeFactory.dataLayout:Lcom/oracle/truffle/llvm/runtime/datalayout/DataLayout;
            invokestatic com.oracle.truffle.llvm.runtime.nodes.memory.AllocateReadOnlyGlobalsBlockNode.create:(Lcom/oracle/truffle/llvm/runtime/types/StructureType;Lcom/oracle/truffle/llvm/runtime/datalayout/DataLayout;)Lcom/oracle/truffle/llvm/runtime/nodes/memory/AllocateReadOnlyGlobalsBlockNode;
         2: areturn
         3: .line 1879
      StackMap locals:
      StackMap stack:
            aload 1 /* structType */
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.parser.factories.BasicNodeFactory.dataLayout:Lcom/oracle/truffle/llvm/runtime/datalayout/DataLayout;
            invokestatic com.oracle.truffle.llvm.runtime.nodes.memory.AllocateGlobalsBlockNode.create:(Lcom/oracle/truffle/llvm/runtime/types/StructureType;Lcom/oracle/truffle/llvm/runtime/datalayout/DataLayout;)Lcom/oracle/truffle/llvm/runtime/nodes/memory/AllocateGlobalsBlockNode;
         4: areturn
         5: .line 1881
      StackMap locals:
      StackMap stack: com.oracle.truffle.llvm.runtime.types.Type$TypeOverflowException
            astore 3 /* e */
        start local 3 // com.oracle.truffle.llvm.runtime.types.Type$TypeOverflowException e
         6: .line 1882
            aload 3 /* e */
            invokestatic com.oracle.truffle.llvm.runtime.types.Type.handleOverflowAllocate:(Lcom/oracle/truffle/llvm/runtime/types/Type$TypeOverflowException;)Lcom/oracle/truffle/llvm/runtime/memory/LLVMAllocateNode;
            areturn
        end local 3 // com.oracle.truffle.llvm.runtime.types.Type$TypeOverflowException e
        end local 2 // boolean readOnly
        end local 1 // com.oracle.truffle.llvm.runtime.types.StructureType structType
        end local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Lcom/oracle/truffle/llvm/parser/factories/BasicNodeFactory;
            0    7     1  structType  Lcom/oracle/truffle/llvm/runtime/types/StructureType;
            0    7     2    readOnly  Z
            6    7     3           e  Lcom/oracle/truffle/llvm/runtime/types/Type$TypeOverflowException;
      Exception table:
        from    to  target  type
           0     2       5  Class com.oracle.truffle.llvm.runtime.types.Type$TypeOverflowException
           3     4       5  Class com.oracle.truffle.llvm.runtime.types.Type$TypeOverflowException
    MethodParameters:
            Name  Flags
      structType  
      readOnly    

  public com.oracle.truffle.llvm.runtime.memory.LLVMMemoryOpNode createProtectGlobalsBlock();
    descriptor: ()Lcom/oracle/truffle/llvm/runtime/memory/LLVMMemoryOpNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
         0: .line 1887
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/parser/factories/BasicNodeFactory;

  public com.oracle.truffle.llvm.runtime.memory.LLVMMemoryOpNode createFreeGlobalsBlock(boolean);
    descriptor: (Z)Lcom/oracle/truffle/llvm/runtime/memory/LLVMMemoryOpNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
         0: .line 1892
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/parser/factories/BasicNodeFactory;
    MethodParameters:
          Name  Flags
      readOnly  

  public com.oracle.truffle.llvm.runtime.memory.LLVMMemSetNode createMemSet();
    descriptor: ()Lcom/oracle/truffle/llvm/runtime/memory/LLVMMemSetNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
         0: .line 1901
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/parser/factories/BasicNodeFactory;

  private static com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode[] createDoubleLiteralNodes(int, double);
    descriptor: (ID)[Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
         0: .line 1905
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    MethodParameters:
            Name  Flags
      nrElements  
      value       

  private static com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode[] createFloatLiteralNodes(int, float);
    descriptor: (IF)[Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
         0: .line 1913
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    MethodParameters:
            Name  Flags
      nrElements  
      value       

  private static com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode[] createI64LiteralNodes(int, long);
    descriptor: (IJ)[Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
         0: .line 1921
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    MethodParameters:
            Name  Flags
      nrElements  
      value       

  private static com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode[] createI32LiteralNodes(int, int);
    descriptor: (II)[Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
         0: .line 1929
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    MethodParameters:
            Name  Flags
      nrElements  
      value       

  private static com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode[] createI16LiteralNodes(int, short);
    descriptor: (IS)[Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
         0: .line 1937
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    MethodParameters:
            Name  Flags
      nrElements  
      value       

  private static com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode[] createI8LiteralNodes(int, byte);
    descriptor: (IB)[Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
         0: .line 1945
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    MethodParameters:
            Name  Flags
      nrElements  
      value       

  private static com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode[] createI1LiteralNodes(int, boolean);
    descriptor: (IZ)[Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
         0: .line 1953
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    MethodParameters:
            Name  Flags
      nrElements  
      value       

  private static com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode[] createNullAddressLiteralNodes(int);
    descriptor: (I)[Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
         0: .line 1961
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    MethodParameters:
            Name  Flags
      nrElements  

  public int getByteAlignment(com.oracle.truffle.llvm.runtime.types.Type);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/types/Type;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
        start local 1 // com.oracle.truffle.llvm.runtime.types.Type type
         0: .line 1970
            aload 1 /* type */
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.parser.factories.BasicNodeFactory.dataLayout:Lcom/oracle/truffle/llvm/runtime/datalayout/DataLayout;
            invokevirtual com.oracle.truffle.llvm.runtime.types.Type.getAlignment:(Lcom/oracle/truffle/llvm/runtime/datalayout/DataLayout;)I
            ireturn
        end local 1 // com.oracle.truffle.llvm.runtime.types.Type type
        end local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/parser/factories/BasicNodeFactory;
            0    1     1  type  Lcom/oracle/truffle/llvm/runtime/types/Type;
    MethodParameters:
      Name  Flags
      type  

  public long getByteSize(com.oracle.truffle.llvm.runtime.types.Type);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/types/Type;)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
        start local 1 // com.oracle.truffle.llvm.runtime.types.Type type
         0: .line 1974
            aload 1 /* type */
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.parser.factories.BasicNodeFactory.dataLayout:Lcom/oracle/truffle/llvm/runtime/datalayout/DataLayout;
            invokevirtual com.oracle.truffle.llvm.runtime.types.Type.getSize:(Lcom/oracle/truffle/llvm/runtime/datalayout/DataLayout;)J
            lreturn
        end local 1 // com.oracle.truffle.llvm.runtime.types.Type type
        end local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/parser/factories/BasicNodeFactory;
            0    1     1  type  Lcom/oracle/truffle/llvm/runtime/types/Type;
    Exceptions:
      throws com.oracle.truffle.llvm.runtime.types.Type$TypeOverflowException
    MethodParameters:
      Name  Flags
      type  

  public int getBytePadding(long, com.oracle.truffle.llvm.runtime.types.Type);
    descriptor: (JLcom/oracle/truffle/llvm/runtime/types/Type;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
        start local 1 // long offset
        start local 3 // com.oracle.truffle.llvm.runtime.types.Type type
         0: .line 1978
            lload 1 /* offset */
            aload 3 /* type */
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.parser.factories.BasicNodeFactory.dataLayout:Lcom/oracle/truffle/llvm/runtime/datalayout/DataLayout;
            invokestatic com.oracle.truffle.llvm.runtime.types.Type.getPadding:(JLcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/runtime/datalayout/DataLayout;)I
            ireturn
        end local 3 // com.oracle.truffle.llvm.runtime.types.Type type
        end local 1 // long offset
        end local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lcom/oracle/truffle/llvm/parser/factories/BasicNodeFactory;
            0    1     1  offset  J
            0    1     3    type  Lcom/oracle/truffle/llvm/runtime/types/Type;
    MethodParameters:
        Name  Flags
      offset  
      type    

  public long getIndexOffset(long, com.oracle.truffle.llvm.runtime.types.AggregateType);
    descriptor: (JLcom/oracle/truffle/llvm/runtime/types/AggregateType;)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
        start local 1 // long index
        start local 3 // com.oracle.truffle.llvm.runtime.types.AggregateType type
         0: .line 1982
            aload 3 /* type */
            lload 1 /* index */
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.parser.factories.BasicNodeFactory.dataLayout:Lcom/oracle/truffle/llvm/runtime/datalayout/DataLayout;
            invokevirtual com.oracle.truffle.llvm.runtime.types.AggregateType.getOffsetOf:(JLcom/oracle/truffle/llvm/runtime/datalayout/DataLayout;)J
            lreturn
        end local 3 // com.oracle.truffle.llvm.runtime.types.AggregateType type
        end local 1 // long index
        end local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/oracle/truffle/llvm/parser/factories/BasicNodeFactory;
            0    1     1  index  J
            0    1     3   type  Lcom/oracle/truffle/llvm/runtime/types/AggregateType;
    Exceptions:
      throws com.oracle.truffle.llvm.runtime.types.Type$TypeOverflowException
    MethodParameters:
       Name  Flags
      index  
      type   

  public com.oracle.truffle.llvm.runtime.nodes.api.LLVMControlFlowNode createLoop(com.oracle.truffle.api.nodes.RepeatingNode, int[]);
    descriptor: (Lcom/oracle/truffle/api/nodes/RepeatingNode;[I)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMControlFlowNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
        start local 1 // com.oracle.truffle.api.nodes.RepeatingNode body
        start local 2 // int[] successorIDs
         0: .line 1987
            aload 1 /* body */
            aload 2 /* successorIDs */
            invokestatic com.oracle.truffle.llvm.runtime.nodes.control.LLVMLoopNode.create:(Lcom/oracle/truffle/api/nodes/RepeatingNode;[I)Lcom/oracle/truffle/llvm/runtime/nodes/control/LLVMLoopNode;
            areturn
        end local 2 // int[] successorIDs
        end local 1 // com.oracle.truffle.api.nodes.RepeatingNode body
        end local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lcom/oracle/truffle/llvm/parser/factories/BasicNodeFactory;
            0    1     1          body  Lcom/oracle/truffle/api/nodes/RepeatingNode;
            0    1     2  successorIDs  [I
    MethodParameters:
              Name  Flags
      body          
      successorIDs  

  public com.oracle.truffle.api.nodes.RepeatingNode createLoopDispatchNode(com.oracle.truffle.api.frame.FrameSlot, java.util.List<? extends com.oracle.truffle.llvm.runtime.nodes.api.LLVMStatementNode>, com.oracle.truffle.llvm.runtime.nodes.base.LLVMBasicBlockNode[], int, int[], int[], com.oracle.truffle.api.frame.FrameSlot);
    descriptor: (Lcom/oracle/truffle/api/frame/FrameSlot;Ljava/util/List;[Lcom/oracle/truffle/llvm/runtime/nodes/base/LLVMBasicBlockNode;I[I[ILcom/oracle/truffle/api/frame/FrameSlot;)Lcom/oracle/truffle/api/nodes/RepeatingNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=8, args_size=8
        start local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
        start local 1 // com.oracle.truffle.api.frame.FrameSlot exceptionValueSlot
        start local 2 // java.util.List bodyNodes
        start local 3 // com.oracle.truffle.llvm.runtime.nodes.base.LLVMBasicBlockNode[] originalBodyNodes
        start local 4 // int headerId
        start local 5 // int[] indexMapping
        start local 6 // int[] successors
        start local 7 // com.oracle.truffle.api.frame.FrameSlot successorSlot
         0: .line 1993
            new com.oracle.truffle.llvm.runtime.nodes.control.LLVMLoopDispatchNode
            dup
            aload 1 /* exceptionValueSlot */
            aload 2 /* bodyNodes */
            aload 2 /* bodyNodes */
            invokeinterface java.util.List.size:()I
            anewarray com.oracle.truffle.llvm.runtime.nodes.base.LLVMBasicBlockNode
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast com.oracle.truffle.llvm.runtime.nodes.base.LLVMBasicBlockNode[]
            aload 3 /* originalBodyNodes */
            iload 4 /* headerId */
            aload 5 /* indexMapping */
            aload 6 /* successors */
            aload 7 /* successorSlot */
            invokespecial com.oracle.truffle.llvm.runtime.nodes.control.LLVMLoopDispatchNode.<init>:(Lcom/oracle/truffle/api/frame/FrameSlot;[Lcom/oracle/truffle/llvm/runtime/nodes/base/LLVMBasicBlockNode;[Lcom/oracle/truffle/llvm/runtime/nodes/base/LLVMBasicBlockNode;I[I[ILcom/oracle/truffle/api/frame/FrameSlot;)V
            areturn
        end local 7 // com.oracle.truffle.api.frame.FrameSlot successorSlot
        end local 6 // int[] successors
        end local 5 // int[] indexMapping
        end local 4 // int headerId
        end local 3 // com.oracle.truffle.llvm.runtime.nodes.base.LLVMBasicBlockNode[] originalBodyNodes
        end local 2 // java.util.List bodyNodes
        end local 1 // com.oracle.truffle.api.frame.FrameSlot exceptionValueSlot
        end local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    1     0                this  Lcom/oracle/truffle/llvm/parser/factories/BasicNodeFactory;
            0    1     1  exceptionValueSlot  Lcom/oracle/truffle/api/frame/FrameSlot;
            0    1     2           bodyNodes  Ljava/util/List<+Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;>;
            0    1     3   originalBodyNodes  [Lcom/oracle/truffle/llvm/runtime/nodes/base/LLVMBasicBlockNode;
            0    1     4            headerId  I
            0    1     5        indexMapping  [I
            0    1     6          successors  [I
            0    1     7       successorSlot  Lcom/oracle/truffle/api/frame/FrameSlot;
    Signature: (Lcom/oracle/truffle/api/frame/FrameSlot;Ljava/util/List<+Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;>;[Lcom/oracle/truffle/llvm/runtime/nodes/base/LLVMBasicBlockNode;I[I[ILcom/oracle/truffle/api/frame/FrameSlot;)Lcom/oracle/truffle/api/nodes/RepeatingNode;
    MethodParameters:
                    Name  Flags
      exceptionValueSlot  
      bodyNodes           
      originalBodyNodes   
      headerId            
      indexMapping        
      successors          
      successorSlot       

  public com.oracle.truffle.llvm.runtime.memory.LLVMStack$LLVMStackAccess createStackAccess(com.oracle.truffle.api.frame.FrameDescriptor);
    descriptor: (Lcom/oracle/truffle/api/frame/FrameDescriptor;)Lcom/oracle/truffle/llvm/runtime/memory/LLVMStack$LLVMStackAccess;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
        start local 1 // com.oracle.truffle.api.frame.FrameDescriptor frameDescriptor
         0: .line 1998
            new com.oracle.truffle.llvm.runtime.memory.LLVMStack$LLVMNativeStackAccess
            dup
            aload 1 /* frameDescriptor */
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.parser.factories.BasicNodeFactory.language:Lcom/oracle/truffle/llvm/runtime/LLVMLanguage;
            invokevirtual com.oracle.truffle.llvm.runtime.LLVMLanguage.getLLVMMemory:()Lcom/oracle/truffle/llvm/runtime/memory/LLVMMemory;
            invokespecial com.oracle.truffle.llvm.runtime.memory.LLVMStack$LLVMNativeStackAccess.<init>:(Lcom/oracle/truffle/api/frame/FrameDescriptor;Lcom/oracle/truffle/llvm/runtime/memory/LLVMMemory;)V
            areturn
        end local 1 // com.oracle.truffle.api.frame.FrameDescriptor frameDescriptor
        end local 0 // com.oracle.truffle.llvm.parser.factories.BasicNodeFactory this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0             this  Lcom/oracle/truffle/llvm/parser/factories/BasicNodeFactory;
            0    1     1  frameDescriptor  Lcom/oracle/truffle/api/frame/FrameDescriptor;
    MethodParameters:
                 Name  Flags
      frameDescriptor  

  public com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode createExtractValue(com.oracle.truffle.llvm.runtime.types.Type, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            aload 2
            invokevirtual com.oracle.truffle.llvm.parser.factories.BasicNodeFactory.createExtractValue:(Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMLoadNode;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "BasicNodeFactory.java"
InnerClasses:
  public final Kind = com.oracle.truffle.llvm.parser.model.attributes.Attribute$Kind of com.oracle.truffle.llvm.parser.model.attributes.Attribute
  public KnownAttribute = com.oracle.truffle.llvm.parser.model.attributes.Attribute$KnownAttribute of com.oracle.truffle.llvm.parser.model.attributes.Attribute
  public final UnsupportedReason = com.oracle.truffle.llvm.runtime.LLVMUnsupportedException$UnsupportedReason of com.oracle.truffle.llvm.runtime.LLVMUnsupportedException
  public final LLVMNativeStackAccess = com.oracle.truffle.llvm.runtime.memory.LLVMStack$LLVMNativeStackAccess of com.oracle.truffle.llvm.runtime.memory.LLVMStack
  public abstract LLVMStackAccess = com.oracle.truffle.llvm.runtime.memory.LLVMStack$LLVMStackAccess of com.oracle.truffle.llvm.runtime.memory.LLVMStack
  public final UniquesRegion = com.oracle.truffle.llvm.runtime.memory.LLVMStack$UniquesRegion of com.oracle.truffle.llvm.runtime.memory.LLVMStack
  public abstract LandingpadEntryNode = com.oracle.truffle.llvm.runtime.nodes.func.LLVMLandingpadNode$LandingpadEntryNode of com.oracle.truffle.llvm.runtime.nodes.func.LLVMLandingpadNode
  public TypeArrayBuilder = com.oracle.truffle.llvm.runtime.types.Type$TypeArrayBuilder of com.oracle.truffle.llvm.runtime.types.Type
  public final TypeOverflowException = com.oracle.truffle.llvm.runtime.types.Type$TypeOverflowException of com.oracle.truffle.llvm.runtime.types.Type