]> git.proxmox.com Git - rustc.git/blame - vendor/compiler_builtins/compiler-rt/lib/stats/stats.h
New upstream version 1.36.0+dfsg1
[rustc.git] / vendor / compiler_builtins / compiler-rt / lib / stats / stats.h
CommitLineData
5bcae85e
SL
1//===-- stats.h -------------------------------------------------*- C++ -*-===//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9//
10// Data definitions for sanitizer statistics gathering.
11//
12//===----------------------------------------------------------------------===//
13
14#ifndef SANITIZER_STATS_STATS_H
15#define SANITIZER_STATS_STATS_H
16
17#include "sanitizer_common/sanitizer_internal_defs.h"
18
19namespace __sanitizer {
20
21// Number of bits in data that are used for the sanitizer kind. Needs to match
22// llvm::kSanitizerStatKindBits in
23// llvm/include/llvm/Transforms/Utils/SanitizerStats.h
24enum { kKindBits = 3 };
25
26struct StatInfo {
27 uptr addr;
28 uptr data;
29};
30
31struct StatModule {
32 StatModule *next;
33 u32 size;
34 StatInfo infos[1];
35};
36
37inline uptr CountFromData(uptr data) {
38 return data & ((1ull << (sizeof(uptr) * 8 - kKindBits)) - 1);
39}
40
41}
42
43#endif