Go to file
Orlando Cazalet-Hyams ed67bf8d2f Resubmit "[DebugInfo] Update loop metadata for inlined loops"
This reverts commit 95805bc425.
I've squashed the test fix into this commit.

[DebugInfo] Update loop metadata for inlined loops

Currently, when a loop is cloned while inlining function (A) into function (B)
the loop metadata is copied and then not modified at all. The loop metadata can
encode the loop's start and end DILocations. Therefore, the new inlined loop in
function (B) may have loop metadata which shows start and end locations residing
in function (A).

This patch ensures loop metadata is updated while inlining so that the start and
end DILocations are given the "inlinedAt" operand. I've also added a regression
test for this.

This fix is required for D60831 because that patch uses loop metadata to
determine the DILocation for the branches of new loop preheaders.

Reviewers: aprantl, dblaikie, anemet

Reviewed By: aprantl

Subscribers: eraman, hiraditya, llvm-commits

Tags: #debug-info, #llvm

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

llvm-svn: 361149
2019-05-20 13:02:30 +00:00
clang [Syntax] Introduce TokenBuffer, start clangToolingSyntax library 2019-05-20 13:00:42 +00:00
clang-tools-extra [clangd] Fix naming warning from clang-tidy. NFC 2019-05-20 12:17:36 +00:00
compiler-rt Use CMAKE_C_COMPILER_ARG1 in compiler invocation 2019-05-19 03:29:15 +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 LLVM-8 build 2019-03-27 21:28:31 +00:00
libcxx Fix missing std:: qualifier in __gnu_cxx::hash_map in C++03 2019-05-17 20:59:57 +00:00
libcxxabi [libcxxabi] Add a test for invalid assumptions on the alignment of exceptions 2019-05-17 14:53:29 +00:00
libunwind [PPC] Fix 32-bit build of libunwind 2019-05-16 06:49:20 +00:00
lld [ELF] Fix getRelocTargetVA formulae of R_TLS and R_NEG_TLS 2019-05-20 11:47:31 +00:00
lldb DWARF: Port most of other sections over to DWARFContext 2019-05-20 08:38:47 +00:00
llgo IR: Support parsing numeric block ids, and emit them in textual output. 2019-03-22 18:27:13 +00:00
llvm Resubmit "[DebugInfo] Update loop metadata for inlined loops" 2019-05-20 13:02:30 +00:00
openmp Fixed second issue reported in https://bugs.llvm.org/show_bug.cgi?id=41584. 2019-05-16 17:52:53 +00:00
parallel-libs Fix typos throughout the license files that somehow I and my reviewers 2019-01-21 09:52:34 +00:00
polly [polly] Fix non-determinism in IslNodeBuilder. 2019-05-14 23:01:19 +00:00
pstl [pstl] Make the default backend be the serial backend and always provide parallel policies 2019-04-24 20:12:36 +00:00
.arcconfig Update monorepo .arcconfig with new project callsign. 2019-01-31 14:34:59 +00:00
.clang-format Add .clang-tidy and .clang-format files to the toplevel of the 2019-01-29 16:43:16 +00:00
.clang-tidy Disable tidy checks with too many hits 2019-02-01 11:20:13 +00:00
.gitignore Add a reduced copy of the llvm .gitignore 2019-04-09 00:52:49 +00:00
README.md

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.