- Dec 19, 2012
-
-
Eric Christopher authored
the abbreviations. Part of implementing split dwarf. llvm-svn: 170589
-
Bill Wendling authored
Rename the 'Attributes' class to 'Attribute'. It's going to represent a single attribute in the future. llvm-svn: 170502
-
- Dec 16, 2012
-
-
Dmitri Gribenko authored
from some other unrelated header. Patch by Kai. llvm-svn: 170284
-
Reed Kotler authored
Mips16 is really a processor decoding mode (ala thumb 1) and in the same program, mips16 and mips32 functions can exist and can call each other. If a jal type instruction encounters an address with the lower bit set, then the processor switches to mips16 mode (if it is not already in it). If the lower bit is not set, then it switches to mips32 mode. The linker knows which functions are mips16 and which are mips32. When relocation is performed on code labels, this lower order bit is set if the code label is a mips16 code label. In general this works just fine, however when creating exception handling tables and dwarf, there are cases where you don't want this lower order bit added in. This has been traditionally distinguished in gas assembly source by using a different syntax for the label. lab1: ; this will cause the lower order bit to be added lab2=. ; this will not cause the lower order bit to be added In some cases, it does not matter because in dwarf and debug tables the difference of two labels is used and in that case the lower order bits subtract each other out. To fix this, I have added to mcstreamer the notion of a debuglabel. The default is for label and debug label to be the same. So calling EmitLabel and EmitDebugLabel produce the same result. For various reasons, there is only one set of labels that needs to be modified for the mips exceptions to work. These are the "$eh_func_beginXXX" labels. Mips overrides the debug label suffix from ":" to "=." . This initial patch fixes exceptions. More changes most likely will be needed to DwarfCFException to make all of this work for actual debugging. These changes will be to emit debug labels in some places where a simple label is emitted now. Some historical discussion on this from gcc can be found at: http://gcc.gnu.org/ml/gcc-patches/2008-08/msg00623.html http://gcc.gnu.org/ml/gcc-patches/2008-11/msg01273.html llvm-svn: 170279
-
- Dec 15, 2012
-
-
Eric Christopher authored
Make emitDIE public accordingly. No functional change. llvm-svn: 170258
-
Eric Christopher authored
llvm-svn: 170257
-
- Dec 13, 2012
-
-
David Blaikie authored
This is the LLVM portion of r170154. llvm-svn: 170156
-
Eric Christopher authored
section to help prep some code to be split about. llvm-svn: 170088
-
- Dec 12, 2012
-
-
Pedro Artigas authored
Make the MCStreamer have a reset method and call that after finalization of the asm printer, also changed MCContext to a single reset only method for simplicity as requested on the list llvm-svn: 170041
-
- Dec 11, 2012
-
-
Eric Christopher authored
llvm-svn: 169907
-
Eric Christopher authored
controls each of the abbreviation sets (only a single one at the moment) and computes offsets separately as well for each set of DIEs. No real function change, ordering of abbreviations for the skeleton CU changed but only because we're computing in a separate order. Fix the testcase not to care. llvm-svn: 169793
-
- Dec 10, 2012
-
-
Lang Hames authored
InitSections is called before the MCContext is initialized it could cause duplicate temporary symbols to be emitted later (after context initialization resets the temporary label counter). llvm-svn: 169785
-
Eric Christopher authored
llvm-svn: 169780
-
Eric Christopher authored
llvm-svn: 169779
-
Eric Christopher authored
going on and makes a lot of the terminology in comments make more sense. llvm-svn: 169758
-
Eric Christopher authored
llvm-svn: 169757
-
Eric Christopher authored
llvm-svn: 169756
-
- Dec 06, 2012
-
-
Bill Wendling authored
s/getLowerBoundDefault/getDefaultLowerBound/ for consistency. Also put the more natural check first in the if-then statement. llvm-svn: 169486
-
Bill Wendling authored
Some languages, e.g. Ada and Pascal, allow you to specify that the array bounds are different from the default (1 in these cases). If we have a lower bound that's non-default, then we emit the lower bound. We also calculate the correct upper bound in those cases. llvm-svn: 169484
-
- Dec 04, 2012
-
-
David Blaikie authored
llvm-svn: 169315
-
Bill Wendling authored
The count attribute is more accurate with regards to the size of an array. It also obviates the upper bound attribute in the subrange. We can also better handle an unbound array by setting the count to -1 instead of the lower bound to 1 and upper bound to 0. llvm-svn: 169312
-
David Blaikie authored
This reapplies the fix for PR13303 now with more justification. Based on my execution of the GDB 7.5 test suite this results in: expected passes: 16101 -> 20890 (+30%) unexpected failures: 4826 -> 637 (-77%) There are 23 checks that used to pass and now fail. They are all in gdb.reverse. Investigating a few looks like they were accidentally passing due to extra breakpoints being set by this bug. They're generally due to the difference in end location between gcc and clang, the test suite is trying to set breakpoints on the closing '}' that clang doesn't associate with any instructions. llvm-svn: 169304
-
Chandler Carruth authored
missed in the first pass because the script didn't yet handle include guards. Note that the script is now able to handle all of these headers without manual edits. =] llvm-svn: 169224
-
Bill Wendling authored
The count field is necessary because there isn't a difference between the 'lo' and 'hi' attributes for a one-element array and a zero-element array. When the count is '0', we know that this is a zero-element array. When it's >=1, then it's a normal constant sized array. When it's -1, then the array is unbounded. llvm-svn: 169218
-
- Dec 03, 2012
-
-
Eli Bendersky authored
Thanks Eric for the review. llvm-svn: 169142
-
Chandler Carruth authored
Sooooo many of these had incorrect or strange main module includes. I have manually inspected all of these, and fixed the main module include to be the nearest plausible thing I could find. If you own or care about any of these source files, I encourage you to take some time and check that these edits were sensible. I can't have broken anything (I strictly added headers, and reordered them, never removed), but they may not be the headers you'd really like to identify as containing the API being implemented. Many forward declarations and missing includes were added to a header files to allow them to parse cleanly when included first. The main module rule does in fact have its merits. =] llvm-svn: 169131
-
- Dec 01, 2012
-
-
Eric Christopher authored
part of the compile unit CU and start separating out information into the various sections that will be pulled out later. WIP. llvm-svn: 169061
-
- Nov 29, 2012
-
-
Eric Christopher authored
llvm-svn: 168952
-
- Nov 27, 2012
-
-
Eric Christopher authored
the coding standard would like. llvm-svn: 168737
-
Eric Christopher authored
llvm-svn: 168736
-
Ulrich Weigand authored
argument. Instead, use a pair of .local and .comm directives. This avoids spurious differences between binaries built by the integrated assembler vs. those built by the external assembler, since the external assembler may impose alignment requirements on .lcomm symbols where the integrated assembler does not. llvm-svn: 168704
-
Eric Christopher authored
and O0 + debug codegen. llvm-svn: 168680
-
Eric Christopher authored
llvm-svn: 168644
-
Eric Christopher authored
add a TODO for starting. llvm-svn: 168643
-
Eric Christopher authored
llvm-svn: 168638
-
Eric Christopher authored
llvm-svn: 168637
-
- Nov 22, 2012
-
-
Eric Christopher authored
llvm-svn: 168481
-
- Nov 21, 2012
-
-
Eric Christopher authored
llvm-svn: 168402
-
Eric Christopher authored
around. llvm-svn: 168401
-
Eric Christopher authored
llvm-svn: 168400
-