[DebugInfo][CSInfo] Avoid crash when defining super-regs
In rare situations involving AVX intrinsics, it seems LLVM can be coaxed into generating copies to arguments that look like this: $xmm0 = VMOVAPSrr $xmm1, implicit-def $ymm0 CALL64 @something ymm0 This particular form of copy implicitly zeros the upper lanes of ymm0, hence there's an implicit-def for the register in the copy. The X86 implementation of describeLoadedValue doesn't attempt to describe this sort of copy which causes the generic implementation in TargetInstrInfo::describeLoadedValue to fire an assertion saying it expected the target hook to handle it. Play it safe in the generic implementation and return the "no location / value" return value, rather than asserting. Differential Revision: https://reviews.llvm.org/D148626
Loading
Please sign in to comment