Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Add a new wrapper node for a DILexicalBlock that encapsulates it and a | Eric Christopher | 2011-10-11 | 1 | -1/+31 |
| | | | | | | | | | | | | | file. Since it should only be used when necessary propagate it through the backend code generation and tweak testcases accordingly. This helps with code like in clang's test/CodeGen/debug-info-line.c where we have multiple #line directives within a single lexical block and want to generate only a single block that contains each file change. Part of rdar://10246360 llvm-svn: 141729 | ||||
* | Add support to emit debug info for C++0x nullptr type. | Devang Patel | 2011-09-14 | 1 | -1/+8 |
| | | | | llvm-svn: 139751 | ||||
* | Now, named mdnode llvm.dbg.cu keeps track of all compile units in a module. ↵ | Devang Patel | 2011-09-06 | 1 | -6/+12 |
| | | | | | | Update DebugInfoFinder to collect compile units from llvm.dbg.cu. llvm-svn: 139147 | ||||
* | After r138010, subroutine type does not have context info. Update type ↵ | Devang Patel | 2011-08-31 | 1 | -0/+1 |
| | | | | | | | | verifier accordingly. This fixes ptype.exp gdb testsuite regressions. llvm-svn: 138869 | ||||
* | Do not use named md nodes to track variables that are completely optimized. ↵ | Devang Patel | 2011-08-19 | 1 | -6/+38 |
| | | | | | | This does not scale while doing LTO with debug info. New approach is to include list of variables in the subprogram info directly. llvm-svn: 138145 | ||||
* | Until now all debug info MDNodes referred to a root MDNode, a compile unit. ↵ | Devang Patel | 2011-08-16 | 1 | -25/+46 |
| | | | | | | | | This simplified handling of these needs in dwarf writer. However, one side effect of this is that during link time optimization all these MDNodes are _not_ uniqued. In other words there will be N number of MDNodes describing "int", "char" and all other types, which would suddenly grow when each object file starts using libraries like STL. MDNodes graph structure such that compiler unit keeps track of important MDNodes and update dwarf writer to process mdnodes top-down instead of bottom up. llvm-svn: 137778 | ||||
* | Refactor. Global variables are part of compile unit so let CompileUnit ↵ | Devang Patel | 2011-08-15 | 1 | -0/+30 |
| | | | | | | create new global variable. llvm-svn: 137621 | ||||
* | Distinguish between two copies of one inlined variable. Take 2. | Devang Patel | 2011-08-10 | 1 | -0/+11 |
| | | | | llvm-svn: 137253 | ||||
* | Provide method to print variable's extended name which includes inline location. | Devang Patel | 2011-08-09 | 1 | -1/+37 |
| | | | | llvm-svn: 137095 | ||||
* | Temporarily revert r135528 which distinguishes between two copies of one | Chandler Carruth | 2011-08-05 | 1 | -11/+0 |
| | | | | | | | | | | | | | | | | | | | inlined variable, based on the discussion in PR10542. This explodes the runtime of several passes down the pipeline due to a large number of "copies" remaining live across a large function. This only shows up with both debug and opt, but when it does it creates a many-minute compile when self-hosting LLVM+Clang. There are several other cases that show these types of regressions. All of this is tracked in PR10542, and progress is being made on fixing the issue. Once its addressed, the re-instated, but until then this restores the performance for self-hosting and other opt+debug builds. Devang, let me know if this causes any trouble, or impedes fixing it in any way, and thanks for working on this! llvm-svn: 136953 | ||||
* | There are two ways to map a variable to its lexical scope. Lexical scope ↵ | Devang Patel | 2011-07-20 | 1 | -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 | ||||
* | Distinguish between two copies of one inlined variable. | Devang Patel | 2011-07-19 | 1 | -0/+11 |
| | | | | llvm-svn: 135528 | ||||
* | Reapply r135457. This needs llvm-gcc change, that I forgot to check-in ↵ | Devang Patel | 2011-07-19 | 1 | -1/+16 |
| | | | | | | yesterday. llvm-svn: 135504 | ||||
* | Revert "Make a provision to encode inline location in a variable. This will ↵ | Bob Wilson | 2011-07-19 | 1 | -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 | ||||
* | Make a provision to encode inline location in a variable. This will enable ↵ | Devang Patel | 2011-07-19 | 1 | -1/+16 |
| | | | | | | dwarf writer to easily distinguish between two instances of a inlined variable in one basic block. llvm-svn: 135457 | ||||
* | Simplify code. No functionality change. | Benjamin Kramer | 2011-06-18 | 1 | -18/+18 |
| | | | | llvm-svn: 133351 | ||||
* | Remove DIFactory. Patch by Devang. | Duncan Sands | 2011-03-02 | 1 | -663/+12 |
| | | | | llvm-svn: 126871 | ||||
* | Move DbgInfoPrinter specific utlities inside DbgInfoPrinter.cpp | Devang Patel | 2011-02-15 | 1 | -111/+0 |
| | | | | llvm-svn: 125571 | ||||
* | Print function info. Patch by Minjang Kim. | Devang Patel | 2011-02-15 | 1 | -0/+28 |
| | | | | llvm-svn: 125567 | ||||
* | Fix typo in comment. | Devang Patel | 2011-02-03 | 1 | -1/+1 |
| | | | | llvm-svn: 124759 | ||||
* | Add support to describe template value parameter in debug info. | Devang Patel | 2011-02-02 | 1 | -0/+6 |
| | | | | llvm-svn: 124755 | ||||
* | Add support to describe template parameter type in debug info. | Devang Patel | 2011-02-02 | 1 | -0/+6 |
| | | | | llvm-svn: 124752 | ||||
* | Add support to create class type. | Devang Patel | 2010-12-08 | 1 | -0/+20 |
| | | | | llvm-svn: 121279 | ||||
* | Add support to create vector, array, enums etc... | Devang Patel | 2010-12-08 | 1 | -0/+2 |
| | | | | llvm-svn: 121224 | ||||
* | Add support to create variables, structs etc.. using DIBuilder. | Devang Patel | 2010-12-07 | 1 | -2/+15 |
| | | | | | | This is still work in progress. llvm-svn: 121205 | ||||
* | Also inore '()' while creating mdnode name from ObjC symbol name. | Jakob Stoklund Olesen | 2010-12-03 | 1 | -1/+2 |
| | | | | llvm-svn: 120856 | ||||
* | Ignore '+' while creating mdnode name from ObjC symbol name. | Devang Patel | 2010-12-03 | 1 | -1/+1 |
| | | | | llvm-svn: 120853 | ||||
* | Take care of special characters while creating named MDNode name to hold ↵ | Devang Patel | 2010-11-10 | 1 | -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 | ||||
* | Fix DIType verifier. The element 3 is DIFile now. | Devang Patel | 2010-11-02 | 1 | -3/+4 |
| | | | | llvm-svn: 118054 | ||||
* | Add support for DW_TAG_unspecified_parameters. | Devang Patel | 2010-10-06 | 1 | -1/+14 |
| | | | | llvm-svn: 115833 | ||||
* | Let FE mark a variable as artificial variable. | Devang Patel | 2010-09-29 | 1 | -3/+7 |
| | | | | llvm-svn: 115102 | ||||
* | Generalize DISubprogram element to encode various flags instead of just one ↵ | Devang Patel | 2010-09-29 | 1 | -3/+3 |
| | | | | | | | | boolean for isArtificial. This is a backword compatible change. llvm-svn: 115084 | ||||
* | Provide an interface to let FEs anchor debug info for types. | Devang Patel | 2010-09-28 | 1 | -0/+8 |
| | | | | llvm-svn: 114969 | ||||
* | Simplify code. | Benjamin Kramer | 2010-09-21 | 1 | -8/+6 |
| | | | | llvm-svn: 114444 | ||||
* | Make CreateComplexVariable independent of SmallVector. | Benjamin Kramer | 2010-09-21 | 1 | -7/+6 |
| | | | | llvm-svn: 114439 | ||||
* | Let FE use derived types for DW_TAG_friend. | Devang Patel | 2010-08-23 | 1 | -0/+1 |
| | | | | | | Patch by Alexander Herz! llvm-svn: 111861 | ||||
* | Handle qualified constants that are directly folded by FE. | Devang Patel | 2010-08-23 | 1 | -0/+10 |
| | | | | | | PR 7920. llvm-svn: 111820 | ||||
* | CreateTemporaryType doesn't needs its Context argument. | Dan Gohman | 2010-08-20 | 1 | -1/+1 |
| | | | | llvm-svn: 111687 | ||||
* | Introduce a new temporary MDNode concept. Temporary MDNodes are | Dan Gohman | 2010-08-20 | 1 | -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 | ||||
* | Even if a variable has constant value all the time, it is still a variable ↵ | Devang Patel | 2010-08-11 | 1 | -1/+1 |
| | | | | | | | | in gdb's eyes. Tested by scope.exp in gdb testsuite. llvm-svn: 110876 | ||||
* | Add missing argument. CreateCompositeTypeEx() users, please verify. | Devang Patel | 2010-08-10 | 1 | -4/+5 |
| | | | | llvm-svn: 110717 | ||||
* | Do not forget debug info for enums. Use named mdnode to keep track of these ↵ | Devang Patel | 2010-08-10 | 1 | -2/+15 |
| | | | | | | types. llvm-svn: 110712 | ||||
* | Handle TAG_constant for integers. | Devang Patel | 2010-08-10 | 1 | -2/+3 |
| | | | | llvm-svn: 110656 | ||||
* | Refactor. | Devang Patel | 2010-08-09 | 1 | -1/+42 |
| | | | | llvm-svn: 110607 | ||||
* | Add explicit constructors. Patch by Renato Golin. | Devang Patel | 2010-08-02 | 1 | -0/+15 |
| | | | | llvm-svn: 110072 | ||||
* | Make NamedMDNode not be a subclass of Value, and simplify the interface | Dan Gohman | 2010-07-21 | 1 | -5/+5 |
| | | | | | | for creating and populating NamedMDNodes. llvm-svn: 109061 | ||||
* | tidy up. | Jim Grosbach | 2010-07-21 | 1 | -26/+27 |
| | | | | llvm-svn: 109038 | ||||
* | Disallow null as a named metadata operand. | Dan Gohman | 2010-07-21 | 1 | -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 | ||||
* | Correct line info for declarations/definitions. Radar 8063111. | Stuart Hastings | 2010-07-19 | 1 | -3/+8 |
| | | | | llvm-svn: 108784 | ||||
* | Reverting r107918 and r107919. Radar 8063111. | Stuart Hastings | 2010-07-08 | 1 | -8/+3 |
| | | | | llvm-svn: 107930 |