Skip to content
  1. Nov 18, 2014
  2. Nov 14, 2014
  3. Nov 10, 2014
  4. Nov 06, 2014
  5. Nov 05, 2014
  6. Nov 04, 2014
  7. Nov 02, 2014
  8. Oct 29, 2014
  9. Oct 28, 2014
  10. Oct 24, 2014
  11. Oct 22, 2014
  12. Oct 21, 2014
    • Philip Reames's avatar
      Introduce a 'nonnull' metadata on Load instructions. · cdb72f36
      Philip Reames authored
      The newly introduced 'nonnull' metadata is analogous to existing 'nonnull' attributes, but applies to load instructions rather than call arguments or returns.  Long term, it would be nice to combine these into a single construct.   The value of the load is allowed to vary between successive loads, but null is not a valid value to be loaded by any load marked nonnull.
      
      Reviewed by: Hal Finkel
      Differential Revision:  http://reviews.llvm.org/D5220
      
      llvm-svn: 220240
      cdb72f36
  13. Oct 17, 2014
  14. Oct 16, 2014
  15. Oct 14, 2014
  16. Oct 13, 2014
  17. Oct 08, 2014
    • Frederic Riss's avatar
      Update dwarf::ApplePropertyAttributes enum to meaningful values. · eea4f885
      Frederic Riss authored
      Summary:
      We currently emit an DW_AT_APPLE_property_attribute with a value that is a
      bitfield describing the various attributes applied to an ObjectiveC property.
      While trying to add testing to one of my dwarfdump patches that would pretty
      print that, I realized this information looks totally broken and has maybe
      never been correct.
      
      As with every DWARF info, we have some enum in Dwarf.h that describes this
      attribute (enum ApplePropertyAttributes). It seems however that the attribute
      value is set from another definition of these flags in Sema/DeclSpec.h (enum
      ObjCPropertyAttributeKind). And these 2 enums aren't in sync.
      
      This patch updates the Dwarf.h values to the ones we are (and have been for
      a very long time) emitting. We change some publicly (and even documented
      in SourceLevelDebugging.rst) values, but I doubt this could be an issue as
      the information has been wrong for so long...
      
      Reviewers: echristo, dblaikie, aprantl
      
      Subscribers: llvm-commits
      
      Differential Revision: http://reviews.llvm.org/D5653
      
      llvm-svn: 219311
      eea4f885
  18. Oct 06, 2014
  19. Oct 04, 2014
  20. Oct 03, 2014
  21. Oct 02, 2014
    • Duncan P. N. Exon Smith's avatar
      DI: Fold constant arguments into a single MDString · 571f97bd
      Duncan P. N. Exon Smith authored
      This patch addresses the first stage of PR17891 by folding constant
      arguments together into a single MDString.  Integers are stringified and
      a `\0` character is used as a separator.
      
      Part of PR17891.
      
      Note: I've attached my testcases upgrade scripts to the PR.  If I've
      just broken your out-of-tree testcases, they might help.
      
      llvm-svn: 218914
      571f97bd
  22. Oct 01, 2014
    • Adrian Prantl's avatar
      Move the complex address expression out of DIVariable and into an extra · 87b7eb9d
      Adrian Prantl authored
      argument of the llvm.dbg.declare/llvm.dbg.value intrinsics.
      
      Previously, DIVariable was a variable-length field that has an optional
      reference to a Metadata array consisting of a variable number of
      complex address expressions. In the case of OpPiece expressions this is
      wasting a lot of storage in IR, because when an aggregate type is, e.g.,
      SROA'd into all of its n individual members, the IR will contain n copies
      of the DIVariable, all alike, only differing in the complex address
      reference at the end.
      
      By making the complex address into an extra argument of the
      dbg.value/dbg.declare intrinsics, all of the pieces can reference the
      same variable and the complex address expressions can be uniqued across
      the CU, too.
      Down the road, this will allow us to move other flags, such as
      "indirection" out of the DIVariable, too.
      
      The new intrinsics look like this:
      declare void @llvm.dbg.declare(metadata %storage, metadata %var, metadata %expr)
      declare void @llvm.dbg.value(metadata %storage, i64 %offset, metadata %var, metadata %expr)
      
      This patch adds a new LLVM-local tag to DIExpressions, so we can detect
      and pretty-print DIExpression metadata nodes.
      
      What this patch doesn't do:
      
      This patch does not touch the "Indirect" field in DIVariable; but moving
      that into the expression would be a natural next step.
      
      http://reviews.llvm.org/D4919
      rdar://problem/17994491
      
      Thanks to dblaikie and dexonsmith for reviewing this patch!
      
      Note: I accidentally committed a bogus older version of this patch previously.
      llvm-svn: 218787
      87b7eb9d
    • Adrian Prantl's avatar
      Revert r218778 while investigating buldbot breakage. · b458dc2e
      Adrian Prantl authored
      "Move the complex address expression out of DIVariable and into an extra"
      
      llvm-svn: 218782
      b458dc2e
    • Adrian Prantl's avatar
      Move the complex address expression out of DIVariable and into an extra · 25a7174e
      Adrian Prantl authored
      argument of the llvm.dbg.declare/llvm.dbg.value intrinsics.
      
      Previously, DIVariable was a variable-length field that has an optional
      reference to a Metadata array consisting of a variable number of
      complex address expressions. In the case of OpPiece expressions this is
      wasting a lot of storage in IR, because when an aggregate type is, e.g.,
      SROA'd into all of its n individual members, the IR will contain n copies
      of the DIVariable, all alike, only differing in the complex address
      reference at the end.
      
      By making the complex address into an extra argument of the
      dbg.value/dbg.declare intrinsics, all of the pieces can reference the
      same variable and the complex address expressions can be uniqued across
      the CU, too.
      Down the road, this will allow us to move other flags, such as
      "indirection" out of the DIVariable, too.
      
      The new intrinsics look like this:
      declare void @llvm.dbg.declare(metadata %storage, metadata %var, metadata %expr)
      declare void @llvm.dbg.value(metadata %storage, i64 %offset, metadata %var, metadata %expr)
      
      This patch adds a new LLVM-local tag to DIExpressions, so we can detect
      and pretty-print DIExpression metadata nodes.
      
      What this patch doesn't do:
      
      This patch does not touch the "Indirect" field in DIVariable; but moving
      that into the expression would be a natural next step.
      
      http://reviews.llvm.org/D4919
      rdar://problem/17994491
      
      Thanks to dblaikie and dexonsmith for reviewing this patch!
      
      llvm-svn: 218778
      25a7174e
  23. Sep 26, 2014
  24. Sep 25, 2014
  25. Sep 23, 2014
Loading