1. Dec 08, 2023
    • Graham Hunter's avatar
      [LV] Add support for linear arguments for vector function variants · cc02c954
      Graham Hunter authored
      If we have vectorized variants of a function which take linear
      parameters, we should be able to vectorize assuming the strides
      match.
      cc02c954
    • alex-t's avatar
      AlignmentFromAssumptions should only track pointer operand users (#73370) · d8cd7fc1
      alex-t authored
      AlignmentFromAssumptions uses SCEV to update the load/store alignment.
      It tracks down the use-def chains for the pointer which it takes from
      the assumption cache until it reaches the load or store instruction. It
      mistakenly adds to the worklist the users of the load result
      irrespective of the fact that the load result has no connection with the
      original pointer, moreover, it is not a pointer at all in most cases.
      Thus the def-use chain contains irrelevant load users. When it is a
      store instruction the algorithm attempts to adjust its alignment to the
      alignment of the original pointer. The problem appears when the load and
      store memory operand pointers belong to different address spaces and
      possibly have different sizes.
      The 4bf015c0 was an attempt to address a
      similar problem. The truncation or zero extension was added to make
      pointers the same size. That looks strange to me because the zero
      extension of the pointer is not legal. The test in the
      4bf015c0 does not work any longer as for
      the explicit address spaces conversion the addrspacecast is generated.
      Summarize:
      1. For the alloca to global address spaces conversion addrspacecasts are
      used, so the code added by the 4bf015c0
      is no longer functional.
      2. The AlignmentFromAssumptions algorithm should not add the load users
      to the worklist as they have nothing to do with the original pointer.
      3. Instead we only track users that are: GetelementPtrIns, PHINodes.
      d8cd7fc1
    • Dinar Temirbulatov's avatar
      [AArch64][SME2] Add _x2/_x4 svqrshr builtins. (#74100) · 5416309d
      Dinar Temirbulatov authored
      Patch by: Kerry McLaughlin <kerry.mclaughlin@arm.com>
      5416309d
    • Nick Desaulniers's avatar
      [libc] fix -Wshift-count-overflow in UInt.h (#74649) · 1ee6a1e3
      Nick Desaulniers authored
      Not that I'm very good at SFINAE, but it seems that conversion operators
      are
      perhaps difficult to compose with SFINAE. I saw an example that used one
      layer
      of indirection to have an explicit return type that could then be used
      with
      enable_if_t.
      
      Link: https://stackoverflow.com/a/7604580
      Fixes: #74623
      1ee6a1e3
    • Nikita Popov's avatar
      [AsmParser] Gracefully handle non-existent GV summary reference · dfd36aa7
      Nikita Popov authored
      If the module summary references a global variable that does not
      exist, throw a nice error instead of asserting.
      
      Fixes https://github.com/llvm/llvm-project/issues/74726.
      dfd36aa7
  2. Dec 07, 2023