Go to file
Dehao Chen fb02f7140a Encode duplication factor from loop vectorization and loop unrolling to discriminator.
Summary:
This patch starts the implementation as discuss in the following RFC: http://lists.llvm.org/pipermail/llvm-dev/2016-October/106532.html

When optimization duplicates code that will scale down the execution count of a basic block, we will record the duplication factor as part of discriminator so that the offline process tool can find the duplication factor and collect the accurate execution frequency of the corresponding source code. Two important optimization that fall into this category is loop vectorization and loop unroll. This patch records the duplication factor for these 2 optimizations.

The recording will be guarded by a flag encode-duplication-in-discriminators, which is off by default.

Reviewers: probinson, aprantl, davidxl, hfinkel, echristo

Reviewed By: hfinkel

Subscribers: mehdi_amini, anemet, mzolotukhin, llvm-commits

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

llvm-svn: 294782
2017-02-10 21:09:07 +00:00
clang [XRay] Implement powerpc64le xray. 2017-02-10 21:03:24 +00:00
clang-tools-extra [clangd] Move isDone from the JSONOutput to ShutdownHandler. 2017-02-10 17:25:38 +00:00
compiler-rt [XRay] Implement powerpc64le xray. 2017-02-10 21:03:24 +00:00
debuginfo-tests New round of fixes for "Always compile debuginfo-tests for the host triple" 2014-10-18 23:47:59 +00:00
libclc math: Add native_rsqrt builtin function 2017-02-09 18:39:26 +00:00
libcxx Make lcm/gcd work better in edge cases. Fixes a UBSAN failure. 2017-02-10 20:49:08 +00:00
libcxxabi Fix path to libc++'s python test module 2017-02-09 23:58:54 +00:00
libunwind Revert "[libunwind][CMake] Use libc++ headers when available" 2017-02-09 03:56:47 +00:00
lld Relax tests a bit. 2017-02-10 20:10:16 +00:00
lldb Fix another build issue with shared libraries on Linux 2017-02-10 18:39:26 +00:00
llgo [llgo] Remove support for LLVM attributes 2016-12-06 19:22:04 +00:00
llvm Encode duplication factor from loop vectorization and loop unrolling to discriminator. 2017-02-10 21:09:07 +00:00
openmp libomptarget: Disable on Win32 2017-02-10 17:13:28 +00:00
parallel-libs [Axccel] Remove -Wno-missing-braces in build 2016-12-19 21:34:07 +00:00
polly Porting the example illustrating Polly from HTML to reStructuredText 2017-02-10 11:46:57 +00:00