[all-commits] [llvm/llvm-project] a601b3: GlobalISel: Lower non-byte loads and stores

Matt Arsenault via All-commits all-commits at lists.llvm.org
Wed Jun 30 14:18:14 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: a601b308d91eabf008cf13a041dc0238550e3c0c
      https://github.com/llvm/llvm-project/commit/a601b308d91eabf008cf13a041dc0238550e3c0c
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2021-06-30 (Wed, 30 Jun 2021)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-sextload-global.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-zextload-global.mir

  Log Message:
  -----------
  GlobalISel: Lower non-byte loads and stores

Previously we didn't preserve the memory type and had to blindly
interpret a number of bytes. Now that non-byte memory accesses are
representable, we can handle these correctly.

Ported from DAG version (minus some weird special case i1 legality
checking which I don't fully understand, and we don't have a way to
query for)

For now, this is NFC and the test changes are placeholders. Since the
legality queries are still relying on byte-flattened memory sizes, the
legalizer can't actually see these non-byte accesses. This keeps this
change self contained without merging it with the larger patch to
switch to LLT memory queries.




More information about the All-commits mailing list