Permalink
Commits on Jun 22, 2017
  1. Updating branches/google/stable to r305862

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/google/stable@306026 91177308-0d34-0410-b5e6-96231b3b80d8
    djasper committed Jun 22, 2017
Commits on Jun 20, 2017
  1. [codeview] YAMLize all section offsets and indices in symbol records

    We forgot to serialize these because llvm-readobj didn't dump them. They
    are typically all zeros in an object file. The linker fills them in with
    relocations before adding them to the PDB. Now we can properly round
    trip these symbols through pdb2yaml -> yaml2pdb.
    
    I made these fields optional with a zero default so that we can elide
    them from our test cases.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@305857 91177308-0d34-0410-b5e6-96231b3b80d8
    rnk committed Jun 20, 2017
  2. Revert "Add previously accidentally uncommitted testcase for r305599."

    This reverts commit r305852.
    
    The testcase already exists but I moved it to the X86 directory on a
    using a different machine and got confused...
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@305856 91177308-0d34-0410-b5e6-96231b3b80d8
    adrian-prantl committed Jun 20, 2017
  3. Make this test a bit more strict. NFC.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@305855 91177308-0d34-0410-b5e6-96231b3b80d8
    espindola committed Jun 20, 2017
  4. Fix a crash in DwarfDebug::validThroughout.

    The instruction it falls over on is an IMPLICT_DEF that also happens
    to be the only instruction in its lexical scope. That LexicalScope has
    never been created because its range is empty. This patch skips over
    all meta-instructions instead of just DBG_VALUEs.
    
    Thanks to David Blaikie for providing a testcase!
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@305853 91177308-0d34-0410-b5e6-96231b3b80d8
    adrian-prantl committed Jun 20, 2017
  5. Change llvm-objdump with Mach-O files and the -info-plist option with…

    … the
    
    -no-leading-headers option so that it does not print the leading header.
    
    rdar://27378808
    
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@305849 91177308-0d34-0410-b5e6-96231b3b80d8
    enderby committed Jun 20, 2017
  6. [Statepoint] Add helper functions for GCRelocate and GCResult

    These functions isGCRelocate and isGCResult are
    similar to isStatepoint(const Value*).
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@305847 91177308-0d34-0410-b5e6-96231b3b80d8
    annamthomas committed Jun 20, 2017
  7. Support: chunk writing on Linux

    This is a workaround for large file writes.  It has been witnessed that
    write(2) failing with EINVAL (22) due to a large value (>2G).  Thanks to
    James Knight for the help with coming up with a sane test case.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@305846 91177308-0d34-0410-b5e6-96231b3b80d8
    compnerd committed Jun 20, 2017
  8. AMDGPU: Allow vectorization of packed types

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@305844 91177308-0d34-0410-b5e6-96231b3b80d8
    arsenm committed Jun 20, 2017
  9. [codeview] Fully initialize DataSym when mapping from YAML

    In the object file, the section index and relative offset are typically
    zero, so make these YAML fields optional with a default.
    
    It looks like there may be more partially initialized symbol records,
    but this should fix the msan bot.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@305842 91177308-0d34-0410-b5e6-96231b3b80d8
    rnk committed Jun 20, 2017
  10. [AMDGPU] Fix illegal shrink of V_SUBB_U32 and V_ADDC_U32

    If there is an immediate operand we shall not shrink V_SUBB_U32
    and V_ADDC_U32, it does not fit e32 encoding.
    
    Differential Revison: https://reviews.llvm.org/D34291
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@305840 91177308-0d34-0410-b5e6-96231b3b80d8
    rampitec committed Jun 20, 2017
  11. [cmake] Add support for using the standalone leaks sanitizer with LLVM.

    This commit causes LLVM_USE_SANITIZER to now accept the "Leaks" option. This
    will cause cmake to pass in -fsanitize=leak in all of the appropriate places.
    
    I am making this change so that I can setup a linux bot that only detects
    leaks.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@305839 91177308-0d34-0410-b5e6-96231b3b80d8
    gottesmm committed Jun 20, 2017
  12. AMDGPU: Start adding global_* instructions

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@305838 91177308-0d34-0410-b5e6-96231b3b80d8
    arsenm committed Jun 20, 2017
  13. [GISel]: NFC. Add comment to G_FMA opcode as requested in rL305824

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@305837 91177308-0d34-0410-b5e6-96231b3b80d8
    Aditya Nandakumar committed Jun 20, 2017
  14. [GISel]: Add G_FMA opcode for fused multiply adds

    https://reviews.llvm.org/D34372
    
    Reviewed by dsanders
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@305824 91177308-0d34-0410-b5e6-96231b3b80d8
    Aditya Nandakumar committed Jun 20, 2017
  15. AMDGPU: Do operand folding in program order

    Before it was possible to partially fold use instructions
    before the defs. After the xor is folded into a copy, the same
    mov can end up in the fold list twice, so on the second attempt
    it will fail expecting to see a register to fold.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@305821 91177308-0d34-0410-b5e6-96231b3b80d8
    arsenm committed Jun 20, 2017
  16. [PDB] Don't write uninitialized bytes to a PDB file.

    There were certain fields that we didn't know how to write, as
    well as various padding bytes that we would ignore.  This leads
    to garbage data in the PDB.  While not strictly necessary, we
    should initialize these bytes to something meaningful, as it
    makes for easier binary comparison between PDBs.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@305819 91177308-0d34-0410-b5e6-96231b3b80d8
    zjturner committed Jun 20, 2017
  17. Remove diff pedantic mode.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@305818 91177308-0d34-0410-b5e6-96231b3b80d8
    zjturner committed Jun 20, 2017
  18. RegisterScavenging: Followup to r305625

    This does some improvements/cleanup to the recently introduced
    scavengeRegisterBackwards() functionality:
    
    - Rewrite findSurvivorBackwards algorithm to use the existing
      LiveRegUnit::accumulateBackward() code. This also avoids the Available
      and Candidates bitset and just need 1 LiveRegUnit instance
      (= 1 bitset).
    - Pick registers in allocation order instead of register number order.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@305817 91177308-0d34-0410-b5e6-96231b3b80d8
    MatzeB committed Jun 20, 2017
  19. AMDGPU: Preserve undef when folding register operands

    If the source was a copy of an undef register, this would
    produce a read of an undefined register which is a verifier
    error.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@305816 91177308-0d34-0410-b5e6-96231b3b80d8
    arsenm committed Jun 20, 2017
  20. [AMDGPU] Eliminate SGPR to VGPR copy when possible

    SGPRs are generally cheaper, so try to use them over VGPRs.
    
    Differential Revision: https://reviews.llvm.org/D34130
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@305815 91177308-0d34-0410-b5e6-96231b3b80d8
    rampitec committed Jun 20, 2017
  21. AMDGPU: Fix crash with undef vreg input operand

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@305814 91177308-0d34-0410-b5e6-96231b3b80d8
    arsenm committed Jun 20, 2017
  22. [PowerPC] fix trivial typos in comment, NFC

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@305813 91177308-0d34-0410-b5e6-96231b3b80d8
    inouehrs committed Jun 20, 2017
  23. [CostModel][X86] Add scalar arithmetic cost tests

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@305810 91177308-0d34-0410-b5e6-96231b3b80d8
    Simon Pilgrim committed Jun 20, 2017
  24. [CostModel][X86] Declare costs variables based on type

    The alphabetical progression isn't that useful
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@305808 91177308-0d34-0410-b5e6-96231b3b80d8
    Simon Pilgrim committed Jun 20, 2017
  25. [TableGen] Take a parameter by reference instead of pointer so we don…

    …'t have to add & on both callers. NFC
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@305807 91177308-0d34-0410-b5e6-96231b3b80d8
    Craig Topper committed Jun 20, 2017
  26. [TableGen] Use range based for loop. NFC

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@305806 91177308-0d34-0410-b5e6-96231b3b80d8
    Craig Topper committed Jun 20, 2017
  27. [GSoC] Flag value completion for clang

    This is patch for GSoC project, bash-completion for clang.
    
    To use this on bash, please run `source clang/utils/bash-autocomplete.sh`.
    bash-autocomplete.sh is code for bash-completion.
    
    In this patch, Options.td was mainly changed in order to add value class
    in Options.inc.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@305805 91177308-0d34-0410-b5e6-96231b3b80d8
    Yuka Takahashi committed Jun 20, 2017
  28. [x86] enable CGP memcmp() expansion for 2/4/8 byte sizes

    There are a couple of potential improvements as seen in the IR and asm:
    1. We're unnecessarily extending to a larger type to compare values.
    2. The codegen for (select cond, 1, -1) could avoid a cmov.
    (or we could change the order of the compares, so we have a select with 0 operand)
    
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@305802 91177308-0d34-0410-b5e6-96231b3b80d8
    rotateright committed Jun 20, 2017
  29. [X86][SSE] Relax 0/-1 vector element insertion to work for any vector…

    … with >=16bit elements
    
    Shuffle lowering/combining now does a good job for 256/512-bit vectors - we don't need to prevent this
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@305801 91177308-0d34-0410-b5e6-96231b3b80d8
    Simon Pilgrim committed Jun 20, 2017
  30. DAG: correctly legalize UMULO.

    We were incorrectly sign extending into the high word (as you would for
    SMULO) when legalizing UMULO in terms of a wider full multiplication.
    
    Patch by James Duley.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@305800 91177308-0d34-0410-b5e6-96231b3b80d8
    TNorthover committed Jun 20, 2017
  31. D33466: Make file non-executable.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@305795 91177308-0d34-0410-b5e6-96231b3b80d8
    vgvassilev committed Jun 20, 2017
  32. [InstCombine] fix code/test comments for r305792; NFC

    These diffs were in the last version of the patch in D33342,
    but I accidentally committed the previous rev. 
    
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@305793 91177308-0d34-0410-b5e6-96231b3b80d8
    rotateright committed Jun 20, 2017
  33. [InstCombine] try to canonicalize xor-of-icmps to and-of-icmps

    We have a large portfolio of folds for and-of-icmps and or-of-icmps in InstSimplify and InstCombine, 
    but hardly anything for xor-of-icmps. Rather than trying to rethink and translate all of those folds, 
    we can use the truth table definition of xor:
    
    X ^ Y --> (X | Y) & !(X & Y)
    
    ...to see if we can convert the xor to and/or and then use the existing folds.
    
    http://rise4fun.com/Alive/J9v
    
    Differential Revision: https://reviews.llvm.org/D33342
    
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@305792 91177308-0d34-0410-b5e6-96231b3b80d8
    rotateright committed Jun 20, 2017