Skip to content
  1. Nov 09, 2013
  2. Nov 07, 2013
  3. Nov 05, 2013
    • Rafael Espindola's avatar
      Simplify ErrorOr. · ca35ffe6
      Rafael Espindola authored
      ErrorOr had quiet a bit of complexity and indirection to be able to hold a user
      type with the error.
      
      That feature is not used anymore. This patch removes it, it will live in svn
      history if we ever need it again.
      
      If we do need it again, IMHO there is one thing that should be done
      differently: Holding extra info in the error is not a property a function also
      returning a value or not. The ability to hold extra info should be in the error
      type and ErrorOr templated over it so that we don't need the funny looking
      ErrorOr<void>.
      
      llvm-svn: 194030
      ca35ffe6
  4. Oct 31, 2013
  5. Oct 30, 2013
    • Rafael Espindola's avatar
      Add calls to doInitialization() and doFinalization() in verifyFunction() · 55fdcff4
      Rafael Espindola authored
      The function verifyFunction() in lib/IR/Verifier.cpp misses some
      calls. It creates a temporary FunctionPassManager that will run a
      single Verifier pass. Unfortunately, FunctionPassManager is no
      PassManager and does not call doInitialization() and doFinalization()
      by itself. Verifier does important tasks in doInitialization() such as
      collecting type information used to check DebugInfo metadata and
      doFinalization() does some additional checks. Therefore these checks
      were missed and debug info couldn't be verified at all, it just
      crashed if the function had some.
      
      verifyFunction() is currently not used in llvm unless -debug option is
      enabled, and in unittests/IR/VerifierTest.cpp
      
      VerifierTest had to be changed to create the function in a module from
      which the type debug info can be collected.
      
      Patch by Michael Kruse.
      
      llvm-svn: 193719
      55fdcff4
    • Rui Ueyama's avatar
      Add {start,end}with_lower methods to StringRef. · 00e24e48
      Rui Ueyama authored
      startswith_lower is ocassionally useful and I think worth adding.
      endwith_lower is added for completeness.
      
      Differential Revision: http://llvm-reviews.chandlerc.com/D2041
      
      llvm-svn: 193706
      00e24e48
    • Nuno Lopes's avatar
      make ConstantRange::signExtend() optimal · 1112eca0
      Nuno Lopes authored
      the case [x, INT_MIN) was not handled optimally
      
      llvm-svn: 193694
      1112eca0
  6. Oct 29, 2013
  7. Oct 28, 2013
  8. Oct 25, 2013
  9. Oct 24, 2013
  10. Oct 22, 2013
  11. Oct 21, 2013
  12. Oct 18, 2013
  13. Oct 17, 2013
  14. Oct 16, 2013
    • David Blaikie's avatar
      DIEHash: Include the trailing zero byte after the children of a DIE · 71a0ad66
      David Blaikie authored
      llvm-svn: 192836
      71a0ad66
    • Rafael Espindola's avatar
      Fix MCDataAtom never calling remap when adding data. · bab2afbf
      Rafael Espindola authored
      This patch fixes a small mistake in MCDataAtom::addData() where it doesn't ever
      call remap():
      
      -  if (Data.size() > Begin - End - 1)
      +  if (Data.size() > End + 1 - Begin)
           remap(Begin, End + 1);
      
      This is currently not visible because of another bug is the disassembler, so
      the patch includes a unit test.
      
      Patch by Stephen Checkoway.
      
      llvm-svn: 192823
      bab2afbf
    • Rafael Espindola's avatar
      Assert on duplicate registration. Don't depend on function pointer equality. · 40a3d018
      Rafael Espindola authored
      Before this patch we would assert when building llvm as multiple shared
      libraries (cmake's BUILD_SHARED_LIBS). The problem was the line
      
      if (T.AsmStreamerCtorFn == Target::createDefaultAsmStreamer)
      
      which returns false because of -fvisibility-inlines-hidden. It is easy
      to fix just this one case, but I decided to try to also make the
      registration more strict. It looks like the old logic for ignoring
      followup registration was just a temporary hack that outlived its
      usefulness.
      
      This patch converts the ifs to asserts, fixes the few cases that were
      registering twice and makes sure all the asserts compare with null.
      
      Thanks for Joerg for reporting the problem and reviewing the patch.
      
      llvm-svn: 192803
      40a3d018
Loading