1. Jun 05, 2014
  2. Jun 04, 2014
    • Saleem Abdulrasool's avatar
      tools: initial implementation of WoA EH decoding · e6971cab
      Saleem Abdulrasool authored
      Add support to llvm-readobj to decode Windows ARM Exception Handling data.  This
      uses the previously added datastructures to decode the information into a format
      that can be used by tests.  This is a necessary step to add support for emitting
      Windows on ARM exception handling information.
      
      A fair amount of formatting inspiration is drawn from the Win64 EH printer as
      well as the ARM EHABI printer.  This allows for a reasonably thorough look into
      the encoded data.
      
      llvm-svn: 210192
      e6971cab
    • Saleem Abdulrasool's avatar
      tools: introduce StreamWriter::printBoolean · 6ba36dc1
      Saleem Abdulrasool authored
      Add a helper print method to print a boolean value as "Yes" or "No".  This is
      intended to be used by the Windows ARM EH printer.
      
      llvm-svn: 210191
      6ba36dc1
    • Saleem Abdulrasool's avatar
      Support: style/documentation cleanup for format · 3b293a1d
      Saleem Abdulrasool authored
      This is purely a documentation/whitespace cleanup for the format support
      functions.
      
      The current style does not duplicate the function/class names in the
      documentation; conform to this style.
      
      Additionally, there was a large amount of duplication of comments that added no
      real value.  Use block comments for the related sets of functions which are used
      for type deduction and parameter container classes.
      
      No functional change.
      
      llvm-svn: 210190
      3b293a1d
    • Saleem Abdulrasool's avatar
      Support: add additional comment for ARM EH structure · 5e1c51ed
      Saleem Abdulrasool authored
      Replicate the fact that ARM::WinEH::RuntimeFunction purposefully does not merge
      functions to accommodate raw data access use cases in tools such as readobj.
      Pointed out by Renato during post-commit review.
      
      No functional change.
      
      llvm-svn: 210189
      5e1c51ed
    • Nico Weber's avatar
      Make locales (and transitively, std::endl) work reliably with gcc. · 1d1b46cd
      Nico Weber authored
      libc++ currently relies on undefined initialization order of global
      initializers when using gcc:
      
      1. __start_std_streams in iostream.cpp calls locale::id::_init, which assigns
         an id to each locale::facet in an initializer
      
      2. Every facet has a static locale::id id, whose constructor sets the facet's
         id to 0
      
      If 2 runs after 1, it clobbers the facet's assigned consecutive id, causing
      exceptions to be thrown when e.g. running code like "cout << endl".
      
      To fix this, let _LIBCPP_CONSTEXPR evaluate to "constexpr" instead of nothing
      with gcc.  locale::id's constructor is marked _LIBCPP_CONSTEXPR, which ensures
      that it won't get an initializer that could potentially run after the
      iostream.cpp initializer. (This remains broken when building with msvc.)
      
      Also switch constexpr-specific code in bitset to use __SIZEOF_SIZE_T__ instead
      of __SIZE_WIDTH__, because gcc doesn't define the latter.
      
      Pair-programmed/debugged with Dana Jansens.
      
      llvm-svn: 210188
      1d1b46cd
    • Todd Fiala's avatar
      Add gdb-remote test for $qMemoryRegionInfo code querying. · 0811e714
      Todd Fiala authored
      Added test stub for collecting a code, heap and stack address.
      
      Added test to verify that the code address returns a readable,
      executable memory region and that the memory region range
      was indeed the one that the code belonged to.
      
      llvm-svn: 210187
      0811e714
    • Rafael Espindola's avatar
      InstCombine: Improvement to check if signed addition overflows. · 04c22586
      Rafael Espindola authored
      This patch implements two things:
      
      1. If we know one number is positive and another is negative, we return true as
          signed addition of two opposite signed numbers will never overflow.
      
      2. Implemented TODO : If one of the operands only has one non-zero bit, and if
          the other operand has a known-zero bit in a more significant place than it
          (not including the sign bit) the ripple may go up to and fill the zero, but
          won't change the sign. e.x -  (x & ~4) + 1
      
      We make sure that we are ignoring 0 at MSB.
      
      Patch by Suyog Sarda.
      
      llvm-svn: 210186
      04c22586
    • Todd Fiala's avatar
      Add gdb-remote test to ensure $qMemoryRegionInfo is supported. · 99a1f2e9
      Todd Fiala authored
      llvm-svn: 210185
      99a1f2e9
    • Alexander Musman's avatar
      [OPENMP] Parsing/Sema for OMPLasprivateClause. · 1bb328cc
      Alexander Musman authored
      Parsing this clause, allowing it on directive ‘omp simd’ and semantic checks.
      
      llvm-svn: 210184
      1bb328cc
    • Daniel Jasper's avatar
      clang-format: Leave empty lines within UnwrappedLines. · a69ca9be
      Daniel Jasper authored
      These are commonly used to structure things like enums or long braced
      lists. There doesn't seem to be a good reason to have the behavior in
      such structures be different from the behavior between statements.
      
      llvm-svn: 210183
      a69ca9be
    • Tilmann Scheller's avatar
      [AArch64] clang-format the load/store optimizer. · 5d8d72c5
      Tilmann Scheller authored
      No change in functionality.
      
      llvm-svn: 210182
      5d8d72c5
    • Tilmann Scheller's avatar
      [AArch64] Fix some LLVM Coding Standards violations in the load/store optimizer. · 4aad3bd6
      Tilmann Scheller authored
      Variable names should start with an upper case letter.
      
      No change in functionality.
      
      llvm-svn: 210181
      4aad3bd6
    • Evgeniy Stepanov's avatar
      [sancov] Handle fork. · fe181026
      Evgeniy Stepanov authored
      Reset coverage data on fork().
      For memory-mapped mode (coverage_direct=1) this helps avoid loss of data
      (before this change two processes would write to the same file simultaneously).
      For normal mode, this reduces coverage dump size, because PCs from the parent
      process are no longer inherited by the child.
      
      llvm-svn: 210180
      fe181026
    • Tobias Grosser's avatar
      Adjust multidim test cases to not access out-of-bound memory · 5416a039
      Tobias Grosser authored
      We do this currently only for test cases where we have integer offsets that
      clearly access array dimensions out-of-bound.
      
      -;   for (long i = 0; i < n; i++)
      -;     for (long j = 0; j < m; j++)
      -;       for (long k = 0; k < o; k++)
      +;   for (long i = 0; i < n - 3; i++)
      +;     for (long j = 4; j < m; j++)
      +;       for (long k = 0; k < o - 7; k++)
       ;         A[i+3][j-4][k+7] = 1.0;
      
      This will be helpful if we later want to simplify the access functions under the
      assumption that they do not access memory out of bounds.
      
      llvm-svn: 210179
      5416a039
    • Patrik Hagglund's avatar
      Fix gcc -Wparentheses warning. · 3154171d
      Patrik Hagglund authored
      llvm-svn: 210178
      3154171d