LLVM  10.0.0svn
Macros | Functions | Variables
AArch64StackTagging.cpp File Reference
#include "AArch64.h"
#include "AArch64InstrInfo.h"
#include "AArch64Subtarget.h"
#include "AArch64TargetMachine.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/DepthFirstIterator.h"
#include "llvm/ADT/MapVector.h"
#include "llvm/ADT/None.h"
#include "llvm/ADT/Optional.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/Analysis/LoopInfo.h"
#include "llvm/Analysis/ScalarEvolution.h"
#include "llvm/Analysis/ScalarEvolutionExpressions.h"
#include "llvm/Analysis/ValueTracking.h"
#include "llvm/CodeGen/LiveRegUnits.h"
#include "llvm/CodeGen/MachineBasicBlock.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/CodeGen/MachineFunctionPass.h"
#include "llvm/CodeGen/MachineInstr.h"
#include "llvm/CodeGen/MachineInstrBuilder.h"
#include "llvm/CodeGen/MachineLoopInfo.h"
#include "llvm/CodeGen/MachineOperand.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/CodeGen/TargetPassConfig.h"
#include "llvm/CodeGen/TargetRegisterInfo.h"
#include "llvm/IR/DebugLoc.h"
#include "llvm/IR/Dominators.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/GetElementPtrTypeIterator.h"
#include "llvm/IR/Instruction.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/IntrinsicInst.h"
#include "llvm/IR/Metadata.h"
#include "llvm/Pass.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/Transforms/Utils/Local.h"
#include <cassert>
#include <iterator>
#include <utility>
Include dependency graph for AArch64StackTagging.cpp:

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "stack-tagging"
 

Functions

 INITIALIZE_PASS_BEGIN (AArch64StackTagging, DEBUG_TYPE, "AArch64 Stack Tagging", false, false) INITIALIZE_PASS_END(AArch64StackTagging
 

Variables

static cl::opt< boolClMergeInit ("stack-tagging-merge-init", cl::Hidden, cl::init(true), cl::ZeroOrMore, cl::desc("merge stack variable initializers with tagging when possible"))
 
static cl::opt< unsignedClScanLimit ("stack-tagging-merge-init-scan-limit", cl::init(40), cl::Hidden)
 
static constexpr unsigned kTagGranuleSize = 16
 
 DEBUG_TYPE
 
AArch64 Stack Tagging
 
AArch64 Stack false
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "stack-tagging"

Definition at line 56 of file AArch64StackTagging.cpp.

Function Documentation

◆ INITIALIZE_PASS_BEGIN()

INITIALIZE_PASS_BEGIN ( AArch64StackTagging  ,
DEBUG_TYPE  ,
"AArch64 Stack Tagging ,
false  ,
false   
)

Variable Documentation

◆ ClMergeInit

cl::opt<bool> ClMergeInit("stack-tagging-merge-init", cl::Hidden, cl::init(true), cl::ZeroOrMore, cl::desc("merge stack variable initializers with tagging when possible"))
static

◆ ClScanLimit

cl::opt<unsigned> ClScanLimit("stack-tagging-merge-init-scan-limit", cl::init(40), cl::Hidden)
static

◆ DEBUG_TYPE

DEBUG_TYPE

Definition at line 324 of file AArch64StackTagging.cpp.

◆ false

AArch64 Stack false

Definition at line 324 of file AArch64StackTagging.cpp.

◆ kTagGranuleSize

constexpr unsigned kTagGranuleSize = 16
static

Definition at line 65 of file AArch64StackTagging.cpp.

Referenced by llvm::createAArch64StackTaggingPass().

◆ Tagging

AArch64 Stack Tagging

Definition at line 324 of file AArch64StackTagging.cpp.