public class com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen
  super_class: java.lang.Object
{
  private static final boolean LLVM8;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  private static final boolean REDUCED;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

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

  private static final java.util.ArrayList<com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$ScalarType> scalarTypes;
    descriptor: Ljava/util/ArrayList;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/ArrayList<Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$ScalarType;>;

  private static final java.util.ArrayList<com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Type> allTypes;
    descriptor: Ljava/util/ArrayList;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/ArrayList<Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Type;>;

  static final com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$UnaryOpFormatter CONV;
    descriptor: Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$UnaryOpFormatter;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$UnaryOpFormatter SIMPLE;
    descriptor: Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$UnaryOpFormatter;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$BinaryOpFormatter SimpleBin;
    descriptor: Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$BinaryOpFormatter;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=6, args_size=0
         0: .line 176
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putstatic com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen.scalarTypes:Ljava/util/ArrayList;
         1: .line 177
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putstatic com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen.allTypes:Ljava/util/ArrayList;
         2: .line 181
            getstatic com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen.scalarTypes:Ljava/util/ArrayList;
            invokestatic com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$ScalarType.values:()[Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$ScalarType;
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
            invokedynamic test()Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  com/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen.lambda$3(Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$ScalarType;)Z (6)
                  (Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$ScalarType;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
            invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.Collection
            invokevirtual java.util.ArrayList.addAll:(Ljava/util/Collection;)Z
            pop
         3: .line 195
            getstatic com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen.allTypes:Ljava/util/ArrayList;
            getstatic com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen.scalarTypes:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.addAll:(Ljava/util/Collection;)Z
            pop
         4: .line 197
            getstatic com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen.scalarTypes:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 1
            goto 12
      StackMap locals: top java.util.Iterator
      StackMap stack:
         5: aload 1
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$ScalarType
            astore 0 /* type */
        start local 0 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$ScalarType type
         6: .line 198
            bipush 10
            newarray 10
            dup
            iconst_0
            iconst_1
            iastore
            dup
            iconst_1
            iconst_2
            iastore
            dup
            iconst_2
            iconst_3
            iastore
            dup
            iconst_3
            iconst_4
            iastore
            dup
            iconst_4
            iconst_5
            iastore
            dup
            iconst_5
            bipush 6
            iastore
            dup
            bipush 6
            bipush 7
            iastore
            dup
            bipush 7
            bipush 8
            iastore
            dup
            bipush 8
            bipush 16
            iastore
            dup
            bipush 9
            bipush 32
            iastore
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 11
      StackMap locals: com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$ScalarType java.util.Iterator top int int int[]
      StackMap stack:
         7: aload 5
            iload 3
            iaload
            istore 2 /* length */
        start local 2 // int length
         8: .line 199
            aload 0 /* type */
            getfield com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$ScalarType.includeVector:Z
            ifeq 10
            iload 2 /* length */
            aload 0 /* type */
            invokevirtual com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$ScalarType.getBytes:()I
            imul
            bipush 32
            if_icmpgt 10
         9: .line 200
            getstatic com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen.allTypes:Ljava/util/ArrayList;
            new com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$VectorType
            dup
            aload 0 /* type */
            iload 2 /* length */
            invokespecial com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$VectorType.<init>:(Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$ScalarType;I)V
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 2 // int length
        10: .line 198
      StackMap locals:
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
        11: iload 3
            iload 4
            if_icmplt 7
        end local 0 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$ScalarType type
        12: .line 197
      StackMap locals: top java.util.Iterator
      StackMap stack:
            aload 1
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        13: .line 210
            invokedynamic format()Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$UnaryOpFormatter;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Type;Ljava/lang/String;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Type;)Ljava/lang/String;
                  com/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen.lambda$0(Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Type;Ljava/lang/String;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Type;)Ljava/lang/String; (6)
                  (Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Type;Ljava/lang/String;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Type;)Ljava/lang/String;
            putstatic com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen.CONV:Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$UnaryOpFormatter;
        14: .line 212
            invokedynamic format()Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$UnaryOpFormatter;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Type;Ljava/lang/String;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Type;)Ljava/lang/String;
                  com/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen.lambda$1(Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Type;Ljava/lang/String;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Type;)Ljava/lang/String; (6)
                  (Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Type;Ljava/lang/String;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Type;)Ljava/lang/String;
            putstatic com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen.SIMPLE:Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$UnaryOpFormatter;
        15: .line 300
            invokedynamic format()Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$BinaryOpFormatter;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Type;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
                  com/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen.lambda$2(Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Type;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; (6)
                  (Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Type;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            putstatic com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen.SimpleBin:Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$BinaryOpFormatter;
            return
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            6   12     0    type  Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$ScalarType;
            8   10     2  length  I

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen this
         0: .line 55
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen;

  private static void storeAndCheck(com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$IDCounter, com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$StringDB, java.lang.StringBuilder, java.lang.String, com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Type, java.lang.String, java.lang.String);
    descriptor: (Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$IDCounter;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$StringDB;Ljava/lang/StringBuilder;Ljava/lang/String;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Type;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=9, args_size=7
        start local 0 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$IDCounter idCounter
        start local 1 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$StringDB strings
        start local 2 // java.lang.StringBuilder str
        start local 3 // java.lang.String id
        start local 4 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Type type
        start local 5 // java.lang.String output
        start local 6 // java.lang.String description
         0: .line 461
            aload 0 /* idCounter */
            invokevirtual com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$IDCounter.nextId:()Ljava/lang/String;
            astore 7 /* pointer */
        start local 7 // java.lang.String pointer
         1: .line 463
            aload 2 /* str */
            ldc "%s = bitcast i8* %s to %s*\n"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 7 /* pointer */
            aastore
            dup
            iconst_1
            aload 5 /* output */
            aastore
            dup
            iconst_2
            aload 4 /* type */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         2: .line 464
            aload 2 /* str */
            ldc "store %s %s, %s* %s, align 64\n"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* type */
            aastore
            dup
            iconst_1
            aload 3 /* id */
            aastore
            dup
            iconst_2
            aload 4 /* type */
            aastore
            dup
            iconst_3
            aload 7 /* pointer */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         3: .line 466
            aload 0 /* idCounter */
            invokevirtual com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$IDCounter.nextId:()Ljava/lang/String;
            astore 8 /* string */
        start local 8 // java.lang.String string
         4: .line 468
            aload 2 /* str */
            ldc "%s = %s\n"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 8 /* string */
            aastore
            dup
            iconst_1
            aload 1 /* strings */
            aload 6 /* description */
            invokevirtual com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$StringDB.addConst:(Ljava/lang/String;)Ljava/lang/String;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         5: .line 469
            aload 2 /* str */
            ldc "tail call void @print_output(i8* %s, i8* %s)\n"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 5 /* output */
            aastore
            dup
            iconst_1
            aload 8 /* string */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 470
            return
        end local 8 // java.lang.String string
        end local 7 // java.lang.String pointer
        end local 6 // java.lang.String description
        end local 5 // java.lang.String output
        end local 4 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Type type
        end local 3 // java.lang.String id
        end local 2 // java.lang.StringBuilder str
        end local 1 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$StringDB strings
        end local 0 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$IDCounter idCounter
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0    idCounter  Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$IDCounter;
            0    7     1      strings  Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$StringDB;
            0    7     2          str  Ljava/lang/StringBuilder;
            0    7     3           id  Ljava/lang/String;
            0    7     4         type  Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Type;
            0    7     5       output  Ljava/lang/String;
            0    7     6  description  Ljava/lang/String;
            1    7     7      pointer  Ljava/lang/String;
            4    7     8       string  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      idCounter    
      strings      
      str          
      id           
      type         
      output       
      description  

  private static com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$LoadedValues genBitcastAndLoad(com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$IDCounter, com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Info, com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Type);
    descriptor: (Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$IDCounter;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Info;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Type;)Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$LoadedValues;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=8, args_size=3
        start local 0 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$IDCounter idCounter
        start local 1 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Info info
        start local 2 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Type type
         0: .line 492
            aload 0 /* idCounter */
            invokevirtual com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$IDCounter.nextId:()Ljava/lang/String;
            astore 3 /* castPointer0 */
        start local 3 // java.lang.String castPointer0
         1: .line 493
            aload 0 /* idCounter */
            invokevirtual com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$IDCounter.nextId:()Ljava/lang/String;
            astore 4 /* castPointer1 */
        start local 4 // java.lang.String castPointer1
         2: .line 494
            new com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$LoadedValues
            dup
            aload 0 /* idCounter */
            invokevirtual com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$IDCounter.nextId:()Ljava/lang/String;
            aload 0 /* idCounter */
            invokevirtual com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$IDCounter.nextId:()Ljava/lang/String;
            invokespecial com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$LoadedValues.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 5 /* loadValues */
        start local 5 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$LoadedValues loadValues
         3: .line 496
            ldc "%s = bitcast i8* %s to %s*\n"
            astore 6 /* bitcastFmt */
        start local 6 // java.lang.String bitcastFmt
         4: .line 497
            aload 1 /* info */
            getfield com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Info.str:Ljava/lang/StringBuilder;
            aload 6 /* bitcastFmt */
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* castPointer0 */
            aastore
            dup
            iconst_1
            aload 1 /* info */
            getfield com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Info.in0:Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 2 /* type */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         5: .line 498
            aload 1 /* info */
            getfield com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Info.str:Ljava/lang/StringBuilder;
            aload 6 /* bitcastFmt */
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* castPointer1 */
            aastore
            dup
            iconst_1
            aload 1 /* info */
            getfield com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Info.in1:Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 2 /* type */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 500
            ldc "%s = load %s, %s* %s, align 8\n"
            astore 7 /* loadFmt */
        start local 7 // java.lang.String loadFmt
         7: .line 501
            aload 1 /* info */
            getfield com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Info.str:Ljava/lang/StringBuilder;
            aload 7 /* loadFmt */
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            aload 5 /* loadValues */
            getfield com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$LoadedValues.v0:Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 2 /* type */
            aastore
            dup
            iconst_2
            aload 2 /* type */
            aastore
            dup
            iconst_3
            aload 3 /* castPointer0 */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         8: .line 502
            aload 1 /* info */
            getfield com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Info.str:Ljava/lang/StringBuilder;
            aload 7 /* loadFmt */
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            aload 5 /* loadValues */
            getfield com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$LoadedValues.v1:Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 2 /* type */
            aastore
            dup
            iconst_2
            aload 2 /* type */
            aastore
            dup
            iconst_3
            aload 4 /* castPointer1 */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         9: .line 504
            aload 5 /* loadValues */
            areturn
        end local 7 // java.lang.String loadFmt
        end local 6 // java.lang.String bitcastFmt
        end local 5 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$LoadedValues loadValues
        end local 4 // java.lang.String castPointer1
        end local 3 // java.lang.String castPointer0
        end local 2 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Type type
        end local 1 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Info info
        end local 0 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$IDCounter idCounter
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   10     0     idCounter  Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$IDCounter;
            0   10     1          info  Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Info;
            0   10     2          type  Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Type;
            1   10     3  castPointer0  Ljava/lang/String;
            2   10     4  castPointer1  Ljava/lang/String;
            3   10     5    loadValues  Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$LoadedValues;
            4   10     6    bitcastFmt  Ljava/lang/String;
            7   10     7       loadFmt  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      idCounter  
      info       
      type       

  private static com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Info genPrefix(com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$IDCounter, com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$StringDB, com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Type, boolean);
    descriptor: (Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$IDCounter;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$StringDB;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Type;Z)Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Info;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=9, locals=6, args_size=4
        start local 0 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$IDCounter idCounter
        start local 1 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$StringDB strings
        start local 2 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Type type
        start local 3 // boolean includeStores
         0: .line 508
            new com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Info
            dup
            invokespecial com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Info.<init>:()V
            astore 4 /* info */
        start local 4 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Info info
         1: .line 509
            aload 4 /* info */
            getfield com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Info.str:Ljava/lang/StringBuilder;
            ldc "define void @run(i8*,i8*,i8*) {\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         2: .line 512
            aload 4 /* info */
            aload 0 /* idCounter */
            aload 4 /* info */
            aload 2 /* type */
            invokestatic com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen.genBitcastAndLoad:(Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$IDCounter;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Info;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Type;)Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$LoadedValues;
            putfield com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Info.loadedValues:Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$LoadedValues;
         3: .line 515
            aload 0 /* idCounter */
            invokevirtual com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$IDCounter.nextId:()Ljava/lang/String;
            astore 5 /* initialString */
        start local 5 // java.lang.String initialString
         4: .line 517
            aload 4 /* info */
            getfield com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Info.str:Ljava/lang/StringBuilder;
            ldc "%s = %s\n"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 5 /* initialString */
            aastore
            dup
            iconst_1
            aload 1 /* strings */
            ldc "initial"
            invokevirtual com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$StringDB.addConst:(Ljava/lang/String;)Ljava/lang/String;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         5: .line 518
            aload 4 /* info */
            getfield com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Info.str:Ljava/lang/StringBuilder;
            ldc "tail call void @print_output(i8* %s, i8* %s)\n"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* info */
            getfield com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Info.out:Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 5 /* initialString */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 520
            iload 3 /* includeStores */
            ifeq 8
         7: .line 522
            aload 0 /* idCounter */
            aload 1 /* strings */
            aload 4 /* info */
            getfield com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Info.str:Ljava/lang/StringBuilder;
            aload 4 /* info */
            getfield com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Info.loadedValues:Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$LoadedValues;
            getfield com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$LoadedValues.v0:Ljava/lang/String;
            aload 2 /* type */
            aload 4 /* info */
            getfield com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Info.out:Ljava/lang/String;
            new java.lang.StringBuilder
            dup
            ldc "store "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* type */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen.storeAndCheck:(Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$IDCounter;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$StringDB;Ljava/lang/StringBuilder;Ljava/lang/String;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Type;Ljava/lang/String;Ljava/lang/String;)V
         8: .line 525
      StackMap locals: com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Info java.lang.String
      StackMap stack:
            aload 4 /* info */
            areturn
        end local 5 // java.lang.String initialString
        end local 4 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Info info
        end local 3 // boolean includeStores
        end local 2 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Type type
        end local 1 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$StringDB strings
        end local 0 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$IDCounter idCounter
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    9     0      idCounter  Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$IDCounter;
            0    9     1        strings  Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$StringDB;
            0    9     2           type  Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Type;
            0    9     3  includeStores  Z
            1    9     4           info  Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Info;
            4    9     5  initialString  Ljava/lang/String;
    MethodParameters:
               Name  Flags
      idCounter      
      strings        
      type           
      includeStores  

  private static java.util.Optional<java.lang.StringBuilder> genPostfix(com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Info);
    descriptor: (Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Info;)Ljava/util/Optional;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Info info
         0: .line 529
            aload 0 /* info */
            getfield com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Info.str:Ljava/lang/StringBuilder;
            ldc "ret void\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         1: .line 530
            aload 0 /* info */
            getfield com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Info.str:Ljava/lang/StringBuilder;
            ldc "}\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         2: .line 532
            aload 0 /* info */
            getfield com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Info.generated:Z
            ifeq 4
         3: .line 533
            aload 0 /* info */
            getfield com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Info.str:Ljava/lang/StringBuilder;
            invokestatic java.util.Optional.of:(Ljava/lang/Object;)Ljava/util/Optional;
            areturn
         4: .line 535
      StackMap locals:
      StackMap stack:
            invokestatic java.util.Optional.empty:()Ljava/util/Optional;
            areturn
        end local 0 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Info info
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  info  Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Info;
    Signature: (Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Info;)Ljava/util/Optional<Ljava/lang/StringBuilder;>;
    MethodParameters:
      Name  Flags
      info  

  private static java.util.Optional<java.lang.StringBuilder> genBinary(boolean, java.lang.String, com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$IDCounter, com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$StringDB, com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Type, com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$BinaryOp, boolean);
    descriptor: (ZLjava/lang/String;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$IDCounter;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$StringDB;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Type;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$BinaryOp;Z)Ljava/util/Optional;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=14, locals=11, args_size=7
        start local 0 // boolean debug
        start local 1 // java.lang.String progName
        start local 2 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$IDCounter idCounter
        start local 3 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$StringDB strings
        start local 4 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Type type
        start local 5 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$BinaryOp op
        start local 6 // boolean includeStores
         0: .line 545
            aload 2 /* idCounter */
            aload 3 /* strings */
            aload 4 /* type */
            iload 6 /* includeStores */
            invokestatic com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen.genPrefix:(Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$IDCounter;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$StringDB;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Type;Z)Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Info;
            astore 7 /* info */
        start local 7 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Info info
         1: .line 547
            aload 5 /* op */
            aload 4 /* type */
            invokevirtual com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$BinaryOp.fits:(Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Type;)Z
            ifeq 33
         2: .line 548
            aload 7 /* info */
            iconst_1
            putfield com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Info.generated:Z
         3: .line 550
            aload 7 /* info */
            getfield com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Info.loadedValues:Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$LoadedValues;
            getfield com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$LoadedValues.v1:Ljava/lang/String;
            astore 8 /* rhs */
        start local 8 // java.lang.String rhs
         4: .line 552
            aload 5 /* op */
            invokevirtual com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$BinaryOp.toString:()Ljava/lang/String;
            ldc "rem"
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifne 5
            aload 5 /* op */
            invokevirtual com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$BinaryOp.toString:()Ljava/lang/String;
            ldc "div"
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifne 5
            iconst_0
            goto 6
      StackMap locals: com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Info java.lang.String
      StackMap stack:
         5: iconst_1
      StackMap locals:
      StackMap stack: int
         6: istore 9 /* failsForZero */
        start local 9 // boolean failsForZero
         7: .line 554
            iload 9 /* failsForZero */
            ifeq 27
         8: .line 555
            aload 4 /* type */
            instanceof com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$VectorType
            ifeq 12
         9: .line 556
            iload 0 /* debug */
            ifeq 11
        10: .line 557
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            ldc "%s: Ignoring %s on vector type %s\n"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* progName */
            aastore
            dup
            iconst_1
            aload 5 /* op */
            aastore
            dup
            iconst_2
            aload 4 /* type */
            aastore
            invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
            pop
        11: .line 559
      StackMap locals: int
      StackMap stack:
            invokestatic java.util.Optional.empty:()Ljava/util/Optional;
            areturn
        12: .line 562
      StackMap locals:
      StackMap stack:
            aload 2 /* idCounter */
            invokevirtual com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$IDCounter.nextId:()Ljava/lang/String;
            astore 10 /* temp */
        start local 10 // java.lang.String temp
        13: .line 564
            aload 4 /* type */
            getstatic com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$ScalarType.fp128:Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$ScalarType;
            if_acmpne 16
        14: .line 565
            aload 7 /* info */
            getfield com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Info.str:Ljava/lang/StringBuilder;
            ldc "%s = fadd %s %s, 0xL49284756365758473845757575757575\n"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 10 /* temp */
            aastore
            dup
            iconst_1
            aload 4 /* type */
            aastore
            dup
            iconst_2
            aload 8 /* rhs */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        15: .line 566
            goto 26
      StackMap locals: java.lang.String
      StackMap stack:
        16: aload 4 /* type */
            getstatic com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$ScalarType.ppc_fp128:Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$ScalarType;
            if_acmpne 19
        17: .line 567
            aload 7 /* info */
            getfield com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Info.str:Ljava/lang/StringBuilder;
            ldc "%s = fadd %s %s, 0xM49284756365758473845746464646464\n"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 10 /* temp */
            aastore
            dup
            iconst_1
            aload 4 /* type */
            aastore
            dup
            iconst_2
            aload 8 /* rhs */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        18: .line 568
            goto 26
      StackMap locals:
      StackMap stack:
        19: aload 4 /* type */
            getstatic com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$ScalarType.x86_fp80:Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$ScalarType;
            if_acmpne 22
        20: .line 569
            aload 7 /* info */
            getfield com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Info.str:Ljava/lang/StringBuilder;
            ldc "%s = fadd %s %s, 0xK49284756365758473845\n"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 10 /* temp */
            aastore
            dup
            iconst_1
            aload 4 /* type */
            aastore
            dup
            iconst_2
            aload 8 /* rhs */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        21: .line 570
            goto 26
      StackMap locals:
      StackMap stack:
        22: aload 4 /* type */
            invokeinterface com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Type.isFloat:()Z
            ifeq 25
        23: .line 571
            aload 7 /* info */
            getfield com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Info.str:Ljava/lang/StringBuilder;
            ldc "%s = fadd %s %s, 1.230000e+02\n"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 10 /* temp */
            aastore
            dup
            iconst_1
            aload 4 /* type */
            aastore
            dup
            iconst_2
            aload 8 /* rhs */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        24: .line 572
            goto 26
        25: .line 573
      StackMap locals:
      StackMap stack:
            aload 7 /* info */
            getfield com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Info.str:Ljava/lang/StringBuilder;
            ldc "%s = or %s %s, 1\n"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 10 /* temp */
            aastore
            dup
            iconst_1
            aload 4 /* type */
            aastore
            dup
            iconst_2
            aload 8 /* rhs */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        26: .line 576
      StackMap locals:
      StackMap stack:
            aload 10 /* temp */
            astore 8 /* rhs */
        end local 10 // java.lang.String temp
        27: .line 579
      StackMap locals:
      StackMap stack:
            aload 2 /* idCounter */
            invokevirtual com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$IDCounter.nextId:()Ljava/lang/String;
            astore 10 /* id */
        start local 10 // java.lang.String id
        28: .line 581
            aload 7 /* info */
            getfield com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Info.str:Ljava/lang/StringBuilder;
            ldc "%s = %s %s\n"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 10 /* id */
            aastore
            dup
            iconst_1
            aload 5 /* op */
            aastore
            dup
            iconst_2
            aload 5 /* op */
            getfield com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$BinaryOp.formatter:Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$BinaryOpFormatter;
            aload 4 /* type */
            aload 7 /* info */
            getfield com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Info.loadedValues:Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$LoadedValues;
            getfield com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$LoadedValues.v0:Ljava/lang/String;
            aload 8 /* rhs */
            invokeinterface com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$BinaryOpFormatter.format:(Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Type;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        29: .line 582
            aload 2 /* idCounter */
            aload 3 /* strings */
            aload 7 /* info */
            getfield com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Info.str:Ljava/lang/StringBuilder;
            aload 10 /* id */
            aload 4 /* type */
            aload 7 /* info */
            getfield com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Info.out:Ljava/lang/String;
        30: .line 583
            ldc "%s %s"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 5 /* op */
            aastore
            dup
            iconst_1
            aload 5 /* op */
            getfield com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$BinaryOp.formatter:Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$BinaryOpFormatter;
            aload 4 /* type */
            ldc "%left"
            ldc "%right"
            invokeinterface com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$BinaryOpFormatter.format:(Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Type;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        31: .line 582
            invokestatic com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen.storeAndCheck:(Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$IDCounter;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$StringDB;Ljava/lang/StringBuilder;Ljava/lang/String;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Type;Ljava/lang/String;Ljava/lang/String;)V
        end local 10 // java.lang.String id
        end local 9 // boolean failsForZero
        end local 8 // java.lang.String rhs
        32: .line 584
            goto 35
        33: .line 585
      StackMap locals:
      StackMap stack:
            iload 0 /* debug */
            ifeq 35
        34: .line 586
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            ldc "%s: Output %s does not fit for operation %s\n"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* progName */
            aastore
            dup
            iconst_1
            aload 4 /* type */
            aastore
            dup
            iconst_2
            aload 5 /* op */
            aastore
            invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
            pop
        35: .line 590
      StackMap locals:
      StackMap stack:
            aload 7 /* info */
            invokestatic com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen.genPostfix:(Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Info;)Ljava/util/Optional;
            areturn
        end local 7 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Info info
        end local 6 // boolean includeStores
        end local 5 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$BinaryOp op
        end local 4 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Type type
        end local 3 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$StringDB strings
        end local 2 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$IDCounter idCounter
        end local 1 // java.lang.String progName
        end local 0 // boolean debug
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   36     0          debug  Z
            0   36     1       progName  Ljava/lang/String;
            0   36     2      idCounter  Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$IDCounter;
            0   36     3        strings  Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$StringDB;
            0   36     4           type  Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Type;
            0   36     5             op  Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$BinaryOp;
            0   36     6  includeStores  Z
            1   36     7           info  Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Info;
            4   32     8            rhs  Ljava/lang/String;
            7   32     9   failsForZero  Z
           13   27    10           temp  Ljava/lang/String;
           28   32    10             id  Ljava/lang/String;
    Signature: (ZLjava/lang/String;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$IDCounter;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$StringDB;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Type;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$BinaryOp;Z)Ljava/util/Optional<Ljava/lang/StringBuilder;>;
    MethodParameters:
               Name  Flags
      debug          
      progName       
      idCounter      
      strings        
      type           
      op             
      includeStores  

  private static java.util.Optional<java.lang.StringBuilder> genUnary(boolean, java.lang.String, com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$IDCounter, com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$StringDB, com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Type, com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$UnaryOp, boolean);
    descriptor: (ZLjava/lang/String;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$IDCounter;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$StringDB;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Type;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$UnaryOp;Z)Ljava/util/Optional;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=14, locals=12, args_size=7
        start local 0 // boolean debug
        start local 1 // java.lang.String progName
        start local 2 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$IDCounter idCounter
        start local 3 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$StringDB strings
        start local 4 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Type type
        start local 5 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$UnaryOp op
        start local 6 // boolean includeStores
         0: .line 600
            aload 2 /* idCounter */
            aload 3 /* strings */
            aload 4 /* type */
            iload 6 /* includeStores */
            invokestatic com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen.genPrefix:(Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$IDCounter;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$StringDB;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Type;Z)Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Info;
            astore 7 /* info */
        start local 7 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Info info
         1: .line 602
            getstatic com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen.allTypes:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 9
            goto 14
      StackMap locals: int java.lang.String com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$IDCounter com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$StringDB com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Type com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$UnaryOp int com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Info top java.util.Iterator
      StackMap stack:
         2: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Type
            astore 8 /* src */
        start local 8 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Type src
         3: .line 603
            aload 5 /* op */
            aload 8 /* src */
            aload 4 /* type */
            invokevirtual com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$UnaryOp.fits:(Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Type;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Type;)Z
            ifeq 12
         4: .line 604
            aload 7 /* info */
            iconst_1
            putfield com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Info.generated:Z
         5: .line 605
            aload 2 /* idCounter */
            invokevirtual com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$IDCounter.nextId:()Ljava/lang/String;
            astore 10 /* id */
        start local 10 // java.lang.String id
         6: .line 607
            aload 2 /* idCounter */
            aload 7 /* info */
            aload 8 /* src */
            invokestatic com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen.genBitcastAndLoad:(Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$IDCounter;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Info;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Type;)Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$LoadedValues;
            astore 11 /* srcLoadedValues */
        start local 11 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$LoadedValues srcLoadedValues
         7: .line 609
            aload 7 /* info */
            getfield com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Info.str:Ljava/lang/StringBuilder;
            ldc "%s = %s %s\n"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 10 /* id */
            aastore
            dup
            iconst_1
            aload 5 /* op */
            aastore
            dup
            iconst_2
            aload 5 /* op */
            getfield com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$UnaryOp.formatter:Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$UnaryOpFormatter;
            aload 8 /* src */
            aload 11 /* srcLoadedValues */
            getfield com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$LoadedValues.v0:Ljava/lang/String;
            aload 4 /* type */
            invokeinterface com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$UnaryOpFormatter.format:(Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Type;Ljava/lang/String;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Type;)Ljava/lang/String;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         8: .line 610
            aload 2 /* idCounter */
            aload 3 /* strings */
            aload 7 /* info */
            getfield com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Info.str:Ljava/lang/StringBuilder;
            aload 10 /* id */
            aload 4 /* type */
            aload 7 /* info */
            getfield com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Info.out:Ljava/lang/String;
         9: .line 611
            ldc "%s %s"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 5 /* op */
            aastore
            dup
            iconst_1
            aload 5 /* op */
            getfield com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$UnaryOp.formatter:Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$UnaryOpFormatter;
            aload 8 /* src */
            ldc "%val"
            aload 4 /* type */
            invokeinterface com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$UnaryOpFormatter.format:(Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Type;Ljava/lang/String;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Type;)Ljava/lang/String;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        10: .line 610
            invokestatic com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen.storeAndCheck:(Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$IDCounter;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$StringDB;Ljava/lang/StringBuilder;Ljava/lang/String;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Type;Ljava/lang/String;Ljava/lang/String;)V
        end local 11 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$LoadedValues srcLoadedValues
        end local 10 // java.lang.String id
        11: .line 612
            goto 14
        12: .line 613
      StackMap locals: int java.lang.String com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$IDCounter com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$StringDB com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Type com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$UnaryOp int com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Info com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Type java.util.Iterator
      StackMap stack:
            iload 0 /* debug */
            ifeq 14
        13: .line 614
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            ldc "%s: Input %s and output %s do not fit for operation %s\n"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* progName */
            aastore
            dup
            iconst_1
            aload 8 /* src */
            aastore
            dup
            iconst_2
            aload 4 /* type */
            aastore
            dup
            iconst_3
            aload 5 /* op */
            aastore
            invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
            pop
        end local 8 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Type src
        14: .line 602
      StackMap locals: int java.lang.String com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$IDCounter com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$StringDB com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Type com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$UnaryOp int com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Info top java.util.Iterator
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        15: .line 619
            aload 7 /* info */
            invokestatic com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen.genPostfix:(Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Info;)Ljava/util/Optional;
            areturn
        end local 7 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Info info
        end local 6 // boolean includeStores
        end local 5 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$UnaryOp op
        end local 4 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Type type
        end local 3 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$StringDB strings
        end local 2 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$IDCounter idCounter
        end local 1 // java.lang.String progName
        end local 0 // boolean debug
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   16     0            debug  Z
            0   16     1         progName  Ljava/lang/String;
            0   16     2        idCounter  Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$IDCounter;
            0   16     3          strings  Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$StringDB;
            0   16     4             type  Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Type;
            0   16     5               op  Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$UnaryOp;
            0   16     6    includeStores  Z
            1   16     7             info  Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Info;
            3   14     8              src  Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Type;
            6   11    10               id  Ljava/lang/String;
            7   11    11  srcLoadedValues  Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$LoadedValues;
    Signature: (ZLjava/lang/String;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$IDCounter;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$StringDB;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Type;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$UnaryOp;Z)Ljava/util/Optional<Ljava/lang/StringBuilder;>;
    MethodParameters:
               Name  Flags
      debug          
      progName       
      idCounter      
      strings        
      type           
      op             
      includeStores  

  private static java.util.Optional<java.lang.StringBuilder> genCustom(boolean, java.lang.String, com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$IDCounter, com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$StringDB, com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Type, java.lang.String, boolean);
    descriptor: (ZLjava/lang/String;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$IDCounter;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$StringDB;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Type;Ljava/lang/String;Z)Ljava/util/Optional;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=11, locals=8, args_size=7
        start local 0 // boolean debug
        start local 1 // java.lang.String progName
        start local 2 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$IDCounter idCounter
        start local 3 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$StringDB strings
        start local 4 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Type type
        start local 5 // java.lang.String op
        start local 6 // boolean includeStores
         0: .line 628
            aload 2 /* idCounter */
            aload 3 /* strings */
            aload 4 /* type */
            iload 6 /* includeStores */
            invokestatic com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen.genPrefix:(Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$IDCounter;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$StringDB;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Type;Z)Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Info;
            astore 7 /* info */
        start local 7 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Info info
         1: .line 631
            aload 2 /* idCounter */
            aload 3 /* strings */
            aload 7 /* info */
            getfield com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Info.str:Ljava/lang/StringBuilder;
            aload 7 /* info */
            getfield com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Info.loadedValues:Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$LoadedValues;
            getfield com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$LoadedValues.v0:Ljava/lang/String;
            aload 4 /* type */
            aload 7 /* info */
            getfield com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Info.out:Ljava/lang/String;
            ldc "%s %s"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 5 /* op */
            aastore
            dup
            iconst_1
            aload 4 /* type */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokestatic com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen.storeAndCheck:(Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$IDCounter;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$StringDB;Ljava/lang/StringBuilder;Ljava/lang/String;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Type;Ljava/lang/String;Ljava/lang/String;)V
         2: .line 632
            aload 7 /* info */
            iconst_1
            putfield com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Info.generated:Z
         3: .line 634
            aload 7 /* info */
            invokestatic com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen.genPostfix:(Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Info;)Ljava/util/Optional;
            areturn
        end local 7 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Info info
        end local 6 // boolean includeStores
        end local 5 // java.lang.String op
        end local 4 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Type type
        end local 3 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$StringDB strings
        end local 2 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$IDCounter idCounter
        end local 1 // java.lang.String progName
        end local 0 // boolean debug
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0          debug  Z
            0    4     1       progName  Ljava/lang/String;
            0    4     2      idCounter  Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$IDCounter;
            0    4     3        strings  Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$StringDB;
            0    4     4           type  Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Type;
            0    4     5             op  Ljava/lang/String;
            0    4     6  includeStores  Z
            1    4     7           info  Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Info;
    Signature: (ZLjava/lang/String;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$IDCounter;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$StringDB;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Type;Ljava/lang/String;Z)Ljava/util/Optional<Ljava/lang/StringBuilder;>;
    MethodParameters:
               Name  Flags
      debug          
      progName       
      idCounter      
      strings        
      type           
      op             
      includeStores  

  private static <O> void genFile(boolean, java.lang.String, java.lang.String, java.lang.String, com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Type, com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Generator<O>, O, boolean, boolean, java.util.Set<java.lang.String>);
    descriptor: (ZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Type;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Generator;Ljava/lang/Object;ZZLjava/util/Set;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=8, locals=17, args_size=10
        start local 0 // boolean debug
        start local 1 // java.lang.String progName
        start local 2 // java.lang.String prelude
        start local 3 // java.lang.String filename
        start local 4 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Type type
        start local 5 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Generator gen
        start local 6 // java.lang.Object op
        start local 7 // boolean includeStores
        start local 8 // boolean printFilename
        start local 9 // java.util.Set filenameBlacklist
         0: .line 644
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 10 /* str */
        start local 10 // java.lang.StringBuilder str
         1: .line 645
            aload 10 /* str */
            ldc "; Generated by %s.\n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* progName */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         2: .line 646
            aload 10 /* str */
            aload 2 /* prelude */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         3: .line 648
            aload 3 /* filename */
            astore 11 /* finalFilename */
        start local 11 // java.lang.String finalFilename
         4: .line 650
            aload 9 /* filenameBlacklist */
            aload 3 /* filename */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 8
         5: .line 651
            new java.lang.StringBuilder
            dup
            aload 11 /* finalFilename */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".ignore"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 11 /* finalFilename */
         6: .line 652
            iload 0 /* debug */
            ifeq 8
         7: .line 653
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            aload 1 /* progName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ": Appending .ignore to %s (%s) because it is blacklisted\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* filename */
            aastore
            dup
            iconst_1
            aload 11 /* finalFilename */
            aastore
            invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
            pop
         8: .line 657
      StackMap locals: java.lang.StringBuilder java.lang.String
      StackMap stack:
            new com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$StringDB
            dup
            invokespecial com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$StringDB.<init>:()V
            astore 12 /* strings */
        start local 12 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$StringDB strings
         9: .line 658
            aload 5 /* gen */
            iload 0 /* debug */
            aload 1 /* progName */
            new com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$IDCounter
            dup
            invokespecial com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$IDCounter.<init>:()V
            aload 12 /* strings */
            aload 4 /* type */
            aload 6 /* op */
            iload 7 /* includeStores */
            invokeinterface com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Generator.generate:(ZLjava/lang/String;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$IDCounter;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$StringDB;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Type;Ljava/lang/Object;Z)Ljava/util/Optional;
            astore 13 /* contents */
        start local 13 // java.util.Optional contents
        10: .line 660
            aload 13 /* contents */
            invokevirtual java.util.Optional.isPresent:()Z
            ifne 14
        11: .line 661
            iload 0 /* debug */
            ifeq 13
        12: .line 662
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            aload 1 /* progName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ": Ignoring writing to %s because no contents were generated\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 11 /* finalFilename */
            aastore
            invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
            pop
        13: .line 664
      StackMap locals: com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$StringDB java.util.Optional
      StackMap stack:
            return
        14: .line 667
      StackMap locals:
      StackMap stack:
            iload 8 /* printFilename */
            ifeq 17
        15: .line 668
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            aload 11 /* finalFilename */
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        16: .line 669
            return
        17: .line 672
      StackMap locals:
      StackMap stack:
            aload 10 /* str */
            aload 12 /* strings */
            invokevirtual com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$StringDB.get:()Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
            pop
        18: .line 673
            aload 10 /* str */
            aload 13 /* contents */
            invokevirtual java.util.Optional.get:()Ljava/lang/Object;
            checkcast java.lang.CharSequence
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
            pop
        19: .line 675
            aconst_null
            astore 14
            aconst_null
            astore 15
        20: new java.io.PrintStream
            dup
            new java.io.FileOutputStream
            dup
            aload 11 /* finalFilename */
            invokespecial java.io.FileOutputStream.<init>:(Ljava/lang/String;)V
            invokespecial java.io.PrintStream.<init>:(Ljava/io/OutputStream;)V
            astore 16 /* out */
        start local 16 // java.io.PrintStream out
        21: .line 676
            aload 16 /* out */
            aload 10 /* str */
            invokevirtual java.io.PrintStream.print:(Ljava/lang/Object;)V
        22: .line 677
            aload 16 /* out */
            ifnull 28
            aload 16 /* out */
            invokevirtual java.io.PrintStream.close:()V
            goto 28
      StackMap locals: int java.lang.String java.lang.String java.lang.String com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Type com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Generator java.lang.Object int int java.util.Set java.lang.StringBuilder java.lang.String com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$StringDB java.util.Optional java.lang.Throwable java.lang.Throwable java.io.PrintStream
      StackMap stack: java.lang.Throwable
        23: astore 14
            aload 16 /* out */
            ifnull 24
            aload 16 /* out */
            invokevirtual java.io.PrintStream.close:()V
        end local 16 // java.io.PrintStream out
      StackMap locals:
      StackMap stack:
        24: aload 14
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        25: astore 15
            aload 14
            ifnonnull 26
            aload 15
            astore 14
            goto 27
      StackMap locals:
      StackMap stack:
        26: aload 14
            aload 15
            if_acmpeq 27
            aload 14
            aload 15
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        27: aload 14
            athrow
        28: .line 678
      StackMap locals:
      StackMap stack:
            return
        end local 13 // java.util.Optional contents
        end local 12 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$StringDB strings
        end local 11 // java.lang.String finalFilename
        end local 10 // java.lang.StringBuilder str
        end local 9 // java.util.Set filenameBlacklist
        end local 8 // boolean printFilename
        end local 7 // boolean includeStores
        end local 6 // java.lang.Object op
        end local 5 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Generator gen
        end local 4 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Type type
        end local 3 // java.lang.String filename
        end local 2 // java.lang.String prelude
        end local 1 // java.lang.String progName
        end local 0 // boolean debug
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   29     0              debug  Z
            0   29     1           progName  Ljava/lang/String;
            0   29     2            prelude  Ljava/lang/String;
            0   29     3           filename  Ljava/lang/String;
            0   29     4               type  Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Type;
            0   29     5                gen  Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Generator<TO;>;
            0   29     6                 op  TO;
            0   29     7      includeStores  Z
            0   29     8      printFilename  Z
            0   29     9  filenameBlacklist  Ljava/util/Set<Ljava/lang/String;>;
            1   29    10                str  Ljava/lang/StringBuilder;
            4   29    11      finalFilename  Ljava/lang/String;
            9   29    12            strings  Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$StringDB;
           10   29    13           contents  Ljava/util/Optional<Ljava/lang/StringBuilder;>;
           21   24    16                out  Ljava/io/PrintStream;
      Exception table:
        from    to  target  type
          21    22      23  any
          20    25      25  any
    Exceptions:
      throws java.io.FileNotFoundException
    Signature: <O:Ljava/lang/Object;>(ZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Type;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Generator<TO;>;TO;ZZLjava/util/Set<Ljava/lang/String;>;)V
    MethodParameters:
                   Name  Flags
      debug              
      progName           
      prelude            
      filename           
      type               
      gen                
      op                 
      includeStores      
      printFilename      
      filenameBlacklist  

  private static java.lang.String makeFilename(java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=8, locals=3, args_size=3
        start local 0 // java.lang.String base
        start local 1 // java.lang.String op
        start local 2 // java.lang.String type
         0: .line 681
            new java.io.File
            dup
            aload 0 /* base */
            ldc "%s_%s.ll"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* op */
            aastore
            dup
            iconst_1
            aload 2 /* type */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            invokevirtual java.io.File.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.String type
        end local 1 // java.lang.String op
        end local 0 // java.lang.String base
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  base  Ljava/lang/String;
            0    1     1    op  Ljava/lang/String;
            0    1     2  type  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      base  
      op    
      type  

  private static java.lang.String makeBlacklistFilename(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=8, locals=2, args_size=2
        start local 0 // java.lang.String base
        start local 1 // java.lang.String name
         0: .line 685
            new java.io.File
            dup
            aload 0 /* base */
            ldc "%s.ll"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* name */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            invokevirtual java.io.File.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.String name
        end local 0 // java.lang.String base
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  base  Ljava/lang/String;
            0    1     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      base  
      name  

  private static void helpAndDie(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // java.lang.String message
         0: .line 689
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            ldc "Error: %s\n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* message */
            aastore
            invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
            pop
         1: .line 690
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            ldc "Usage: LLIRTestGen <OUTPUT_DIR> [--separate-stores] [--print-filenames] [--debug]"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         2: .line 691
            iconst_1
            invokestatic java.lang.System.exit:(I)V
         3: .line 692
            return
        end local 0 // java.lang.String message
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0  message  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      message  

  public static void main(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=10, locals=15, args_size=1
        start local 0 // java.lang.String[] args
         0: .line 695
            aload 0 /* args */
            arraylength
            iconst_3
            if_icmple 2
         1: .line 696
            ldc "Invalid number of arguments"
            invokestatic com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen.helpAndDie:(Ljava/lang/String;)V
         2: .line 699
      StackMap locals:
      StackMap stack:
            aload 0 /* args */
            iconst_0
            aaload
            astore 1 /* outputDir */
        start local 1 // java.lang.String outputDir
         3: .line 700
            new java.io.File
            dup
            aload 1 /* outputDir */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            invokevirtual java.io.File.mkdirs:()Z
            pop
         4: .line 702
            iconst_0
            istore 2 /* separateStores */
        start local 2 // boolean separateStores
         5: .line 703
            iconst_0
            istore 3 /* printFilenames */
        start local 3 // boolean printFilenames
         6: .line 704
            iconst_0
            istore 4 /* debug */
        start local 4 // boolean debug
         7: .line 706
            iconst_1
            istore 5 /* i */
        start local 5 // int i
         8: goto 20
         9: .line 707
      StackMap locals: java.lang.String[] java.lang.String int int int int
      StackMap stack:
            aload 0 /* args */
            iload 5 /* i */
            aaload
            ldc "--separate-stores"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 12
        10: .line 708
            iconst_1
            istore 2 /* separateStores */
        11: .line 709
            goto 19
      StackMap locals:
      StackMap stack:
        12: aload 0 /* args */
            iload 5 /* i */
            aaload
            ldc "--print-filenames"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 15
        13: .line 710
            iconst_1
            istore 3 /* printFilenames */
        14: .line 711
            goto 19
      StackMap locals:
      StackMap stack:
        15: aload 0 /* args */
            iload 5 /* i */
            aaload
            ldc "--debug"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 18
        16: .line 712
            iconst_1
            istore 4 /* debug */
        17: .line 713
            goto 19
        18: .line 714
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "Unknown argument: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* args */
            iload 5 /* i */
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen.helpAndDie:(Ljava/lang/String;)V
        19: .line 706
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        20: iload 5 /* i */
            aload 0 /* args */
            arraylength
            if_icmplt 9
        end local 5 // int i
        21: .line 718
            aconst_null
            astore 5 /* prelude */
        start local 5 // java.lang.String prelude
        22: .line 720
            iload 3 /* printFilenames */
            ifne 28
        23: .line 721
            new java.io.FileInputStream
            dup
            ldc "llirtestgen.prelude"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.io.FileInputStream.<init>:(Ljava/lang/String;)V
            astore 6 /* preludeStream */
        start local 6 // java.io.InputStream preludeStream
        24: .line 722
            new java.io.BufferedReader
            dup
            new java.io.InputStreamReader
            dup
            aload 6 /* preludeStream */
            invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;)V
            invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
            astore 7 /* buffer */
        start local 7 // java.io.BufferedReader buffer
        25: .line 723
            aload 7 /* buffer */
            invokevirtual java.io.BufferedReader.lines:()Ljava/util/stream/Stream;
            ldc "\n"
            invokestatic java.util.stream.Collectors.joining:(Ljava/lang/CharSequence;)Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 5 /* prelude */
        26: .line 724
            aload 5 /* prelude */
            ldc ", !tbaa ![0-9]+"
            ldc ""
            invokevirtual java.lang.String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* prelude */
        27: .line 725
            aload 5 /* prelude */
            ldc "declare[a-z_ ]* void @run.*\n"
            ldc ""
            invokevirtual java.lang.String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* prelude */
        end local 7 // java.io.BufferedReader buffer
        end local 6 // java.io.InputStream preludeStream
        28: .line 728
      StackMap locals: java.lang.String[] java.lang.String int int int java.lang.String
      StackMap stack:
            ldc Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen;
            invokevirtual java.lang.Class.getCanonicalName:()Ljava/lang/String;
            astore 6 /* progName */
        start local 6 // java.lang.String progName
        29: .line 730
            new java.util.HashSet
            dup
            sipush 302
            anewarray java.lang.String
            dup
            iconst_0
            ldc "add_16xi1"
            aastore
            dup
            iconst_1
            ldc "add_1xi1"
            aastore
            dup
            iconst_2
            ldc "add_2xi1"
            aastore
            dup
            iconst_3
            ldc "add_32xi1"
            aastore
            dup
            iconst_4
            ldc "add_3xi1"
            aastore
            dup
            iconst_5
            ldc "add_4xi1"
            aastore
            dup
            bipush 6
            ldc "add_5xi1"
            aastore
            dup
            bipush 7
            ldc "add_6xi1"
            aastore
            dup
            bipush 8
            ldc "add_7xi1"
            aastore
            dup
            bipush 9
            ldc "add_8xi1"
            aastore
            dup
            bipush 10
            ldc "add_i1"
            aastore
            dup
            bipush 11
        30: .line 731
            ldc "and_16xi1"
            aastore
            dup
            bipush 12
            ldc "and_1xi1"
            aastore
            dup
            bipush 13
            ldc "and_2xi1"
            aastore
            dup
            bipush 14
            ldc "and_32xi1"
            aastore
            dup
            bipush 15
            ldc "and_3xi1"
            aastore
            dup
            bipush 16
            ldc "and_4xi1"
            aastore
            dup
            bipush 17
            ldc "and_5xi1"
            aastore
            dup
            bipush 18
            ldc "and_6xi1"
            aastore
            dup
            bipush 19
            ldc "and_7xi1"
            aastore
            dup
            bipush 20
            ldc "and_8xi1"
            aastore
            dup
            bipush 21
            ldc "and_i1"
            aastore
            dup
            bipush 22
            ldc "ashr_16xi1"
            aastore
            dup
            bipush 23
            ldc "ashr_16xi16"
            aastore
            dup
            bipush 24
            ldc "ashr_16xi8"
            aastore
            dup
            bipush 25
        31: .line 732
            ldc "ashr_1xi1"
            aastore
            dup
            bipush 26
            ldc "ashr_2xi1"
            aastore
            dup
            bipush 27
            ldc "ashr_2xi16"
            aastore
            dup
            bipush 28
            ldc "ashr_2xi32"
            aastore
            dup
            bipush 29
            ldc "ashr_2xi64"
            aastore
            dup
            bipush 30
            ldc "ashr_2xi8"
            aastore
            dup
            bipush 31
            ldc "ashr_32xi1"
            aastore
            dup
            bipush 32
            ldc "ashr_32xi8"
            aastore
            dup
            bipush 33
            ldc "ashr_3xi1"
            aastore
            dup
            bipush 34
            ldc "ashr_3xi16"
            aastore
            dup
            bipush 35
            ldc "ashr_3xi32"
            aastore
            dup
            bipush 36
            ldc "ashr_3xi32"
            aastore
            dup
            bipush 37
        32: .line 733
            ldc "ashr_3xi64"
            aastore
            dup
            bipush 38
            ldc "ashr_4xi1"
            aastore
            dup
            bipush 39
            ldc "ashr_4xi16"
            aastore
            dup
            bipush 40
            ldc "ashr_4xi32"
            aastore
            dup
            bipush 41
            ldc "ashr_4xi64"
            aastore
            dup
            bipush 42
            ldc "ashr_5xi1"
            aastore
            dup
            bipush 43
            ldc "ashr_5xi16"
            aastore
            dup
            bipush 44
            ldc "ashr_5xi32"
            aastore
            dup
            bipush 45
            ldc "ashr_5xi8"
            aastore
            dup
            bipush 46
            ldc "ashr_6xi1"
            aastore
            dup
            bipush 47
            ldc "ashr_6xi16"
            aastore
            dup
            bipush 48
            ldc "ashr_6xi32"
            aastore
            dup
            bipush 49
            ldc "ashr_6xi8"
            aastore
            dup
            bipush 50
        33: .line 734
            ldc "ashr_7xi1"
            aastore
            dup
            bipush 51
            ldc "ashr_7xi16"
            aastore
            dup
            bipush 52
            ldc "ashr_7xi32"
            aastore
            dup
            bipush 53
            ldc "ashr_7xi8"
            aastore
            dup
            bipush 54
            ldc "ashr_8xi1"
            aastore
            dup
            bipush 55
            ldc "ashr_8xi16"
            aastore
            dup
            bipush 56
            ldc "ashr_8xi32"
            aastore
            dup
            bipush 57
            ldc "ashr_8xi8"
            aastore
            dup
            bipush 58
            ldc "ashr_i1"
            aastore
            dup
            bipush 59
            ldc "bitcast_16xi1"
            aastore
            dup
            bipush 60
            ldc "bitcast_1xi1"
            aastore
            dup
            bipush 61
            ldc "bitcast_2xi1"
            aastore
            dup
            bipush 62
        34: .line 735
            ldc "bitcast_32xi1"
            aastore
            dup
            bipush 63
            ldc "bitcast_3xi1"
            aastore
            dup
            bipush 64
            ldc "bitcast_4xi1"
            aastore
            dup
            bipush 65
            ldc "bitcast_5xi1"
            aastore
            dup
            bipush 66
            ldc "bitcast_6xi1"
            aastore
            dup
            bipush 67
            ldc "bitcast_7xi1"
            aastore
            dup
            bipush 68
            ldc "bitcast_8xi1"
            aastore
            dup
            bipush 69
            ldc "bitcast_i1"
            aastore
            dup
            bipush 70
            ldc "bitcast_i32"
            aastore
            dup
            bipush 71
            ldc "fpext_x86_fp80"
            aastore
            dup
            bipush 72
            ldc "fptosi_i1"
            aastore
            dup
            bipush 73
        35: .line 736
            ldc "fptosi_i16"
            aastore
            dup
            bipush 74
            ldc "fptosi_i32"
            aastore
            dup
            bipush 75
            ldc "fptosi_i64"
            aastore
            dup
            bipush 76
            ldc "fptosi_i8"
            aastore
            dup
            bipush 77
            ldc "fptoui_i1"
            aastore
            dup
            bipush 78
            ldc "fptoui_i16"
            aastore
            dup
            bipush 79
            ldc "fptoui_i32"
            aastore
            dup
            bipush 80
            ldc "fptoui_i64"
            aastore
            dup
            bipush 81
            ldc "fptoui_i8"
            aastore
            dup
            bipush 82
            ldc "fptrunc_double"
            aastore
            dup
            bipush 83
            ldc "fptrunc_float"
            aastore
            dup
            bipush 84
            ldc "lshr_16xi1"
            aastore
            dup
            bipush 85
        36: .line 737
            ldc "lshr_16xi16"
            aastore
            dup
            bipush 86
            ldc "lshr_16xi8"
            aastore
            dup
            bipush 87
            ldc "lshr_1xi1"
            aastore
            dup
            bipush 88
            ldc "lshr_2xi1"
            aastore
            dup
            bipush 89
            ldc "lshr_2xi16"
            aastore
            dup
            bipush 90
            ldc "lshr_2xi32"
            aastore
            dup
            bipush 91
            ldc "lshr_2xi64"
            aastore
            dup
            bipush 92
            ldc "lshr_32xi1"
            aastore
            dup
            bipush 93
            ldc "lshr_32xi8"
            aastore
            dup
            bipush 94
            ldc "lshr_3xi1"
            aastore
            dup
            bipush 95
            ldc "lshr_3xi16"
            aastore
            dup
            bipush 96
            ldc "lshr_3xi32"
            aastore
            dup
            bipush 97
        37: .line 738
            ldc "lshr_3xi64"
            aastore
            dup
            bipush 98
            ldc "lshr_4xi1"
            aastore
            dup
            bipush 99
            ldc "lshr_4xi16"
            aastore
            dup
            bipush 100
            ldc "lshr_4xi32"
            aastore
            dup
            bipush 101
            ldc "lshr_4xi64"
            aastore
            dup
            bipush 102
            ldc "lshr_5xi1"
            aastore
            dup
            bipush 103
            ldc "lshr_5xi16"
            aastore
            dup
            bipush 104
            ldc "lshr_5xi32"
            aastore
            dup
            bipush 105
            ldc "lshr_5xi8"
            aastore
            dup
            bipush 106
            ldc "lshr_6xi1"
            aastore
            dup
            bipush 107
            ldc "lshr_6xi16"
            aastore
            dup
            bipush 108
            ldc "lshr_6xi32"
            aastore
            dup
            bipush 109
            ldc "lshr_6xi8"
            aastore
            dup
            bipush 110
        38: .line 739
            ldc "lshr_7xi1"
            aastore
            dup
            bipush 111
            ldc "lshr_7xi16"
            aastore
            dup
            bipush 112
            ldc "lshr_7xi32"
            aastore
            dup
            bipush 113
            ldc "lshr_7xi8"
            aastore
            dup
            bipush 114
            ldc "lshr_8xi1"
            aastore
            dup
            bipush 115
            ldc "lshr_8xi16"
            aastore
            dup
            bipush 116
            ldc "lshr_8xi32"
            aastore
            dup
            bipush 117
            ldc "lshr_8xi8"
            aastore
            dup
            bipush 118
            ldc "lshr_i1"
            aastore
            dup
            bipush 119
            ldc "mul_16xi1"
            aastore
            dup
            bipush 120
            ldc "mul_1xi1"
            aastore
            dup
            bipush 121
            ldc "mul_2xi1"
            aastore
            dup
            bipush 122
            ldc "mul_32xi1"
            aastore
            dup
            bipush 123
        39: .line 740
            ldc "mul_3xi1"
            aastore
            dup
            bipush 124
            ldc "mul_4xi1"
            aastore
            dup
            bipush 125
            ldc "mul_5xi1"
            aastore
            dup
            bipush 126
            ldc "mul_6xi1"
            aastore
            dup
            bipush 127
            ldc "mul_7xi1"
            aastore
            dup
            sipush 128
            ldc "mul_8xi1"
            aastore
            dup
            sipush 129
            ldc "mul_i1"
            aastore
            dup
            sipush 130
            ldc "or_16xi1"
            aastore
            dup
            sipush 131
            ldc "or_1xi1"
            aastore
            dup
            sipush 132
            ldc "or_2xi1"
            aastore
            dup
            sipush 133
            ldc "or_32xi1"
            aastore
            dup
            sipush 134
            ldc "or_3xi1"
            aastore
            dup
            sipush 135
            ldc "or_4xi1"
            aastore
            dup
            sipush 136
            ldc "or_5xi1"
            aastore
            dup
            sipush 137
            ldc "or_6xi1"
            aastore
            dup
            sipush 138
        40: .line 741
            ldc "or_7xi1"
            aastore
            dup
            sipush 139
            ldc "or_8xi1"
            aastore
            dup
            sipush 140
            ldc "or_i1"
            aastore
            dup
            sipush 141
            ldc "sdiv_i1"
            aastore
            dup
            sipush 142
            ldc "sext_16xi16"
            aastore
            dup
            sipush 143
            ldc "sext_16xi8"
            aastore
            dup
            sipush 144
            ldc "sext_1xi16"
            aastore
            dup
            sipush 145
            ldc "sext_1xi32"
            aastore
            dup
            sipush 146
            ldc "sext_1xi64"
            aastore
            dup
            sipush 147
            ldc "sext_1xi8"
            aastore
            dup
            sipush 148
            ldc "sext_2xi16"
            aastore
            dup
            sipush 149
            ldc "sext_2xi32"
            aastore
            dup
            sipush 150
            ldc "sext_2xi64"
            aastore
            dup
            sipush 151
        41: .line 742
            ldc "sext_2xi8"
            aastore
            dup
            sipush 152
            ldc "sext_32xi8"
            aastore
            dup
            sipush 153
            ldc "sext_3xi16"
            aastore
            dup
            sipush 154
            ldc "sext_3xi32"
            aastore
            dup
            sipush 155
            ldc "sext_3xi64"
            aastore
            dup
            sipush 156
            ldc "sext_3xi8"
            aastore
            dup
            sipush 157
            ldc "sext_4xi16"
            aastore
            dup
            sipush 158
            ldc "sext_4xi32"
            aastore
            dup
            sipush 159
            ldc "sext_4xi64"
            aastore
            dup
            sipush 160
            ldc "sext_4xi8"
            aastore
            dup
            sipush 161
            ldc "sext_5xi16"
            aastore
            dup
            sipush 162
            ldc "sext_5xi32"
            aastore
            dup
            sipush 163
        42: .line 743
            ldc "sext_5xi8"
            aastore
            dup
            sipush 164
            ldc "sext_6xi16"
            aastore
            dup
            sipush 165
            ldc "sext_6xi32"
            aastore
            dup
            sipush 166
            ldc "sext_6xi8"
            aastore
            dup
            sipush 167
            ldc "sext_7xi16"
            aastore
            dup
            sipush 168
            ldc "sext_7xi32"
            aastore
            dup
            sipush 169
            ldc "sext_7xi8"
            aastore
            dup
            sipush 170
            ldc "sext_8xi16"
            aastore
            dup
            sipush 171
            ldc "sext_8xi32"
            aastore
            dup
            sipush 172
            ldc "sext_8xi8"
            aastore
            dup
            sipush 173
            ldc "sext_i16"
            aastore
            dup
            sipush 174
            ldc "sext_i32"
            aastore
            dup
            sipush 175
            ldc "sext_i64"
            aastore
            dup
            sipush 176
        43: .line 744
            ldc "sext_i8"
            aastore
            dup
            sipush 177
            ldc "shl_16xi1"
            aastore
            dup
            sipush 178
            ldc "shl_16xi16"
            aastore
            dup
            sipush 179
            ldc "shl_16xi8"
            aastore
            dup
            sipush 180
            ldc "shl_1xi1"
            aastore
            dup
            sipush 181
            ldc "shl_2xi1"
            aastore
            dup
            sipush 182
            ldc "shl_2xi16"
            aastore
            dup
            sipush 183
            ldc "shl_2xi32"
            aastore
            dup
            sipush 184
            ldc "shl_2xi64"
            aastore
            dup
            sipush 185
            ldc "shl_32xi1"
            aastore
            dup
            sipush 186
            ldc "shl_32xi8"
            aastore
            dup
            sipush 187
            ldc "shl_3xi1"
            aastore
            dup
            sipush 188
            ldc "shl_3xi16"
            aastore
            dup
            sipush 189
        44: .line 745
            ldc "shl_3xi32"
            aastore
            dup
            sipush 190
            ldc "shl_3xi64"
            aastore
            dup
            sipush 191
            ldc "shl_4xi1"
            aastore
            dup
            sipush 192
            ldc "shl_4xi16"
            aastore
            dup
            sipush 193
            ldc "shl_4xi32"
            aastore
            dup
            sipush 194
            ldc "shl_4xi64"
            aastore
            dup
            sipush 195
            ldc "shl_5xi1"
            aastore
            dup
            sipush 196
            ldc "shl_5xi16"
            aastore
            dup
            sipush 197
            ldc "shl_5xi32"
            aastore
            dup
            sipush 198
            ldc "shl_6xi1"
            aastore
            dup
            sipush 199
            ldc "shl_6xi16"
            aastore
            dup
            sipush 200
            ldc "shl_6xi32"
            aastore
            dup
            sipush 201
            ldc "shl_7xi1"
            aastore
            dup
            sipush 202
        45: .line 746
            ldc "shl_7xi16"
            aastore
            dup
            sipush 203
            ldc "shl_7xi32"
            aastore
            dup
            sipush 204
            ldc "shl_8xi1"
            aastore
            dup
            sipush 205
            ldc "shl_8xi16"
            aastore
            dup
            sipush 206
            ldc "shl_8xi32"
            aastore
            dup
            sipush 207
            ldc "shl_i1"
            aastore
            dup
            sipush 208
            ldc "sitofp_double"
            aastore
            dup
            sipush 209
            ldc "sitofp_float"
            aastore
            dup
            sipush 210
            ldc "sitofp_x86_fp80"
            aastore
            dup
            sipush 211
            ldc "srem_i1"
            aastore
            dup
            sipush 212
            ldc "sub_16xi1"
            aastore
            dup
            sipush 213
            ldc "sub_1xi1"
            aastore
            dup
            sipush 214
            ldc "sub_2xi1"
            aastore
            dup
            sipush 215
        46: .line 747
            ldc "sub_32xi1"
            aastore
            dup
            sipush 216
            ldc "sub_3xi1"
            aastore
            dup
            sipush 217
            ldc "sub_4xi1"
            aastore
            dup
            sipush 218
            ldc "sub_5xi1"
            aastore
            dup
            sipush 219
            ldc "sub_6xi1"
            aastore
            dup
            sipush 220
            ldc "sub_7xi1"
            aastore
            dup
            sipush 221
            ldc "sub_8xi1"
            aastore
            dup
            sipush 222
            ldc "sub_i1"
            aastore
            dup
            sipush 223
            ldc "trunc_16xi1"
            aastore
            dup
            sipush 224
            ldc "trunc_1xi1"
            aastore
            dup
            sipush 225
            ldc "trunc_2xi1"
            aastore
            dup
            sipush 226
            ldc "trunc_32xi1"
            aastore
            dup
            sipush 227
            ldc "trunc_3xi1"
            aastore
            dup
            sipush 228
        47: .line 748
            ldc "trunc_4xi1"
            aastore
            dup
            sipush 229
            ldc "trunc_5xi1"
            aastore
            dup
            sipush 230
            ldc "trunc_6xi1"
            aastore
            dup
            sipush 231
            ldc "trunc_7xi1"
            aastore
            dup
            sipush 232
            ldc "trunc_8xi1"
            aastore
            dup
            sipush 233
            ldc "trunc_i1"
            aastore
            dup
            sipush 234
            ldc "udiv_i1"
            aastore
            dup
            sipush 235
            ldc "uitofp_double"
            aastore
            dup
            sipush 236
            ldc "uitofp_float"
            aastore
            dup
            sipush 237
            ldc "uitofp_x86_fp80"
            aastore
            dup
            sipush 238
            ldc "urem_i1"
            aastore
            dup
            sipush 239
            ldc "xor_16xi1"
            aastore
            dup
            sipush 240
        48: .line 749
            ldc "xor_1xi1"
            aastore
            dup
            sipush 241
            ldc "xor_2xi1"
            aastore
            dup
            sipush 242
            ldc "xor_32xi1"
            aastore
            dup
            sipush 243
            ldc "xor_3xi1"
            aastore
            dup
            sipush 244
            ldc "xor_4xi1"
            aastore
            dup
            sipush 245
            ldc "xor_5xi1"
            aastore
            dup
            sipush 246
            ldc "xor_6xi1"
            aastore
            dup
            sipush 247
            ldc "xor_7xi1"
            aastore
            dup
            sipush 248
            ldc "xor_8xi1"
            aastore
            dup
            sipush 249
            ldc "xor_i1"
            aastore
            dup
            sipush 250
            ldc "zext_16xi16"
            aastore
            dup
            sipush 251
            ldc "zext_16xi8"
            aastore
            dup
            sipush 252
            ldc "zext_1xi16"
            aastore
            dup
            sipush 253
            ldc "zext_1xi32"
            aastore
            dup
            sipush 254
        49: .line 750
            ldc "zext_1xi64"
            aastore
            dup
            sipush 255
            ldc "zext_1xi8"
            aastore
            dup
            sipush 256
            ldc "zext_2xi16"
            aastore
            dup
            sipush 257
            ldc "zext_2xi32"
            aastore
            dup
            sipush 258
            ldc "zext_2xi64"
            aastore
            dup
            sipush 259
            ldc "zext_2xi8"
            aastore
            dup
            sipush 260
            ldc "zext_32xi8"
            aastore
            dup
            sipush 261
            ldc "zext_3xi16"
            aastore
            dup
            sipush 262
            ldc "zext_3xi32"
            aastore
            dup
            sipush 263
            ldc "zext_3xi64"
            aastore
            dup
            sipush 264
            ldc "zext_3xi8"
            aastore
            dup
            sipush 265
            ldc "zext_4xi16"
            aastore
            dup
            sipush 266
        50: .line 751
            ldc "zext_4xi32"
            aastore
            dup
            sipush 267
            ldc "zext_4xi64"
            aastore
            dup
            sipush 268
            ldc "zext_4xi8"
            aastore
            dup
            sipush 269
            ldc "zext_5xi16"
            aastore
            dup
            sipush 270
            ldc "zext_5xi32"
            aastore
            dup
            sipush 271
            ldc "zext_5xi8"
            aastore
            dup
            sipush 272
            ldc "zext_6xi16"
            aastore
            dup
            sipush 273
            ldc "zext_6xi32"
            aastore
            dup
            sipush 274
            ldc "zext_6xi8"
            aastore
            dup
            sipush 275
            ldc "zext_7xi16"
            aastore
            dup
            sipush 276
            ldc "zext_7xi32"
            aastore
            dup
            sipush 277
            ldc "zext_7xi8"
            aastore
            dup
            sipush 278
        51: .line 752
            ldc "zext_8xi16"
            aastore
            dup
            sipush 279
            ldc "zext_8xi32"
            aastore
            dup
            sipush 280
            ldc "zext_8xi8"
            aastore
            dup
            sipush 281
            ldc "zext_i16"
            aastore
            dup
            sipush 282
            ldc "zext_i32"
            aastore
            dup
            sipush 283
            ldc "zext_i64"
            aastore
            dup
            sipush 284
            ldc "zext_i8"
            aastore
            dup
            sipush 285
        52: .line 753
            ldc "shl_5xi8"
            aastore
            dup
            sipush 286
        53: .line 754
            ldc "shl_6xi8"
            aastore
            dup
            sipush 287
        54: .line 755
            ldc "shl_7xi8"
            aastore
            dup
            sipush 288
        55: .line 756
            ldc "shl_8xi8"
            aastore
            dup
            sipush 289
        56: .line 757
            ldc "fmul_x86_fp80"
            aastore
            dup
            sipush 290
        57: .line 758
            ldc "fadd_x86_fp80"
            aastore
            dup
            sipush 291
        58: .line 759
            ldc "frem_x86_fp80"
            aastore
            dup
            sipush 292
        59: .line 760
            ldc "fsub_x86_fp80"
            aastore
            dup
            sipush 293
        60: .line 761
            ldc "fdiv_x86_fp80"
            aastore
            dup
            sipush 294
        61: .line 762
            ldc "shl_2xi8"
            aastore
            dup
            sipush 295
        62: .line 763
            ldc "shl_3xi8"
            aastore
            dup
            sipush 296
        63: .line 764
            ldc "lshr_3xi8"
            aastore
            dup
            sipush 297
        64: .line 765
            ldc "lshr_2xi8"
            aastore
            dup
            sipush 298
        65: .line 766
            ldc "ashr_4xi8"
            aastore
            dup
            sipush 299
        66: .line 767
            ldc "shl_4xi8"
            aastore
            dup
            sipush 300
        67: .line 768
            ldc "lshr_4xi8"
            aastore
            dup
            sipush 301
        68: .line 769
            ldc "ashr_3xi8"
            aastore
        69: .line 730
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            astore 7 /* filenameBlacklist */
        start local 7 // java.util.Set filenameBlacklist
        70: .line 771
            invokestatic com.oracle.truffle.llvm.tests.Platform.isAArch64:()Z
            ifeq 75
        71: .line 772
            aload 7 /* filenameBlacklist */
            bipush 13
            anewarray java.lang.String
            dup
            iconst_0
        72: .line 773
            ldc "ashr_3xi8"
            aastore
            dup
            iconst_1
            ldc "ashr_4xi8"
            aastore
            dup
            iconst_2
            ldc "bitcast_x86_fp80"
            aastore
            dup
            iconst_3
            ldc "lshr_2xi8"
            aastore
            dup
            iconst_4
            ldc "lshr_3xi8"
            aastore
            dup
            iconst_5
            ldc "lshr_4xi8"
            aastore
            dup
            bipush 6
            ldc "shl_2xi8"
            aastore
            dup
            bipush 7
            ldc "shl_3xi8"
            aastore
            dup
            bipush 8
            ldc "shl_4xi8"
            aastore
            dup
            bipush 9
            ldc "add_4xi64"
            aastore
            dup
            bipush 10
            ldc "and_4xi64"
            aastore
            dup
            bipush 11
            ldc "or_4xi64"
            aastore
            dup
            bipush 12
        73: .line 774
            ldc "xor_4xi64"
            aastore
        74: .line 772
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        75: .line 777
      StackMap locals: java.lang.String java.util.Set
      StackMap stack:
            aload 7 /* filenameBlacklist */
            invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
            aload 1 /* outputDir */
            invokedynamic apply(Ljava/lang/String;)Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  com/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen.lambda$4(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; (6)
                  (Ljava/lang/String;)Ljava/lang/String;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
            invokestatic java.util.stream.Collectors.toSet:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.Set
            astore 7 /* filenameBlacklist */
        76: .line 779
            getstatic com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen.allTypes:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 9
            goto 97
      StackMap locals: java.lang.String[] java.lang.String int int int java.lang.String java.lang.String java.util.Set top java.util.Iterator
      StackMap stack:
        77: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Type
            astore 8 /* type */
        start local 8 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Type type
        78: .line 782
            iload 2 /* separateStores */
            ifeq 81
        79: .line 783
            aload 1 /* outputDir */
            ldc "store"
            aload 8 /* type */
            invokeinterface com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Type.toName:()Ljava/lang/String;
            invokestatic com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen.makeFilename:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 10 /* filename */
        start local 10 // java.lang.String filename
        80: .line 784
            iload 4 /* debug */
            aload 6 /* progName */
            aload 5 /* prelude */
            aload 10 /* filename */
            aload 8 /* type */
            invokedynamic generate()Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Generator;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (ZLjava/lang/String;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$IDCounter;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$StringDB;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Type;Ljava/lang/Object;Z)Ljava/util/Optional;
                  com/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen.genCustom(ZLjava/lang/String;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$IDCounter;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$StringDB;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Type;Ljava/lang/String;Z)Ljava/util/Optional; (6)
                  (ZLjava/lang/String;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$IDCounter;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$StringDB;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Type;Ljava/lang/String;Z)Ljava/util/Optional;
            ldc "store"
            iconst_0
            iload 3 /* printFilenames */
            aload 7 /* filenameBlacklist */
            invokestatic com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen.genFile:(ZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Type;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Generator;Ljava/lang/Object;ZZLjava/util/Set;)V
        end local 10 // java.lang.String filename
        81: .line 787
      StackMap locals: java.lang.String[] java.lang.String int int int java.lang.String java.lang.String java.util.Set com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Type java.util.Iterator
      StackMap stack:
            invokestatic com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$UnaryOp.values:()[Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$UnaryOp;
            dup
            astore 14
            arraylength
            istore 13
            iconst_0
            istore 12
            goto 88
      StackMap locals: java.lang.String[] java.lang.String int int int java.lang.String java.lang.String java.util.Set com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Type java.util.Iterator top top int int com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$UnaryOp[]
      StackMap stack:
        82: aload 14
            iload 12
            aaload
            astore 11 /* op */
        start local 11 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$UnaryOp op
        83: .line 788
            aload 1 /* outputDir */
            aload 11 /* op */
            invokevirtual com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$UnaryOp.toString:()Ljava/lang/String;
            aload 8 /* type */
            invokeinterface com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Type.toName:()Ljava/lang/String;
            invokestatic com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen.makeFilename:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 10 /* filename */
        start local 10 // java.lang.String filename
        84: .line 789
            iload 4 /* debug */
            aload 6 /* progName */
            aload 5 /* prelude */
            aload 10 /* filename */
            aload 8 /* type */
            invokedynamic generate()Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Generator;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (ZLjava/lang/String;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$IDCounter;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$StringDB;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Type;Ljava/lang/Object;Z)Ljava/util/Optional;
                  com/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen.genUnary(ZLjava/lang/String;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$IDCounter;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$StringDB;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Type;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$UnaryOp;Z)Ljava/util/Optional; (6)
                  (ZLjava/lang/String;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$IDCounter;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$StringDB;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Type;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$UnaryOp;Z)Ljava/util/Optional;
            aload 11 /* op */
            iload 2 /* separateStores */
            ifeq 85
            iconst_0
            goto 86
      StackMap locals: java.lang.String[] java.lang.String int int int java.lang.String java.lang.String java.util.Set com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Type java.util.Iterator java.lang.String com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$UnaryOp int int com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$UnaryOp[]
      StackMap stack: int java.lang.String java.lang.String java.lang.String com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Type com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Generator com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$UnaryOp
        85: iconst_1
      StackMap locals: java.lang.String[] java.lang.String int int int java.lang.String java.lang.String java.util.Set com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Type java.util.Iterator java.lang.String com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$UnaryOp int int com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$UnaryOp[]
      StackMap stack: int java.lang.String java.lang.String java.lang.String com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Type com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Generator com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$UnaryOp int
        86: iload 3 /* printFilenames */
            aload 7 /* filenameBlacklist */
            invokestatic com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen.genFile:(ZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Type;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Generator;Ljava/lang/Object;ZZLjava/util/Set;)V
        end local 11 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$UnaryOp op
        end local 10 // java.lang.String filename
        87: .line 787
            iinc 12 1
      StackMap locals: java.lang.String[] java.lang.String int int int java.lang.String java.lang.String java.util.Set com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Type java.util.Iterator top top int int com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$UnaryOp[]
      StackMap stack:
        88: iload 12
            iload 13
            if_icmplt 82
        89: .line 792
            invokestatic com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$BinaryOp.values:()[Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$BinaryOp;
            dup
            astore 14
            arraylength
            istore 13
            iconst_0
            istore 12
            goto 96
      StackMap locals: java.lang.String[] java.lang.String int int int java.lang.String java.lang.String java.util.Set com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Type java.util.Iterator top top int int com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$BinaryOp[]
      StackMap stack:
        90: aload 14
            iload 12
            aaload
            astore 11 /* op */
        start local 11 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$BinaryOp op
        91: .line 793
            aload 1 /* outputDir */
            aload 11 /* op */
            invokevirtual com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$BinaryOp.toString:()Ljava/lang/String;
            aload 8 /* type */
            invokeinterface com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Type.toName:()Ljava/lang/String;
            invokestatic com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen.makeFilename:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 10 /* filename */
        start local 10 // java.lang.String filename
        92: .line 794
            iload 4 /* debug */
            aload 6 /* progName */
            aload 5 /* prelude */
            aload 10 /* filename */
            aload 8 /* type */
            invokedynamic generate()Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Generator;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (ZLjava/lang/String;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$IDCounter;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$StringDB;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Type;Ljava/lang/Object;Z)Ljava/util/Optional;
                  com/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen.genBinary(ZLjava/lang/String;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$IDCounter;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$StringDB;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Type;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$BinaryOp;Z)Ljava/util/Optional; (6)
                  (ZLjava/lang/String;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$IDCounter;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$StringDB;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Type;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$BinaryOp;Z)Ljava/util/Optional;
            aload 11 /* op */
            iload 2 /* separateStores */
            ifeq 93
            iconst_0
            goto 94
      StackMap locals: java.lang.String[] java.lang.String int int int java.lang.String java.lang.String java.util.Set com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Type java.util.Iterator java.lang.String com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$BinaryOp int int com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$BinaryOp[]
      StackMap stack: int java.lang.String java.lang.String java.lang.String com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Type com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Generator com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$BinaryOp
        93: iconst_1
      StackMap locals: java.lang.String[] java.lang.String int int int java.lang.String java.lang.String java.util.Set com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Type java.util.Iterator java.lang.String com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$BinaryOp int int com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$BinaryOp[]
      StackMap stack: int java.lang.String java.lang.String java.lang.String com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Type com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Generator com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$BinaryOp int
        94: iload 3 /* printFilenames */
            aload 7 /* filenameBlacklist */
            invokestatic com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen.genFile:(ZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Type;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Generator;Ljava/lang/Object;ZZLjava/util/Set;)V
        end local 11 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$BinaryOp op
        end local 10 // java.lang.String filename
        95: .line 792
            iinc 12 1
      StackMap locals: java.lang.String[] java.lang.String int int int java.lang.String java.lang.String java.util.Set com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Type java.util.Iterator top top int int com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$BinaryOp[]
      StackMap stack:
        96: iload 12
            iload 13
            if_icmplt 90
        end local 8 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Type type
        97: .line 779
      StackMap locals: java.lang.String[] java.lang.String int int int java.lang.String java.lang.String java.util.Set top java.util.Iterator
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 77
        98: .line 797
            return
        end local 7 // java.util.Set filenameBlacklist
        end local 6 // java.lang.String progName
        end local 5 // java.lang.String prelude
        end local 4 // boolean debug
        end local 3 // boolean printFilenames
        end local 2 // boolean separateStores
        end local 1 // java.lang.String outputDir
        end local 0 // java.lang.String[] args
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   99     0               args  [Ljava/lang/String;
            3   99     1          outputDir  Ljava/lang/String;
            5   99     2     separateStores  Z
            6   99     3     printFilenames  Z
            7   99     4              debug  Z
            8   21     5                  i  I
           22   99     5            prelude  Ljava/lang/String;
           24   28     6      preludeStream  Ljava/io/InputStream;
           25   28     7             buffer  Ljava/io/BufferedReader;
           29   99     6           progName  Ljava/lang/String;
           70   99     7  filenameBlacklist  Ljava/util/Set<Ljava/lang/String;>;
           78   97     8               type  Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Type;
           80   81    10           filename  Ljava/lang/String;
           84   87    10           filename  Ljava/lang/String;
           92   95    10           filename  Ljava/lang/String;
           83   87    11                 op  Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$UnaryOp;
           91   95    11                 op  Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$BinaryOp;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      args  

  private static boolean lambda$3(com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$ScalarType);
    descriptor: (Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$ScalarType;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$ScalarType s
         0: .line 181
            aload 0 /* s */
            getfield com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$ScalarType.include:Z
            ireturn
        end local 0 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$ScalarType s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     s  Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$ScalarType;

  private static java.lang.String lambda$0(com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Type, java.lang.String, com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Type);
    descriptor: (Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Type;Ljava/lang/String;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Type;)Ljava/lang/String;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Type inputType
        start local 1 // java.lang.String inputId
        start local 2 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Type outputType
         0: .line 210
            ldc "%s %s to %s"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* inputType */
            aastore
            dup
            iconst_1
            aload 1 /* inputId */
            aastore
            dup
            iconst_2
         1: .line 211
            aload 2 /* outputType */
            aastore
         2: .line 210
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
         3: .line 211
            areturn
        end local 2 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Type outputType
        end local 1 // java.lang.String inputId
        end local 0 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Type inputType
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0   inputType  Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Type;
            0    4     1     inputId  Ljava/lang/String;
            0    4     2  outputType  Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Type;

  private static java.lang.String lambda$1(com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Type, java.lang.String, com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Type);
    descriptor: (Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Type;Ljava/lang/String;Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Type;)Ljava/lang/String;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Type inputType
        start local 1 // java.lang.String inputId
        start local 2 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Type outputType
         0: .line 212
            ldc "%s %s"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* inputType */
            aastore
            dup
            iconst_1
            aload 1 /* inputId */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            areturn
        end local 2 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Type outputType
        end local 1 // java.lang.String inputId
        end local 0 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Type inputType
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0   inputType  Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Type;
            0    1     1     inputId  Ljava/lang/String;
            0    1     2  outputType  Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Type;

  private static java.lang.String lambda$2(com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Type, java.lang.String, java.lang.String);
    descriptor: (Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Type;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Type inputType
        start local 1 // java.lang.String inputId0
        start local 2 // java.lang.String inputId1
         0: .line 300
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 0 /* inputType */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* inputId0 */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* inputId1 */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.String inputId1
        end local 1 // java.lang.String inputId0
        end local 0 // com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Type inputType
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0  inputType  Lcom/oracle/truffle/llvm/tests/llirtestgen/LLIRTestGen$Type;
            0    1     1   inputId0  Ljava/lang/String;
            0    1     2   inputId1  Ljava/lang/String;

  private static java.lang.String lambda$4(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // java.lang.String s
         0: .line 777
            aload 0
            aload 1 /* s */
            invokestatic com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen.makeBlacklistFilename:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 1 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1     s  Ljava/lang/String;
}
SourceFile: "LLIRTestGen.java"
NestMembers:
  com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$BinaryOp  com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$BinaryOp$1  com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$BinaryOp$10  com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$BinaryOp$11  com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$BinaryOp$12  com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$BinaryOp$13  com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$BinaryOp$14  com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$BinaryOp$15  com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$BinaryOp$16  com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$BinaryOp$17  com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$BinaryOp$18  com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$BinaryOp$2  com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$BinaryOp$3  com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$BinaryOp$4  com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$BinaryOp$5  com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$BinaryOp$6  com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$BinaryOp$7  com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$BinaryOp$8  com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$BinaryOp$9  com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$BinaryOpFormatter  com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Generator  com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$IDCounter  com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Info  com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$LoadedValues  com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$ScalarType  com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$StringDB  com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Type  com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$UnaryOp  com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$UnaryOp$1  com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$UnaryOp$10  com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$UnaryOp$11  com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$UnaryOp$2  com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$UnaryOp$3  com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$UnaryOp$4  com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$UnaryOp$5  com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$UnaryOp$6  com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$UnaryOp$7  com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$UnaryOp$8  com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$UnaryOp$9  com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$UnaryOpFormatter  com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$VectorType
InnerClasses:
  public abstract BinaryOp = com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$BinaryOp of com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen
  abstract BinaryOpFormatter = com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$BinaryOpFormatter of com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen
  private abstract Generator = com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Generator of com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen
  IDCounter = com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$IDCounter of com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen
  Info = com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Info of com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen
  LoadedValues = com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$LoadedValues of com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen
  private final ScalarType = com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$ScalarType of com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen
  StringDB = com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$StringDB of com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen
  private abstract Type = com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$Type of com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen
  public abstract UnaryOp = com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$UnaryOp of com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen
  abstract UnaryOpFormatter = com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$UnaryOpFormatter of com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen
  private VectorType = com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen$VectorType of com.oracle.truffle.llvm.tests.llirtestgen.LLIRTestGen
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles