Go to file
Mircea Trofin b53eeb6f4c [llvm] API for encoding/decoding DWARF discriminators.
Summary:
Added a pair of APIs for encoding/decoding the 3 components of a DWARF discriminator described in http://lists.llvm.org/pipermail/llvm-dev/2016-October/106532.html: the base discriminator, the duplication factor (useful in profile-guided optimization) and the copy index (used to identify copies of code in cases like loop unrolling)

The encoding packs 3 unsigned values in 32 bits. This CL addresses 2 issues:
- communicates overflow back to the user
- supports encoding all 3 components together. Current APIs assume a sequencing of events. For example, creating a new discriminator based on an existing one by changing the base discriminator was not supported.

Reviewers: davidxl, danielcdh, wmi, dblaikie

Reviewed By: dblaikie

Subscribers: zzheng, dmgreen, aprantl, JDevlieghere, llvm-commits

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

llvm-svn: 349973
2018-12-21 22:48:50 +00:00
clang Switch from static_cast<> to cast<>, update identifier for coding conventions; NFC. 2018-12-21 21:11:36 +00:00
clang-tools-extra [clang-tidy] Be more liberal about literal zeroes in abseil checks 2018-12-21 21:07:11 +00:00
compiler-rt Fix comment typo. 2018-12-21 21:41:43 +00:00
debuginfo-tests Set config.lit_tools_dir, which is needed by lit.llvm.initialize. 2018-11-06 21:54:27 +00:00
libclc travis: Add cmake build 2018-11-27 16:07:21 +00:00
libcxx [libcxx] Remove unused macro _LIBCPP_HAS_UNIQUE_TYPEINFO 2018-12-21 20:14:43 +00:00
libcxxabi [libcxx] Remove bad_array_length 2018-11-29 19:44:57 +00:00
libunwind [SEH] Add initial support for AArch64 2018-12-18 20:05:59 +00:00
lld key method -> key function 2018-12-21 22:40:10 +00:00
lldb [NFC] Replace `compare` with (in)equality operator where applicable. 2018-12-21 22:46:10 +00:00
llgo Update copyright year to 2018. 2018-06-18 12:22:17 +00:00
llvm [llvm] API for encoding/decoding DWARF discriminators. 2018-12-21 22:48:50 +00:00
openmp [Tests] [OpenMP] XFAIL also for ppc64le. 2018-12-18 19:05:07 +00:00
parallel-libs Update copyright year to 2018. 2018-06-18 12:22:17 +00:00
polly [CMake] Fix generation of exported targets in build directory 2018-11-06 15:18:17 +00:00
pstl [pstl] Initial integration with LLVM's CMake 2018-12-21 15:59:04 +00:00
README.md Update the project name in README.md 2018-10-19 00:03:01 +00:00

README.md

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.