summaryrefslogtreecommitdiffstats
path: root/compiler-rt/lib/esan/esan_flags.h
diff options
context:
space:
mode:
authorDerek Bruening <bruening@google.com>2016-05-20 19:26:52 +0000
committerDerek Bruening <bruening@google.com>2016-05-20 19:26:52 +0000
commita85de06dd2b2987bf4da7b58703ed2137f40aeba (patch)
tree85699e4f677b4ad918773148eaf1562aae51e607 /compiler-rt/lib/esan/esan_flags.h
parentc7f4922524e262162a38179adea7cfc0096dcd55 (diff)
downloadbcm5719-llvm-a85de06dd2b2987bf4da7b58703ed2137f40aeba.tar.gz
bcm5719-llvm-a85de06dd2b2987bf4da7b58703ed2137f40aeba.zip
[esan] Add custom flag support
Summary: Adds custom flag support to EfficiencySanitizer's runtime library. Adds an initial flag cache_line_size which will be used by multiple tools. Reviewers: aizatsky, vitalybuka Subscribers: llvm-commits, eugenis, kcc, zhaoqin, aizatsky, kubabrecka Differential Revision: http://reviews.llvm.org/D20478 llvm-svn: 270256
Diffstat (limited to 'compiler-rt/lib/esan/esan_flags.h')
-rw-r--r--compiler-rt/lib/esan/esan_flags.h41
1 files changed, 41 insertions, 0 deletions
diff --git a/compiler-rt/lib/esan/esan_flags.h b/compiler-rt/lib/esan/esan_flags.h
new file mode 100644
index 00000000000..c8f4ef5ab2b
--- /dev/null
+++ b/compiler-rt/lib/esan/esan_flags.h
@@ -0,0 +1,41 @@
+//===-- esan_flags.h --------------------------------------------*- C++ -*-===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file is a part of EfficiencySanitizer, a family of performance tuners.
+//
+// Esan runtime flags.
+//===----------------------------------------------------------------------===//
+
+#ifndef ESAN_FLAGS_H
+#define ESAN_FLAGS_H
+
+#include "sanitizer_common/sanitizer_internal_defs.h"
+#include "sanitizer_common/sanitizer_flag_parser.h"
+
+namespace __esan {
+
+class Flags {
+public:
+#define ESAN_FLAG(Type, Name, DefaultValue, Description) Type Name;
+#include "esan_flags.inc"
+#undef ESAN_FLAG
+
+ void setDefaults();
+};
+
+extern Flags EsanFlagsDontUseDirectly;
+inline Flags *getFlags() {
+ return &EsanFlagsDontUseDirectly;
+}
+
+void initializeFlags();
+
+} // namespace __esan
+
+#endif // ESAN_FLAGS_H
OpenPOWER on IntegriCloud