forked from OSchip/llvm-project
[SVE][CodeGen] Replace use of TypeSize comparison operator in CreateStackTemporary
We were previously relying upon the TypeSize comparison operators to obtain the maximum size of two types, however use of such operators is being deprecated in favour of making the caller aware that it could be dealing with scalable vector types. I have changed the code to assert that the two types have the same scalable property and thus we can simply take the maximum of the known minimum sizes instead. Differential Revision: https://reviews.llvm.org/D88563
This commit is contained in:
parent
f5815105d2
commit
5b17b323a6
|
@ -2045,7 +2045,14 @@ SDValue SelectionDAG::CreateStackTemporary(EVT VT, unsigned minAlign) {
|
|||
}
|
||||
|
||||
SDValue SelectionDAG::CreateStackTemporary(EVT VT1, EVT VT2) {
|
||||
TypeSize Bytes = std::max(VT1.getStoreSize(), VT2.getStoreSize());
|
||||
TypeSize VT1Size = VT1.getStoreSize();
|
||||
TypeSize VT2Size = VT2.getStoreSize();
|
||||
assert(VT1Size.isScalable() == VT2Size.isScalable() &&
|
||||
"Don't know how to choose the maximum size when creating a stack "
|
||||
"temporary");
|
||||
TypeSize Bytes =
|
||||
VT1Size.getKnownMinSize() > VT2Size.getKnownMinSize() ? VT1Size : VT2Size;
|
||||
|
||||
Type *Ty1 = VT1.getTypeForEVT(*getContext());
|
||||
Type *Ty2 = VT2.getTypeForEVT(*getContext());
|
||||
const DataLayout &DL = getDataLayout();
|
||||
|
|
Loading…
Reference in New Issue