java.util.Set heapTypes, boolean insertUsePhis, boolean insertPEIDeps) {
java.util.Set heapTypes, boolean insertUsePhis, boolean insertPEIDeps, boolean excludeGuards) {
  private void computeSSA (OPT_IR ir, boolean scalarsOnly, boolean backwards,       java.util.Set heapTypes, boolean insertUsePhis, boolean insertPEIDeps) {    // if reads Kill.  model this with uphis.    if (ir.options.READS_KILL) insertUsePhis = true;    if (OPT_SSA.containsUnsupportedOpcode(ir))      throw  new OPT_OperationNotImplementedException(          "Warning: SSA skipped due to unsupported opcode");    // reset Array SSA information    if (!scalarsOnly)      ir.HIRInfo.SSADictionary = new OPT_SSADictionary(          heapTypes, insertUsePhis, insertPEIDeps, ir);     else       ir.HIRInfo.SSADictionary = new OPT_SSADictionary(	  null, insertUsePhis, insertPEIDeps, ir);    if (DEBUG)      System.out.println("Computing register lists...");    // 1. re-compute the flow-insensitive isSSA flag for each register    OPT_DefUse.computeDU(ir);    OPT_DefUse.recomputeSSA(ir);    // 2. set up a mapping from symbolic register number to the    //	register.  !!TODO: factor this out and make it more    //	useful.    OPT_Register[] symbolicRegisters = getSymbolicRegisters(ir);    // 3. walk through the IR, and set up BitVectors representing the defs    //    for each symbolic register (more efficient than using register    //	lists)    if (DEBUG)      System.out.println("Find defs for each register...");    OPT_BitVector[] defSets = getDefSets(ir);    // 4. Insert phi functions for scalars    if (DEBUG)      System.out.println("Insert phi functions...");    insertPhiFunctions(ir, defSets, symbolicRegisters);    // 5. Insert heap variables into the Array SSA form    if (!scalarsOnly) {      insertHeapVariables(ir, backwards);    }    if (DEBUG)      System.out.println("Before renaming...");    if (DEBUG)      OPT_SSA.printInstructions(ir);    if (DEBUG)      System.out.println("Renaming...");    renameSymbolicRegisters(ir, symbolicRegisters);    if (!scalarsOnly) {      renameHeapVariables(ir);    }    if (DEBUG)      System.out.println("SSA done.");    if (ir.options.PRINT_SSA)      OPT_SSA.printInstructions(ir);  }