Go to file
Bjorn Pettersson 5479ad2945 [DebugInfo] Correction for an assert in DIExpression::createFragmentExpression
Summary:
When we create a fragment expression, and there already is an
old fragment expression, we assert that the new fragment is
within the range for the old fragment.

If for example the old fragment expression says that we
describe bit 10-16 of a variable (Offset=10, Size=6),
and we now want to create a new fragment expression only
describing bit 3-6 of the original value, then the resulting
fragment expression should have Offset=13, Size=3.

The assert is supposed to catch if the resulting fragment
expression is outside the range for the old fragment. However,
it used to verify that the Offset+Size of the new fragment was
smaller or equal than Offset+Size for the old fragment. What
we really want to check is that Offset+Size of the new fragment
is smaller than the Size of the old fragment.

Reviewers: aprantl, vsk

Reviewed By: aprantl

Subscribers: davide, llvm-commits, JDevlieghere

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

llvm-svn: 331465
2018-05-03 17:04:21 +00:00
clang Allow writing calling convention attributes on function types. 2018-05-03 15:33:50 +00:00
clang-tools-extra Added trailing periods. 2018-05-03 16:01:49 +00:00
compiler-rt [sanitizer] Fix Fuchsia ReadBinaryName not to crash when uninitialized 2018-05-02 18:08:47 +00:00
debuginfo-tests [Darwin] Specify DWARF 2/4 when running apple accelerator tests. 2018-02-26 20:56:45 +00:00
libclc remquo: Flush denormals if not supported 2018-05-03 05:44:28 +00:00
libcxx Emit an error when mixing <stdatomic.h> and <atomic> 2018-05-02 17:56:45 +00:00
libcxxabi Fix test failure for missing _LIBCPP_ENABLE_CXX17_REMOVED_UNEXPECTED_FUNCTIONS 2018-05-03 12:44:27 +00:00
libunwind [cmake] Remove duplicate command line options from build 2018-04-05 20:27:50 +00:00
lld [LLD][AArch64] Simplify relocations sharing same encoding [NFC] 2018-05-03 12:59:52 +00:00
lldb [CMake] Unify and relayer testing 2018-05-03 16:54:10 +00:00
llgo
llvm [DebugInfo] Correction for an assert in DIExpression::createFragmentExpression 2018-05-03 17:04:21 +00:00
openmp [OpenMP][OMPT] Fix api_calls_from_other_thread.cpp 2018-04-30 18:46:31 +00:00
parallel-libs
polly Pass compiler arguments in the create_ll.sh script 2018-05-02 15:27:32 +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.