Permalink
Commits on Nov 22, 2016
  1. Updating branches/google/testing to r285906

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/google/testing@287674 91177308-0d34-0410-b5e6-96231b3b80d8
    echristo committed Nov 22, 2016
Commits on Nov 4, 2016
Commits on Nov 3, 2016
  1. Replace a report_fatal_error with an ErrorOr.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@285905 91177308-0d34-0410-b5e6-96231b3b80d8
    espindola committed Nov 3, 2016
  2. Split getStringTableForSymtab.

    For use in cases where we already have the section table.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@285903 91177308-0d34-0410-b5e6-96231b3b80d8
    espindola committed Nov 3, 2016
  3. Split getSHNDXTable in two.

    Some clients already have the section table available.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@285898 91177308-0d34-0410-b5e6-96231b3b80d8
    espindola committed Nov 3, 2016
  4. [Thumb] Teach ISel how to lower compares of AND bitmasks efficiently

    This recommits r281323, which was backed out for two reasons. One, a selfhost failure, and two, it apparently caused Chromium failures. Actually, the latter was a red herring. The log has expired from the former, but I suspect that was a red herring too (actually caused by another problematic patch of mine). Therefore reapplying, and will watch the bots like a hawk.
    
    For the common pattern (CMPZ (AND x, #bitmask), #0), we can do some more efficient instruction selection if the bitmask is one consecutive sequence of set bits (32 - clz(bm) - ctz(bm) == popcount(bm)).
    
    1) If the bitmask touches the LSB, then we can remove all the upper bits and set the flags by doing one LSLS.
    2) If the bitmask touches the MSB, then we can remove all the lower bits and set the flags with one LSRS.
    3) If the bitmask has popcount == 1 (only one set bit), we can shift that bit into the sign bit with one LSLS and change the condition query from NE/EQ to MI/PL (we could also implement this by shifting into the carry bit and branching on BCC/BCS).
    4) Otherwise, we can emit a sequence of LSLS+LSRS to remove the upper and lower zero bits of the mask.
    
    1-3 require only one 16-bit instruction and can elide the CMP. 4 requires two 16-bit instructions but can elide the CMP and doesn't require materializing a complex immediate, so is also a win.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@285893 91177308-0d34-0410-b5e6-96231b3b80d8
    James Molloy committed Nov 3, 2016
  5. [tools/obj2yaml] - Update after LLVM change r285886

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@285887 91177308-0d34-0410-b5e6-96231b3b80d8
    George Rimar committed Nov 3, 2016
  6. [Object/ELF] - Make getSymbol() return Error.

    That is consistent with other methods around
    and helps to handle error on a caller side.
    
    Differential revision: https://reviews.llvm.org/D26247
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@285886 91177308-0d34-0410-b5e6-96231b3b80d8
    George Rimar committed Nov 3, 2016
  7. [CMake] Disable rpath for UnitTests

    This was broken since rL285714.
    
    Differential Revision: https://reviews.llvm.org/D26246
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@285881 91177308-0d34-0410-b5e6-96231b3b80d8
    hahnjo committed Nov 3, 2016
  8. [AVX-512] Use 'vnot' instead of 'not' in patterns involving vXi1 vect…

    …ors.
    
    This fixes selection of KANDN instructions and allows us to remove an extra set of patterns for KNOT and KXNOR.
    
    Reviewers: delena, igorb
    
    Subscribers: llvm-commits
    
    Differential Revision: https://reviews.llvm.org/D26134
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@285878 91177308-0d34-0410-b5e6-96231b3b80d8
    topperc committed Nov 3, 2016
  9. Expandload and Compressstore intrinsics

    2 new intrinsics covering AVX-512 compress/expand functionality.
    This implementation includes syntax, DAG builder, operation lowering and tests.
    Does not include: handling of illegal data types, codegen prepare pass and the cost model.
    
    
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@285876 91177308-0d34-0410-b5e6-96231b3b80d8
    Elena Demikhovsky committed Nov 3, 2016
  10. Split getSection in two.

    This will allow avoiding repeated error checking in a few cases.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@285874 91177308-0d34-0410-b5e6-96231b3b80d8
    espindola committed Nov 3, 2016
  11. [ThinLTO] Handle distributed backend case when doing renaming

    Summary:
    The recent change I made to consult the summary when deciding whether to
    rename (to handle inline asm) in r285513 broke the distributed build
    case. In a distributed backend we will only have a portion of the
    combined index, specifically for imported modules we only have the
    summaries for any imported definitions. When renaming on import we were
    asserting because no summary entry was found for a local reference being
    linked in (def wasn't imported).
    
    We only need to consult the summary for a renaming decision for the
    exporting module. For imports, we would have prevented importing any
    references to NoRename values already.
    
    Reviewers: mehdi_amini
    
    Subscribers: llvm-commits
    
    Differential Revision: https://reviews.llvm.org/D26250
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@285871 91177308-0d34-0410-b5e6-96231b3b80d8
    Teresa Johnson committed Nov 3, 2016
Commits on Nov 2, 2016
  1. Revert "[InstCombine] allow splat vector folds in adjustMinMax()"

    This reverts commit r285732.
    
    This change introduced a new assertion failure in the following
    testcase at -O2:
    
    typedef short __v8hi __attribute__((__vector_size__(16)));
    __v8hi foo(__v8hi &V1, __v8hi &V2, unsigned mask) {
      __v8hi Result = V1;
      if (mask & 0x80)
        Result[0] = V2[0];
      return Result;
    }
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@285866 91177308-0d34-0410-b5e6-96231b3b80d8
    Greg Bedwell committed Nov 2, 2016
  2. Simplify some typedefs. NFC.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@285863 91177308-0d34-0410-b5e6-96231b3b80d8
    espindola committed Nov 2, 2016
  3. Emit S_COMPILE3 record once per TU rather than once per function

    This has some ripple effects in several tests.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@285862 91177308-0d34-0410-b5e6-96231b3b80d8
    Adrian McCarthy committed Nov 2, 2016
  4. Add the rest of the additional error checks for invalid Mach-O files …

    …when
    
    the offsets and sizes of an element of the Mach-O file overlaps with
    another element in the Mach-O file.
    
    Some other tests for malformed Mach-O files now run into these
    checks so their tests were also adjusted.
    
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@285860 91177308-0d34-0410-b5e6-96231b3b80d8
    enderby committed Nov 2, 2016
  5. [RuntimeDyld] Move an X86 only test to the correct directory.

    This is an attempt to placate the bots after r285841.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@285859 91177308-0d34-0410-b5e6-96231b3b80d8
    dcci committed Nov 2, 2016
  6. DCE math library calls with a constant operand.

    On platforms which use -fmath-errno, math libcalls without any uses
    require some extra checks to figure out if they are actually dead.
    
    Fixes https://llvm.org/bugs/show_bug.cgi?id=30464 .
    
    Differential Revision: https://reviews.llvm.org/D25970
    
    
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@285857 91177308-0d34-0410-b5e6-96231b3b80d8
    Eli Friedman committed Nov 2, 2016
  7. [Hexagon] Remove registers coalesced in expand-condsets from live int…

    …ervals
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@285846 91177308-0d34-0410-b5e6-96231b3b80d8
    Krzysztof Parzyszek committed Nov 2, 2016
  8. [AMDGPU][mc] Improve test of special asm symbols.

    Test simplified. Coverage extended.
    
    Differential Revision: https://reviews.llvm.org/D26198
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@285844 91177308-0d34-0410-b5e6-96231b3b80d8
    atamazov committed Nov 2, 2016
  9. [lli/COFF] Set the correct alignment for common symbols

    Otherwise we set it always to zero, which is not correct,
    and we assert inside alignTo (Assertion failed:
    Align != 0u && "Align can't be 0.").
    
    Differential Revision:  https://reviews.llvm.org/D26173
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@285841 91177308-0d34-0410-b5e6-96231b3b80d8
    dcci committed Nov 2, 2016
  10. AMDGPU: Cleanup some xfailed tests

    Some of these are already fixed or tested somewhere else.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@285840 91177308-0d34-0410-b5e6-96231b3b80d8
    arsenm committed Nov 2, 2016
  11. Fix build due to missing definition.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@285837 91177308-0d34-0410-b5e6-96231b3b80d8
    zjturner committed Nov 2, 2016
  12. Add CodeViewRecordIO for reading and writing.

    Using a pattern similar to that of YamlIO, this allows
    us to have a single codepath for translating codeview
    records to and from serialized byte streams.  The
    current patch only hooks this up to the reading of
    CodeView type records.  A subsequent patch will hook
    it up for writing of CodeView type records, and then a
    third patch will hook up the reading and writing of
    CodeView symbols.
    
    Differential Revision: https://reviews.llvm.org/D26040
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@285836 91177308-0d34-0410-b5e6-96231b3b80d8
    zjturner committed Nov 2, 2016
  13. AMDGPU: Allow additional implicit operands on MOVRELS instructions

    Summary:
    The post-RA scheduler occasionally uses additional implicit operands when
    the vector implicit operand as a whole is killed, but some subregisters
    are still live because they are directly referenced later. Unfortunately,
    this seems incredibly subtle to reproduce.
    
    Fixes piglit spec/glsl-110/execution/variable-indexing/vs-temp-array-mat2-index-wr.shader_test
    and others.
    
    Reviewers: arsenm, tstellarAMD
    
    Subscribers: kzhuravl, wdng, yaxunl, tony-tye, llvm-commits
    
    Differential Revision: https://reviews.llvm.org/D25656
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@285835 91177308-0d34-0410-b5e6-96231b3b80d8
    nhaehnle committed Nov 2, 2016
  14. Fix Clang-tidy readability-redundant-string-cstr warnings

    Reviewers: beanz, lattner, jlebar
    
    Subscribers: jholewinski, llvm-commits, mehdi_amini
    
    Differential Revision: https://reviews.llvm.org/D26235
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@285832 91177308-0d34-0410-b5e6-96231b3b80d8
    pepsiman committed Nov 2, 2016
  15. [ARM][MC] Cleanup ARM Target Assembly Parser

    Summary:
    Correctly parse end-of-statement tokens and handle preprocessor
    end-of-line comments in ARM assembly processor.
    
    Reviewers: rnk, majnemer
    
    Subscribers: aemerson, rengolin, llvm-commits
    
    Differential Revision: https://reviews.llvm.org/D26152
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@285830 91177308-0d34-0410-b5e6-96231b3b80d8
    Nirav Dave committed Nov 2, 2016
  16. Improve and cleanup comments in DwarfExpression.h

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@285829 91177308-0d34-0410-b5e6-96231b3b80d8
    adrian-prantl committed Nov 2, 2016
  17. BranchRelaxation: Fix computing indirect branch block size

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@285828 91177308-0d34-0410-b5e6-96231b3b80d8
    arsenm committed Nov 2, 2016
  18. Simplify control flow in the the DWARF expression compiler

    by refactoring common code into a DwarfExpressionCursor wrapper.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@285827 91177308-0d34-0410-b5e6-96231b3b80d8
    adrian-prantl committed Nov 2, 2016
  19. Emit DW_OP_piece also if the previous value was a constant.

    This fixes a bug in the DWARF backend.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@285826 91177308-0d34-0410-b5e6-96231b3b80d8
    adrian-prantl committed Nov 2, 2016
  20. Use !operator to test if APInt is zero/non-zero. NFCI.

    Avoids APInt construction and slower comparisons.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@285822 91177308-0d34-0410-b5e6-96231b3b80d8
    Simon Pilgrim committed Nov 2, 2016
  21. Simplify typedefs. NFC.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@285819 91177308-0d34-0410-b5e6-96231b3b80d8
    espindola committed Nov 2, 2016