9#ifndef LLVM_CODEGEN_FAULTMAPS_H
10#define LLVM_CODEGEN_FAULTMAPS_H
38 FunctionInfos.clear();
42 static const char *WFMP;
46 const MCExpr *FaultingOffsetExpr =
nullptr;
47 const MCExpr *HandlerOffsetExpr =
nullptr;
49 FaultInfo() =
default;
52 const MCExpr *HandlerOffset)
53 : Kind(Kind), FaultingOffsetExpr(FaultingOffset),
54 HandlerOffsetExpr(HandlerOffset) {}
57 using FunctionFaultInfos = std::vector<FaultInfo>;
61 struct MCSymbolComparator {
62 bool operator()(
const MCSymbol *
LHS,
const MCSymbol *
RHS)
const {
63 return LHS->getName() <
RHS->getName();
67 std::map<const MCSymbol *, FunctionFaultInfos, MCSymbolComparator>
71 void emitFunctionInfo(
const MCSymbol *FnLabel,
const FunctionFaultInfos &FFI);
This class is intended to be used as a driving class for all asm writers.
void recordFaultingOp(FaultKind FaultTy, const MCSymbol *FaultingLabel, const MCSymbol *HandlerLabel)
void serializeToFaultMapSection()
static const char * faultTypeToString(FaultKind)
Base class for the full range of assembler expressions which are needed for parsing.
MCSymbol - Instances of this class represent a symbol name in the MC file, and MCSymbols are created ...
This is an optimization pass for GlobalISel generic memory operations.