aboutsummaryrefslogtreecommitdiff
path: root/lib/Analysis/DebugInfo.cpp
AgeCommit message (Collapse)Author
2009-12-23Convert debug messages to use dbgs(). Generally this meansDavid Greene
s/errs/dbgs/g except for certain special cases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92032 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-15Add support to emit debug info for C++ namespaces.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91440 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-08Revert 90858 90875 and 90805 for now.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90898 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-07Rename DIFactory::InsertValue() as DIFactory::InsertDbgValueIntrinsic()Victor Hernandez
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90807 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-07Add support to emit debug info for c++ style namespaces.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90805 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-07Introduce the "@llvm.dbg.value" debug intrinsic.Victor Hernandez
The semantics of llvm.dbg.value are that starting from where it is executed, an offset into the specified user source variable is specified to get a new value. An example: call void @llvm.dbg.value(metadata !{ i32 7 }, i64 0, metadata !2) Here the user source variable associated with metadata #2 gets the value "i32 7" at offset 0. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90788 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-03Add support to emit debug info for virtual functions and virtual base classes.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90474 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-01Add utility routine to create subprogram definition entry from subprogram ↵Devang Patel
declaration entry. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90282 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-25Use StringRef (again) in DebugInfo interface.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89866 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-24Emit pubtypes.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89725 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-23Add CreateLocation varinat that accepts MDNode (with a default value).Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89689 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-17Remove dead code.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89156 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-13Revert r87059 for now. It is failing clang tests.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87070 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-13Remove unnecessary llvm.dbg.declare bitcastVictor Hernandez
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87059 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-12"Attach debug info with llvm instructions" mode was enabled a month ago. Now ↵Devang Patel
make it permanent and remove old way of inserting intrinsics to encode debug info for line number and scopes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87014 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-12Do not use StringRef in DebugInfo interface. Devang Patel
This allows StringRef to skip controversial if(str) check in constructor. Buildbots, wait for corresponding clang and llvm-gcc FE check-ins! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86914 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-10Implement support to debug inlined functions.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86748 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-10Process InlinedAt location info.Devang Patel
Update InsertDeclare to return newly inserted llvm.dbg.declare intrinsic. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86727 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-06Tolerate invalid derived type.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86269 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-06Do not bother to emit debug info for nameless global variable.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86259 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-04While calculating original type size for a derived type, handle type ↵Devang Patel
variants encoded as DIDerivedType appropriately. This improves bitfield support. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86073 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-30If string field is empty then return NULL.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85630 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-30If a type is derived from a derived type then calculate size appropriately.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85619 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-29First bitcase use may not lead to a dbg.declare intrinsic. Iterate uses ↵Devang Patel
until one find's dbg.declare intrinsic. Patch by Sunae Seo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85518 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-26Add support to encode type info using llvm::Constant.Devang Patel
Patch by Talin! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85126 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-13"there is not any instruction with attached debug info in this module" does ↵Devang Patel
not mean "there is no debug info in this module". :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83984 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-08It's possible for a global variable to be optimized out of a metadata object. SoBill Wendling
we should allow a "null" with this dyn_cast. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83573 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-07Extract subprogram and compile unit information from the debug info attached ↵Devang Patel
to an instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83491 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-01Expand api out in the usual inserter way, though, I do have aMike Stump
question, can we get rid of the BasicBlock versions of all inserters and use Head == 0 to indicate the old case when GetInsertBlock == 0? git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83216 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-01Add another MDNode into DebugLocTuple. This will be used to keep track of ↵Devang Patel
inlined functions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83190 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-30Add isFOO() helpers. Fix getDirectory() and getFilename() for DIScope.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83180 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-30Add a way for a frontend to generate more complex dwarf locationMike Stump
information. This allows arbitrary code involving DW_OP_plus_uconst and DW_OP_deref. The scheme allows for easy extention to include, any, or all of the DW_OP_ opcodes. I thought about just exposing all of them, but, wasn't sure if people wanted the dwarf opcodes exposed in the api. Is that a layering violation? With this scheme, the entire existing block scheme used by llvm-gcc can be switched over to the new scheme. I think that would be cleaner, as then the compiler specific bits are not present in llvm proper. Before the old code can be yanked however, similar code in clang would have to be removed. Next up, more testing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83120 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-29Remove std::string uses from DebugInfo interface.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83083 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-22Switch DIDescriptor to use a TrackingVH. - This makes it much safer to work ↵Daniel Dunbar
with debug info, since it was extraordinarily easy to have dangling pointers thanks to MDNode uniquing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82507 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-20Tabs -> spaces, and remove trailing whitespace.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82355 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-19Strip trailing whitespace.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82332 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-16Provide a way to extract location info from DILocation.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82064 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-01Introduce DILocation.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80648 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-31Subprogram is a scope. Derive DISubprogram from DIScope.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80637 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-31Rename DIBlock as DILexicalBlock.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80633 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-31Derive DICompileUnit from DIScope.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80627 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-31Introduce DIScope.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80620 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-31Oops. Fix inverted logic in assertion check.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80618 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-31Simplify isDerivedType() and other predicate interface.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80602 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-28Reapply 79977.Devang Patel
Use MDNodes to encode debug info in llvm IR. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80406 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-26Revert 79977. It causes llvm-gcc bootstrap failures on some platforms.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80073 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-25Update DebugInfo interface to use metadata, instead of special named ↵Devang Patel
llvm.dbg.... global variables, to encode debugging information in llvm IR. This is mostly a mechanical change that tests metadata support very well. This change speeds up llvm-gcc by more then 6% at "-O0 -g" (measured by compiling InstructionCombining.cpp!) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79977 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-23remove uses of llvm/Support/Streams.h.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79838 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-21bug 4530: Make debug information static to it is preservered during bitcode ↵Richard Pennington
linking. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79616 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-17Oops. find all llvm.dbg.global_variables.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79274 91177308-0d34-0410-b5e6-96231b3b80d8