Go to file
Hans Wennborg e1ecd61b98 Rename CountingFunctionInserter and use for both mcount and cygprofile calls, before and after inlining
Clang implements the -finstrument-functions flag inherited from GCC, which
inserts calls to __cyg_profile_func_{enter,exit} on function entry and exit.

This is useful for getting a trace of how the functions in a program are
executed. Normally, the calls remain even if a function is inlined into another
function, but it is useful to be able to turn this off for users who are
interested in a lower-level trace, i.e. one that reflects what functions are
called post-inlining. (We use this to generate link order files for Chromium.)

LLVM already has a pass for inserting similar instrumentation calls to
mcount(), which it does after inlining. This patch renames and extends that
pass to handle calls both to mcount and the cygprofile functions, before and/or
after inlining as controlled by function attributes.

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

llvm-svn: 318195
2017-11-14 21:09:45 +00:00
clang [OPENMP] Fix DSA analysis for threadprivates after deserialization. 2017-11-14 21:01:01 +00:00
clang-tools-extra add new check for property declaration 2017-11-13 23:54:31 +00:00
compiler-rt Adjust test after r318159 2017-11-14 19:00:08 +00:00
debuginfo-tests Revert "Update test_debuginfo.pl script to point to new tree location." 2017-11-13 23:33:29 +00:00
libclc native_divide: provide function implementation instead of macro 2017-11-13 18:28:56 +00:00
libcxx Rename identifiers named `__output` 2017-11-14 11:14:25 +00:00
libcxxabi Remove excess whitespace from syslog message; NFC 2017-11-13 15:40:31 +00:00
libunwind Add ifdefs around ELF specific parts of UnwindRegisters*.S for arm 2017-11-04 21:01:31 +00:00
lld Note that the benchmark set has been updated. 2017-11-14 17:48:48 +00:00
lldb Add check for self-assignment. NFC 2017-11-14 18:19:41 +00:00
llgo irgen: Create functions instead of global variables for builtin hash and equal algorithms. 2017-06-04 22:11:28 +00:00
llvm Rename CountingFunctionInserter and use for both mcount and cygprofile calls, before and after inlining 2017-11-14 21:09:45 +00:00
openmp [OpenMP] Remove the unused testsuite/ directory 2017-11-13 17:44:48 +00:00
parallel-libs [Axccel] Remove -Wno-missing-braces in build 2016-12-19 21:34:07 +00:00
polly [polly] Remove redundant return [NFC] 2017-11-10 20:33:08 +00:00
README.md Add an svn project to contain the files that appear at the root of the 2017-10-19 21:09:49 +00:00

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.