brintos

brintos / llvm-project-archived public Read only

0
0
Text · 397 B · 5e0ba1d Raw
21 lines · cpp
1// Synthetic benchmark for __tsan_func_entry/exit (spends ~75% there).2 3void foo(bool x);4 5int main() {6  volatile int kRepeat1 = 1 << 30;7  const int kRepeat = kRepeat1;8  for (int i = 0; i < kRepeat; i++)9    foo(false);10}11 12__attribute__((noinline)) void bar(volatile bool x) {13  if (x)14    foo(x);15}16 17__attribute__((noinline)) void foo(bool x) {18  if (__builtin_expect(x, false))19    bar(x);20}21