|
LLVM 23.0.0git
|
#include "MCTargetDesc/X86BaseInfo.h"#include "X86.h"#include "X86Subtarget.h"#include "llvm/ADT/Statistic.h"#include "llvm/CodeGen/MachineBasicBlock.h"#include "llvm/CodeGen/MachineFunctionPass.h"#include "llvm/CodeGen/MachineInstrBuilder.h"#include "llvm/CodeGen/TargetInstrInfo.h"#include "llvm/CodeGen/TargetSubtargetInfo.h"#include "llvm/IR/DiagnosticInfo.h"#include "llvm/IR/LLVMContext.h"#include "llvm/IR/Module.h"Go to the source code of this file.
Macros | |
| #define | DEBUG_TYPE "x86-wineh-unwindv3" |
Functions | |
| STATISTIC (FunctionsProcessed, "Number of functions processed by Unwind v3 pass") | |
| STATISTIC (SubFragmentSplits, "Number of sub-fragment splits inserted for Unwind v3") | |
| static void | suppressWinCFI (MachineFunction &MF) |
| After reporting a recoverable error for MF, erase all SEH pseudo- instructions and clear the WinCFI flag so the AsmPrinter doesn't try to emit (potentially malformed) unwind information. | |
| INITIALIZE_PASS (X86WinEHUnwindV3, "x86-wineh-unwindv3", "Capacity check and sub-fragment splitting for Win64 Unwind v3", false, false) FunctionPass *llvm | |
Variables | |
| static constexpr unsigned | MaxV3PrologOps = 31 |
| V3 limits from the format specification. | |
| static constexpr unsigned | MaxV3Epilogs = 7 |
| static constexpr unsigned | MaxV3EpilogOps = 31 |
| #define DEBUG_TYPE "x86-wineh-unwindv3" |
Definition at line 38 of file X86WinEHUnwindV3.cpp.
| INITIALIZE_PASS | ( | X86WinEHUnwindV3 | , |
| "x86-wineh-unwindv3" | , | ||
| "Capacity check and sub-fragment splitting for Win64 Unwind v3" | , | ||
| false | , | ||
| false | ) |
Definition at line 117 of file X86WinEHUnwindV3.cpp.
References llvm::createX86WinEHUnwindV3Pass().
| STATISTIC | ( | FunctionsProcessed | , |
| "Number of functions processed by Unwind v3 pass" | ) |
| STATISTIC | ( | SubFragmentSplits | , |
| "Number of sub-fragment splits inserted for Unwind v3" | ) |
|
static |
After reporting a recoverable error for MF, erase all SEH pseudo- instructions and clear the WinCFI flag so the AsmPrinter doesn't try to emit (potentially malformed) unwind information.
The LLVMContext diagnostic recorded by the caller will prevent the object file from actually being written.
Definition at line 55 of file X86WinEHUnwindV3.cpp.
References llvm::make_early_inc_range(), MBB, MI, and llvm::MachineFunction::setHasWinCFI().
|
staticconstexpr |
Definition at line 48 of file X86WinEHUnwindV3.cpp.
|
staticconstexpr |
Definition at line 47 of file X86WinEHUnwindV3.cpp.
|
staticconstexpr |
V3 limits from the format specification.
Definition at line 46 of file X86WinEHUnwindV3.cpp.