private void recomputeDomination(Block root) {
		Queue<Block> queue = new LinkedList<Block>();
		queue.add(root);
		while (!queue.isEmpty()) {
			Block blk = queue.remove();
			if (blk == null) {
				continue;
			}
			if (blk.getNextBlock() != null) {
				if (!blk.getNextBlock().isBackEdgeFrom(blk)) {
					blk.getNextBlock().updateDominator(blk);
					queue.add(blk.getNextBlock());
				}
			}
			if (blk.getNegBranchBlock() != null) {
				if (!blk.getNegBranchBlock().isBackEdgeFrom(blk)) {
					blk.getNegBranchBlock().updateDominator(blk);
					queue.add(blk.getNegBranchBlock());
				}
			}
		}
	}