| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 144236
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 139751
|
| |
|
|
| |
llvm-svn: 139530
|
| |
|
|
|
|
| |
using DIBuilder.
llvm-svn: 139515
|
| |
|
|
| |
llvm-svn: 138654
|
| |
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
type does not need any context.
llvm-svn: 138010
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 137673
|
| |
|
|
|
|
| |
yesterday.
llvm-svn: 135504
|
| |
|
|
|
|
|
|
| |
enable dwarf writer to easily distinguish between two instances of a inlined variable in one basic block."
This reverts commit 9fec5e346efdf744b151ae6604f912908315fa7a.
llvm-svn: 135486
|
| |
|
|
|
|
| |
dwarf writer to easily distinguish between two instances of a inlined variable in one basic block.
llvm-svn: 135457
|
| |
|
|
| |
llvm-svn: 135265
|
| |
|
|
| |
llvm-svn: 133828
|
| |
|
|
|
|
| |
typedef decl itself. Use extra parameter to communicate this to DIBuilder.
llvm-svn: 132556
|
| |
|
|
| |
llvm-svn: 130756
|
| |
|
|
|
|
| |
This worked untill now because stars are aligned (i.e. num of complex address elments are always 0 or 2+ and when it is 2+ at least two elements are access together)
llvm-svn: 130225
|
| |
|
|
| |
llvm-svn: 130086
|
| |
|
|
| |
llvm-svn: 130028
|
| |
|
|
| |
llvm-svn: 129932
|
| |
|
|
| |
llvm-svn: 129735
|
| |
|
|
|
|
| |
information generated for an interface.
llvm-svn: 129624
|
| |
|
|
| |
llvm-svn: 128947
|
| |
|
|
|
|
|
|
| |
encode arguments' debug info, in order any way, most of the times. However, if a front end mix-n-matches llvm.dbg.declare and llvm.dbg.value intrinsics to encode debug info for arguments then code generator needs a way to find argument order.
Use 8 bits from line number field to keep track of argument ordering while encoding debug info for an argument. That leaves 24 bit for line no, DebugLoc also allocates 24 bit for line numbers. If a function has more than 255 arguments then rest of the arguments will be ordered by llvm.dbg.* intrinsics' ordering in IR.
llvm-svn: 126793
|
| |
|
|
|
|
| |
clang uses DBuilder, so it requries corresponding change.
llvm-svn: 126231
|
| |
|
|
| |
llvm-svn: 124755
|
| |
|
|
| |
llvm-svn: 124752
|
| |
|
|
| |
llvm-svn: 121289
|
| |
|
|
| |
llvm-svn: 121281
|
| |
|
|
| |
llvm-svn: 121279
|
| |
|
|
| |
llvm-svn: 121224
|
| |
|
|
| |
llvm-svn: 121212
|
| |
|
|
| |
llvm-svn: 121211
|
| |
|
|
|
|
| |
This is still work in progress.
llvm-svn: 121205
|
| |
|
|
| |
llvm-svn: 118257
|
|
|
emit debuggging information entries in LLVM IR.
To create debugging information for a pointer, using DIBUilder front-end just needs
DBuilder.CreatePointerType(Ty, Size);
instead of
DebugFactory.CreateDerivedType(llvm::dwarf::DW_TAG_pointer_type,
TheCU, "", getOrCreateMainFile(),
0, Size, 0, 0, 0, OCTy);
llvm-svn: 118248
|