1. Feb 28, 2023
    • Craig Topper's avatar
      [Sema] Use isSVESizelessBuiltinType instead of isSizelessBuiltinType to prevent crashing on RISC-V. · 2e731117
      Craig Topper authored
      These 2 spots are protecting calls to SVE specific functions. If RISC-V
      sizeless types end up in there we trigger assertions.
      
      Use the more specific isSVESizelessBuiltinType() to avoid letting
      RISC-V vectors through.
      
      Reviewed By: asb, c-rhodes
      
      Differential Revision: https://reviews.llvm.org/D144772
      2e731117
    • Kiran Chandramohan's avatar
      [Flang][OpenMP][OpenACC] Error for loop with no control · 7d7633bd
      Kiran Chandramohan authored
      Issue error if a DO construct associated with a loop does not have
      loop control. Currently, it is issued only for the loop immediately
      following the loop construct. This patch extends it to cases like
      collapse where there is more than one loop associated. It also fixes
      a crash since the existing code always expects loop control.
      
      This is covered in OpenMP 4.5 standard, Section 2.7.1.
      "The do-loop cannot be a DO WHILE or a DO loop without loop control."
      
      OpenACC 3.3 covers this indirectly in Section 2.9.1.
      The trip count for all loops associated with the collapse clause must
      be computable and invariant in all the loops".
      
      Reviewed By: clementval
      
      Differential Revision: https://reviews.llvm.org/D144290
      7d7633bd
    • Joseph Huber's avatar
      [OpenMP] Ignore implicit casts on assertion for `use_device_ptr` · 853d4059
      Joseph Huber authored
      There was an assertion triggering when invoking a captured member whose
      initializer was in a blase class. This patch fixes it by allowing the
      assertion on implicit casts to the base class rather than only the base
      class itself.
      
      Fixes https://github.com/llvm/llvm-project/issues/61027
      
      Reviewed By: tianshilei1992
      
      Differential Revision: https://reviews.llvm.org/D144873
      853d4059
    • Kiran Chandramohan's avatar
      [Flang][OpenMP] NFC: Change a few message/comments to fit 80chars · 54acf9a3
      Kiran Chandramohan authored
      Changes are all in the OpenMP semantic checks file.
      
      Reviewed By: SBallantyne
      
      Differential Revision: https://reviews.llvm.org/D144874
      54acf9a3
    • Nicolas Vasilache's avatar
      [mlir][Linalg] Reimplement hoisting on tensors as a subset-based transformation · 4521b113
      Nicolas Vasilache authored
      This revision significantly rewrites hoisting on tensors.
      Previously, `vector.transfer_read/write` and `tensor.extract/insert_slice` would
      be clumped together when looking for candidate pairs.
      This would significantly increase the complexity of the logic and would not apply
      independently to `tensor.extract/insert_slice`.
      
      The new implementation decouples the cases and starts to cast the problem
      as a generic matching subset extract/insert, which will be future proof when
      other such operation pairs are introduced.
      
      Lastly, the implementation makes the distinction clear between `vector.transfer_read/write` for
      which we allow bypasses of the disjoint subsets from `tensor.extract/insert_slice` for which we
      do not yet allow it.
      
      This can be extended in the future and unified once we have subset disjunction implemented more generally.
      
      The algorithm can be rewritten to be less of a fixed point with interspersed canonicalizations.
      As a consequence, the test explicitly adds a canonicalization to clean up the IR and verify we end up in the same state.
      
      That extra canonicalization exhibited that one of the uses in one of the tests was dead, so we fix the appropriate test.
      
      Differential Revision: https://reviews.llvm.org/D144656
      4521b113
    • Haojian Wu's avatar
      [mlir] Fix a -Wunused-variable warning, NFC · 779d54fd
      Haojian Wu authored
      779d54fd
    • Nikita Popov's avatar
      [ConstExpr] Avoid creation of select constant expressions · 5d6dfba1
      Nikita Popov authored
      These expressions will now only be created if explicitly requested
      in IR/bitcode (and by LowerTypeTests, which has a tricky to remove
      use).
      
      This is in preparation for removing these expressions entirely,
      but also fixes #60983 in the meantime.
      5d6dfba1
  2. Feb 27, 2023