[llvm] [GlobalISel] Document minimum legality requirements for G_IMPLICIT_DEF. (PR #117609)
Amara Emerson via llvm-commits
llvm-commits at lists.llvm.org
Mon Nov 25 11:43:14 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.
----------------
aemerson wrote:
> That could create illegal MIR after the legalizer. Please tell me when you finished inspecting all downstream legalizers.
So two things here:
1) We are requiring that targets make something legal. It's down to the targets to ensure this happens, not generic GlobalISel code.
2) Even if the first point didn't exist, which particular downstream legalizers do you want me to look at?
https://github.com/llvm/llvm-project/pull/117609
More information about the llvm-commits
mailing list