Skip to content
  1. Feb 03, 2017
    • Sanne Wouda's avatar
      Test commit: remove a blank line. · 19cfe151
      Sanne Wouda authored
      Testing commit access.
      
      llvm-svn: 293998
      19cfe151
    • Alexey Bataev's avatar
      [SLP] Fix for PR31690: Allow using of extra values in horizontal reductions. · a16cfe6f
      Alexey Bataev authored
      Currently LLVM supports vectorization of horizontal reduction
      instructions with initial value set to 0. Patch supports vectorization
      of reduction with non-zero initial values. Also it supports a
      vectorization of instructions with some extra arguments, like:
      
      float f(float x[], int a, int b) {
        float p = a % b;
        p += x[0] + 3;
        for (int i = 1; i < 32; i++)
          p += x[i];
        return p;
      }
      
      Patch allows vectorization of this kind of horizontal reductions.
      
      Differential Revision: https://reviews.llvm.org/D28961
      
      llvm-svn: 293994
      a16cfe6f
    • Mehdi Amini's avatar
      Revert "[ThinLTO] Add an auto-hide feature" · 1380edf4
      Mehdi Amini authored
      This reverts commit r293970.
      
      After more discussion, this belongs to the linker side and
      there is no added value to do it at this level.
      
      llvm-svn: 293993
      1380edf4
    • Stanislav Mekhanoshin's avatar
      [AMDGPU] Unroll preferences improvements · f29602df
      Stanislav Mekhanoshin authored
      Exit loop analysis early if suitable private access found.
      Do not account for GEPs which are invariant to loop induction variable.
      Do not account for Allocas which are too big to fit into register file anyway.
      Add option for tuning: -amdgpu-unroll-threshold-private.
      
      Differential Revision: https://reviews.llvm.org/D29473
      
      llvm-svn: 293991
      f29602df
    • Ahmed Bougacha's avatar
      [Support] Accept macosx triple as 'darwin' in Host unittest. NFC. · f60b6845
      Ahmed Bougacha authored
      If LLVM was configured with an x86_64-apple-macosx host triple, this
      test would fail, as the API works but the triple isn't in the whitelist.
      
      llvm-svn: 293990
      f60b6845
    • Marcos Pividori's avatar
      [sanitizer coverage] Fix Instrumentation to work on Windows. · db5a5655
      Marcos Pividori authored
      On Windows, the symbols "___stop___sancov_guards" and "___start___sancov_guards"
      are not defined automatically. So, we need to take a different approach.
      We define 3 sections:
      
       Section ".SCOV$A" will only hold a variable ___start___sancov_guard.
       Section ".SCOV$M" will hold the main data.
       Section ".SCOV$Z" will only hold a variable ___stop___sancov_guards.
      
      When linking, they will be merged sorted by the characters after the $, so we
      can use the pointers of the variables ___[start|stop]___sancov_guard to know the
      actual range of addresses of that section.
      
      In this diff, I updated instrumentation to include all the guard arrays in
      section ".SCOV$M".
      
      Differential Revision: https://reviews.llvm.org/D28434
      
      llvm-svn: 293987
      db5a5655
    • Matt Arsenault's avatar
      AMDGPU: Fold fneg into fmin/fmax_legacy · e1b59530
      Matt Arsenault authored
      llvm-svn: 293972
      e1b59530
    • David Blaikie's avatar
      DebugInfo: ensure type and namespace names are included in pubnames/pubtypes... · a0e3c751
      David Blaikie authored
      DebugInfo: ensure type and namespace names are included in pubnames/pubtypes even when they are only present in type units
      
      While looking to add support for placing singular types (types that will
      only be emitted in one place (such as attached to a strong vtable or
      explicit template instantiation definition)) not in type units (since
      type units have overhead) I stumbled across that change causing an
      increase in pubtypes.
      
      Turns out we were missing some types from type units if they were only
      referenced from other type units and not from the debug_info section.
      
      This fixes that, following GCC's line of describing the offset of such
      entities as the CU die (since there's no compile unit-relative offset
      that would describe such an entity - they aren't in the CU). Also like
      GCC, this change prefers to describe the type stub within the CU rather
      than the "just use the CU offset" fallback where possible. This may give
      the DWARF consumer some opportunity to find the extra info in the type
      stub - though I'm not sure GDB does anything with this currently.
      
      The size of the pubnames/pubtypes sections now match exactly with or
      without type units enabled.
      
      This nearly triples (+189%) the pubtypes section for a clang self-host
      and grows pubnames by 0.07% (without compression). For a total of 8%
      increase in debug info sections of the objects of a Split DWARF build
      when using type units.
      
      llvm-svn: 293971
      a0e3c751
    • Mehdi Amini's avatar
      [ThinLTO] Add an auto-hide feature · b0a8ff71
      Mehdi Amini authored
      When a symbol is not exported outside of the
      DSO, it is can be hidden. Usually we try to internalize
      as much as possible, but it is not always possible, for
      instance a symbol can be referenced outside of the LTO
      unit, or there can be cross-module reference in ThinLTO.
      
      This is a recommit of r293912 after fixing build failures,
      and a recommit of r293918 after fixing LLD tests.
      
      Differential Revision: https://reviews.llvm.org/D28978
      
      llvm-svn: 293970
      b0a8ff71
    • Craig Topper's avatar
    • Matt Arsenault's avatar
      AMDGPU: Fold fneg into fminnum/fmaxnum · 2511c031
      Matt Arsenault authored
      llvm-svn: 293968
      2511c031
    • Konstantin Zhuravlyov's avatar
      803b141f
    • Matt Arsenault's avatar
      AMDGPU: Check if users of fneg can fold mods · a8fcfadf
      Matt Arsenault authored
      In multi-use cases this can save a few instructions.
      
      llvm-svn: 293962
      a8fcfadf
    • Mehdi Amini's avatar
      Revert "[ThinLTO] Add an auto-hide feature" · 21c89dc9
      Mehdi Amini authored
      This reverts commit r293918, one lld test does not pass.
      
      llvm-svn: 293961
      21c89dc9
    • Bob Haarman's avatar
      [lto] added getCOFFWeakExternalFallback · e4062dfd
      Bob Haarman authored
      Summary: This allows clients of the LTO API to determine the name of the fallback symbol for COFF weak externals.
      
      Reviewers: pcc
      
      Reviewed By: pcc
      
      Subscribers: mehdi_amini
      
      Differential Revision: https://reviews.llvm.org/D29365
      
      llvm-svn: 293960
      e4062dfd
    • Bob Haarman's avatar
      [lto] add getLinkerOpts() · dd4ebc1d
      Bob Haarman authored
      Summary: Some compilers, including MSVC and Clang, allow linker options to be specified in source files. In the legacy LTO API, there is a getLinkerOpts() method that returns linker options for the bitcode module being processed. This change adds that method to the new API, so that the COFF linker can get the right linker options when using the new LTO API.
      
      Reviewers: pcc, ruiu, mehdi_amini, tejohnson
      
      Reviewed By: pcc
      
      Differential Revision: https://reviews.llvm.org/D29207
      
      llvm-svn: 293950
      dd4ebc1d
  2. Feb 02, 2017
Loading