[llvm-branch-commits] [Transforms] Remove bugpoint references (PR #214253)
via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Wed Aug 5 08:18:16 PDT 2026
llvmorg-github-actions[bot] wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-llvm-support
Author: Aiden Grossman (boomanaiden154)
<details>
<summary>Changes</summary>
Bugpoint was removed in 9d5574dda60151dcd1eb6f315c20e4d9120596f9.
---
Full diff: https://github.com/llvm/llvm-project/pull/214253.diff
7 Files Affected:
- (modified) llvm/include/llvm/LinkAllPasses.h (+1-1)
- (modified) llvm/include/llvm/Support/DebugCounter.h (+9-9)
- (modified) llvm/include/llvm/Transforms/IPO.h (-5)
- (modified) llvm/include/llvm/Transforms/Utils/MetaRenamer.h (+1-1)
- (modified) llvm/lib/CodeGen/MachineBasicBlock.cpp (+4-4)
- (modified) llvm/lib/Transforms/ObjCARC/ObjCARCContract.cpp (+2-1)
- (modified) llvm/lib/Transforms/Scalar/PlaceSafepoints.cpp (+1-1)
``````````diff
diff --git a/llvm/include/llvm/LinkAllPasses.h b/llvm/include/llvm/LinkAllPasses.h
index 6b8c1e22521ad..d1d714f499532 100644
--- a/llvm/include/llvm/LinkAllPasses.h
+++ b/llvm/include/llvm/LinkAllPasses.h
@@ -7,7 +7,7 @@
//===----------------------------------------------------------------------===//
//
// This header file pulls in all transformation and analysis passes for tools
-// like opt and bugpoint that need this functionality.
+// like opt that need this functionality.
//
//===----------------------------------------------------------------------===//
diff --git a/llvm/include/llvm/Support/DebugCounter.h b/llvm/include/llvm/Support/DebugCounter.h
index 017c16e774160..8df853063e994 100644
--- a/llvm/include/llvm/Support/DebugCounter.h
+++ b/llvm/include/llvm/Support/DebugCounter.h
@@ -11,15 +11,15 @@
/// thing happening.
///
/// To give a use case: Imagine you have a file, very large, and you
-/// are trying to understand the minimal transformation that breaks it. Bugpoint
-/// and bisection is often helpful here in narrowing it down to a specific pass,
-/// but it's still a very large file, and a very complicated pass to try to
-/// debug. That is where debug counting steps in. You can instrument the pass
-/// with a debug counter before it does a certain thing, and depending on the
-/// counts, it will either execute that thing or not. The debug counter itself
-/// consists of a list of chunks (inclusive numeric intervals). `shouldExecute`
-/// returns true iff the list is empty or the current count is in one of the
-/// chunks.
+/// are trying to understand the minimal transformation that breaks it.
+/// llvm-reduce and bisection is often helpful here in narrowing it down to a
+/// specific pass, but it's still a very large file, and a very complicated pass
+/// to try to debug. That is where debug counting steps in. You can instrument
+/// the pass with a debug counter before it does a certain thing, and depending
+/// on the counts, it will either execute that thing or not. The debug counter
+/// itself consists of a list of chunks (inclusive numeric intervals).
+/// `shouldExecute` returns true iff the list is empty or the current count is
+/// in one of the chunks.
///
/// Note that a counter set to a negative number will always execute. For a
/// concrete example, during predicateinfo creation, the renaming pass replaces
diff --git a/llvm/include/llvm/Transforms/IPO.h b/llvm/include/llvm/Transforms/IPO.h
index 7c2135084cacc..6f5693110c8a4 100644
--- a/llvm/include/llvm/Transforms/IPO.h
+++ b/llvm/include/llvm/Transforms/IPO.h
@@ -28,11 +28,6 @@ class raw_ostream;
///
LLVM_ABI ModulePass *createDeadArgEliminationPass();
-/// DeadArgHacking pass - Same as DAE, but delete arguments of external
-/// functions as well. This is definitely not safe, and should only be used by
-/// bugpoint.
-LLVM_ABI ModulePass *createDeadArgHackingPass();
-
//===----------------------------------------------------------------------===//
/// createBarrierNoopPass - This pass is purely a module pass barrier in a pass
/// manager.
diff --git a/llvm/include/llvm/Transforms/Utils/MetaRenamer.h b/llvm/include/llvm/Transforms/Utils/MetaRenamer.h
index ba189087ee3c4..2c61afa6a4b89 100644
--- a/llvm/include/llvm/Transforms/Utils/MetaRenamer.h
+++ b/llvm/include/llvm/Transforms/Utils/MetaRenamer.h
@@ -7,7 +7,7 @@
//===----------------------------------------------------------------------===//
//
// This pass renames everything with metasyntatic names. The intent is to use
-// this pass after bugpoint reduction to conceal the nature of the original
+// this pass after llvm-reduce reduction to conceal the nature of the original
// program.
//
//===----------------------------------------------------------------------===//
diff --git a/llvm/lib/CodeGen/MachineBasicBlock.cpp b/llvm/lib/CodeGen/MachineBasicBlock.cpp
index 2870bf404644c..f4fe9116c3a15 100644
--- a/llvm/lib/CodeGen/MachineBasicBlock.cpp
+++ b/llvm/lib/CodeGen/MachineBasicBlock.cpp
@@ -1462,10 +1462,10 @@ bool MachineBasicBlock::canSplitCriticalEdge(const MachineBasicBlock *Succ,
/*AllowModify*/ false))
return false;
- // Avoid bugpoint weirdness: A block may end with a conditional branch but
- // jumps to the same MBB is either case. We have duplicate CFG edges in that
- // case that we can't handle. Since this never happens in properly optimized
- // code, just skip those edges.
+ // Handle weird inputs (e.g., generated by a test case reducer/fuzzer): A
+ // block may end with a conditional branch but jumps to the same MBB is either
+ // case. We have duplicate CFG edges in that case that we can't handle. Since
+ // this never happens in properly optimized code, just skip those edges.
if (TBB && TBB == FBB) {
LLVM_DEBUG(dbgs() << "Won't split critical edge after degenerate "
<< printMBBReference(*this) << '\n');
diff --git a/llvm/lib/Transforms/ObjCARC/ObjCARCContract.cpp b/llvm/lib/Transforms/ObjCARC/ObjCARCContract.cpp
index 993fc85438d89..95a9bcb839ee4 100644
--- a/llvm/lib/Transforms/ObjCARC/ObjCARCContract.cpp
+++ b/llvm/lib/Transforms/ObjCARC/ObjCARCContract.cpp
@@ -639,7 +639,8 @@ bool ObjCARCContract::run(Function &F, AAResults *A, DominatorTree *D) {
// Function for replacing uses of Arg dominated by Inst.
auto ReplaceArgUses = [Inst, this](Value *Arg) {
- // If we're compiling bugpointed code, don't get in trouble.
+ // If we're compiling fuzzer generated/test reducer produced IR, don't get
+ // in trouble.
if (!isa<Instruction>(Arg) && !isa<Argument>(Arg))
return;
diff --git a/llvm/lib/Transforms/Scalar/PlaceSafepoints.cpp b/llvm/lib/Transforms/Scalar/PlaceSafepoints.cpp
index 44600acf5b418..91222c9a9af1b 100644
--- a/llvm/lib/Transforms/Scalar/PlaceSafepoints.cpp
+++ b/llvm/lib/Transforms/Scalar/PlaceSafepoints.cpp
@@ -664,7 +664,7 @@ InsertSafepointPoll(BasicBlock::iterator InsertBefore,
BasicBlock::iterator Start = IsBegin ? OrigBB->begin() : std::next(Before);
// If your poll function includes an unreachable at the end, that's not
- // valid. Bugpoint likes to create this, so check for it.
+ // valid. Fuzzers/test case reducers can create this, so check for it.
assert(isPotentiallyReachable(&*Start, &*After) &&
"malformed poll function");
``````````
</details>
https://github.com/llvm/llvm-project/pull/214253
More information about the llvm-branch-commits
mailing list