Skip to content

Commit b68c580

Browse files
committed
!fixup use combineMetadataForCSE.
1 parent 62332e9 commit b68c580

File tree

1 file changed

+2
-8
lines changed

1 file changed

+2
-8
lines changed

llvm/lib/Transforms/Scalar/MergedLoadStoreMotion.cpp

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@
8484
#include "llvm/Support/raw_ostream.h"
8585
#include "llvm/Transforms/Scalar.h"
8686
#include "llvm/Transforms/Utils/BasicBlockUtils.h"
87+
#include "llvm/Transforms/Utils/Local.h"
8788

8889
using namespace llvm;
8990

@@ -256,14 +257,7 @@ void MergedLoadStoreMotion::sinkStoresAndGEPs(BasicBlock *BB, StoreInst *S0,
256257
// Intersect optional metadata.
257258
S0->andIRFlags(S1);
258259

259-
// Keep metadata present on both instructions.
260-
SmallVector<std::pair<unsigned, MDNode *>> MDs;
261-
S0->getAllMetadataOtherThanDebugLoc(MDs);
262-
SmallVector<unsigned> CommonMDs;
263-
for (const auto &[Kind, MD] : MDs)
264-
if (S1->getMetadata(Kind) == MD)
265-
CommonMDs.push_back(Kind);
266-
S0->dropUnknownNonDebugMetadata(CommonMDs);
260+
combineMetadataForCSE(S0, S1, true);
267261
S0->applyMergedLocation(S0->getDebugLoc(), S1->getDebugLoc());
268262
S0->mergeDIAssignID(S1);
269263

0 commit comments

Comments
 (0)