Fixed assertion crash when inline assembler input parameter has floating point constraint but requires conversion from anything but floating point entity.
Details
Diff Detail
Event Timeline
Please don't forget to include llvm-commits as a subscriber otherwise your patch is likely to be missed
The test files need to be simplified as much as possible - many of the attributes (e.g. all the debug srcloc) and meta data can be dropped and the remaining moved into the command line.
lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp | ||
---|---|---|
286 | (style) You should be able remove most braces, also cast/dyn_cast calls can use auto: if (auto *I = dyn_cast_or_null<Instruction>(V)) { if (auto *CI = dyn_cast<CallInst>(I)) if (isa<InlineAsm>(CI->getCalledValue())) return Ctx.emitError(CI, ErrMsg + ", in an __asm__"); return Ctx.emitError(I, ErrMsg); } | |
465 | ValueVT = PartVT? | |
469 | newline | |
490–491 | Add assertion message | |
598 | ValueVT =PartVT? | |
test/CodeGen/X86/asm-inconsistent-operand-constraints-fpreg-integer.ll | ||
17 | drop this | |
19 | Remove these and add to the command line as -mtriple=x86_64-unknown-linux-gnu | |
test/CodeGen/X86/asm-inconsistent-operand-constraints-fpreg-vector.ll | ||
27 | drop this | |
29 | Remove these and add to the command line as -mtriple=x86_64-unknown-linux-gnu |
limit showing error message only to the cases that require copy of non floating point datum into MVT::f80 container.
(style) You should be able remove most braces, also cast/dyn_cast calls can use auto: