[AArch64][NFC] Alter ComplexPattern types to be consistent with their uses
When used as a non-leaf node, TableGen does not currently use the type of a ComplexPattern for type inference, which also means it does not check it doesn't conflict with the use. This differs from when used as a leaf value, where the type is used for inference. Fixing that discrepancy is something I intend to upstream as a subsequent review. AArch64 currently has several ComplexPatterns that are used in contexts where they're expected to be an iPTR. The cases that lead to type contradictions are separated out in D108759, but there are additional differences to the TableGen output when using my locally-patched TableGen. None of these appear to matter, at least for passing all the CodeGen tests, but it's safer to avoid such changes (and similar changes were causing issues on some AMDGPU tests, causing failures to select). Changing these additional ComplexPatterns to use iPTR rather than i64 ensures that the TableGen output remains bit-for-bit identical (compared to without having this patch and my TableGen patch, as well as the intermediate state of having this patch but not my TableGen patch), and more accurately captures the higher-level meaning of these patterns. Reviewed By: david-arm Differential Revision: https://reviews.llvm.org/D109034
Loading
Please sign in to comment