[all-commits] [llvm/llvm-project] db232d: [AArch64][GlobalISel] Legalize + select v2p0 -> v2...

Jessica Paquette via All-commits all-commits at lists.llvm.org
Tue Aug 24 11:02:21 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: db232de193978771751cfdc251a3fd4fe161bbec
      https://github.com/llvm/llvm-project/commit/db232de193978771751cfdc251a3fd4fe161bbec
  Author: Jessica Paquette <jpaquette at apple.com>
  Date:   2021-08-24 (Tue, 24 Aug 2021)

  Changed paths:
    M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    A llvm/test/CodeGen/AArch64/GlobalISel/legalize-ptrtoint.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-int-ptr-casts.mir

  Log Message:
  -----------
  [AArch64][GlobalISel] Legalize + select v2p0 -> v264 G_PTRTOINT

1) Just mark this case as legal because it can just be a copy.

2) Ensure the copy in the existing code actually gets selected. Without doing
this, we'll crash because the destination won't have a register class.

This fell back 35 times in a build of clang with GISel for AArch64.

Differential Revision: https://reviews.llvm.org/D108610




More information about the All-commits mailing list