aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Analysis/DebugInfo.cpp
AgeCommit message (Collapse)AuthorFilesLines
2011-07-20There are two ways to map a variable to its lexical scope. Lexical scope ↵Devang Patel1-0/+6
information is embedded in MDNode describing the variable. It is also available as a part of DebugLoc attached with DBG_VALUE instruction. DebugLoc attached with an instruction is less reliable in optimized code so use information embedded in the MDNode. llvm-svn: 135629
2011-07-19Distinguish between two copies of one inlined variable.Devang Patel1-0/+11
llvm-svn: 135528
2011-07-19Reapply r135457. This needs llvm-gcc change, that I forgot to check-in ↵Devang Patel1-1/+16
yesterday. llvm-svn: 135504
2011-07-19Revert "Make a provision to encode inline location in a variable. This will ↵Bob Wilson1-16/+1
enable dwarf writer to easily distinguish between two instances of a inlined variable in one basic block." This reverts commit 9fec5e346efdf744b151ae6604f912908315fa7a. llvm-svn: 135486
2011-07-19Make a provision to encode inline location in a variable. This will enable ↵Devang Patel1-1/+16
dwarf writer to easily distinguish between two instances of a inlined variable in one basic block. llvm-svn: 135457
2011-06-18Simplify code. No functionality change.Benjamin Kramer1-18/+18
llvm-svn: 133351
2011-03-02Remove DIFactory. Patch by Devang.Duncan Sands1-663/+12
llvm-svn: 126871
2011-02-15Move DbgInfoPrinter specific utlities inside DbgInfoPrinter.cppDevang Patel1-111/+0
llvm-svn: 125571
2011-02-15Print function info. Patch by Minjang Kim.Devang Patel1-0/+28
llvm-svn: 125567
2011-02-03Fix typo in comment.Devang Patel1-1/+1
llvm-svn: 124759
2011-02-02Add support to describe template value parameter in debug info.Devang Patel1-0/+6
llvm-svn: 124755
2011-02-02Add support to describe template parameter type in debug info.Devang Patel1-0/+6
llvm-svn: 124752
2010-12-08Add support to create class type.Devang Patel1-0/+20
llvm-svn: 121279
2010-12-08Add support to create vector, array, enums etc...Devang Patel1-0/+2
llvm-svn: 121224
2010-12-07Add support to create variables, structs etc.. using DIBuilder.Devang Patel1-2/+15
This is still work in progress. llvm-svn: 121205
2010-12-03Also inore '()' while creating mdnode name from ObjC symbol name.Jakob Stoklund Olesen1-1/+2
llvm-svn: 120856
2010-12-03Ignore '+' while creating mdnode name from ObjC symbol name.Devang Patel1-1/+1
llvm-svn: 120853
2010-11-10Take care of special characters while creating named MDNode name to hold ↵Devang Patel1-3/+35
function specific local variable's info. This fixes radar 8653152. I am checking in testcase as a separate check-in. llvm-svn: 118726
2010-11-02Fix DIType verifier. The element 3 is DIFile now.Devang Patel1-3/+4
llvm-svn: 118054
2010-10-06Add support for DW_TAG_unspecified_parameters.Devang Patel1-1/+14
llvm-svn: 115833
2010-09-29Let FE mark a variable as artificial variable.Devang Patel1-3/+7
llvm-svn: 115102
2010-09-29Generalize DISubprogram element to encode various flags instead of just one ↵Devang Patel1-3/+3
boolean for isArtificial. This is a backword compatible change. llvm-svn: 115084
2010-09-28Provide an interface to let FEs anchor debug info for types.Devang Patel1-0/+8
llvm-svn: 114969
2010-09-21Simplify code.Benjamin Kramer1-8/+6
llvm-svn: 114444
2010-09-21Make CreateComplexVariable independent of SmallVector.Benjamin Kramer1-7/+6
llvm-svn: 114439
2010-08-23Let FE use derived types for DW_TAG_friend.Devang Patel1-0/+1
Patch by Alexander Herz! llvm-svn: 111861
2010-08-23Handle qualified constants that are directly folded by FE.Devang Patel1-0/+10
PR 7920. llvm-svn: 111820
2010-08-20CreateTemporaryType doesn't needs its Context argument.Dan Gohman1-1/+1
llvm-svn: 111687
2010-08-20Introduce a new temporary MDNode concept. Temporary MDNodes areDan Gohman1-1/+15
not part of the IR, are not uniqued, and may be safely RAUW'd. This replaces a variety of alternate mechanisms for achieving the same effect. llvm-svn: 111681
2010-08-11Even if a variable has constant value all the time, it is still a variable ↵Devang Patel1-1/+1
in gdb's eyes. Tested by scope.exp in gdb testsuite. llvm-svn: 110876
2010-08-10Add missing argument. CreateCompositeTypeEx() users, please verify.Devang Patel1-4/+5
llvm-svn: 110717
2010-08-10Do not forget debug info for enums. Use named mdnode to keep track of these ↵Devang Patel1-2/+15
types. llvm-svn: 110712
2010-08-10Handle TAG_constant for integers.Devang Patel1-2/+3
llvm-svn: 110656
2010-08-09Refactor.Devang Patel1-1/+42
llvm-svn: 110607
2010-08-02Add explicit constructors. Patch by Renato Golin.Devang Patel1-0/+15
llvm-svn: 110072
2010-07-21Make NamedMDNode not be a subclass of Value, and simplify the interfaceDan Gohman1-5/+5
for creating and populating NamedMDNodes. llvm-svn: 109061
2010-07-21tidy up.Jim Grosbach1-26/+27
llvm-svn: 109038
2010-07-21Disallow null as a named metadata operand.Dan Gohman1-4/+2
Make MDNode::destroy private. Fix the one thing that used MDNode::destroy, outside of MDNode itself. One should never delete or destroy an MDNode explicitly. MDNodes implicitly go away when there are no references to them (implementation details aside). llvm-svn: 109028
2010-07-19Correct line info for declarations/definitions. Radar 8063111.Stuart Hastings1-3/+8
llvm-svn: 108784
2010-07-08Reverting r107918 and r107919. Radar 8063111.Stuart Hastings1-8/+3
llvm-svn: 107930
2010-07-08Fix decl/def debug info for template functions. Radar 8063111.Stuart Hastings1-3/+8
llvm-svn: 107919
2010-06-28Use named MDNode, llvm.dbg.sp, to collect subprogram info. This will be used ↵Devang Patel1-11/+23
to emit local variable's debug info of deleted functions. llvm-svn: 106989
2010-06-27Do not forget last element, function, while creating Subprogram definition ↵Devang Patel1-1/+2
MDNode from subprogram declare MDNode. llvm-svn: 106985
2010-06-22Use single interface, using twine, to get named metadata.Devang Patel1-2/+1
getNamedMetadata(). llvm-svn: 106518
2010-06-22Do not rely on Twine temporaries to survive.Devang Patel1-4/+4
llvm-svn: 106515
2010-06-21Do not directly use function names to construct new name for named metadata.Devang Patel1-1/+8
"llvm.dbg.lv.~A" is not a valid name. llvm-svn: 106438
2010-06-16Check function pointer first, before comparing function names.Devang Patel1-0/+2
llvm-svn: 106088
2010-06-16Use separate named MDNode to hold each function's local variable info.Devang Patel1-2/+6
This speeds up local variable handling in DwarfDebug. llvm-svn: 106075
2010-06-11Support for nested functions/classes in debug output. (Again.) Radar 7424645.Stuart Hastings1-3/+14
llvm-svn: 105828
2010-06-11Delete duplicate function.Stuart Hastings1-12/+0
llvm-svn: 105827