LLVM: lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp File Reference (original) (raw)
This file contains the IR transform to lower external or indirect calls for the ARM64EC calling convention. More...
Go to the source code of this file.
| Macros | |
|---|---|
| #define | DEBUG_TYPE "arm64eccalllowering" |
| Functions | |
|---|---|
| STATISTIC (Arm64ECCallsLowered, "Number of Arm64EC calls lowered") | |
| std::optional< std::string > | getArm64ECMangledFunctionName (GlobalValue &GV) |
| INITIALIZE_PASS (AArch64Arm64ECCallLowering, "Arm64ECCallLowering", "AArch64Arm64ECCallLowering", false, false) ModulePass *llvm |
| Variables | |
|---|---|
| static cl::opt< bool > | LowerDirectToIndirect ("arm64ec-lower-direct-to-indirect", cl::Hidden, cl::init(true)) |
| static cl::opt< bool > | GenerateThunks ("arm64ec-generate-thunks", cl::Hidden, cl::init(true)) |
Detailed Description
This file contains the IR transform to lower external or indirect calls for the ARM64EC calling convention.
Such calls must go through the runtime, so we can translate the calling convention for calls into the emulator.
This subsumes Control Flow Guard handling.
Definition in file AArch64Arm64ECCallLowering.cpp.
Macro Definition Documentation
◆ DEBUG_TYPE
#define DEBUG_TYPE "arm64eccalllowering"
Typedef Documentation
◆ OperandBundleDef
Function Documentation
◆ getArm64ECMangledFunctionName()
◆ INITIALIZE_PASS()
| INITIALIZE_PASS | ( | AArch64Arm64ECCallLowering | , |
|---|---|---|---|
| "Arm64ECCallLowering" | , | ||
| "AArch64Arm64ECCallLowering" | , | ||
| false | , | ||
| false | ) |
◆ STATISTIC()
| STATISTIC | ( | Arm64ECCallsLowered | , |
|---|---|---|---|
| "Number of Arm64EC calls lowered" | ) |
Variable Documentation
◆ GenerateThunks
| cl::opt< bool > GenerateThunks("arm64ec-generate-thunks", cl::Hidden, cl::init(true)) ( "arm64ec-generate-thunks" , cl::Hidden , cl::init(true) ) | static |
|---|
◆ LowerDirectToIndirect
| cl::opt< bool > LowerDirectToIndirect("arm64ec-lower-direct-to-indirect", cl::Hidden, cl::init(true)) ( "arm64ec-lower-direct-to-indirect" , cl::Hidden , cl::init(true) ) | static |
|---|