diff options
author | Tim Shen <timshen91@gmail.com> | 2017-02-15 22:40:29 +0000 |
---|---|---|
committer | Tim Shen <timshen91@gmail.com> | 2017-02-15 22:40:29 +0000 |
commit | fd096f77aa65c51e57af848ca9213a2416a2eead (patch) | |
tree | 19e6958d000abf6298adb6072921187256eb77e4 /lib/xray/xray_powerpc64.inc | |
parent | f3a0049f4e18613f85a193f56d165dcdc5bf1e4e (diff) |
Re-commit r295017, since we have a potential fix of the tests, r295248, landed.
Differential Revision: https://reviews.llvm.org/D29742
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@295251 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/xray/xray_powerpc64.inc')
-rw-r--r-- | lib/xray/xray_powerpc64.inc | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/lib/xray/xray_powerpc64.inc b/lib/xray/xray_powerpc64.inc new file mode 100644 index 000000000..c1a1bac1a --- /dev/null +++ b/lib/xray/xray_powerpc64.inc @@ -0,0 +1,37 @@ +//===-- xray_powerpc64.inc --------------------------------------*- 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 XRay, a dynamic runtime instrumentation system. +// +//===----------------------------------------------------------------------===// + +#include <cstdint> +#include <mutex> +#include <sys/platform/ppc.h> + +#include "xray_defs.h" + +namespace __xray { + +ALWAYS_INLINE uint64_t readTSC(uint8_t &CPU) XRAY_NEVER_INSTRUMENT { + CPU = 0; + return __ppc_get_timebase(); +} + +inline uint64_t getTSCFrequency() XRAY_NEVER_INSTRUMENT { + static std::mutex M; + std::lock_guard<std::mutex> Guard(M); + return __ppc_get_timebase_freq(); +} + +inline bool probeRequiredCPUFeatures() XRAY_NEVER_INSTRUMENT { + return true; +} + +} // namespace __xray |