/** * Add pointer flow constraints based on instructions in a given node */ protected void addNodeInstructionConstraints(CGNode node, IProgressMonitor monitor) throws CancelException { this.monitor = monitor; ConstraintVisitor v = makeVisitor(node); IRView ir = v.ir; for (ISSABasicBlock sbb : Iterator2Iterable.make(ir.getBlocks())) { BasicBlock b = (BasicBlock) sbb; addBlockInstructionConstraints(node, ir, b, v, monitor); if (wasChanged(node)) { return; } } }
/** * Add pointer flow constraints based on instructions in a given node */ protected void addNodeInstructionConstraints(CGNode node, IProgressMonitor monitor) throws CancelException { this.monitor = monitor; ConstraintVisitor v = makeVisitor(node); IRView ir = v.ir; for (ISSABasicBlock sbb : Iterator2Iterable.make(ir.getBlocks())) { BasicBlock b = (BasicBlock) sbb; addBlockInstructionConstraints(node, ir, b, v, monitor); if (wasChanged(node)) { return; } } }