llvm-6502/lib
Sergey Dmitrouk a8dc0ee520 Erase constant dbgloc on reuse in PHI node
Basic block selection involves checking successor BBs for PHI nodes
that depend on the current BB.  In case such BBs are found, the value
being selected is a constant and such constant already exists in
current BB, it's value is reused.

This might lead to wrong locations in some situations, especially if
same constant value ends up being materialized twice in two different
ways, which discards that sharing and leaves us with wrong debug
location in the successor BB.

In code this involves the following sequence of calls:

 SelectionDAGBuilder::HandlePHINodesInSuccessorBlocks ->
 SelectionDAGBuilder::CopyValueToVirtualRegister ->
 SelectionDAGBuilder::getNonRegisterValue

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@239089 91177308-0d34-0410-b5e6-96231b3b80d8
2015-06-04 20:48:40 +00:00
..
Analysis [PM/AA] Start refactoring AliasAnalysis to remove the analysis group and 2015-06-04 02:03:15 +00:00
AsmParser DebugInfo: Really support 2^16 arguments in a subprogram 2015-06-02 17:17:44 +00:00
Bitcode [BitcodeReader] Diagnose type mismatches with aliases 2015-06-03 01:30:13 +00:00
CodeGen Erase constant dbgloc on reuse in PHI node 2015-06-04 20:48:40 +00:00
DebugInfo [DWARF] Fix a bug in line info handling 2015-05-31 23:37:04 +00:00
ExecutionEngine Re-commit r238838, r238844 with fix for host/target endian mismatch and windows buildbot. 2015-06-03 10:27:28 +00:00
Fuzzer [lib/Fuzzer] make assertions more informative and update comments for the user-supplied mutator 2015-05-30 17:33:13 +00:00
IR [C API] Add LLVMStructGetTypeAtIndex. 2015-06-04 09:09:53 +00:00
IRReader
LineEditor
Linker While in GlobalValue fix the function(s) that don't follow the 2015-05-15 18:20:14 +00:00
LTO Make the C++ LTO API easier to use from C++ clients. 2015-06-01 20:08:30 +00:00
MC MC: Remove obsolete MachO UseAggressiveSymbolFolding. 2015-06-04 20:27:42 +00:00
Object [Object, MachO] Don't crash on invalid MachO segment load commands. 2015-06-04 20:08:52 +00:00
Option
Passes
ProfileData
Support [bpf] add big- and host- endian support 2015-06-04 19:15:05 +00:00
TableGen [TableGen] Use range-based for loops. NFC 2015-06-04 07:40:14 +00:00
Target [GlobalMerge] Take into account minsize on Global users' parents. 2015-06-04 20:39:23 +00:00
Transforms Tidy code in InstrProfiling.cpp. NFC. 2015-06-04 11:45:32 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile