1. Jun 13, 2023
    • Craig Topper's avatar
      [RISCV] Merge RISCVMCInstLower.cpp into RISCVAsmPrinter.cpp. · 11e5a0d2
      Craig Topper authored
      The separation here doesn't make much sense. I think it's a
      leftover from the creation of the MC layer that has been
      replicated to new targets.
      
      By merging them we can avoid passing the AsmPrinter to the
      MCInstLowering functions. We can make them member functions instead.
      
      I think we can still do more integration of lowerSymbolOperand
      and lowerRISCVVMachineInstrToMCInst, but I wanted to get feedback
      on the direction first.
      
      Reviewed By: asb, barannikov88
      
      Differential Revision: https://reviews.llvm.org/D152311
      11e5a0d2
    • Aart Bik's avatar
      [mlir][sparse] add support for direct prod/and/min/max reductions · 80fe3168
      Aart Bik authored
      We recently fixed a bug in "sparsifying" such reductions, since
      it incorrectly changed this into reductions over stored elements
      only , which only works for add/sub/or/xor. However, we still want
      to be able to "sparsify" the reductions even in the general case,
      and this is a first step by rewriting them into a custom reduction
      that feeds in the implicit zeros. NOTE HOWEVER, that in the long run
      we want to do this better and feed in any implicit zero only ONCE
      for efficiency.
      
      Reviewed By: Peiming
      
      Differential Revision: https://reviews.llvm.org/D152580
      80fe3168
    • Anna Thomas's avatar
      [SelectionDAG][AArch64] Legalize FMAXIMUM/FMINIMUM · b2195bc7
      Anna Thomas authored
      The missing legalization in SelectionDAG was identified when adding the
      intrinsic support for vector reduction for maximum/minimum (D152370).
      
      Fixes part of PR: https://github.com/llvm/llvm-project/issues/63267
      
      Differential Revision: https://reviews.llvm.org/D152718
      b2195bc7
    • OCHyams's avatar
      [DebugInfo] Add DW_ATE_complex_float case to assert in isUnsignedDIType · 9dcae2f5
      OCHyams authored
      Without this patch a `DW_ATE_complex_float` encoding trips an assertion in
      `DebugHandlerBase::isUnsignedDIType` with the message `"Unsupported
      encoding"`.
      
      By adding a case to the `assert` for `DW_ATE_complex_float` it becomes
      supported, behaving in the same way as the already supported `DW_ATE_float`
      type (return false).
      
      Note: For the reported reproducer:
      
          #include <complex.h>
          int main() {
            long double complex r1;
          }
      
      The assertion isn't tripped without assignment tracking because instcombine
      deletes everything, including the `dbg.declare`, without recovering any
      location information. Whereas with assignment tracking we track a zeroing
      memset that is emitted by clang.
      
      Reviewed By: probinson
      
      Differential Revision: https://reviews.llvm.org/D151795
      9dcae2f5
    • Florian Hahn's avatar
      [ConstraintElim] Extend monotonic phi test coverage. · 06dab8f7
      Florian Hahn authored
      Add additional tests which exposed some crashes in upcoming patches and
      test for and-implied-by-operands handling.
      06dab8f7
  2. Jun 12, 2023