1. May 10, 2022
  2. May 09, 2022
    • Fraser Cormack's avatar
      [RISCV] Remove two unmasked RVV patterns · 3b9a231d
      Fraser Cormack authored
      These can be selected to unmasked from masked instructions by the
      post-process DAG step.
      
      Reviewed By: craig.topper
      
      Differential Revision: https://reviews.llvm.org/D125239
      3b9a231d
    • Jerry Wu's avatar
      [mlir][linalg] Fix padding size calculation for Conv2d ops. · ad7c49be
      Jerry Wu authored
      This patch fixed the padding size calculation for Conv2d ops when the stride > 1. It contains the changes below:
      
      - Use addBound to add constraint for AffineApplyOp in getUpperBoundForIndex. So the result value can be mapped and retrieved later.
      
      - Fixed the bound from AffineMinOp by adding as a closed bound. Originally the bound was added as an open upper bound, which results in the incorrect bounds when we multiply the values. For example:
      
      ```
      %0 = affine.min affine_map<()[s0] -> (4, -s0 + 11)>()[iv0]
      %1 = affine.apply affine_map<()[s0] -> (s0 * 2)>()[%0]
      
      If we add the affine.min as an open bound, addBound will internally transform it into the close bound "%0 <= 3". The following sliceBounds will derive the bound of %1 as "%1 <= 6" and return the open bound "%1 < 7", while the correct bound should be "%1 <= 8".
      ```
      
      - In addition to addBound, I also changed sliceBounds to support returning closed upper bound, since for the size computation, we usually care about the closed bounds.
      
      - Change the getUpperBoundForIndex to favor constant bounds when required. The sliceBounds will return a tighter but non-constant bounds, which can't be used for padding. The constantRequired option requires getUpperBoundForIndex to get the constant bounds when possible.
      
      Reviewed By: hanchung
      
      Differential Revision: https://reviews.llvm.org/D124821
      ad7c49be
    • Ashay Rane's avatar
      [mlir] Add translation from tensor.reshape to memref.reshape · e287d647
      Ashay Rane authored
      This patch augments the `tensor-bufferize` pass by adding a conversion
      rule to translate ReshapeOp from the `tensor` dialect to the `memref`
      dialect, in addition to adding a unit test to validate the translation.
      
      Reviewed By: springerm
      
      Differential Revision: https://reviews.llvm.org/D125031
      e287d647
    • Pavel Labath's avatar
      [lldb/test] Fix TestCppIncompleteTypeMembers.py · 8abfa511
      Pavel Labath authored
      modify the Makefile.rules line which was interfering with the
      target-specific variable values.
      8abfa511
    • Zarko Todorovski's avatar
      [LLVM][sancov] Inclusive language: Add -ignorelist option · d35bff8b
      Zarko Todorovski authored
      Adding the `-ignorelist` option that may eventually replace `-blacklist`.
      With this patch `sancov` accepts both options.
      
      Reviewed By: quinnp
      
      Differential Revision: https://reviews.llvm.org/D113514
      d35bff8b
    • Alex Richardson's avatar
      [ELF] Support -plugin-opt=stats-file= · 7c20e7ca
      Alex Richardson authored
      This flag is added by clang::driver::tools::addLTOOptions() and was causing
      errors for me when building the llvm-test-suite repository with LTO and
      -DTEST_SUITE_COLLECT_STATS=ON. This replaces the --stats-file= option
      added in 1c04b52b since the flag is only
      used for LTO and should therefore be in the -plugin-opt= namespace.
      
      Additionally, this commit fixes the `REQUIRES: asserts` that was added in
      948d0532: the feature was never defined in
      the lld test suite so it effectively disabled the test.
      
      Reviewed By: MaskRay, MTC
      
      Differential Revision: https://reviews.llvm.org/D124105
      7c20e7ca
    • Simon Pilgrim's avatar
      01188f99
    • Alexey Bataev's avatar
      [SLP]Fix a crash when preparing a mask for external scalars. · 9c3a75ea
      Alexey Bataev authored
      Need to use actual index instead of the tree entry position, since the
      insert index may be different than 0. It mean, that we vectorized part
      of the buildvector starting from not initial insertelement instruction
      beause of some reason.
      9c3a75ea
    • Nikita Popov's avatar
      [SCEV] Fold umin_seq using known predicate · 68e1ba81
      Nikita Popov authored
      Fold %x umin_seq %y to %x if %x ule %y. This also subsumes the
      special handling for constant operands, as if %y is constant this
      folds to umin via implied poison reasoning, and if %x is constant
      then either %x is not zero and it folds to umin, or it is known
      zero, in which case it is ule anything.
      68e1ba81
    • Nikita Popov's avatar
    • Micah Weston's avatar
      Enum conversion warning when one signed and other unsigned. · 882915df
      Micah Weston authored
      Ensures an -Wenum-conversion warning happens when one of the enums is
      signed and the other is unsigned. Also adds a test file to verify these
      warnings.
      
      This warning would not happen since the -Wsign-conversion would make a
      diagnostic then return, never allowing the -Wenum-conversion checks.
      
      For example:
      
      C
      enum PE { P = -1 };
      enum NE { N };
      enum NE conv(enum PE E) { return E; }
      Before this would only create a diagnostic with -Wsign-conversion and
      never on -Wenum-conversion. Now it will create a diagnostic for both
      -Wsign-conversion and -Wenum-conversion.
      
      I could change it to just warn on -Wenum-conversion as that was what I
      initially did. Seeing PR35200 (or GitHub Issue 316268), I let both
      diagnostics check so that the sign conversion could generate a warning.
      882915df