Path: blob/main/contrib/llvm-project/llvm/lib/CodeGen/AsmPrinter/PseudoProbePrinter.h
35271 views
//===- PseudoProbePrinter.h - Pseudo probe encoding support -----*- C++ -*-===//1//2// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.3// See https://llvm.org/LICENSE.txt for license information.4// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception5//6//===----------------------------------------------------------------------===//7//8// This file contains support for writing pseudo probe info into asm files.9//10//===----------------------------------------------------------------------===//1112#ifndef LLVM_LIB_CODEGEN_ASMPRINTER_PSEUDOPROBEPRINTER_H13#define LLVM_LIB_CODEGEN_ASMPRINTER_PSEUDOPROBEPRINTER_H1415#include "llvm/ADT/DenseMap.h"16#include "llvm/CodeGen/AsmPrinterHandler.h"1718namespace llvm {1920class AsmPrinter;21class DILocation;2223class PseudoProbeHandler {24// Target of pseudo probe emission.25AsmPrinter *Asm;26// Name to GUID map, used as caching/memoization for speed.27DenseMap<StringRef, uint64_t> NameGuidMap;2829public:30PseudoProbeHandler(AsmPrinter *A) : Asm(A) {};3132void emitPseudoProbe(uint64_t Guid, uint64_t Index, uint64_t Type,33uint64_t Attr, const DILocation *DebugLoc);34};3536} // namespace llvm37#endif // LLVM_LIB_CODEGEN_ASMPRINTER_PSEUDOPROBEPRINTER_H383940