1. Feb 13, 2016
  2. Feb 12, 2016
    • Chad Rosier's avatar
      [AArch64] Add support for Qualcomm Kryo CPU. · cd2be7f0
      Chad Rosier authored
      Machine model description by Dave Estes <cestes@codeaurora.org>.
      
      llvm-svn: 260686
      cd2be7f0
    • Rafael Espindola's avatar
      make needsPlt a pure predicate. · 852860e9
      Rafael Espindola authored
      llvm-svn: 260685
      852860e9
    • Rafael Espindola's avatar
      Delete the deprecated LLVMLinkModules. · cbc31d69
      Rafael Espindola authored
      llvm-svn: 260683
      cbc31d69
    • Jun Bum Lim's avatar
      [AArch64] Merge two adjacent str WZR into str XZR · 397eb7b0
      Jun Bum Lim authored
      Summary:
      This change merges adjacent 32 bit zero stores into a 64 bit zero store.
      e.g.,
        str wzr, [x0]
        str wzr, [x0, #4]
      becomes
        str xzr, [x0]
      
      Therefore, four adjacent 32 bit zero stores will be a single stp.
      e.g.,
        str wzr, [x0]
        str wzr, [x0, #4]
        str wzr, [x0, #8]
        str wzr, [x0, #12]
      becomes
        stp xzr, xzr, [x0]
      
      Reviewers: mcrosier, jmolloy, gberry, t.p.northover
      
      Subscribers: aemerson, rengolin, mcrosier, llvm-commits
      
      Differential Revision: http://reviews.llvm.org/D16933
      
      llvm-svn: 260682
      397eb7b0
    • Aaron Ballman's avatar
      Reapply r260096. · f034a8c7
      Aaron Ballman authored
      Expand the simplify boolean expression check to handle implicit conversion of integral types to bool and improve the handling of implicit conversion of member pointers to bool.
      
      Implicit conversion of member pointers are replaced with explicit comparisons to nullptr.
      
      Implicit conversions of integral types are replaced with explicit comparisons to 0.
      
      Patch by Richard Thomson.
      
      llvm-svn: 260681
      f034a8c7
    • Krzysztof Parzyszek's avatar
      [Hexagon] Specify vector alignment in DataLayout string · 8e57697c
      Krzysztof Parzyszek authored
      The DataLayout can calculate alignment of vectors based on the alignment
      of the element type and the number of elements. In fact, it is the product
      of these two values. The problem is that for vectors of N x i1, this will
      return the alignment of N bytes, since the alignment of i1 is 8 bits. The
      vector types of vNi1 should be aligned to N bits instead. Provide explicit
      alignment for HVX vectors to avoid such complications.
      
      llvm-svn: 260680
      8e57697c
    • Daniel Sanders's avatar
      Re-commit r260230 with a fix for clang-cmake-aarch64-42vma. · 2f1025d6
      Daniel Sanders authored
      There is now a default name_suffix ('default') which should appease the buildbot
      and reveal why this builder lacks a suffix.
      
      llvm-svn: 260679
      2f1025d6
    • Krzysztof Parzyszek's avatar
      [Hexagon] Specify vector alignment in DataLayout string · e5996437
      Krzysztof Parzyszek authored
      The DataLayout can calculate alignment of vectors based on the alignment
      of the element type and the number of elements. In fact, it is the product
      of these two values. The problem is that for vectors of N x i1, this will
      return the alignment of N bytes, since the alignment of i1 is 8 bits. The
      vector types of vNi1 should be aligned to N bits instead. Provide explicit
      alignment for HVX vectors to avoid such complications.
      
      llvm-svn: 260678
      e5996437
    • Adhemerval Zanella's avatar
      [lld] [ELF/AArch64] Add support to some GD/LE/IS TLS relocations · 74bcf03f
      Adhemerval Zanella authored
      This patch adds some TLS relocations and relaxations for AArch64.
      Some Global-Dynamic relocation are handled by optimizing them to
      Local-Exec (Initial-Exec is not yet supported). They are:
      
       - R_AARCH64_TLSDESC_ADR_PAGE21
       - R_AARCH64_TLSDESC_LD64_LO12_NC
       - R_AARCH64_TLSDESC_ADD_LO12_NC
       - R_AARCH64_TLSDESC_CALL
      
      Also some Init-Exec is optimized to Local-Exec if possible. They are:
      
       - R_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21
       - R_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC
      
      Finally some Local-Exec relocation are handled in relocateOne:
      
       - R_AARCH64_TLSLE_ADD_TPREL_HI12
       - R_AARCH64_TLSLE_ADD_TPREL_LO12_NC
      
      This work is mainly for compiler bootstrap, where static binaries is
      showing good progress (although shared object still lacking support
      from both TLS aarch64 backend and some other issues).
      
      llvm-svn: 260677
      74bcf03f
    • Benjamin Kramer's avatar
      Fix uninitialized memory read. · ac5e36f5
      Benjamin Kramer authored
      Found by msan.
      
      llvm-svn: 260676
      ac5e36f5
    • Olivier Goffart's avatar
      Fix ICE with constexpr and friend functions · 8bc0caa2
      Olivier Goffart authored
      Fix a crash while parsing this code:
      
        struct X  {
          friend constexpr int foo(X*) { return 12; }
          static constexpr int j = foo(static_cast<X*>(nullptr));
        };
      
      Differential Revision: http://reviews.llvm.org/D16973
      
      llvm-svn: 260675
      8bc0caa2
    • Jonas Hahnfeld's avatar
      [OMPT] Frame information for openmp taskwait · 867aa20b
      Jonas Hahnfeld authored
      For pragma omp taskwait the runtime is called from the task context.
      Therefore, the reentry frame information should be updated.
      
      The information should be available for both taskwait event calls; therefore,
      set before the first event and reset after the last event.
      
      Patch by Joachim Protze
      Differential Revision: http://reviews.llvm.org/D17145
      
      llvm-svn: 260674
      867aa20b
    • Hrvoje Varga's avatar
    • Daniel Sanders's avatar
      Revert r260669 while the clang-cmake-aarch64-42vma failures is investigated. · 6c400643
      Daniel Sanders authored
      There's no obvious reason it should fail in this way but it's the only change
      on the blamelist. I suspect stale lit*.cfg's from previous builds.
      
      llvm-svn: 260672
      6c400643
    • Anastasia Stulova's avatar
      [OpenCL] Disable C99 standard lib functions · 1202de3e
      Anastasia Stulova authored
      The library functions defined in the C99 standard headers
      are not available (OpenCL v1.2 s6.9.f). 
      
      This change stops treating OpenCL builtin functions as standard C lib
      functions to eliminate warning messages about printf format string.
      
      Patch by Liu Yaxun (Sam)!
      
      Differential Revision: http://reviews.llvm.org/D16812
      
      llvm-svn: 260671
      1202de3e
    • Haojian Wu's avatar
      Remove LLVMGetTargetMachineData in go-binding. · ebe01560
      Haojian Wu authored
      Summary:
      LLVMGetTargetMachineData has been removed, and LLVMGetDataLayout is
      suggested to use. The LLVMGetDataLayout is exposed in go bindings.
      So it's safe to remove the function.
      
      Reviewers: bkramer
      
      Subscribers: llvm-commits, axw
      
      Differential Revision: http://reviews.llvm.org/D17193
      
      llvm-svn: 260670
      ebe01560
    • Daniel Sanders's avatar
      [msan+tsan] Bring back the tests that disappeared after r260230 and r259512. · fe567fb3
      Daniel Sanders authored
      The lit test-suite containing the unit tests needs to be explicitly specified
      as an argument to lit.py since it is no longer discovered when the other tests
      are run (because they are one directory deeper).
      
      dfsan, lsan, and sanitizer_common don't show the same problem.
      
      llvm-svn: 260669
      fe567fb3
    • Chandler Carruth's avatar
      [attrs] Simplify the convergent removal to directly use the pre-built · 3937bc70
      Chandler Carruth authored
      node set rather than walking the SCC directly.
      
      This directly exposes the functions and has already had null entries
      filtered out. We also don't need need to handle optnone as it has
      already been handled in the caller -- we never try to remove convergent
      when there are optnone functions in the SCC.
      
      With this change, the code for removing convergent should work with the
      new pass manager and a different SCC analysis.
      
      llvm-svn: 260668
      3937bc70
    • Daniel Marjamaki's avatar
      [clang-tidy] Fix failure in 'misc-misplaced-widening-cast' test. · 1fba76a3
      Daniel Marjamaki authored
      I added portability warnings when int results are casted to long. I forgot to handle uint, ulong and ulonglong.
      
      Tested on x86 and powerpc targets, hope it works now on all buildbots.
      
      llvm-svn: 260667
      1fba76a3
    • Chandler Carruth's avatar
      [attrs] Consolidate the test for a non-SCC, non-convergent function call · 057df3d4
      Chandler Carruth authored
      with the test for a non-convergent intrinsic call.
      
      While it is possible to use the call records to search for function
      calls, we're going to do an instruction scan anyways to find the
      intrinsics, we can handle both cases while scanning instructions. This
      will also make the logic more amenable to the new pass manager which
      doesn't use the same call graph structure.
      
      My next patch will remove use of CallGraphNode entirely and allow this
      code to work with both the old and new pass manager. Fortunately, it
      should also get strictly simpler without changing functionality.
      
      llvm-svn: 260666
      057df3d4
    • Daniel Marjamaki's avatar
      [clang-tidy] improve misc-misplaced-widening-cast so it also detects portability problems. · 79355776
      Daniel Marjamaki authored
      Reviewers: alexfh
      
      Subscribers: cfe-commits
      
      Differential Revision: http://reviews.llvm.org/D17140
      
      llvm-svn: 260665
      79355776
    • Enrico Granata's avatar
      The data formatters for NSArray, NSDictionary and (only partially) NSSet... · 2543d290
      Enrico Granata authored
      The data formatters for NSArray, NSDictionary and (only partially) NSSet contain logic to inspect the objects without running code.
      However, they also contain fallback logic that - in cases where LLDB can't recognize the specific subclass - actually does run code in order to inspect those objects.
      
      The argument for this logic was that these data types are critical enough that the risk of getting it wrong is outweighed by the advantage of always providing accurate child information.
      
      Practical experience however shows that "po" - a code running data-inspection command - is quite frequently used, and not considered burdensome by users.
      As such, this makes the code-running fallback in the data formatters a risk that carries very little actual reward. Also, unlike the time this code was originally written, we now have accurate class information for Objective-C, and thus we are less likely to improperly identify classes.
      
      This commit removes support for the code-running fallback, and aligns the data formatters for NSArray, NSDictionary and NSSet to the general no-code-running behavior of other data formatters.
      
      While it is possible for us to add support for some subclasses that are now no longer covered by static inspection alone, this is beyond the scope of this commit.
      
      llvm-svn: 260664
      2543d290
    • Argyrios Kyrtzidis's avatar