1. Jun 08, 2019
  2. Jun 07, 2019
    • David Tenty's avatar
      Build with _XOPEN_SOURCE defined on AIX · a8d13df4
      David Tenty authored
      Summary:
      It is useful to build with _XOPEN_SOURCE defined on AIX, enabling X/Open
      and POSIX compatibility mode, to work around stray macros and other
      bugs in the headers provided by the system and build compiler.
      
      This patch adds the config to cmake to build with _XOPEN_SOURCE defined
      on AIX with a few exceptions. Google Test internals require access to
      platform specific thread info constructs on AIX so in that case we build
      with _ALL_SOURCE defined instead. Libclang also uses header which needs
      _ALL_SOURCE on AIX so we leave that as is as well.
      
      We also add building on AIX with the large file API and doing CMake
      header checks with X/OPEN definitions so the results are consistent with
      the environment that will be present in the build.
      
      Reviewers: hubert.reinterpretcast, xingxue, andusy
      
      Reviewed By: hubert.reinterpretcast
      
      Subscribers: mgorny, jsji, cfe-commits, llvm-commits
      
      Tags: #llvm, #clang
      
      Differential Revision: https://reviews.llvm.org/D62533
      
      llvm-svn: 362808
      a8d13df4
    • Sjoerd Meijer's avatar
      [ARM] Add ACLE feature macros for MVE · 4ea248eb
      Sjoerd Meijer authored
      If MVE is present at all, then the macro __ARM_FEATURE_MVE is defined
      to a value which has bit 0 set for integer MVE, and bit 1 set for
      floating-point MVE.
      
      (Floating-point MVE implies integer MVE, so if this macro is defined
      at all then it will be set to 1 or 3, never 2.)
      
      Patch mostly by Simon Tatham
      
      Differential Revision: https://reviews.llvm.org/D60710
      
      llvm-svn: 362806
      4ea248eb
    • Jinsong Ji's avatar
      [MachineScheduler] checkResourceLimit boundary condition update · 7aafdef6
      Jinsong Ji authored
      When we call checkResourceLimit in bumpCycle or bumpNode, and we
      know the resource count has just reached the limit (the equations
       are equal). We should return true to mark that we are resource
      limited for next schedule, or else we might continue to schedule
      in favor of latency for 1 more schedule and create a schedule that
       actually overbook the resource.
      
      When we call checkResourceLimit to estimate the resource limite before
      scheduling, we don't need to return true even if the equations are
      equal, as it shouldn't limit the schedule for it .
      
      Differential Revision: https://reviews.llvm.org/D62345
      
      llvm-svn: 362805
      7aafdef6
    • Stefan Granitz's avatar
      [CMake] Add special case for processing LLDB_DOTEST_ARGS · 088410ff
      Stefan Granitz authored
      Summary:
      Allow to run the test suite when building LLDB Standalone with Xcode against a provided LLVM build-tree that used a single-configuration generator like Ninja.
      
      So far both test drivers, lit-based `check-lldb` as well as `lldb-dotest`, were looking for test dependencies (clang/dsymutil/etc.) in a subdirectory with the configuration name (Debug/Release/etc.). It was implicitly assuming that both, LLDB and the provided LLVM used the same generator. In practice, however, the opposite is quite common: build the dependencies with Ninja and LLDB with Xcode for development*. With this patch it becomes the default.
      
      (* In fact, it turned out that the Xcode<->Xcode variant didn't even build out of the box. It's fixed since D62879)
      
      Once this is sound, I'm planning the following steps:
      * add stage to the [lldb-cmake-standalone bot](http://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake-standalone/) to build and test it
      * update `Building LLDB with Xcode` section in the docs
      * bring the same mechanism to swift-lldb
      * fade out the manually maintained Xcode project
      
      On macOS build and test like this:
      ```
      $ git clone https://github.com/llvm/llvm-project.git /path/to/llvm-project
      
      $ cd /path/to/lldb-dev-deps
      $ cmake -GNinja -C/path/to/llvm-project/lldb/cmake/caches/Apple-lldb-macOS.cmake -DLLVM_ENABLE_PROJECTS="clang;libcxx;libcxxabi" /path/to/llvm-project/llvm
      $ ninja
      
      $ cd /path/to/lldb-dev-xcode
      $ cmake -GXcode -C/path/to/llvm-project/lldb/cmake/caches/Apple-lldb-macOS.cmake -DLLDB_BUILD_FRAMEWORK=Off -DLLVM_DIR=/path/to/lldb-dev-deps/lib/cmake/llvm -DClang_DIR=/path/to/lldb-dev-deps/lib/cmake/clang /path/to/llvm-project/lldb
      $ xcodebuild -configuration Debug -target check-lldb
      $ xcodebuild -configuration Debug -target lldb-dotest
      $ ./Debug/bin/lldb-dotest
      ```
      
      Reviewers: JDevlieghere, jingham, xiaobai, stella.stamenova, labath
      
      Reviewed By: stella.stamenova
      
      Subscribers: labath, mgorny, lldb-commits
      
      Tags: #lldb
      
      Differential Revision: https://reviews.llvm.org/D62859
      
      llvm-svn: 362803
      088410ff
    • Stefan Stipanovic's avatar
      test-commit · 128e8e8f
      Stefan Stipanovic authored
      llvm-svn: 362802
      128e8e8f
    • David Bolvansky's avatar
      [NFC] Added tests for D63004 · 43f8ce44
      David Bolvansky authored
      llvm-svn: 362801
      43f8ce44
    • Matt Arsenault's avatar
      TailDuplicator: Remove no-op analyzeBranch call · 94a609e3
      Matt Arsenault authored
      This could fail, which looked concerning. However nothing was actually
      using the results of this. I assume this was intended to use the
      anti-feature of analyzeBranch of removing instructions, but wasn't
      actually calling it with AllowModify = true.
      
      Fixes bug 42162.
      
      llvm-svn: 362800
      94a609e3
    • Joerg Sonnenberger's avatar
      [NFC] Don't export helpers of ConstantFoldCall · b2e96169
      Joerg Sonnenberger authored
      llvm-svn: 362799
      b2e96169
    • Nico Weber's avatar
      llvm-lib: Disallow mixing object files with different machine types · d546b505
      Nico Weber authored
      lib.exe doesn't allow creating .lib files with object files that have
      differing machine types. Update llvm-lib to match.
      
      The motivation is to make it possible to infer the machine type of a
      .lib file in lld, so that it can warn when e.g. a 32-bit .lib file is
      passed to a 64-bit link (PR38965).
      
      Fixes PR38782.
      
      Differential Revision: https://reviews.llvm.org/D62913
      
      llvm-svn: 362798
      d546b505
    • Sanjay Patel's avatar
      [x86] narrow extract subvector of vector select · 6880bced
      Sanjay Patel authored
      This is a potentially large perf win for AVX1 targets because of the way we
      auto-vectorize to 256-bit but then expect the backend to legalize/optimize
      for the half-implemented AVX1 ISA.
      
      On the motivating example from PR37428 (even though this patch doesn't solve
      the vector shift issue):
      https://bugs.llvm.org/show_bug.cgi?id=37428
      ...there's a 16% speedup when compiling with "-mavx" (perf tested on Haswell)
      because we eliminate the remaining 256-bit vblendv ops.
      
      I added comments on a couple of tests that require further work. If we have
      256-bit logic ops separating the vselect and extract, we should probably narrow
      everything to 128-bit, but that requires a larger pattern match.
      
      Differential Revision: https://reviews.llvm.org/D62969
      
      llvm-svn: 362797
      6880bced
    • Nico Weber's avatar
      gn build: Merge r362766 · 0723c659
      Nico Weber authored
      llvm-svn: 362796
      0723c659
    • Nico Weber's avatar
      gn build: Merge r362774 · 9cf96046
      Nico Weber authored
      llvm-svn: 362795
      9cf96046