|
LLVM 24.0.0git
|
#include "RISCV.h"#include "RISCVInstrInfo.h"#include "RISCVMachineFunctionInfo.h"#include "RISCVSubtarget.h"#include "llvm/ADT/Statistic.h"#include "llvm/CodeGen/MachineBasicBlock.h"#include "llvm/CodeGen/MachineFunctionAnalysisManager.h"#include "llvm/CodeGen/MachineFunctionPass.h"#include "llvm/CodeGen/MachineInstrBuilder.h"#include "llvm/CodeGen/MachineModuleInfo.h"#include "llvm/CodeGen/MachinePassManager.h"#include "llvm/IR/Analysis.h"#include "llvm/Pass.h"Go to the source code of this file.
Macros | |
| #define | DEBUG_TYPE "riscv-indirect-branch-tracking" |
| #define | PASS_NAME "RISC-V Indirect Branch Tracking" |
Functions | |
| static void | emitLpad (MachineBasicBlock &MBB, const RISCVInstrInfo *TII, uint32_t Label, MachineBasicBlock::iterator I=MachineBasicBlock::iterator{}) |
| static bool | runIndirectBranchTracking (MachineFunction &MF) |
| #define DEBUG_TYPE "riscv-indirect-branch-tracking" |
Definition at line 29 of file RISCVIndirectBranchTracking.cpp.
| #define PASS_NAME "RISC-V Indirect Branch Tracking" |
Definition at line 30 of file RISCVIndirectBranchTracking.cpp.
|
static |
Definition at line 62 of file RISCVIndirectBranchTracking.cpp.
Referenced by runIndirectBranchTracking().
|
static |
Definition at line 70 of file RISCVIndirectBranchTracking.cpp.
References Changed, emitLpad(), F, llvm::MachineFunction::front(), llvm::MachineFunction::getAlignment(), llvm::MachineFunction::getFunction(), llvm::MachineFunction::getInfo(), llvm::MachineFunction::getSubtarget(), llvm::RISCVMachineFunctionInfo::hasCFProtectionBranch(), llvm::isUInt(), MBB, llvm::report_fatal_error(), llvm::MachineFunction::setAlignment(), and TII.
Referenced by llvm::RISCVIndirectBranchTrackingPass::run(), and llvm::X86IndirectBranchTrackingPass::run().