[ValueTypes] Assert if changeVectorElementType is called on a simple type with an...
authorCraig Topper <craig.topper@sifive.com>
Sat, 20 Feb 2021 01:19:25 +0000 (17:19 -0800)
committerCraig Topper <craig.topper@sifive.com>
Sat, 20 Feb 2021 01:30:46 +0000 (17:30 -0800)
commitbaab7978787d64df25ab073bb7e0ec92b5608797
tree1923529b02f68f43c274e940b75fa68d2ac6c264
parentdab953c8e44a2687f15a4c339bd27fc4dfe25af0
[ValueTypes] Assert if changeVectorElementType is called on a simple type with an extended element type.

Previously we would use the extended implementation, but
the extended implementation requires the vector type to be extended
so that we can access the LLVMContext. In theory we could
detect this case and use the context from the element type instead,
but since I know of no cases hitting this in practice today
I've done the simplest thing.

Also add asserts to several extended EVT functions that assume
LLVMTy is non-null.

Follow from discussion in D97036

Reviewed By: pengfei

Differential Revision: https://reviews.llvm.org/D97070
llvm/include/llvm/CodeGen/ValueTypes.h
llvm/lib/CodeGen/ValueTypes.cpp