[DAGCombine] NFC. MatchLoadCombine remember the first byte provider, not the load node

This refactoring will simplify the upcoming change to fix a bug in folding patterns with non-zero offsets on BE targets.

llvm-svn: 296331
This commit is contained in:
Artur Pilipenko 2017-02-27 11:40:14 +00:00
parent 20371c30ef
commit f2c26e0bf2
1 changed files with 5 additions and 3 deletions

View File

@ -4520,7 +4520,7 @@ SDValue DAGCombiner::MatchLoadCombine(SDNode *N) {
SDValue Chain;
SmallSet<LoadSDNode *, 8> Loads;
LoadSDNode *FirstLoad = nullptr;
Optional<ByteProvider> FirstByteProvider;
int64_t FirstOffset = INT64_MAX;
bool IsBigEndianTarget = DAG.getDataLayout().isBigEndian();
@ -4565,7 +4565,7 @@ SDValue DAGCombiner::MatchLoadCombine(SDNode *N) {
// Remember the first byte load
if (ByteOffsetFromBase < FirstOffset) {
FirstLoad = L;
FirstByteProvider = P;
FirstOffset = ByteOffsetFromBase;
}
@ -4587,7 +4587,9 @@ SDValue DAGCombiner::MatchLoadCombine(SDNode *N) {
return SDValue();
}
assert((BigEndian != LittleEndian) && "should be either or");
assert(FirstLoad && "must be set");
assert(FirstByteProvider && "must be set");
LoadSDNode *FirstLoad = FirstByteProvider->Load;
// The node we are looking at matches with the pattern, check if we can
// replace it with a single load and bswap if needed.