1. May 21, 2021
    • Stephen Tozer's avatar
      [DebugInfo] Handle DIArgList in FastISel or GlobalIsel · cf725dde
      Stephen Tozer authored
      Currently, variadic dbg.values (i.e. those using a DIArgList as part of
      their location) are not handled properly by FastISel or GlobalISel, and
      will produce invalid DBG_VALUE instructions if they encounter them. This
      patch fixes this issue by emitting undef DBG_VALUE instructions for
      variadic dbg.values, so that no incorrect instruction is produced and
      any prior variable location is terminated.
      
      This is simply a quick-fix to prevent errors; a correct implementation
      should come later for these ISel pipelines to ensure that we do not drop
      debug information unnecessarily.
      
      Differential Revision: https://reviews.llvm.org/D102500
      cf725dde
    • Jean Perier's avatar
      [flang] simplify derived type info table format · 94383987
      Jean Perier authored
      - Replace class(*) member by a c_ptr member to avoid having to handle
        polymorphic components in the type info table generation. Polymorphic
        entity handling will require these very tables to be lowered properly.
        Note: keep the init as NullPointer/Designators. This is technically
        invalid Fortran, the init should have c_ptr type. But wrapping this
        in a C_LOC intrinsic call would make runtime generation and lowering
        more complex with no real benefits.
      
      - ComponentIterator is crashing when used on the generated derived
        types in GetScope. This patch makes GetScope more robust, but it
        is not entirely clear to me why this is only happening with the
        generated derived types.
      
      - The type of generated character globals was incorrect because
        Scope::FindType was matching character types with different
        length. Add a CharacterTypeSpec == operator to fix this.
      
      Differential Revision: https://reviews.llvm.org/D102768
      94383987
    • Peter Waller's avatar
      [CodeGen][AArch64][SVE] Canonicalize intrinsic rdffr{ => _z} · 2d574a11
      Peter Waller authored
      Follow up to D101357 / 3fa6510f.
      Supersedes D102330.
      
      Goal: Use flags setting rdffrs instead of rdffr + ptest.
      
      Problem: RDFFR_P doesn't have have a flags setting equivalent.
      
      Solution: in instcombine, canonicalize to RDFFR_PP at the IR level, and
      rely on RDFFR_PP+PTEST => RDFFRS_PP optimization in
      AArch64InstrInfo::optimizePTestInstr.
      
      While here:
      
      * Test that rdffr.z+ptest generates a rdffrs.
      * Use update_{test,llc}_checks.py on the tests.
      * Use sve attribute on functions.
      
      Differential Revision: https://reviews.llvm.org/D102623
      2d574a11
    • Sanjay Patel's avatar
      [GlobalOpt] recompute alignments for loads and stores of updated globals · f34311c4
      Sanjay Patel authored
      GlobalOpt can slice structs/arrays and change GEPs in the process,
      but it was not updating alignments for load/store users. This
      eventually causes the crashing seen in:
      https://llvm.org/PR49661
      https://llvm.org/PR50253
      
      On x86, this required SLP+codegen to create an aligned vector
      store on an invalid address. The bugs would be easier to
      demonstrate on a target with stricter alignment requirements.
      
      I'm not sure if this is a complete solution. The alignment
      updating code is adapted from InstCombine, so I assume that
      part is tested and good.
      
      Differential Revision: https://reviews.llvm.org/D102552
      f34311c4
    • Sanjay Patel's avatar
      [GlobalOpt] adjust test to show load problems; NFC · ee4055cf
      Sanjay Patel authored
      Goes with D102552
      ee4055cf
    • Raphael Isemann's avatar
      [lldb] Adjust DumpDataExtractorTest.Formats for Windows · 8ebaa195
      Raphael Isemann authored
      Not sure if that's the ostringstream or our conversion code, but this is
      returning the wrong results on Windows.
      8ebaa195
  2. May 20, 2021