Movatterモバイル変換


[0]ホーム

URL:


LLVM 20.0.0git
FaultMapParser.cpp
Go to the documentation of this file.
1//===----------------------- FaultMapParser.cpp ---------------------------===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8
9#include "llvm/Object/FaultMapParser.h"
10#include "llvm/Support/ErrorHandling.h"
11#include "llvm/Support/Format.h"
12#include "llvm/Support/raw_ostream.h"
13
14using namespacellvm;
15
16voidprintFaultType(FaultMapParser::FaultKind FT,raw_ostream &OS) {
17switch (FT) {
18default:
19llvm_unreachable("unhandled fault type!");
20caseFaultMapParser::FaultingLoad:
21OS <<"FaultingLoad";
22break;
23caseFaultMapParser::FaultingLoadStore:
24OS <<"FaultingLoadStore";
25break;
26caseFaultMapParser::FaultingStore:
27OS <<"FaultingStore";
28break;
29 }
30}
31
32raw_ostream &
33llvm::operator<<(raw_ostream &OS,
34constFaultMapParser::FunctionFaultInfoAccessor &FFI) {
35OS <<"Fault kind: ";
36printFaultType((FaultMapParser::FaultKind)FFI.getFaultKind(),OS);
37OS <<", faulting PC offset: " << FFI.getFaultingPCOffset()
38 <<", handling PC offset: " << FFI.getHandlerPCOffset();
39returnOS;
40}
41
42raw_ostream &llvm::operator<<(raw_ostream &OS,
43constFaultMapParser::FunctionInfoAccessor &FI) {
44OS <<"FunctionAddress: " <<format_hex(FI.getFunctionAddr(), 8)
45 <<", NumFaultingPCs: " << FI.getNumFaultingPCs() <<"\n";
46for (unsignedI = 0, E = FI.getNumFaultingPCs();I != E; ++I)
47OS << FI.getFunctionFaultInfoAt(I) <<"\n";
48returnOS;
49}
50
51raw_ostream &llvm::operator<<(raw_ostream &OS,constFaultMapParser &FMP) {
52OS <<"Version: " <<format_hex(FMP.getFaultMapVersion(), 2) <<"\n";
53OS <<"NumFunctions: " << FMP.getNumFunctions() <<"\n";
54
55if (FMP.getNumFunctions() == 0)
56returnOS;
57
58FaultMapParser::FunctionInfoAccessor FI;
59
60for (unsignedI = 0, E = FMP.getNumFunctions();I != E; ++I) {
61 FI = (I == 0) ? FMP.getFirstFunctionInfo() : FI.getNextFunctionInfo();
62OS << FI;
63 }
64
65returnOS;
66}
printFaultType
void printFaultType(FaultMapParser::FaultKind FT, raw_ostream &OS)
Definition:FaultMapParser.cpp:16
FaultMapParser.h
Format.h
I
#define I(x, y, z)
Definition:MD5.cpp:58
OS
raw_pwrite_stream & OS
Definition:SampleProfWriter.cpp:51
llvm::FaultMapParser::FunctionFaultInfoAccessor
Definition:FaultMapParser.h:56
llvm::FaultMapParser::FunctionFaultInfoAccessor::getFaultKind
FaultKindType getFaultKind() const
Definition:FaultMapParser.h:77
llvm::FaultMapParser::FunctionFaultInfoAccessor::getHandlerPCOffset
HandlerPCOffsetType getHandlerPCOffset() const
Definition:FaultMapParser.h:85
llvm::FaultMapParser::FunctionFaultInfoAccessor::getFaultingPCOffset
FaultingPCOffsetType getFaultingPCOffset() const
Definition:FaultMapParser.h:81
llvm::FaultMapParser::FunctionInfoAccessor
Definition:FaultMapParser.h:90
llvm::FaultMapParser::FunctionInfoAccessor::getNextFunctionInfo
FunctionInfoAccessor getNextFunctionInfo() const
Definition:FaultMapParser.h:128
llvm::FaultMapParser::FunctionInfoAccessor::getFunctionAddr
FunctionAddrType getFunctionAddr() const
Definition:FaultMapParser.h:113
llvm::FaultMapParser::FunctionInfoAccessor::getNumFaultingPCs
NumFaultingPCsType getNumFaultingPCs() const
Definition:FaultMapParser.h:117
llvm::FaultMapParser::FunctionInfoAccessor::getFunctionFaultInfoAt
FunctionFaultInfoAccessor getFunctionFaultInfoAt(uint32_t Index) const
Definition:FaultMapParser.h:121
llvm::FaultMapParser
A parser for the __llvm_faultmaps section generated by the FaultMaps class declared in llvm/CodeGen/F...
Definition:FaultMapParser.h:25
llvm::FaultMapParser::getNumFunctions
NumFunctionsType getNumFunctions() const
Definition:FaultMapParser.h:147
llvm::FaultMapParser::getFirstFunctionInfo
FunctionInfoAccessor getFirstFunctionInfo() const
Definition:FaultMapParser.h:151
llvm::FaultMapParser::FaultKind
FaultKind
Definition:FaultMapParser.h:49
llvm::FaultMapParser::FaultingLoad
@ FaultingLoad
Definition:FaultMapParser.h:50
llvm::FaultMapParser::FaultingLoadStore
@ FaultingLoadStore
Definition:FaultMapParser.h:51
llvm::FaultMapParser::FaultingStore
@ FaultingStore
Definition:FaultMapParser.h:52
llvm::FaultMapParser::getFaultMapVersion
FaultMapVersionType getFaultMapVersion() const
Definition:FaultMapParser.h:141
llvm::raw_ostream
This class implements an extremely fast bulk output stream that can only output to a stream.
Definition:raw_ostream.h:52
ErrorHandling.h
llvm_unreachable
#define llvm_unreachable(msg)
Marks that the current location is not supposed to be reachable.
Definition:ErrorHandling.h:143
llvm
This is an optimization pass for GlobalISel generic memory operations.
Definition:AddressRanges.h:18
llvm::format_hex
FormattedNumber format_hex(uint64_t N, unsigned Width, bool Upper=false)
format_hex - Output N as a fixed width hexadecimal.
Definition:Format.h:187
llvm::operator<<
raw_ostream & operator<<(raw_ostream &OS, const APFixedPoint &FX)
Definition:APFixedPoint.h:303
raw_ostream.h

Generated on Fri Jul 18 2025 11:45:36 for LLVM by doxygen 1.9.6
[8]ページ先頭

©2009-2025 Movatter.jp