code: public void setRequiredPragmas(Instruction instruction) {
        final boolean setDouble = instruction.getByteCode().usesDouble();
        if (setDouble) {
           usesDoubles = true;
           if (logger.isLoggable(Level.FINE)) {
              logger.fine("Found D on =" + instruction + " in " + getName());
           }
        }
  
        if ((instruction instanceof I_BASTORE) || (instruction instanceof I_CASTORE /* || instruction instanceof I_SASTORE */)) {
           usesByteWrites = true;
           if (usesByteWrites && logger.isLoggable(Level.FINE)) {
              logger.fine("Found Byte Addressable Store on =" + instruction + " in " + getName());
           }
        }
     }
docs: Look at each instruction for use of long/double or byte writes which
  require pragmas to be used in the OpenCL source