1. May 06, 2022
  2. May 05, 2022
    • AndreyChurbanov's avatar
      [OpenMP] libomp: cleanup dead code · eed0d851
      AndreyChurbanov authored
      Differential Revision: https://reviews.llvm.org/D123047
      eed0d851
    • Ilya Biryukov's avatar
      [Driver] Remove -fno-concept-satisfaction-caching · e13c28ec
      Ilya Biryukov authored
      The flag was added when the C++20 draft did not allow for concept
      caching. The final C++20 standard permits the caching, so flag is
      redundant. See http://wg21.link/p2104r0.
      
      Reviewed By: sammccall
      
      Differential Revision: https://reviews.llvm.org/D125014
      e13c28ec
    • Brian Tracy's avatar
      Fix "the the" typo in documentation and user facing strings · 87a55137
      Brian Tracy authored
      There are many more instances of this pattern, but I chose to limit this change to .rst files (docs), anything in libcxx/include, and string literals. These have the highest chance of being seen by end users.
      
      Reviewed By: #libc, Mordante, martong, ldionne
      
      Differential Revision: https://reviews.llvm.org/D124708
      87a55137
    • Tomasz Kamiński's avatar
      [analyzer] Canonicalize SymIntExpr so the RHS is positive when possible · f0d6cb4a
      Tomasz Kamiński authored
      This PR changes the `SymIntExpr` so the expression that uses a
      negative value as `RHS`, for example: `x +/- (-N)`, is modeled as
      `x -/+ N` instead.
      
      This avoids producing a very large `RHS` when the symbol is cased to
      an unsigned number, and as consequence makes the value more robust in
      presence of casts.
      
      Note that this change is not applied if `N` is the lowest negative
      value for which negation would not be representable.
      
      Reviewed By: steakhal
      
      Patch By: tomasz-kaminski-sonarsource!
      
      Differential Revision: https://reviews.llvm.org/D124658
      f0d6cb4a
    • Sam McCall's avatar
      [clang-tidy] Make header-guard check a little looser on comment whitespace · 7cf97d62
      Sam McCall authored
      Currently it rejects "//  FOO_BAR_H" as an endif comment due to the extra space.
      A user complained that this is too picky, which seems fair enough.
      
      Differential Revision: https://reviews.llvm.org/D124955
      7cf97d62
    • Louis Dionne's avatar
      [libc++] Add a few _LIBCPP_ASSERTs in __tree · 990ea392
      Louis Dionne authored
      Several helper functions specify preconditions as comments, but we never
      check them. I ran across a bug report (without a reproducer) in this code,
      and I thought that having these assertions in place would make it easier
      to troubleshoot.
      
      Differential Revision: https://reviews.llvm.org/D124477
      990ea392
    • Andrzej Warzynski's avatar
      [flang][driver] Add support for consuming LLVM IR/BC files · b9f3b7f8
      Andrzej Warzynski authored
      This change makes sure that Flang's driver recognises LLVM IR and BC as
      supported file formats. To this end, `isFortran` is extended and renamed
      as `isSupportedByFlang` (the latter better reflects the new
      functionality).
      
      New tests are added to verify that the target triple is correctly
      overridden by the frontend driver's default value or the value specified
      with `-triple`. Strictly speaking, this is not a functionality that's
      new in this patch (it was added in D124664). This patch simply enables
      us to write such tests and hence I'm including them here.
      
      Differential Revision: https://reviews.llvm.org/D124667
      b9f3b7f8
    • Ilya Biryukov's avatar
      [Sema] Replace invalid FIXME about memory leak. NFC · ad2263de
      Ilya Biryukov authored
      Added in my previous patch by mistake.
      ad2263de
    • Thomas Preud'homme's avatar
      [MachinePipeliner] Fix unscheduled instruction · 68dee839
      Thomas Preud'homme authored
      Prior to ordering instructions to be scheduled, the machine pipeliner
      update recurrence node sets in groupRemainingNodes() by adding in a
      given node set any node on the dependency path from a node set with
      higher priority to the given node set. The function computePath() that
      determine what constitutes a path follows artificial dependencies.
      
      However, when ordering the nodes in the resulting node sets,
      computeNodeOrder() calls ignoreDependence when looking at dependencies
      which ignores artificial dependencies. This can cause a node not to be
      scheduled which then causes wrong code generation and in the case of a
      debug build will lead to an assert failure in generatePhis() in
      ModuloScheduler.cpp.
      
      This commit adds calls to ignoreDependence() in computePath() to not add
      any node in groupRemainingNodes() that would not be ordered by
      computeNodeOrder().
      
      Reviewed By: sgundapa
      
      Differential Revision: https://reviews.llvm.org/D124267
      68dee839
    • David Green's avatar
      [PowerPC] Add extra v2i64 splat load tests. NFC · 1f37d948
      David Green authored
      In service of D123801, this add some tests targetting a v2i64 splat of a
      load, and regenerates vsx_shuffle_le.ll for easier updating.
      1f37d948
    • Sam McCall's avatar
      [Driver] Make "upgrade" of -include to include-pch optional; disable in clangd · 04b41904
      Sam McCall authored
      If clang is passed "-include foo.h", it will rewrite to "-include-pch foo.h.pch"
      before passing it to cc1, if foo.h.pch exists.
      
      Existence is checked, but validity is not. This is probably a reasonable
      assumption for the compiler itself, but not for clang-based tools where the
      actual compiler may be a different version of clang, or even GCC.
      In the end, we lose our -include, we gain a -include-pch that can't be used,
      and the file often fails to parse.
      
      I would like to turn this off for all non-clang invocations (i.e.
      createInvocationFromCommandLine), but we have explicit tests of this behavior
      for libclang and I can't work out the implications of changing it.
      
      Instead this patch:
       - makes it optional in the driver, default on (no change)
       - makes it optional in createInvocationFromCommandLine, default on (no change)
       - changes driver to do IO through the VFS so it can be tested
       - tests the option
       - turns the option off in clangd where the problem was reported
      
      Subsequent patches should make libclang opt in explicitly and flip the default
      for all other tools. It's probably also time to extract an options struct
      for createInvocationFromCommandLine.
      
      Fixes https://github.com/clangd/clangd/issues/856
      Fixes https://github.com/clangd/vscode-clangd/issues/324
      
      Differential Revision: https://reviews.llvm.org/D124970
      04b41904
    • Philip Reames's avatar
      [riscv] Use X0 for destination of VSETVLI instruction if result unused · 042a7a5f
      Philip Reames authored
      If the GPR destination register of a VSETVLI instruction is unused, we can replace it with X0. This discards the result, and thus reduces register pressure.
      
      Since after the core insertion/lowering algorithm has run, many user written VSETVLIs will have their GPR result unused (as VTYPE/VLEN is now explicitly read instead), this kicks in for most tests which involve a vsetvli intrinsic for fixed length vectorization. (vscale vectorization generally uses the GPR result to know how far to e.g. advance pointers in a loop and these uses are not removed.)  When inserting VSETVLIs to lower psuedos, we prefer the X0 form anyways.
      
      Differential Revision: https://reviews.llvm.org/D124961
      042a7a5f
    • David Green's avatar
      [ARM][AArch64] Add some extra shuffle conversion test coverage. NFC · c7a6b11b
      David Green authored
      This adds a big endian run line for the AArch64 TRN tests and
      regenerated the check lines, along with adding an extra MVE VMOVN case
      and regenerating vector-DAGCombine.ll for easier updating.
      c7a6b11b