• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1//===-- esan_flags.inc ------------------------------------------*- 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// Esan runtime flags.
11//
12//===----------------------------------------------------------------------===//
13
14#ifndef ESAN_FLAG
15# error "Define ESAN_FLAG prior to including this file!"
16#endif
17
18// ESAN_FLAG(Type, Name, DefaultValue, Description)
19// See COMMON_FLAG in sanitizer_flags.inc for more details.
20
21//===----------------------------------------------------------------------===//
22// Cross-tool options
23//===----------------------------------------------------------------------===//
24
25ESAN_FLAG(int, cache_line_size, 64,
26          "The number of bytes in a cache line.  For the working-set tool, this "
27          "cannot be changed without also changing the compiler "
28          "instrumentation.")
29
30//===----------------------------------------------------------------------===//
31// Working set tool options
32//===----------------------------------------------------------------------===//
33
34ESAN_FLAG(bool, record_snapshots, true,
35          "Working set tool: whether to sample snapshots during a run.")
36
37// Typical profiling uses a 10ms timer.  Our snapshots take some work
38// to scan memory so we reduce to 20ms.
39// To disable samples, turn off record_snapshots.
40ESAN_FLAG(int, sample_freq, 20,
41          "Working set tool: sampling frequency in milliseconds.")
42
43// This controls the difference in frequency between each successive series
44// of snapshots.  There are 8 in total, with number 0 using sample_freq.
45// Number N samples number N-1 every (1 << snapshot_step) instance of N-1.
46ESAN_FLAG(int, snapshot_step, 2, "Working set tool: the log of the sampling "
47          "performed for the next-higher-frequency snapshot series.")
48
49//===----------------------------------------------------------------------===//
50// Cache Fragmentation tool options
51//===----------------------------------------------------------------------===//
52
53// The difference information of a struct is reported if the struct's difference
54// score is greater than the report_threshold.
55ESAN_FLAG(int, report_threshold, 1<<10, "Cache-frag tool: the struct difference"
56          " score threshold for reporting.")
57