Skip to content
  1. Dec 08, 2014
  2. Dec 07, 2014
    • Duncan P. N. Exon Smith's avatar
      IR: Revert r223618 behaviour of MDNode::concatenate() · 9c51b50a
      Duncan P. N. Exon Smith authored
      r223618 including special handling of `MDNode::intersect()`: if the
      first operand is a self-reference with the same operands you're trying
      to return, return it instead.
      
      Reuse that handling in `MDNode::concatenate()` in the hopes that it
      fixes a polly test that seems to rely on the old behaviour [1].
      
      [1]: http://lab.llvm.org:8011/builders/polly-amd64-linux/builds/25167
      
      llvm-svn: 223619
      9c51b50a
    • Duncan P. N. Exon Smith's avatar
      IR: Drop uniquing for self-referencing MDNodes · ac8ee289
      Duncan P. N. Exon Smith authored
      It doesn't make sense to unique self-referencing nodes.  Drop uniquing
      for them.
      
      Note that `MDNode::intersect()` occasionally returns self-referencing
      nodes.  Previously these would be returned by `MDNode::get()`.  I'm not
      convinced this was intended behaviour -- to me it seems it should return
      a node whose only operand is the self-reference -- but I don't know much
      about alias scopes so I'm preserving it for now.
      
      This is part of PR21532.
      
      llvm-svn: 223618
      ac8ee289
    • Duncan P. N. Exon Smith's avatar
      IR: Remove reference to ENABLE_MDNODE_UNIQUING · d06c165b
      Duncan P. N. Exon Smith authored
      Apparently `MDNode` uniquing used to be optional.  I suppose the
      configure flag must have disappeared at some point.  Change the test so
      it actually tests uniquing, and remove the check for
      `ENABLE_MDNODE_UNIQUING`.
      
      llvm-svn: 223617
      d06c165b
    • Duncan P. N. Exon Smith's avatar
      IR: Add missing tests for function-local metadata · 545a9b0f
      Duncan P. N. Exon Smith authored
      Add assembly and bitcode tests that I neglected to add in r223564 (IR:
      Disallow complicated function-local metadata) and r223574 (IR: Disallow
      function-local metadata attachments).
      
      Found a couple of bugs:
      
        - The error message for function-local attachments gave the wrong line
          number -- it indicated the next token (typically on the next line)
          instead of the token that started the attachment.  Fixed.
      
        - Metadata arguments of the form `!{i32 0, i32 %v}` (or with the
          arguments reversed) fired an assertion in `ValueEnumerator` in LLVM
          v3.5, so I suppose this never really worked.  I suppose this was
          "fixed" by r223564.
      
      (Thanks to dblaikie for pointing out my omission.)
      
      Part of PR21532.
      
      llvm-svn: 223616
      545a9b0f
Loading