Go to file
Dean Michael Berris cfd7eec3d8 [XRay][profiler] Part 4: Profiler Mode Wiring
Summary:
This is part of the larger XRay Profiling Mode effort.

This patch implements the wiring required to enable us to actually
select the `xray-profiling` mode, and install the handlers to start
measuring the time and frequency of the function calls in call stacks.
The current way to get the profile information is by working with the
XRay API to `__xray_process_buffers(...)`.

In subsequent changes we'll implement profile saving to files, similar
to how the FDR and basic modes operate, as well as means for converting
this format into those that can be loaded/visualised as flame graphs. We
will also be extending the accounting tool in LLVM to support
stack-based function call accounting.

We also continue with the implementation to support building small
histograms of latencies for the `FunctionCallTrie::Node` type, to allow
us to actually approximate the distribution of latencies per function.

Depends on D45758 and D46998.

Reviewers: eizan, kpw, pelikan

Reviewed By: kpw

Subscribers: llvm-commits, mgorny

Differential Revision: https://reviews.llvm.org/D44620

llvm-svn: 334469
2018-06-12 03:29:39 +00:00
clang [CUDA][HIP] Set kernel calling convention before arrange function 2018-06-12 00:16:33 +00:00
clang-tools-extra - Add "AV" as new default acronym. - Add support for "I" and "A" in lowerCamelCase pattern 2018-06-11 22:44:06 +00:00
compiler-rt [XRay][profiler] Part 4: Profiler Mode Wiring 2018-06-12 03:29:39 +00:00
debuginfo-tests [debuginfo-tests] Always use the system python to invoke llgdb.py. 2018-06-10 19:38:26 +00:00
libclc r600/fmin: Flush denormals before calling builtin. 2018-06-07 20:27:58 +00:00
libcxx Reland "Use custom command and target to install libc++ headers" 2018-06-12 03:10:02 +00:00
libcxxabi private_typeinfo: limit is_dst_type_derived_from_static_type optimization 2018-05-18 20:51:38 +00:00
libunwind [OR1K] Add the EPCR special-purpose register to register state. 2018-05-16 19:09:48 +00:00
lld [Darwin] Use errorHandler from liblldCommon 2018-06-12 02:34:04 +00:00
lldb Exempt some compilers from new static variable test. 2018-06-12 00:15:59 +00:00
llgo
llvm NFC, some additional tests added and some renaming for planned fma support changes 2018-06-12 00:52:43 +00:00
openmp [OpenMP] Fix formatting issues in kmp_stats.h 2018-06-08 22:27:53 +00:00
parallel-libs
polly Drop unnecessary whitespace [NFCI] 2018-06-11 15:11:57 +00:00
README.md

README.md

Low Level Virtual Machine (LLVM)

This directory and its subdirectories contain source code for LLVM, a toolkit for the construction of highly optimized compilers, optimizers, and runtime environments.