[llvm] f8a19a8 - [SimplifyQuery] Avoid PatternMatch.h include (NFC)
Nikita Popov via llvm-commits
llvm-commits at lists.llvm.org
Mon Apr 22 20:18:16 PDT 2024
Author: Nikita Popov
Date: 2024-04-23T12:18:07+09:00
New Revision: f8a19a8f74f2dffbca654c5d84881cfe17026dab
URL: https://github.com/llvm/llvm-project/commit/f8a19a8f74f2dffbca654c5d84881cfe17026dab
DIFF: https://github.com/llvm/llvm-project/commit/f8a19a8f74f2dffbca654c5d84881cfe17026dab.diff
LOG: [SimplifyQuery] Avoid PatternMatch.h include (NFC)
Move the one method that uses it out of line. This is primarily to
reduce the number of files to rebuild when changing PatternMatch.h.
Added:
Modified:
llvm/include/llvm/Analysis/InstructionSimplify.h
llvm/include/llvm/Analysis/SimplifyQuery.h
llvm/include/llvm/Analysis/ValueTracking.h
llvm/lib/Analysis/BasicAliasAnalysis.cpp
llvm/lib/Analysis/InstructionSimplify.cpp
Removed:
################################################################################
diff --git a/llvm/include/llvm/Analysis/InstructionSimplify.h b/llvm/include/llvm/Analysis/InstructionSimplify.h
index 03d7ad12c12d8f..719cffc118f559 100644
--- a/llvm/include/llvm/Analysis/InstructionSimplify.h
+++ b/llvm/include/llvm/Analysis/InstructionSimplify.h
@@ -32,6 +32,7 @@
#define LLVM_ANALYSIS_INSTRUCTIONSIMPLIFY_H
#include "llvm/Analysis/SimplifyQuery.h"
+#include "llvm/IR/FPEnv.h"
namespace llvm {
@@ -44,6 +45,7 @@ class DataLayout;
class DominatorTree;
class Function;
class Instruction;
+class LoadInst;
struct LoopStandardAnalysisResults;
class Pass;
template <class T, unsigned n> class SmallSetVector;
diff --git a/llvm/include/llvm/Analysis/SimplifyQuery.h b/llvm/include/llvm/Analysis/SimplifyQuery.h
index a10c0dc49fa22e..25b8f9b5eaf102 100644
--- a/llvm/include/llvm/Analysis/SimplifyQuery.h
+++ b/llvm/include/llvm/Analysis/SimplifyQuery.h
@@ -9,7 +9,7 @@
#ifndef LLVM_ANALYSIS_SIMPLIFYQUERY_H
#define LLVM_ANALYSIS_SIMPLIFYQUERY_H
-#include "llvm/IR/PatternMatch.h"
+#include "llvm/IR/Operator.h"
namespace llvm {
@@ -106,13 +106,7 @@ struct SimplifyQuery {
/// If CanUseUndef is true, returns whether \p V is undef.
/// Otherwise always return false.
- bool isUndefValue(Value *V) const {
- if (!CanUseUndef)
- return false;
-
- using namespace PatternMatch;
- return match(V, m_Undef());
- }
+ bool isUndefValue(Value *V) const;
SimplifyQuery getWithoutDomCondCache() const {
SimplifyQuery Copy(*this);
diff --git a/llvm/include/llvm/Analysis/ValueTracking.h b/llvm/include/llvm/Analysis/ValueTracking.h
index bab7c8868532db..a2fa8f6064e116 100644
--- a/llvm/include/llvm/Analysis/ValueTracking.h
+++ b/llvm/include/llvm/Analysis/ValueTracking.h
@@ -20,6 +20,7 @@
#include "llvm/IR/Constants.h"
#include "llvm/IR/DataLayout.h"
#include "llvm/IR/FMF.h"
+#include "llvm/IR/Instructions.h"
#include "llvm/IR/InstrTypes.h"
#include "llvm/IR/Intrinsics.h"
#include <cassert>
diff --git a/llvm/lib/Analysis/BasicAliasAnalysis.cpp b/llvm/lib/Analysis/BasicAliasAnalysis.cpp
index 16ee2ca49d0ece..3f456db1c51acd 100644
--- a/llvm/lib/Analysis/BasicAliasAnalysis.cpp
+++ b/llvm/lib/Analysis/BasicAliasAnalysis.cpp
@@ -44,6 +44,7 @@
#include "llvm/IR/IntrinsicInst.h"
#include "llvm/IR/Intrinsics.h"
#include "llvm/IR/Operator.h"
+#include "llvm/IR/PatternMatch.h"
#include "llvm/IR/Type.h"
#include "llvm/IR/User.h"
#include "llvm/IR/Value.h"
diff --git a/llvm/lib/Analysis/InstructionSimplify.cpp b/llvm/lib/Analysis/InstructionSimplify.cpp
index 1bba75d237fb25..c06984c0d49436 100644
--- a/llvm/lib/Analysis/InstructionSimplify.cpp
+++ b/llvm/lib/Analysis/InstructionSimplify.cpp
@@ -7238,6 +7238,14 @@ const SimplifyQuery getBestSimplifyQuery(AnalysisManager<T, TArgs...> &AM,
}
template const SimplifyQuery getBestSimplifyQuery(AnalysisManager<Function> &,
Function &);
+
+bool SimplifyQuery::isUndefValue(Value *V) const {
+ if (!CanUseUndef)
+ return false;
+
+ return match(V, m_Undef());
+}
+
} // namespace llvm
void InstSimplifyFolder::anchor() {}
More information about the llvm-commits
mailing list