llvm-project/llvm/lib/Transforms
Diego Novillo f5041ce558 Pass to emit DWARF path discriminators.
DWARF discriminators are used to distinguish multiple control flow paths
on the same source location. When this happens, instructions across
basic block boundaries will share the same debug location.

This pass detects this situation and creates a new lexical scope to one
of the two instructions. This lexical scope is a child scope of the
original and contains a new discriminator value. This discriminator is
then picked up from MCObjectStreamer::EmitDwarfLocDirective to be
written on the object file.

This fixes http://llvm.org/bugs/show_bug.cgi?id=18270.

llvm-svn: 202752
2014-03-03 20:06:11 +00:00
..
Hello Set LLVM_EXPORTED_SYMBOL_FILE in CMakeLists whose corresponding Makefiles do so. 2013-12-29 23:06:49 +00:00
IPO [C++11] Use std::tie to simplify compare operators. 2014-03-03 19:58:30 +00:00
InstCombine Make DataLayout a plain object, not a pass. 2014-02-25 17:30:31 +00:00
Instrumentation [msan] Handle X86 SIMD bitshift intrinsics. 2014-03-03 13:47:42 +00:00
ObjCARC [C++11] Replace llvm::next and llvm::prior with std::next and std::prev. 2014-03-02 12:27:27 +00:00
Scalar [C++11] Use std::tie to simplify compare operators. 2014-03-03 19:58:30 +00:00
Utils Pass to emit DWARF path discriminators. 2014-03-03 20:06:11 +00:00
Vectorize [C++11] Replace llvm::tie with std::tie. 2014-03-02 13:30:33 +00:00
CMakeLists.txt Extracted ObjCARC.cpp into its own library libLLVMObjCARCOpts in preparation for refactoring the ARC Optimizer. 2013-01-28 01:35:51 +00:00
LLVMBuild.txt Extracted ObjCARC.cpp into its own library libLLVMObjCARCOpts in preparation for refactoring the ARC Optimizer. 2013-01-28 01:35:51 +00:00
Makefile Extracted ObjCARC.cpp into its own library libLLVMObjCARCOpts in preparation for refactoring the ARC Optimizer. 2013-01-28 01:35:51 +00:00