[PATCH] Moving DebugInfo module to VMCore

Hi all,

This patch, though large, simply moves lib/Analysis/DebugInfo.cpp to lib/VMCore/DebugInfo.cpp and include/llvm/Analysis/DebugInfo.h to include/llvm/DebugInfo.h.

Why? Because this module has nothing to do with analysis. It simply defines an interface to the debug info MDNodes. In fact, the lib/VMCore/AsmWriter.cpp file performs a layering violation, because it calculates the DWARF tag from this debug info, which is more appropriately calculated via the debug info module. It could eventually allow us to use the debug info module's comment printer to generate fuller comments in the .ll file.

Okay to commit?

-bw

clang-debuginfo.patch (2.12 KB)

debuginfo.patch (102 KB)

Sure, I'm ok with that.

-eric

Done. Thanks!

-bw

Hi all,

This patch, though large, simply moves lib/Analysis/DebugInfo.cpp to lib/VMCore/DebugInfo.cpp and include/llvm/Analysis/DebugInfo.h to include/llvm/DebugInfo.h.

Why? Because this module has nothing to do with analysis. It simply defines an interface to the debug info MDNodes. In fact, the lib/VMCore/AsmWriter.cpp file performs a layering violation, because it calculates the DWARF tag from this debug info, which is more appropriately calculated via the debug info module. It could eventually allow us to use the debug info module’s comment printer to generate fuller comments in the .ll file.

Okay to commit?

-bw

<clang-debuginfo.patch><debuginfo.patch>

Sure, I’m ok with that.

Done. Thanks!

Now include/llvm folder has the following files:
DebugInfo.h - describes debug info MDNodes
DebugInfo/DIContext.h - defines an abstract debug info context for fetching debug info from object files. It is currently used in llvm-dwarfdump and I hope to use it in llvm-based symbolizer.

Just wanted to ask if you’re fine with this layout and don’t find it confusing.

It's a step forward :slight_smile: I don't mind moving things around as they make sense.

-eric