llvm-project/llvm
Russell Gallop 77e6bb3cba Re-land [Support] Extend TimeProfiler to support multiple threads
This makes TimeTraceProfilerInstance thread local. Added
timeTraceProfilerFinishThread() which moves the thread local instance to
a global vector of instances. timeTraceProfilerWrite() then writes
recorded data from all instances.

Threads are identified based on their thread ids. Totals are reported
with artificial thread ids higher than the real ones.

This fixes the previous version to work with __thread as well as
thread_local.

Differential Revision: https://reviews.llvm.org/D71059
2020-01-27 13:01:49 +00:00
..
benchmarks
bindings Pass length of string in Go binding of CreateCompileUnit 2020-01-17 13:35:30 -08:00
cmake Revert "[tablegen] Emit string literals instead of char arrays" 2020-01-23 18:22:22 +03:00
docs [IR] masked gather/scatter alignment should be set 2020-01-26 18:51:36 +01:00
examples [examples][ORC] Add an example of how to use a custom ObjectLinkingLayer plugin. 2020-01-23 19:18:16 -08:00
include Re-land [Support] Extend TimeProfiler to support multiple threads 2020-01-27 13:01:49 +00:00
lib Re-land [Support] Extend TimeProfiler to support multiple threads 2020-01-27 13:01:49 +00:00
projects
resources
runtimes [CMake] Prefer multi-target variables over generic target variables in runtimes build 2020-01-17 15:18:18 -08:00
test [DWARF] Do not pass Version to DWARFExpression. NFCI. 2020-01-27 19:08:46 +07:00
tools [DWARF] Do not pass Version to DWARFExpression. NFCI. 2020-01-27 19:08:46 +07:00
unittests [Support] Fix race in threading test, found by TSan 2020-01-25 15:22:12 +01:00
utils [gn build] Port dd8e0a0a23 2020-01-25 02:40:48 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitattributes
.gitignore
CMakeLists.txt Bump the trunk major version to 11 2020-01-15 13:38:01 +01:00
CODE_OWNERS.TXT [VE] Target stub for NEC SX-Aurora 2020-01-09 11:17:35 +01:00
CREDITS.TXT
LICENSE.TXT
LLVMBuild.txt
README.txt
RELEASE_TESTERS.TXT
configure
llvm.spec.in

README.txt

The LLVM Compiler Infrastructure
================================

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

LLVM is open source software. You may freely distribute it under the terms of
the license agreement found in LICENSE.txt.

Please see the documentation provided in docs/ for further
assistance with LLVM, and in particular docs/GettingStarted.rst for getting
started with LLVM and docs/README.txt for an overview of LLVM's
documentation setup.

If you are writing a package for LLVM, see docs/Packaging.rst for our
suggestions.