mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-10-19 02:52:53 +02:00
[CodeGenPrepare] Replace other uses of EVT::getEVT with TL::getValueType.
r221820 fixed a problem (PR21548) where an iPTR was used in TLI legality checks, which isn't valid and resulted in a failed assertion. The solution was to lower pointer types into the correct target's VT, by using TL::getValueType instead of EVT::getEVT. This commit changes 3 other uses of EVT::getEVT, but without any tests: - One of these non-lowered EVTs is passed to allowsMisalignedMemoryAccesses, which goes into target's TL implementation and doesn't cause any problem (yet.) - Two others are passed to TLI.isOperationLegalOrCustom: - one only looks at extensions, so doesn't concern pointers. - one only looks at binary operators, so also isn't a problem. The latter might some day be exposed to pointers and cause the same assert as the original PR, because there's a comment hinting at also supporting cast ops. For consistency, update all of them and be done with it. llvm-svn: 221827
This commit is contained in:
parent
6f5323f5b8
commit
d50e1d8236
@ -2024,8 +2024,8 @@ AddressingModeMatcher::IsPromotionProfitable(unsigned MatchedSize,
|
||||
if (!ISDOpcode)
|
||||
return true;
|
||||
// Otherwise, check if the promoted instruction is legal or not.
|
||||
return TLI.isOperationLegalOrCustom(ISDOpcode,
|
||||
EVT::getEVT(PromotedInst->getType()));
|
||||
return TLI.isOperationLegalOrCustom(
|
||||
ISDOpcode, TLI.getValueType(PromotedInst->getType()));
|
||||
}
|
||||
|
||||
/// MatchOperationAddr - Given an instruction or constant expr, see if we can
|
||||
@ -3272,7 +3272,7 @@ class VectorPromoteHelper {
|
||||
unsigned Align = ST->getAlignment();
|
||||
// Check if this store is supported.
|
||||
if (!TLI.allowsMisalignedMemoryAccesses(
|
||||
EVT::getEVT(ST->getValueOperand()->getType()), AS, Align)) {
|
||||
TLI.getValueType(ST->getValueOperand()->getType()), AS, Align)) {
|
||||
// If this is not supported, there is no way we can combine
|
||||
// the extract with the store.
|
||||
return false;
|
||||
@ -3404,8 +3404,8 @@ public:
|
||||
if (!ISDOpcode)
|
||||
return false;
|
||||
return StressStoreExtract ||
|
||||
TLI.isOperationLegalOrCustom(ISDOpcode,
|
||||
EVT::getEVT(getTransitionType(), true));
|
||||
TLI.isOperationLegalOrCustom(
|
||||
ISDOpcode, TLI.getValueType(getTransitionType(), true));
|
||||
}
|
||||
|
||||
/// \brief Check whether or not \p Use can be combined
|
||||
|
Loading…
Reference in New Issue
Block a user