[PATCH] D96416: [TableGen] Improve algorithms for processing template arguments; add type checking
Paul C. Anagnostopoulos via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Feb 22 10:40:48 PST 2021
Paul-C-Anagnostopoulos added a subscriber: t.p.northover.
Paul-C-Anagnostopoulos added a comment.
@t.p.northover
I think the Clang problem might be in this code in arm_mve.td. I've flagged 'top', which is a bit. However, EmitterBase::getCodeForDagArg (in MveEmiiter.cpp) does not handle a bit as argument #2 of this DAG. At least, that's what I gather. I have improved the error message that it produces, which is shown below the code. What I don't understand is why this revision suddenly produces an error where none was produced before. I'll continue to investigate.
multiclass vmovl<bit top> {
let params = [s8, u8, s16, u16] in {
def "": Intrinsic<DblVector, (args Vector:$a),
(extend (unzip $a, top), DblVector, (unsignedflag Scalar))>;
defm "": IntrinsicMX<DblVector, (args Vector:$a, DblPredicate:$pred),
(IRInt<"vmovl_predicated", [DblVector, Vector, DblPredicate]>
$a, (unsignedflag Scalar), **top**, $pred, $inactive)>;
}
}
error: bad DAG argument type for code generation
note: DAG: (anonymous_336 ?:$a, (unsignedflag Scalar), 0, ?:$pred, ?:$inactive)
note: argument type: bit
note: argument number 2: 0
PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backtrace.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D96416/new/
https://reviews.llvm.org/D96416
More information about the llvm-commits
mailing list