LLVM  10.0.0svn
Macros | Enumerations | Functions | Variables
AArch64StackTaggingPreRA.cpp File Reference
#include "AArch64.h"
#include "AArch64MachineFunctionInfo.h"
#include "AArch64InstrInfo.h"
#include "llvm/ADT/DepthFirstIterator.h"
#include "llvm/ADT/SetVector.h"
#include "llvm/ADT/MapVector.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/CodeGen/MachineBranchProbabilityInfo.h"
#include "llvm/CodeGen/MachineFrameInfo.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/CodeGen/MachineFunctionPass.h"
#include "llvm/CodeGen/MachineInstrBuilder.h"
#include "llvm/CodeGen/MachineLoopInfo.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/CodeGen/MachineTraceMetrics.h"
#include "llvm/CodeGen/Passes.h"
#include "llvm/CodeGen/TargetInstrInfo.h"
#include "llvm/CodeGen/TargetRegisterInfo.h"
#include "llvm/CodeGen/TargetSubtargetInfo.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/raw_ostream.h"
Include dependency graph for AArch64StackTaggingPreRA.cpp:

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "aarch64-stack-tagging-pre-ra"
 

Enumerations

enum  UncheckedLdStMode { UncheckedNever, UncheckedSafe, UncheckedAlways }
 

Functions

 INITIALIZE_PASS_BEGIN (AArch64StackTaggingPreRA, "aarch64-stack-tagging-pre-ra", "AArch64 Stack Tagging PreRA Pass", false, false) INITIALIZE_PASS_END(AArch64StackTaggingPreRA
 
static bool isUncheckedLoadOrStoreOpcode (unsigned Opcode)
 

Variables

cl::opt< UncheckedLdStModeClUncheckedLdSt ("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")))
 
aarch64 stack tagging pre ra
 
aarch64 stack tagging pre AArch64 Stack Tagging PreRA Pass
 
aarch64 stack tagging pre AArch64 Stack Tagging PreRA false
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "aarch64-stack-tagging-pre-ra"

Definition at line 36 of file AArch64StackTaggingPreRA.cpp.

Enumeration Type Documentation

◆ UncheckedLdStMode

Enumerator
UncheckedNever 
UncheckedSafe 
UncheckedAlways 

Definition at line 38 of file AArch64StackTaggingPreRA.cpp.

Function Documentation

◆ INITIALIZE_PASS_BEGIN()

INITIALIZE_PASS_BEGIN ( AArch64StackTaggingPreRA  ,
"aarch64-stack-tagging-pre-ra ,
"AArch64 Stack Tagging PreRA Pass ,
false  ,
false   
)

◆ isUncheckedLoadOrStoreOpcode()

static bool isUncheckedLoadOrStoreOpcode ( unsigned  Opcode)
static

Variable Documentation

◆ 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")))

◆ false

aarch64 stack tagging pre AArch64 Stack Tagging PreRA false

Definition at line 91 of file AArch64StackTaggingPreRA.cpp.

◆ Pass

aarch64 stack tagging pre AArch64 Stack Tagging PreRA Pass

Definition at line 91 of file AArch64StackTaggingPreRA.cpp.

◆ ra

aarch64 stack tagging pre ra

Definition at line 91 of file AArch64StackTaggingPreRA.cpp.