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
Name | Value | Comment |
---|---|---|
MachineOutlinerDefault | 0 | |
MachineOutlinerTailCall | 1 |