|
LLVM 24.0.0git
|
#include "AArch64.h"#include "AArch64Subtarget.h"#include "llvm/ADT/APInt.h"#include "llvm/ADT/MapVector.h"#include "llvm/ADT/SmallVector.h"#include "llvm/ADT/Statistic.h"#include "llvm/Analysis/AliasAnalysis.h"#include "llvm/Analysis/CFG.h"#include "llvm/Analysis/LoopInfo.h"#include "llvm/Analysis/OptimizationRemarkEmitter.h"#include "llvm/Analysis/PostDominators.h"#include "llvm/Analysis/ScalarEvolution.h"#include "llvm/Analysis/ScalarEvolutionExpressions.h"#include "llvm/Analysis/StackSafetyAnalysis.h"#include "llvm/BinaryFormat/Dwarf.h"#include "llvm/CodeGen/MachineBasicBlock.h"#include "llvm/CodeGen/MachineFunction.h"#include "llvm/CodeGen/MachineInstr.h"#include "llvm/CodeGen/MachineOperand.h"#include "llvm/IR/DebugLoc.h"#include "llvm/IR/Dominators.h"#include "llvm/IR/Function.h"#include "llvm/IR/IRBuilder.h"#include "llvm/IR/InstIterator.h"#include "llvm/IR/Instruction.h"#include "llvm/IR/Instructions.h"#include "llvm/IR/IntrinsicInst.h"#include "llvm/IR/IntrinsicsAArch64.h"#include "llvm/IR/Metadata.h"#include "llvm/IR/PassManager.h"#include "llvm/IR/Value.h"#include "llvm/InitializePasses.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 "llvm/Transforms/Utils/MemoryTaggingSupport.h"#include <cassert>#include <memory>Go to the source code of this file.
Macros | |
| #define | DEBUG_TYPE "aarch64-stack-tagging" |
Functions | |
| INITIALIZE_PASS_BEGIN (AArch64StackTagging, DEBUG_TYPE, "AArch64 Stack Tagging", false, false) INITIALIZE_PASS_END(AArch64StackTagging | |
| static Value * | getSlotPtr (IRBuilder<> &IRB, const Triple &TargetTriple, bool HasInstrumentedAllocas) |
Variables | |
| static const Align | kTagGranuleSize = Align(16) |
| DEBUG_TYPE | |
| AArch64 Stack | Tagging |
| AArch64 Stack | false |
| #define DEBUG_TYPE "aarch64-stack-tagging" |
Definition at line 53 of file AArch64StackTagging.cpp.
|
static |
Definition at line 412 of file AArch64StackTagging.cpp.
References llvm::memtag::getAndroidSlotPtr(), llvm::memtag::getDarwinSlotPtr(), llvm::AArch64::Instr, llvm::Triple::isAArch64(), llvm::Triple::isAndroid(), llvm::Triple::isAndroidVersionLT(), llvm::Triple::isOSDarwin(), llvm::Triple::isSimulatorEnvironment(), and Mode.
| INITIALIZE_PASS_BEGIN | ( | AArch64StackTagging | , |
| DEBUG_TYPE | , | ||
| "AArch64 Stack Tagging" | , | ||
| false | , | ||
| false | ) |
References DEBUG_TYPE, and INITIALIZE_PASS_DEPENDENCY.
| DEBUG_TYPE |
Definition at line 315 of file AArch64StackTagging.cpp.
| AArch64 Stack false |
Definition at line 316 of file AArch64StackTagging.cpp.
Definition at line 55 of file AArch64StackTagging.cpp.
| AArch64 Stack Tagging |
Definition at line 315 of file AArch64StackTagging.cpp.