Go to file
Matt Davis d041f21810 [DebugInfo] Ignore DBG_VALUE instructions in PostRA Machine Sink
Summary:
The logic for handling the sinking of COPY instructions was generating
different code when building with debug flags.

The original code did not take into consideration debug instructions.  This
resulted in the registers in the DBG_VALUE instructions being treated as used,
and prevented the COPY from being sunk.  This patch avoids analyzing debug
instructions when trying to sink COPY instructions.

This patch also creates a routine from the code in MachineSinking::SinkInstruction to
perform the logic of sinking an instruction along with its debug instructions.
This functionality is used in multiple places, including the code for sinking COPY instrs.


Reviewers: junbuml, javed.absar, MatzeB, bjope

Reviewed By: bjope

Subscribers: aprantl, probinson, thegameg, jonpa, bjope, vsk, kristof.beyls, JDevlieghere, llvm-commits

Tags: #debug-info

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

llvm-svn: 335264
2018-06-21 17:59:52 +00:00
clang [Intrinsics] Add/move some builtin declarations in intrin.h to get ms-intrinsics.c to not issue warnings 2018-06-21 17:07:04 +00:00
clang-tools-extra [clang-tidy] Remove the google-readability-redundant-smartptr-get alias 2018-06-21 16:14:27 +00:00
compiler-rt [sanitizer] Stop running tests against 32-bit iOS simulator 2018-06-21 15:21:24 +00:00
debuginfo-tests [debuginfo-tests] Always use the system python to invoke llgdb.py. 2018-06-10 19:38:26 +00:00
libclc Update copyright year to 2018. 2018-06-18 12:22:17 +00:00
libcxx [CMake] Convert paths to the right form in standalone builds on Windows 2018-06-20 21:03:34 +00:00
libcxxabi [CMake] Convert paths to the right form in standalone builds on Windows 2018-06-20 20:59:18 +00:00
libunwind [CMake] Convert paths to the right form in standalone builds on Windows 2018-06-20 20:53:19 +00:00
lld [WebAssembly] Only mark non-hidden symbols as live if they are also defined 2018-06-21 15:00:00 +00:00
lldb Fix an issue where DW_OP_deref might be dereferencing a file address. Convert the file address to a load address so this works. 2018-06-21 17:58:06 +00:00
llgo Update copyright year to 2018. 2018-06-18 12:22:17 +00:00
llvm [DebugInfo] Ignore DBG_VALUE instructions in PostRA Machine Sink 2018-06-21 17:59:52 +00:00
openmp minor: fixed typo in debug print 2018-06-20 15:54:11 +00:00
parallel-libs Update copyright year to 2018. 2018-06-18 12:22:17 +00:00
polly Move ScopInfo to isl++ 2018-06-19 08:13:53 +00:00
README.md

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.