enum MachineOutlinerClass

Description

Constants defining how certain sequences should be outlined. \p MachineOutlinerDefault implies that the function is called with a call instruction, and a return must be emitted for the outlined function frame. That is, I1 OUTLINED_FUNCTION: I2 --> call OUTLINED_FUNCTION I1 I3 I2 I3 ret * 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, I1 OUTLINED_FUNCTION: I2 --> jmp OUTLINED_FUNCTION I1 ret I2 ret * Call construction overhead: 1 (jump instruction) * Frame construction overhead: 0 (don't need to return)

Declared at: llvm/lib/Target/X86/X86InstrInfo.cpp:9498

Enumerators

NameValueComment
MachineOutlinerDefault0
MachineOutlinerTailCall1