mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-24 03:33:20 +01:00
140a0d7e69
Usage: llvm-xray extract <object file> [-o <filename or '-'>] The tool gets the XRay instrumentation map from an object file and turns it into YAML. We first support ELF64 sleds on x86_64 binaries, with provision for supporting other supported platforms and formats later. This is the first of a many-part change to fully implement the `llvm-xray` tool. We also define a subcommand registration and dispatch mechanism to be used by other further subcommand implementations for llvm-xray. Diffusion Revision: https://reviews.llvm.org/D21987 llvm-svn: 285165
33 lines
873 B
C++
33 lines
873 B
C++
//===- xray-sleds.h - XRay Sleds Data Structure ---------------------------===//
|
|
//
|
|
// The LLVM Compiler Infrastructure
|
|
//
|
|
// This file is distributed under the University of Illinois Open Source
|
|
// License. See LICENSE.TXT for details.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
//
|
|
// Defines the structure used to represent XRay instrumentation map entries.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#ifndef LLVM_TOOLS_LLVM_XRAY_XRAY_SLEDS_H
|
|
#define LLVM_TOOLS_LLVM_XRAY_XRAY_SLEDS_H
|
|
|
|
namespace llvm {
|
|
namespace xray {
|
|
|
|
struct SledEntry {
|
|
enum class FunctionKinds { ENTRY, EXIT, TAIL };
|
|
|
|
uint64_t Address;
|
|
uint64_t Function;
|
|
FunctionKinds Kind;
|
|
bool AlwaysInstrument;
|
|
};
|
|
|
|
} // namespace xray
|
|
} // namespace llvm
|
|
|
|
#endif // LLVM_TOOLS_LLVM_XRAY_XRAY_SLEDS_H
|