[PATCH] D33031: [GlobalISel][TableGen] Fix handling of default operands
Diana Picus via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed May 10 00:19:13 PDT 2017
rovka added inline comments.
================
Comment at: utils/TableGen/GlobalISelEmitter.cpp:1519
- for (unsigned I = 0; I < DstINumUses &&
- DstINumUses > Dst->getNumChildren() + NumDefaultOperands;
- ++I) {
----------------
Hi Daniel,
Did you have some case in mind when counting things this way? It seems that for ARM instructions the predicate operand (which expands to 2 values) should be counted as only 1 operand. I tried to concoct other complicated cases with default operands but my TableGen-fu isn't strong enough and I couldn't find anything relevant in the existing instruction descriptions for any target (but I may have been looking at it the wrong way).
I ran TableGen with/without this patch for a lot of targets (including some that don't support GlobalISel yet) and the only one where I see any difference in the generated code or in the -warn-on-skipped-patterns -debug-only=gisel-emitter is ARM.
Please let me know if I'm missing something.
https://reviews.llvm.org/D33031
More information about the llvm-commits
mailing list