- Oct 18, 2011
-
-
Nick Lewycky authored
.file filenumber "directory" "filename" This removes one join+split of the directory+filename in MC internals. Because bitcode files have independent fields for directory and filenames in debug info, this patch may change the .o files written by existing .bc files. llvm-svn: 142300
-
- Oct 12, 2011
-
-
Eric Christopher authored
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
-
- Oct 03, 2011
-
-
Eric Christopher authored
llvm-svn: 141004
-
- Aug 20, 2011
-
-
Devang Patel authored
Do not use named md nodes to track variables that are completely optimized. 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
-
- Aug 19, 2011
-
-
Devang Patel authored
llvm-svn: 138006
-
- Aug 17, 2011
-
-
Devang Patel authored
Until now all debug info MDNodes referred to a root MDNode, a compile unit. 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
-
- Aug 16, 2011
-
-
Devang Patel authored
llvm-svn: 137728
-
Devang Patel authored
llvm-svn: 137689
-
Devang Patel authored
llvm-svn: 137683
-
Devang Patel authored
llvm-svn: 137668
-
Devang Patel authored
llvm-svn: 137663
-
- Aug 15, 2011
-
-
Devang Patel authored
There is no need to maintain a set to keep track of variables that use location expressions. In such cases, AT_location attribute's value will be a label. llvm-svn: 137659
-
Devang Patel authored
llvm-svn: 137658
-
Devang Patel authored
llvm-svn: 137656
-
Devang Patel authored
When a variable is inlined multiple places, abstract variable keeps name, location, type etc.. info and all other concreate instances of the variable directly refers to abstract variable. llvm-svn: 137637
-
Devang Patel authored
llvm-svn: 137632
-
Devang Patel authored
llvm-svn: 137631
-
Devang Patel authored
llvm-svn: 137621
-
Devang Patel authored
llvm-svn: 137618
-
- Aug 12, 2011
-
-
Devang Patel authored
llvm-svn: 137485
-
- Aug 11, 2011
-
-
Benjamin Kramer authored
llvm-svn: 137321
-
Devang Patel authored
llvm-svn: 137283
-
- Aug 10, 2011
-
-
Devang Patel authored
Distinguish between two copies of one inlined variable. Take 2. llvm-svn: 137253
-
Devang Patel authored
llvm-svn: 137249
-
Devang Patel authored
llvm-svn: 137246
-
- Aug 08, 2011
-
-
Devang Patel authored
llvm-svn: 137056
-
- Aug 05, 2011
-
-
Chandler Carruth authored
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
-
- Aug 03, 2011
-
-
Bob Wilson authored
llvm-svn: 136802
-
Devang Patel authored
llvm-svn: 136759
-
- Jul 29, 2011
-
-
Nick Lewycky authored
lines. No functionality change. llvm-svn: 136458
-
- Jul 28, 2011
-
-
Devang Patel authored
llvm-svn: 136275
-
- Jul 27, 2011
-
-
Devang Patel authored
It is quiet possible that inlined function body is split into multiple chunks of consequtive instructions. But, there is not any way to describe this in .debug_inline accelerator table used by gdb. However, describe non contiguous ranges of inlined function body appropriately using AT_range of DW_TAG_inlined_subroutine debug info entry. llvm-svn: 136196
-
- Jul 26, 2011
-
-
Devang Patel authored
While extracting lexical scopes from machine instruction stream, work on one machine basic block at a time. llvm-svn: 136106
-
- Jul 21, 2011
-
-
Devang Patel authored
llvm-svn: 135633
-
Devang Patel authored
There are two ways to map a variable to its lexical scope. Lexical scope 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
-
- Jul 20, 2011
-
-
Devang Patel authored
llvm-svn: 135528
-
- Jul 15, 2011
-
-
Devang Patel authored
llvm-svn: 135302
-
Devang Patel authored
llvm-svn: 135278
-
Evan Cheng authored
llvm-svn: 135254
-
Devang Patel authored
llvm-svn: 135232
-