[PATCH] D96890: [GlobalISel] Add G_ASSERT_SEXT

Jessica Paquette via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 17 11:59:54 PST 2021


paquette created this revision.
paquette added reviewers: aemerson, arsenm.
Herald added subscribers: dexonsmith, hiraditya, rovka.
paquette requested review of this revision.
Herald added a subscriber: wdng.
Herald added a project: LLVM.

This adds a G_ASSERT_SEXT opcode, similar to G_ASSERT_ZEXT. This instruction signifies that an operation was already sign extended from a smaller type.

This is useful for functions with sign-extended parameters.

E.g.

  define void @foo(i16 signext %x) {
      ...
  }

This adds verifier, regbankselect, and instruction selection support for G_ASSERT_SEXT equivalent to G_ASSERT_ZEXT.


https://reviews.llvm.org/D96890

Files:
  llvm/docs/GlobalISel/GenericOpcode.rst
  llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
  llvm/include/llvm/Support/TargetOpcodes.def
  llvm/include/llvm/Target/GenericOpcodes.td
  llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
  llvm/lib/CodeGen/GlobalISel/RegBankSelect.cpp
  llvm/lib/CodeGen/MachineVerifier.cpp
  llvm/test/CodeGen/AArch64/GlobalISel/regbank-assert-sext.mir
  llvm/test/CodeGen/AArch64/GlobalISel/select-hint.mir
  llvm/test/MachineVerifier/test_g_assert_sext.mir
  llvm/test/MachineVerifier/test_g_assert_sext_register_bank_class.mir

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D96890.324383.patch
Type: text/x-patch
Size: 26965 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210217/4cd86027/attachment.bin>


More information about the llvm-commits mailing list