Today the front-ends (llvm-gcc and clang) generate multiple llvm.dbg.compile_units...
authorDevang Patel <dpatel@apple.com>
Wed, 17 Dec 2008 22:39:29 +0000 (22:39 +0000)
committerDevang Patel <dpatel@apple.com>
Wed, 17 Dec 2008 22:39:29 +0000 (22:39 +0000)
commit854967effe3fed51220511553512692a68dc2f9b
treedbf282c0ad873cd1095863956dc2d612590bb9ac
parentc7a21941c5f03fbbc47c550824d2aed1481e92f4
Today the front-ends (llvm-gcc and clang) generate multiple llvm.dbg.compile_units to identify source file for various debug entities. Each llvm.dbg.compile_unit matches one file on the disk. However, the backend only supports one DW_TAG_compile_unit per .o file. The backend selects first compile_unit from the vector to construct DW_TAG_compile_unit entry, which is not correct in all cases.

First step to resolve this is, record file name and directory directly in debug info for various debug entities.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61164 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Analysis/DebugInfo.h
include/llvm/CodeGen/MachineModuleInfo.h
lib/Analysis/DebugInfo.cpp