if (record->getType()==NONLOCALTRANS) {
return;
}
+ if (record->getType()==LOOPEXIT) {
+ return;
+ }
if (record->getType()==BRANCHDIR) {
EPRecord *next=record->getNextRecord();
if (next != NULL)
Constraint * storeload=getOrderConstraint(store, rec);
Constraint * earlystoreload=getOrderConstraint(laststore, rec);
Constraint * c=new Constraint(IMPLIES, storeload, earlystoreload);
- ADDCONSTRAINT(c, "earylstore");
+ ADDCONSTRAINT(c, "earlystore");
}
if (lastload != NULL) {
Constraint * storeearlyload=getOrderConstraint(store, lastload);
Constraint * storeload=getOrderConstraint(store, rec);
Constraint * c=new Constraint(IMPLIES, storeearlyload, storeload);
- ADDCONSTRAINT(c, "earylload");
+ ADDCONSTRAINT(c, "earlyload");
}
lastload=rec;
}
recordExecCond(record);
insertBranch(record);
break;
+ case LOOPEXIT:
+ recordExecCond(record);
+ break;
case NONLOCALTRANS:
recordExecCond(record);
insertNonLocal(record);
if (record->getType()==NONLOCALTRANS) {
return;
}
+ if (record->getType()==LOOPEXIT) {
+ return;
+ }
if (record->getType()==BRANCHDIR) {
EPRecord *next=record->getNextRecord();
if (next != NULL)