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

via llvm-commits llvm-commits at lists.llvm.org
Mon Dec 9 22:10:17 PST 2024


Author: Amara Emerson
Date: 2024-12-09T22:10:13-08:00
New Revision: a4c7c66098c512a4f616b2072814172114e5a422

URL: https://github.com/llvm/llvm-project/commit/a4c7c66098c512a4f616b2072814172114e5a422
DIFF: https://github.com/llvm/llvm-project/commit/a4c7c66098c512a4f616b2072814172114e5a422.diff

LOG: [GlobalISel] Document minimum legality requirements for G_IMPLICIT_DEF. (#117609)

The reason for this change is to clarify an existing technical
restriction of LLVM: there needs to be a way to implicitly define a type
if there is any way to legally define that type by another means.

Added: 
    

Modified: 
    llvm/docs/GlobalISel/Legalizer.rst

Removed: 
    


################################################################################
diff  --git a/llvm/docs/GlobalISel/Legalizer.rst b/llvm/docs/GlobalISel/Legalizer.rst
index 1ff7b304b3a013..0e256ac7781cc3 100644
--- a/llvm/docs/GlobalISel/Legalizer.rst
+++ b/llvm/docs/GlobalISel/Legalizer.rst
@@ -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.
 * G_PHI must be legal for all types in the producer and consumer typesets. This
   is usually trivial as it requires no code to be selected.
 * At least one G_FRAME_INDEX must be legal


        


More information about the llvm-commits mailing list