Go to file
Alexey Samsonov dfcaf9c8d8 Rewrite calculateDbgValueHistory to make it (hopefully) more transparent.
This change preserves the original algorithm of generating history
for user variables, but makes it more clear.

High-level description of algorithm:
Scan all the machine basic blocks and machine instructions in the order
they are emitted to the object file. Do the following:
1) If we see a DBG_VALUE instruction, add it to the history of the
corresponding user variable. Keep track of all user variables, whose
locations are described by a register.
2) If we see a regular instruction, look at all the registers it clobbers,
and terminate the location range for all variables described by these registers.
3) At the end of the basic block, terminate location ranges for all
user variables described by some register.

Although this change shouldn't be user-visible (the contents of .debug_loc section
should be the same), it changes some internal assumptions about the set
of instructions used to track the variable locations. Watching the bots.

llvm-svn: 209225
2014-05-20 18:34:54 +00:00
clang Fixed spelling. 2014-05-20 18:23:05 +00:00
clang-tools-extra Added a comment 2014-05-19 17:46:28 +00:00
compiler-rt Go via uintptr_t when casting away constness, otherwise GCC will warn 2014-05-20 16:37:07 +00:00
debuginfo-tests relax testcase for LLDB output format compatibility. 2014-03-19 23:06:18 +00:00
libclc Fix build broken by LLVM commit r207593 2014-04-30 18:35:20 +00:00
libcxx Update cstddef after clang r207606. 2014-05-16 01:45:02 +00:00
libcxxabi Fix typo in comment. 2014-05-14 17:16:57 +00:00
lld Fix typos 2014-05-20 16:17:53 +00:00
lldb Added gdb remote protocol tests across all qRegisterInfo responses. 2014-05-19 22:35:24 +00:00
llvm Rewrite calculateDbgValueHistory to make it (hopefully) more transparent. 2014-05-20 18:34:54 +00:00
openmp Add testsuite from OpenUH 2014-05-10 17:02:09 +00:00
polly polly: update for LLVM API change 2014-05-19 03:55:49 +00:00