void PEI::initShrinkWrappingInfo() {
clearAllSets();
EntryBlock = 0;
+#ifndef NDEBUG
HasFastExitPath = false;
+#endif
ShrinkWrapThisFunction = ShrinkWrapping;
// DEBUG: enable or disable shrink wrapping for the current function
// via --shrink-wrap-func=<funcname>.
MachineBasicBlock* SUCC = *SI;
// Assume positive, disprove existence of fast path.
+#ifndef NDEBUG
HasFastExitPath = true;
+#endif
// Check the immediate successors.
if (isReturnBlock(SUCC)) {
MachineBasicBlock* SBB = *BI;
// Reject paths with branch nodes.
if (SBB->succ_size() > 1) {
+#ifndef NDEBUG
HasFastExitPath = false;
+#endif
break;
}
exitPath += "->" + getBasicBlockName(SBB);
}
+#ifndef NDEBUG
if (HasFastExitPath) {
if (ShrinkWrapDebugging >= BasicInfo)
DOUT << "Fast exit path: " << getBasicBlockName(EntryBlock)
<< "->" << exitPath << "\n";
break;
}
+#endif
}
}