X-Git-Url: http://plrg.eecs.uci.edu/git/?p=repair.git;a=blobdiff_plain;f=Repair%2FRepairCompiler%2FMCC%2FIR%2FRepairGenerator.java;h=79b89a65c7cda0189d94cd05ad8b30146d42f3e0;hp=c09637293fc32f3bee4cab08acd536e2db4b74e2;hb=f9e84f661a348d52ec5a96e246f028e3cb102fb4;hpb=e2af60de1736531dfe9f5ce4b5192e2d343434b8 diff --git a/Repair/RepairCompiler/MCC/IR/RepairGenerator.java b/Repair/RepairCompiler/MCC/IR/RepairGenerator.java index c096372..79b89a6 100755 --- a/Repair/RepairCompiler/MCC/IR/RepairGenerator.java +++ b/Repair/RepairCompiler/MCC/IR/RepairGenerator.java @@ -753,13 +753,7 @@ public class RepairGenerator { } private void generate_checks() { - /* do constraint checks */ - // Vector constraints = state.vConstraints; - - - // for (int i = 0; i < constraints.size(); i++) { - // Constraint constraint = (Constraint) constraints.elementAt(i); Iterator i; if (Compiler.REPAIR) i=termination.constraintdependence.computeOrdering().iterator(); @@ -845,14 +839,14 @@ public class RepairGenerator { p.generate(cr,predvalue); if (k==0) cr.outputline("int "+costvar.getSafeSymbol()+"=0;"); - + if (negate) cr.outputline("if (maybe||"+predvalue.getSafeSymbol()+")"); else cr.outputline("if (maybe||!"+predvalue.getSafeSymbol()+")"); cr.outputline(costvar.getSafeSymbol()+"+="+cost.getCost(dpred)+";"); } - + if(!first) { cr.outputline("if ("+costvar.getSafeSymbol()+"<"+mincost.getSafeSymbol()+")"); cr.startblock(); @@ -868,7 +862,6 @@ public class RepairGenerator { for(int j=0;jaddrelation("+rd.getNum()+","+r.getNum()+","+leftside.getSafeSymbol()+","+rightside.getSafeSymbol()+",(int) &"+name+");"); + + if (ar.needsRemoves(state)) + for(int i=0;iaddrelation("+rd.getNum()+","+r.getNum()+","+leftside.getSafeSymbol()+","+rightside.getSafeSymbol()+",(int) &"+name+");"); + } } } } - } /* Now do addition */ UpdateNode un=munadd.getUpdate(0); String name=(String)updatenames.get(un);