Skip to content
  1. Dec 20, 2012
  2. Dec 19, 2012
  3. Dec 16, 2012
    • Dmitri Gribenko's avatar
      Declare class DwarfDebug before use instead of relying on a forward declaration · 2943ce80
      Dmitri Gribenko authored
      from some other unrelated header.
      
      Patch by Kai.
      
      llvm-svn: 170284
      2943ce80
    • Reed Kotler's avatar
      This patch is needed to make c++ exceptions work for mips16. · aee4d5d1
      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
      aee4d5d1
  4. Dec 15, 2012
  5. Dec 13, 2012
  6. Dec 12, 2012
    • Pedro Artigas's avatar
      · 7212ee45
      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
      7212ee45
  7. Dec 11, 2012
  8. Dec 10, 2012
  9. Dec 06, 2012
  10. Dec 04, 2012
    • David Blaikie's avatar
      Comment change made in r169304 as requested by Eric Christopher. · 67cb31eb
      David Blaikie authored
      llvm-svn: 169315
      67cb31eb
    • Bill Wendling's avatar
      Use the 'count' attribute to calculate the upper bound of an array. · d7767125
      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
      d7767125
    • David Blaikie's avatar
      Reapply r160148 (reverted in r163570) fixing spurious breakpoints in modern GDB · 5a773bb6
      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
      5a773bb6
    • Chandler Carruth's avatar
      Sort includes for all of the .h files under the 'lib' tree. These were · 802d7555
      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
      802d7555
    • Bill Wendling's avatar
      Add a 'count' field to the DWARF subrange. · bfc0e572
      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
      bfc0e572
  11. Dec 03, 2012
    • Eli Bendersky's avatar
      Fix PR12942: Allow two CUs to be generated from the same source file. · b42d1466
      Eli Bendersky authored
      Thanks Eric for the review.
      
      llvm-svn: 169142
      b42d1466
    • Chandler Carruth's avatar
      Use the new script to sort the includes of every file under lib. · ed0881b2
      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
      ed0881b2
  12. Dec 01, 2012
  13. Nov 29, 2012
  14. Nov 27, 2012
  15. Nov 22, 2012
  16. Nov 21, 2012
Loading