mirror of
https://github.com/RPCS3/llvm.git
synced 2025-02-24 21:00:36 +00:00
[DAGCombine] Remove isAndLoadExtLoad arguments
Both LoadedVT and NarrowLoad are passed as references and neither of them are used by any of its callers. Differential Revision: https://reviews.llvm.org/D40713 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@319645 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
ed04373440
commit
5022455191
@ -496,12 +496,9 @@ namespace {
|
||||
|
||||
/// This is a helper function for visitAND and visitZERO_EXTEND. Returns
|
||||
/// true if the (and (load x) c) pattern matches an extload. ExtVT returns
|
||||
/// the type of the loaded value to be extended. LoadedVT returns the type
|
||||
/// of the original loaded value. NarrowLoad returns whether the load would
|
||||
/// need to be narrowed in order to match.
|
||||
/// the type of the loaded value to be extended.
|
||||
bool isAndLoadExtLoad(ConstantSDNode *AndC, LoadSDNode *LoadN,
|
||||
EVT LoadResultTy, EVT &ExtVT, EVT &LoadedVT,
|
||||
bool &NarrowLoad);
|
||||
EVT LoadResultTy, EVT &ExtVT);
|
||||
|
||||
/// Helper function for MergeConsecutiveStores which merges the
|
||||
/// component store chains.
|
||||
@ -3693,22 +3690,20 @@ SDValue DAGCombiner::visitANDLike(SDValue N0, SDValue N1, SDNode *N) {
|
||||
}
|
||||
|
||||
bool DAGCombiner::isAndLoadExtLoad(ConstantSDNode *AndC, LoadSDNode *LoadN,
|
||||
EVT LoadResultTy, EVT &ExtVT, EVT &LoadedVT,
|
||||
bool &NarrowLoad) {
|
||||
EVT LoadResultTy, EVT &ExtVT) {
|
||||
if (!AndC->getAPIntValue().isMask())
|
||||
return false;
|
||||
|
||||
unsigned ActiveBits = AndC->getAPIntValue().countTrailingOnes();
|
||||
|
||||
ExtVT = EVT::getIntegerVT(*DAG.getContext(), ActiveBits);
|
||||
LoadedVT = LoadN->getMemoryVT();
|
||||
EVT LoadedVT = LoadN->getMemoryVT();
|
||||
|
||||
if (ExtVT == LoadedVT &&
|
||||
(!LegalOperations ||
|
||||
TLI.isLoadExtLegal(ISD::ZEXTLOAD, LoadResultTy, ExtVT))) {
|
||||
// ZEXTLOAD will match without needing to change the size of the value being
|
||||
// loaded.
|
||||
NarrowLoad = false;
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -3728,7 +3723,6 @@ bool DAGCombiner::isAndLoadExtLoad(ConstantSDNode *AndC, LoadSDNode *LoadN,
|
||||
if (!TLI.shouldReduceLoadWidth(LoadN, ISD::ZEXTLOAD, ExtVT))
|
||||
return false;
|
||||
|
||||
NarrowLoad = true;
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -7652,11 +7646,9 @@ SDValue DAGCombiner::visitZERO_EXTEND(SDNode *N) {
|
||||
if (!N0.hasOneUse()) {
|
||||
if (N0.getOpcode() == ISD::AND) {
|
||||
auto *AndC = cast<ConstantSDNode>(N0.getOperand(1));
|
||||
auto NarrowLoad = false;
|
||||
EVT LoadResultTy = AndC->getValueType(0);
|
||||
EVT ExtVT, LoadedVT;
|
||||
if (isAndLoadExtLoad(AndC, LN0, LoadResultTy, ExtVT, LoadedVT,
|
||||
NarrowLoad))
|
||||
EVT ExtVT;
|
||||
if (isAndLoadExtLoad(AndC, LN0, LoadResultTy, ExtVT))
|
||||
DoXform = false;
|
||||
}
|
||||
if (DoXform)
|
||||
|
Loading…
x
Reference in New Issue
Block a user