summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Analysis/DebugInfo.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Add extra element to composite type. This new element will be used to record ↵Devang Patel2010-01-261-3/+5
| | | | | | c++ class that holds current class's vtable. llvm-svn: 94586
* Assert when debug intrinsic insert functions are passed empty argumentsVictor Hernandez2010-01-261-0/+6
| | | | llvm-svn: 94491
* Avoid using "Type" as the variable name.Devang Patel2010-01-231-11/+12
| | | | llvm-svn: 94262
* Make sure ValueFn starts off emptyVictor Hernandez2010-01-231-1/+1
| | | | llvm-svn: 94256
* Avoid unnecessary Elts arrayVictor Hernandez2010-01-201-4/+2
| | | | llvm-svn: 93978
* Make findDbgDeclare/findDbgGlobalDeclare local static functions; avoid Elts ↵Victor Hernandez2010-01-181-6/+7
| | | | | | array llvm-svn: 93764
* Replace DebugLocTuple with DILocation.Devang Patel2010-01-161-12/+4
| | | | llvm-svn: 93630
* Improve llvm.dbg.declare intrinsic by referring directly to the storage in ↵Victor Hernandez2010-01-151-29/+22
| | | | | | | | | its first argument, via function-local metadata (instead of via a bitcast). This patch also cleans up code that expects there to be a bitcast in the first argument and testcases that call llvm.dbg.declare. It also strips old llvm.dbg.declare intrinsics that did not pass metadata as the first argument. llvm-svn: 93531
* Revert r93504 because older uses of llvm.dbg.declare intrinsics need to be ↵Victor Hernandez2010-01-151-22/+29
| | | | | | auto-upgraded llvm-svn: 93515
* Improve llvm.dbg.declare intrinsic by referring directly to the storage in ↵Victor Hernandez2010-01-151-29/+22
| | | | | | | | its first argument, via function-local metadata (instead of via a bitcast). This patch also cleans up code that expects there to be a bitcast in the first argument and testcases that call llvm.dbg.declare. llvm-svn: 93504
* Respond to Chris' review:Victor Hernandez2010-01-111-8/+8
| | | | | | | Make InsertDbgValueIntrinsic() and get Offset take and recieve a uint64_t. Get constness correct for getVariable() and getValue(). llvm-svn: 93149
* Convert a ton of simple integer type equality tests to the new predicate.Benjamin Kramer2010-01-051-4/+2
| | | | llvm-svn: 92760
* Remove dead debug info intrinsics.Devang Patel2010-01-051-95/+0
| | | | | | | | | | Intrinsic::dbg_stoppoint Intrinsic::dbg_region_start Intrinsic::dbg_region_end Intrinsic::dbg_func_start AutoUpgrade simply ignores these intrinsics now. llvm-svn: 92557
* fix Analysis/DebugInfo.h to not include Metadata.h. Do thisChris Lattner2009-12-311-0/+5
| | | | | | | by moving one method out of line and eliminating redundant checks from other methods. llvm-svn: 92337
* rename "elements" of metadata to "operands". "Elements" areChris Lattner2009-12-311-25/+25
| | | | | | | things that occur in types. "operands" are things that occur in values. llvm-svn: 92322
* Optimize MDNode to coallocate the operand list immediatelyChris Lattner2009-12-311-1/+1
| | | | | | | | | | | | | after the MDNode in memory. This eliminates the operands pointer and saves a new[] per node. Note that the code in DIDerivedType::replaceAllUsesWith is wrong and quite scary. A MDNode should not be RAUW'd with something else: this changes all uses of the mdnode, which may not be debug info related! Debug info should use something non-mdnode for declarations. llvm-svn: 92321
* remove a bunch of unneeded functions.Chris Lattner2009-12-291-30/+0
| | | | llvm-svn: 92263
* major cleanups, much of this file was incorrectly indented.Chris Lattner2009-12-291-303/+273
| | | | llvm-svn: 92262
* one pass of cleanup over DebugInfo.h. Much more is still needed.Chris Lattner2009-12-291-12/+8
| | | | llvm-svn: 92261
* Final step in the metadata API restructuring: move the Chris Lattner2009-12-291-2/+1
| | | | | | | | getMDKindID/getMDKindNames methods to LLVMContext (and add convenience methods to Module), eliminating MetadataContext. Move the state that it maintains out to LLVMContext. llvm-svn: 92259
* This is a major cleanup of the instruction metadata interfaces thatChris Lattner2009-12-281-4/+2
| | | | | | | | | | | | | | | | | | | | | | I asked Devang to do back on Sep 27. Instead of going through the MetadataContext class with methods like getMD() and getMDs(), just ask the instruction directly for its metadata with getMetadata() and getAllMetadata(). This includes a variety of other fixes and improvements: previously all Value*'s were bloated because the HasMetadata bit was thrown into value, adding a 9th bit to a byte. Now this is properly sunk down to the Instruction class (the only place where it makes sense) and it will be folded away somewhere soon. This also fixes some confusion in getMDs and its clients about whether the returned list is indexed by the MDID or densely packed. This is now returned sorted and densely packed and the comments make this clear. This introduces a number of fixme's which I'll follow up on. llvm-svn: 92235
* rename getMDKind -> getMDKindID, make it autoinsert if an MD KindChris Lattner2009-12-281-4/+3
| | | | | | | doesn't exist already, eliminate registerMDKind. Tidy up a bunch of random stuff. llvm-svn: 92225
* Convert debug messages to use dbgs(). Generally this meansDavid Greene2009-12-231-32/+33
| | | | | | s/errs/dbgs/g except for certain special cases. llvm-svn: 92032
* Add support to emit debug info for C++ namespaces.Devang Patel2009-12-151-0/+28
| | | | llvm-svn: 91440
* Revert 90858 90875 and 90805 for now.Devang Patel2009-12-081-28/+0
| | | | llvm-svn: 90898
* Rename DIFactory::InsertValue() as DIFactory::InsertDbgValueIntrinsic()Victor Hernandez2009-12-071-6/+8
| | | | llvm-svn: 90807
* Add support to emit debug info for c++ style namespaces.Devang Patel2009-12-071-0/+28
| | | | llvm-svn: 90805
* Introduce the "@llvm.dbg.value" debug intrinsic.Victor Hernandez2009-12-071-0/+29
| | | | | | | | | | | 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. llvm-svn: 90788
* Add support to emit debug info for virtual functions and virtual base classes.Devang Patel2009-12-031-5/+13
| | | | llvm-svn: 90474
* Add utility routine to create subprogram definition entry from subprogram ↵Devang Patel2009-12-011-0/+23
| | | | | | declaration entry. llvm-svn: 90282
* Use StringRef (again) in DebugInfo interface.Devang Patel2009-11-251-45/+51
| | | | llvm-svn: 89866
* Emit pubtypes.Devang Patel2009-11-241-0/+32
| | | | llvm-svn: 89725
* Add CreateLocation varinat that accepts MDNode (with a default value).Devang Patel2009-11-231-0/+11
| | | | llvm-svn: 89689
* Remove dead code.Devang Patel2009-11-171-55/+1
| | | | llvm-svn: 89156
* Revert r87059 for now. It is failing clang tests.Devang Patel2009-11-131-3/+11
| | | | llvm-svn: 87070
* Remove unnecessary llvm.dbg.declare bitcastVictor Hernandez2009-11-131-11/+3
| | | | llvm-svn: 87059
* "Attach debug info with llvm instructions" mode was enabled a month ago. Now ↵Devang Patel2009-11-121-37/+2
| | | | | | make it permanent and remove old way of inserting intrinsics to encode debug info for line number and scopes. llvm-svn: 87014
* Do not use StringRef in DebugInfo interface. Devang Patel2009-11-121-17/+17
| | | | | | | This allows StringRef to skip controversial if(str) check in constructor. Buildbots, wait for corresponding clang and llvm-gcc FE check-ins! llvm-svn: 86914
* Implement support to debug inlined functions.Devang Patel2009-11-101-18/+0
| | | | llvm-svn: 86748
* Process InlinedAt location info.Devang Patel2009-11-101-16/+21
| | | | | | Update InsertDeclare to return newly inserted llvm.dbg.declare intrinsic. llvm-svn: 86727
* Tolerate invalid derived type.Devang Patel2009-11-061-0/+4
| | | | llvm-svn: 86269
* Do not bother to emit debug info for nameless global variable.Devang Patel2009-11-061-0/+3
| | | | llvm-svn: 86259
* While calculating original type size for a derived type, handle type ↵Devang Patel2009-11-041-6/+12
| | | | | | | | variants encoded as DIDerivedType appropriately. This improves bitfield support. llvm-svn: 86073
* If string field is empty then return NULL.Devang Patel2009-10-301-1/+4
| | | | llvm-svn: 85630
* If a type is derived from a derived type then calculate size appropriately.Devang Patel2009-10-301-3/+3
| | | | llvm-svn: 85619
* First bitcase use may not lead to a dbg.declare intrinsic. Iterate uses ↵Devang Patel2009-10-291-3/+4
| | | | | | | | until one find's dbg.declare intrinsic. Patch by Sunae Seo. llvm-svn: 85518
* Add support to encode type info using llvm::Constant.Devang Patel2009-10-261-0/+87
| | | | | | Patch by Talin! llvm-svn: 85126
* "there is not any instruction with attached debug info in this module" does ↵Devang Patel2009-10-131-11/+11
| | | | | | not mean "there is no debug info in this module". :) llvm-svn: 83984
* It's possible for a global variable to be optimized out of a metadata object. SoBill Wendling2009-10-081-1/+1
| | | | | | we should allow a "null" with this dyn_cast. llvm-svn: 83573
* Extract subprogram and compile unit information from the debug info attached ↵Devang Patel2009-10-071-0/+29
| | | | | | to an instruction. llvm-svn: 83491
OpenPOWER on IntegriCloud