///
/// * Call construction overhead: 1 (call instruction)
/// * Frame construction overhead: 1 (return instruction)
-///
+///
/// \p MachineOutlinerTailCall implies that the function is being tail called.
/// A jump is emitted instead of a call, and the return is already present in
/// the outlined sequence. That is,
MachineOutlinerTailCall, // Type of call.
MachineOutlinerTailCall // Type of frame.
);
-
+
return MachineOutlinerInfo(1, 1, MachineOutlinerDefault,
MachineOutlinerDefault);
}
// with the stack.
if (!F->hasFnAttribute(Attribute::NoRedZone))
return false;
-
+
// If we *don't* want to outline from things that could potentially be deduped
// then return false.
if (!OutlineFromLinkOnceODRs && F->hasLinkOnceODRLinkage())
return false;
-
+
// This function is viable for outlining, so return true.
return true;
}