llvm-6502/lib
Alexey Samsonov 447a7ce76c 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@209225 91177308-0d34-0410-b5e6-96231b3b80d8
2014-05-20 18:34:54 +00:00
..
Analysis Clean up language and grammar. 2014-05-20 17:11:11 +00:00
AsmParser Add 'nonnull', a new parameter and return attribute which indicates that the pointer is not null. Instcombine will elide comparisons between these and null. Patch by Luqman Aden! 2014-05-20 01:23:40 +00:00
Bitcode Add 'nonnull', a new parameter and return attribute which indicates that the pointer is not null. Instcombine will elide comparisons between these and null. Patch by Luqman Aden! 2014-05-20 01:23:40 +00:00
CodeGen Rewrite calculateDbgValueHistory to make it (hopefully) more transparent. 2014-05-20 18:34:54 +00:00
DebugInfo [DWARF parser] Teach DIContext to fetch short (non-linkage) function names for a given address. 2014-05-17 00:07:48 +00:00
ExecutionEngine [RuntimeDyld] Fix x86-64 MachO GOT relocation handling. 2014-05-19 19:21:25 +00:00
IR Add 'nonnull', a new parameter and return attribute which indicates that the pointer is not null. Instcombine will elide comparisons between these and null. Patch by Luqman Aden! 2014-05-20 01:23:40 +00:00
IRReader [C++11] More 'nullptr' conversion. In some cases just using a boolean check instead of comparing to nullptr. 2014-04-15 06:32:26 +00:00
LineEditor [CMake] Use LINK_LIBS instead of target_link_libraries(). 2014-02-26 06:41:29 +00:00
Linker Use create methods since msvc doesn't handle delegating constructors. 2014-05-17 21:29:57 +00:00
LTO Delete getAliasedGlobal. 2014-05-16 22:37:03 +00:00
MC Fix hardcoded slash to native path seperator which was exposed from llvm::sys::path. 2014-05-16 13:16:30 +00:00
Object [Mips] Add more relocation types and MIPS specific e_flags constants. 2014-05-20 09:27:49 +00:00
Option Options: Use erase_if to remove Args from the list. 2014-05-18 15:14:13 +00:00
ProfileData ProfileData: Allow multiple profiles in RawInstrProfReader 2014-05-16 00:38:00 +00:00
Support Clean up language and grammar. 2014-05-20 17:11:11 +00:00
TableGen Use a vector of unique_ptrs to fix a memory leak introduced in r208179. 2014-05-08 09:29:28 +00:00
Target [PowerPC] PR19796: Also match ISD::TargetConstant in isIntS16Immediate 2014-05-20 17:20:34 +00:00
Transforms Clean up language and grammar. 2014-05-20 17:11:11 +00:00
CMakeLists.txt ProfileData: Introduce the InstrProfReader interface and a text reader 2014-03-21 17:24:48 +00:00
LLVMBuild.txt ProfileData: Introduce the InstrProfReader interface and a text reader 2014-03-21 17:24:48 +00:00
Makefile ProfileData: Introduce the InstrProfReader interface and a text reader 2014-03-21 17:24:48 +00:00