[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