[llvm] [Support] Don't bring PatternMatchHelpers into top-level scope. NFC (PR #213016)
via llvm-commits
llvm-commits at lists.llvm.org
Thu Jul 30 05:54:06 PDT 2026
llvmorg-github-actions[bot] wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-llvm-transforms
Author: Luke Lau (lukel97)
<details>
<summary>Changes</summary>
Otherwise every file that includes any of the PatternMatch.h headers ends up inadvertently bringing it into scope.
---
Full diff: https://github.com/llvm/llvm-project/pull/213016.diff
3 Files Affected:
- (modified) llvm/include/llvm/Analysis/ScalarEvolutionPatternMatch.h (+2-2)
- (modified) llvm/include/llvm/IR/PatternMatch.h (+2-2)
- (modified) llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h (+2-2)
``````````diff
diff --git a/llvm/include/llvm/Analysis/ScalarEvolutionPatternMatch.h b/llvm/include/llvm/Analysis/ScalarEvolutionPatternMatch.h
index aeeb88d722cf0..b6820fbd8075b 100644
--- a/llvm/include/llvm/Analysis/ScalarEvolutionPatternMatch.h
+++ b/llvm/include/llvm/Analysis/ScalarEvolutionPatternMatch.h
@@ -17,8 +17,6 @@
#include "llvm/Analysis/ScalarEvolutionExpressions.h"
#include "llvm/Support/PatternMatchHelpers.h"
-using namespace llvm::PatternMatchHelpers;
-
namespace llvm {
namespace PatternMatchHelpers {
template <typename SCEVPtrT> struct match_bind<SCEVUseT<SCEVPtrT>> {
@@ -35,6 +33,8 @@ template <typename SCEVPtrT> struct match_bind<SCEVUseT<SCEVPtrT>> {
namespace SCEVPatternMatch {
+using namespace llvm::PatternMatchHelpers;
+
template <typename Pattern> bool match(const SCEV *S, const Pattern &P) {
return P.match(S);
}
diff --git a/llvm/include/llvm/IR/PatternMatch.h b/llvm/include/llvm/IR/PatternMatch.h
index ca1dd7b46a6c4..70b9a72768ec7 100644
--- a/llvm/include/llvm/IR/PatternMatch.h
+++ b/llvm/include/llvm/IR/PatternMatch.h
@@ -46,11 +46,11 @@
#include <cstdint>
#include <utility>
-using namespace llvm::PatternMatchHelpers;
-
namespace llvm {
namespace PatternMatch {
+using namespace llvm::PatternMatchHelpers;
+
template <typename Val, typename Pattern> bool match(Val *V, const Pattern &P) {
return P.match(V);
}
diff --git a/llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h b/llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
index 7e7d0f9b6a280..cf6d5e1408fc6 100644
--- a/llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
+++ b/llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
@@ -20,10 +20,10 @@
#include "llvm/Support/PatternMatchHelpers.h"
#include <utility>
-using namespace llvm::PatternMatchHelpers;
-
namespace llvm::VPlanPatternMatch {
+using namespace llvm::PatternMatchHelpers;
+
template <typename Val, typename Pattern> bool match(Val *V, const Pattern &P) {
return P.match(V);
}
``````````
</details>
https://github.com/llvm/llvm-project/pull/213016
More information about the llvm-commits
mailing list