Permalink
Commits on May 30, 2017
  1. This patch closes PR28513: an optimization of multiplication by diffe…

    …rent constants.
    
    It's implemented on DAG combiner level.
    
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@304209 91177308-0d34-0410-b5e6-96231b3b80d8
    avt77 committed May 30, 2017
  2. [SCEV][NFC] Remove redundant params from isAvailableAtLoopEntry

    Params DT and LI are redundant, because these values are contained in fields anyways.
    
    Differential Revision: https://reviews.llvm.org/D33668
    
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@304204 91177308-0d34-0410-b5e6-96231b3b80d8
    Max Kazantsev committed May 30, 2017
  3. [SystemZ] Add decimal floating-point instructions

    This adds assembler / disassembler support for the decimal
    floating-point instructions.  Since LLVM does not yet have
    support for decimal float types, these cannot be used for
    codegen at this point.
    
    
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@304203 91177308-0d34-0410-b5e6-96231b3b80d8
    uweigand committed May 30, 2017
  4. [SystemZ] Add hexadecimal floating-point instructions

    This adds assembler / disassembler support for the hexadecimal
    floating-point instructions.  Since the Linux ABI does not use
    any hex float data types, these are not useful for codegen.
    
    
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@304202 91177308-0d34-0410-b5e6-96231b3b80d8
    uweigand committed May 30, 2017
  5. [SystemZ] Add missing assembler/disassembler tests

    A few instructions that are actually correctly supported in the
    assembler and disassembler did not have any tests.
    
    
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@304200 91177308-0d34-0410-b5e6-96231b3b80d8
    uweigand committed May 30, 2017
  6. [MC] Fix constant pools with DenseMap sentinel values

    The MC ConstantPool class uses a DenseMap to track generated constants, with
    the int64_t value of the constant as the key. This fails when values of
    0x7fffffffffffffff or 0x7ffffffffffffffe are inserted into the constant pool, as
    these are sentinel values for DenseMap.
    
    The fix is to use std::map instead, which doesn't use sentinel values.
    
    Differential revision: https://reviews.llvm.org/D33667
    
    
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@304199 91177308-0d34-0410-b5e6-96231b3b80d8
    Oliver Stannard committed May 30, 2017
  7. [mips] Expansion of LI.S and LI.D

    Author: smaksimovic
    Reviewers: dsanders sdardis
    Introduces LI.S and LI.D pseudo instructions with floating point operands.
    Differential Revision: https://reviews.llvm.org/D14390
    
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@304198 91177308-0d34-0410-b5e6-96231b3b80d8
    Zoran Jovanovic committed May 30, 2017
  8. Fix PR33031: correct the estimate of maximum offset for instructions …

    …spilling/filling the stack.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@304196 91177308-0d34-0410-b5e6-96231b3b80d8
    Kristof Beyls committed May 30, 2017
  9. NewGVN: Compute hash value of expression on demand and use it in ineq…

    …uality testing.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@304195 91177308-0d34-0410-b5e6-96231b3b80d8
    dberlin committed May 30, 2017
  10. NewGVN: Fix PR33194, memory corruption by putting temporary instructi…

    …ons in tables sometimes.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@304194 91177308-0d34-0410-b5e6-96231b3b80d8
    dberlin committed May 30, 2017
  11. Added LLVM_FALLTHROUGH to address warning: this statement may fall th…

    …rough. NFC.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@304187 91177308-0d34-0410-b5e6-96231b3b80d8
    gkistanova committed May 30, 2017
  12. Added missing line continuation to HANDLE_DIEVALUE_SMALL and HANDLE_D…

    …IEVALUE_LARGE macros.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@304186 91177308-0d34-0410-b5e6-96231b3b80d8
    gkistanova committed May 30, 2017
  13. Reverted r303602, as it will be fixed in gtest.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@304184 91177308-0d34-0410-b5e6-96231b3b80d8
    gkistanova committed May 30, 2017
Commits on May 29, 2017
  1. Revert r303763, results in asserts i.e. while building Ruby.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@304179 91177308-0d34-0410-b5e6-96231b3b80d8
    jsonn committed May 29, 2017
  2. [TableGen] Use StringMap instead of DenseMap<StringRef> to unique Cod…

    …eInit and StringInit objects. Override the allocator to keep using the BumpPtrAllocator. NFCI
    
    StringMap is better suited to mapping strings than a DenseMap.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@304178 91177308-0d34-0410-b5e6-96231b3b80d8
    topperc committed May 29, 2017
  3. [TableGen] Introduce DagInit::getArgs that returns an ArrayRef. Use i…

    …t to fix 80 column violations in arg_begin/arg_end. Remove DagInit::args and use getArgs instead. NFC
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@304177 91177308-0d34-0410-b5e6-96231b3b80d8
    topperc committed May 29, 2017
  4. [ManagedStatic] Avoid putting function pointers in template args.

    This is super awkward, but GCC doesn't let us have template visible when
    an argument is an inline function and -fvisibility-inlines-hidden is
    used.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@304175 91177308-0d34-0410-b5e6-96231b3b80d8
    d0k committed May 29, 2017
  5. [GlobalIsel] Fix a warning with GCC 7 -Wpedantic. NFCI.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@304174 91177308-0d34-0410-b5e6-96231b3b80d8
    dcci committed May 29, 2017
  6. [X86] Add tests for (ix bitcast (vxi1 and ...)). NFC.

    To be improved by D33311.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@304171 91177308-0d34-0410-b5e6-96231b3b80d8
    Zvi Rackover committed May 29, 2017
  7. [X86] Replace undef value in flaky test

    D33311 exposes the flakiness in this test. Replacing the undef placed by
    bugpoint, makes it more interesting and robust.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@304168 91177308-0d34-0410-b5e6-96231b3b80d8
    Zvi Rackover committed May 29, 2017
  8. [ManagedStatic] Make object_creator/object_deleter visible again.

    They're now exposed as template args, which creates complications when
    ManagedStatics are used across .so boundaries.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@304166 91177308-0d34-0410-b5e6-96231b3b80d8
    d0k committed May 29, 2017
  9. Don't destroy ManagedStatics in a unit test.

    Turns out this is very hostile towards other unit tests running in the
    same process, it unregisters all flags.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@304165 91177308-0d34-0410-b5e6-96231b3b80d8
    d0k committed May 29, 2017
  10. [wasm] Fix test after r304117.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@304164 91177308-0d34-0410-b5e6-96231b3b80d8
    d0k committed May 29, 2017
  11. [X86] Don't fold away the memory operand of an xchg.

    xchg with a mem operand has different locking semantics. If we unfold it
    into a xchg r,r we will loose the implicit lock. Likewise we never want
    to fold a register xchg into a memory one as it would be a lot slower.
    
    This triggers during LLVM selfhost.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@304163 91177308-0d34-0410-b5e6-96231b3b80d8
    d0k committed May 29, 2017
  12. [Docs] Add VectorizationPlan to docs/Proposals.

    Following the request made in https://reviews.llvm.org/D32871, the
    general documentation of the Vectorization Plan is hereby placed
    under docs/Proposals.
    
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@304161 91177308-0d34-0410-b5e6-96231b3b80d8
    azaks committed May 29, 2017
  13. Try to work around MSVC being buggy. Attempt #1.

    error C2971: 'llvm::ManagedStatic': template parameter 'Creator': 'CreateDefaultTimerGroup': a variable with non-static storage duration cannot be used as a non-type argument
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@304157 91177308-0d34-0410-b5e6-96231b3b80d8
    d0k committed May 29, 2017
  14. [Timer] Move DefaultTimerGroup into a ManagedStatic.

    This used to be just leaked. r295370 made it use magic statics. This adds
    a global destructor, which is something we'd like to avoid. It also creates
    a weird situation where the mutex used by TimerGroup is re-created during
    global shutdown and leaked.
    
    Using a ManagedStatic here is also subtle as it relies on the mutex
    inside of ManagedStatic to be recursive. I've added a test for that
    in a previous change.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@304156 91177308-0d34-0410-b5e6-96231b3b80d8
    d0k committed May 29, 2017
  15. [ManagedStatic] Add a way to pass custom creators/deleters.

    Also add a test case verifying that nested ManagedStatics work correctly.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@304155 91177308-0d34-0410-b5e6-96231b3b80d8
    d0k committed May 29, 2017
  16. [DAGCombiner] fix load narrowing transform to exclude loads with exte…

    …nsion
    
    The extending load possibility was missed in:
    https://reviews.llvm.org/rL304072
    
    We might want to handle this cases as a follow-up, but bailing out for now
    to avoid miscompiling.
    
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@304153 91177308-0d34-0410-b5e6-96231b3b80d8
    rotateright committed May 29, 2017
  17. [SystemZ] Improve buildVector() in SystemZISelLowering.cpp.

    Use VLREP when inserting one or more loads into a vector. This is more
    efficient than to first load and then use a VLVGP.
    
    Review: Ulrich Weigand
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@304152 91177308-0d34-0410-b5e6-96231b3b80d8
    Jonas Paulsson committed May 29, 2017
  18. Test commit: fix typos

    Just fixing a few typos in comments to test commit access.
    
    
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@304149 91177308-0d34-0410-b5e6-96231b3b80d8
    Mattias Eriksson committed May 29, 2017
  19. [Nios2] Target registration

    Reviewers: craig.topper, hfinkel, joerg, lattner, zvi
    
    Reviewed By: craig.topper
    
    Subscribers: oren_ben_simhon, igorb, belickim, tvvikram, mgorny, llvm-commits, pavel.v.chupin, DavidKreitzer
    
    Differential Revision: https://reviews.llvm.org/D32669
    Patch by AndreiGrischenko <andrei.l.grischenko@intel.com>
    
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@304144 91177308-0d34-0410-b5e6-96231b3b80d8
    Nikolai Bozhenov committed May 29, 2017
  20. [ARM] GlobalISel: Extract helper. NFCI.

    Create a helper to deal with the common code for merging incoming values
    together after they've been split during call lowering. There's likely
    more stuff that can be commoned up here, but we'll leave that for later.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@304143 91177308-0d34-0410-b5e6-96231b3b80d8
    Diana Picus committed May 29, 2017
  21. [trivial] fix a typo in comment, NFC

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@304139 91177308-0d34-0410-b5e6-96231b3b80d8
    inouehrs committed May 29, 2017
  22. [ARM] GlobalISel: Support array returns

    These are a bit rare in practice, but they don't require anything
    special compared to array parameters, so support them as well.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@304137 91177308-0d34-0410-b5e6-96231b3b80d8
    Diana Picus committed May 29, 2017