aboutsummaryrefslogtreecommitdiff
path: root/lib/Analysis/DebugInfo.cpp
AgeCommit message (Collapse)Author
2008-12-16use different name for parameter to make it clear that we set DIDescriptor::GVTorok Edwin
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61083 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-13Fix getFieldAs() to use the parameter instead of 6.Torok Edwin
Add missing DIType constructor, needed by DIVariable::getType(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60976 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-10Move getCastToEmpty out of DIDescriptor into DIFactory. It is anChris Lattner
implementation detail of DIFactory anyway, and this allows it to avoid recomputing the same type over and over. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58960 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-10Add a new set of helper classes for creating and reading debug Chris Lattner
information. This logically replaces the "Desc" classes in MachineModuleInfo. Nice features of these classes are that they: 1. Are much more efficient than MMI because they don't create a temporary parallel data structure for debug info that has to be 'serialized' and 'deserialized' into/out of the module. 2. These provide a much cleaner abstraction for debug info than MMI, which will make it easier to change the implementation in the future (to be MDNode-based). 3. These are much easier to use than the MMI interfaces, requiring a lot less code in the front-ends. 4. These can be used to both create (for frontends) and read (for codegen) debug information. DebugInfoBuilder can only be used to create the nodes. So far, this is implemented just enough to support the debug info generation needs of clang. This can and should be extended to support the full set of debug info constructs, and we should switch llvm-gcc and llc over to using this in the near future. This code also has a ton of FIXMEs in it, because the way we currently represent debug info in LLVM IR is basically insane in a variety of details. This sort of issue should be fixed when we eventually reimplement debug info on top of MDNodes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58954 91177308-0d34-0410-b5e6-96231b3b80d8