Go to the source code of this file.
|
namespace | llvm |
| This is an optimization pass for GlobalISel generic memory operations.
|
|
|
cl::opt< UncheckedLdStMode > | ClUncheckedLdSt ("stack-tagging-unchecked-ld-st", cl::Hidden, cl::init(UncheckedSafe), cl::desc("Unconditionally apply unchecked-ld-st optimization (even for large " "stack frames, or in the presence of variable sized allocas)."), cl::values(clEnumValN(UncheckedNever, "never", "never apply unchecked-ld-st"), clEnumValN(UncheckedSafe, "safe", "apply unchecked-ld-st when the target is definitely within range"), clEnumValN(UncheckedAlways, "always", "always apply unchecked-ld-st"))) |
|
static cl::opt< bool > | ClFirstSlot ("stack-tagging-first-slot-opt", cl::Hidden, cl::init(true), cl::desc("Apply first slot optimization for stack tagging " "(eliminate ADDG Rt, Rn, 0, 0).")) |
|
aarch64 stack tagging pre | ra |
|
aarch64 stack tagging pre AArch64 Stack Tagging PreRA | Pass |
|
aarch64 stack tagging pre AArch64 Stack Tagging PreRA | false |
|
◆ DEBUG_TYPE
#define DEBUG_TYPE "aarch64-stack-tagging-pre-ra" |
◆ UncheckedLdStMode
◆ INITIALIZE_PASS_BEGIN()
INITIALIZE_PASS_BEGIN |
( |
AArch64StackTaggingPreRA |
, |
|
|
"aarch64-stack-tagging-pre-ra" |
, |
|
|
"AArch64 Stack Tagging PreRA Pass" |
, |
|
|
false |
, |
|
|
false |
|
|
) |
| |
◆ isSlotPreAllocated()
◆ isUncheckedLoadOrStoreOpcode()
◆ ClFirstSlot
cl::opt< bool > ClFirstSlot("stack-tagging-first-slot-opt", cl::Hidden, cl::init(true), cl::desc("Apply first slot optimization for stack tagging " "(eliminate ADDG Rt, Rn, 0, 0).")) |
( |
"stack-tagging-first-slot-opt" |
, |
|
|
cl::Hidden |
, |
|
|
cl::init(true) |
, |
|
|
cl::desc("Apply first slot optimization for stack tagging " "(eliminate ADDG Rt, Rn, 0, 0).") |
|
|
) |
| |
|
static |
◆ ClUncheckedLdSt
cl::opt< UncheckedLdStMode > ClUncheckedLdSt("stack-tagging-unchecked-ld-st", cl::Hidden, cl::init(UncheckedSafe), cl::desc( "Unconditionally apply unchecked-ld-st optimization (even for large " "stack frames, or in the presence of variable sized allocas)."), cl::values( clEnumValN(UncheckedNever, "never", "never apply unchecked-ld-st"), clEnumValN( UncheckedSafe, "safe", "apply unchecked-ld-st when the target is definitely within range"), clEnumValN(UncheckedAlways, "always", "always apply unchecked-ld-st"))) |
( |
"stack-tagging-unchecked-ld-st" |
, |
|
|
cl::Hidden |
, |
|
|
cl::init(UncheckedSafe) |
, |
|
|
cl::desc( "Unconditionally apply unchecked-ld-st optimization (even for large " "stack frames, or in the presence of variable sized allocas).") |
, |
|
|
cl::values( clEnumValN(UncheckedNever, "never", "never apply unchecked-ld-st"), clEnumValN( UncheckedSafe, "safe", "apply unchecked-ld-st when the target is definitely within range"), clEnumValN(UncheckedAlways, "always", "always apply unchecked-ld-st")) |
|
|
) |
| |
◆ false
◆ Pass
◆ ra