Skip to content
  1. Mar 31, 2015
  2. Mar 30, 2015
  3. Mar 27, 2015
  4. Mar 26, 2015
    • Sanjoy Das's avatar
      [ADT][CMake][AutoConf] Fail-fast iterators for DenseMap · 8ce6499b
      Sanjoy Das authored
      Summary:
      This patch is an attempt at making `DenseMapIterator`s "fail-fast".
      Fail-fast iterators that have been invalidated due to insertion into
      the host `DenseMap` deterministically trip an assert (in debug mode)
      on access, instead of non-deterministically hitting memory corruption
      issues.
      
      Enabling fail-fast iterators breaks the LLVM C++ ABI, so they are
      predicated on `LLVM_ENABLE_ABI_BREAKING_CHECKS`.
      `LLVM_ENABLE_ABI_BREAKING_CHECKS` by default flips with
      `LLVM_ENABLE_ASSERTS`, but can be clamped to ON or OFF using the CMake /
      autoconf build system.
      
      Reviewers: chandlerc, dexonsmith, rnk, zturner
      
      Subscribers: llvm-commits
      
      Differential Revision: http://reviews.llvm.org/D8351
      
      llvm-svn: 233310
      8ce6499b
  5. Mar 25, 2015
  6. Mar 19, 2015
  7. Mar 18, 2015
  8. Mar 17, 2015
  9. Mar 15, 2015
    • Renato Golin's avatar
      Adding commit msg guidelines to dev policy · dabbaca7
      Renato Golin authored
      After much bike shed discussions, we seem to agree to a few loose
      but relevant guidelines on how to prepare a commit message. It also
      points the attribution section to the new commit messages section
      to deduplicate information.
      
      llvm-svn: 232334
      dabbaca7
  10. Mar 14, 2015
  11. Mar 13, 2015
    • David Blaikie's avatar
      [opaque pointer type] Add textual IR support for explicit type parameter to gep operator · f72d05bc
      David Blaikie authored
      Similar to gep (r230786) and load (r230794) changes.
      
      Similar migration script can be used to update test cases, which
      successfully migrated all of LLVM and Polly, but about 4 test cases
      needed manually changes in Clang.
      
      (this script will read the contents of stdin and massage it into stdout
      - wrap it in the 'apply.sh' script shown in previous commits + xargs to
      apply it over a large set of test cases)
      
      import fileinput
      import sys
      import re
      
      rep = re.compile(r"(getelementptr(?:\s+inbounds)?\s*\()((<\d*\s+x\s+)?([^@]*?)(|\s*addrspace\(\d+\))\s*\*(?(3)>)\s*)(?=$|%|@|null|undef|blockaddress|getelementptr|addrspacecast|bitcast|inttoptr|zeroinitializer|<|\[\[[a-zA-Z]|\{\{)", re.MULTILINE | re.DOTALL)
      
      def conv(match):
        line = match.group(1)
        line += match.group(4)
        line += ", "
        line += match.group(2)
        return line
      
      line = sys.stdin.read()
      off = 0
      for match in re.finditer(rep, line):
        sys.stdout.write(line[off:match.start()])
        sys.stdout.write(conv(match))
        off = match.end()
      sys.stdout.write(line[off:])
      
      llvm-svn: 232184
      f72d05bc
    • Chris Bieneman's avatar
      Updating GettingStarted documentation to reference CMake as the preferred way to build LLVM. · 9f611e3a
      Chris Bieneman authored
      Reviewers: chandlerc, samsonov, echristo
      
      Reviewed By: samsonov
      
      Subscribers: emaste, joker.eph, llvm-commits
      
      Differential Revision: http://reviews.llvm.org/D8046
      
      llvm-svn: 232135
      9f611e3a
  12. Mar 12, 2015
  13. Mar 11, 2015
  14. Mar 09, 2015
  15. Mar 06, 2015
  16. Mar 05, 2015
  17. Mar 04, 2015
  18. Mar 03, 2015
    • David Majnemer's avatar
      LangRef: Clarify select's semantics with vector arguments · 40a0b594
      David Majnemer authored
      llvm-svn: 231158
      40a0b594
    • Reid Kleckner's avatar
      Make llvm.eh.begincatch use an outparam · 2f05d4c9
      Reid Kleckner authored
      Ultimately, __CxxFrameHandler3 needs us to put a stack offset in a
      table, and it will take responsibility for copying the exception object
      into that slot. Modelling the exception object as an SSA value returned
      by begincatch isn't going to work in general, so make it use an output
      parameter.
      
      Reviewers: andrew.w.kaylor
      
      Differential Revision: http://reviews.llvm.org/D7920
      
      llvm-svn: 231086
      2f05d4c9
    • Duncan P. N. Exon Smith's avatar
      DebugInfo: Move new hierarchy into place · e274180f
      Duncan P. N. Exon Smith authored
      Move the specialized metadata nodes for the new debug info hierarchy
      into place, finishing off PR22464.  I've done bootstraps (and all that)
      and I'm confident this commit is NFC as far as DWARF output is
      concerned.  Let me know if I'm wrong :).
      
      The code changes are fairly mechanical:
      
        - Bumped the "Debug Info Version".
        - `DIBuilder` now creates the appropriate subclass of `MDNode`.
        - Subclasses of DIDescriptor now expect to hold their "MD"
          counterparts (e.g., `DIBasicType` expects `MDBasicType`).
        - Deleted a ton of dead code in `AsmWriter.cpp` and `DebugInfo.cpp`
          for printing comments.
        - Big update to LangRef to describe the nodes in the new hierarchy.
          Feel free to make it better.
      
      Testcase changes are enormous.  There's an accompanying clang commit on
      its way.
      
      If you have out-of-tree debug info testcases, I just broke your build.
      
        - `upgrade-specialized-nodes.sh` is attached to PR22564.  I used it to
          update all the IR testcases.
        - Unfortunately I failed to find way to script the updates to CHECK
          lines, so I updated all of these by hand.  This was fairly painful,
          since the old CHECKs are difficult to reason about.  That's one of
          the benefits of the new hierarchy.
      
      This work isn't quite finished, BTW.  The `DIDescriptor` subclasses are
      almost empty wrappers, but not quite: they still have loose casting
      checks (see the `RETURN_FROM_RAW()` macro).  Once they're completely
      gutted, I'll rename the "MD" classes to "DI" and kill the wrappers.  I
      also expect to make a few schema changes now that it's easier to reason
      about everything.
      
      llvm-svn: 231082
      e274180f
Loading