• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 //===-- esan_flags.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 // This file is a part of EfficiencySanitizer, a family of performance tuners.
11 //
12 // Esan runtime flags.
13 //===----------------------------------------------------------------------===//
14 
15 #ifndef ESAN_FLAGS_H
16 #define ESAN_FLAGS_H
17 
18 #include "sanitizer_common/sanitizer_internal_defs.h"
19 #include "sanitizer_common/sanitizer_flag_parser.h"
20 
21 namespace __esan {
22 
23 class Flags {
24 public:
25 #define ESAN_FLAG(Type, Name, DefaultValue, Description) Type Name;
26 #include "esan_flags.inc"
27 #undef ESAN_FLAG
28 
29   void setDefaults();
30 };
31 
32 extern Flags EsanFlagsDontUseDirectly;
getFlags()33 inline Flags *getFlags() {
34   return &EsanFlagsDontUseDirectly;
35 }
36 
37 void initializeFlags();
38 
39 } // namespace __esan
40 
41 #endif // ESAN_FLAGS_H
42