Skip to content

Commit cb76892

Browse files
committed
llvm: Export EliminateNewDuplicatePHINodes
This is needed for tests, when building with `LLVM_BUILD_LLVM_DYLIB` so LLVM can be built as a DLL on Windows. This effort is tracked in #109483.
1 parent 1736008 commit cb76892

File tree

3 files changed

+9
-4
lines changed

3 files changed

+9
-4
lines changed

llvm/include/llvm/Transforms/Utils/SSAUpdaterBulk.h

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,12 @@
1414
#define LLVM_TRANSFORMS_UTILS_SSAUPDATERBULK_H
1515

1616
#include "llvm/ADT/StringRef.h"
17+
#include "llvm/IR/BasicBlock.h"
1718
#include "llvm/IR/PredIteratorCache.h"
1819
#include "llvm/Support/Compiler.h"
1920

2021
namespace llvm {
2122

22-
class BasicBlock;
2323
class PHINode;
2424
template <typename T> class SmallVectorImpl;
2525
class Type;
@@ -84,6 +84,10 @@ class SSAUpdaterBulk {
8484
LLVM_ABI_FOR_TEST void RewriteAndOptimizeAllUses(DominatorTree &DT);
8585
};
8686

87+
LLVM_ABI_FOR_TEST bool
88+
EliminateNewDuplicatePHINodes(BasicBlock *BB,
89+
BasicBlock::phi_iterator FirstExistingPN);
90+
8791
} // end namespace llvm
8892

8993
#endif // LLVM_TRANSFORMS_UTILS_SSAUPDATERBULK_H

llvm/lib/Transforms/Utils/SSAUpdaterBulk.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -267,6 +267,8 @@ static bool replaceIfIdentical(PHINode &PHI, PHINode &ReplPHI) {
267267
return true;
268268
}
269269

270+
namespace llvm {
271+
270272
bool EliminateNewDuplicatePHINodes(BasicBlock *BB,
271273
BasicBlock::phi_iterator FirstExistingPN) {
272274
assert(!PHIAreRefEachOther(make_range(BB->phis().begin(), FirstExistingPN)));
@@ -293,6 +295,8 @@ bool EliminateNewDuplicatePHINodes(BasicBlock *BB,
293295
return Changed;
294296
}
295297

298+
} // end namespace llvm
299+
296300
static void deduplicatePass(ArrayRef<PHINode *> Worklist) {
297301
SmallDenseMap<BasicBlock *, unsigned> BBs;
298302
for (PHINode *PHI : Worklist) {

llvm/unittests/Transforms/Utils/SSAUpdaterBulkTest.cpp

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -374,9 +374,6 @@ TEST(SSAUpdaterBulk, SimplifyPHIs) {
374374
EXPECT_EQ(Phi, Cmp->getOperand(1));
375375
}
376376

377-
bool EliminateNewDuplicatePHINodes(BasicBlock *BB,
378-
BasicBlock::phi_iterator FirstExistingPN);
379-
380377
// Helper to run both versions on the same input.
381378
static void RunEliminateNewDuplicatePHINode(
382379
const char *AsmText,

0 commit comments

Comments
 (0)