[llvm] [GlobalISel] Document minimum legality requirements for G_IMPLICIT_DEF. (PR #117609)

Thorsten Schütt via llvm-commits llvm-commits at lists.llvm.org
Mon Nov 25 13:12:00 PST 2024


================
@@ -338,8 +338,8 @@ G_BUILD_VECTOR_TRUNC, G_CONCAT_VECTORS, G_UNMERGE_VALUES, G_PTRTOINT, and
 G_INTTOPTR have already been noted above. In addition to those, the following
 operations have requirements:
 
-* At least one G_IMPLICIT_DEF must be legal. This is usually trivial as it
-  requires no code to be selected.
+* For every type that can be produced by any instruction, G_IMPLICIT_DEF must be
+  legal. This is usually trivial as it requires no code to be selected.
----------------
tschuett wrote:

https://github.com/llvm/llvm-project/blob/bb88fd171a6be892cec36969860a9034b48b8656/llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp#L95
G_IMPLICIT_DEF is not legal for scalable vectors!

https://github.com/llvm/llvm-project/pull/117609


More information about the llvm-commits mailing list