[llvm] [ValueTracking] Filter out non-interesting conditions (PR #118493)
Yingwei Zheng via llvm-commits
llvm-commits at lists.llvm.org
Wed Feb 12 04:14:55 PST 2025
================
@@ -18,18 +18,34 @@
#define LLVM_ANALYSIS_DOMCONDITIONCACHE_H
#include "llvm/ADT/ArrayRef.h"
+#include "llvm/ADT/BitmaskEnum.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/SmallVector.h"
+#include <cstdint>
namespace llvm {
class Value;
class BranchInst;
+enum class DomConditionFlag : uint8_t {
+ None = 0,
+ KnownBits = 1 << 0,
+ KnownFPClass = 1 << 1,
+ PowerOfTwo = 1 << 2,
+ ICmp = 1 << 3,
+};
+
+LLVM_DECLARE_ENUM_AS_BITMASK(
+ DomConditionFlag,
+ /*LargestValue=*/static_cast<uint8_t>(DomConditionFlag::ICmp));
+
class DomConditionCache {
private:
/// A map of values about which a branch might be providing information.
- using AffectedValuesMap = DenseMap<Value *, SmallVector<BranchInst *, 1>>;
+ using AffectedValuesMap =
----------------
dtcxzyw wrote:
Fixed: https://llvm-compile-time-tracker.com/compare.php?from=219b23972d310829d868695bdd6cfc130c8e83a3&to=944a88971dd80d4993534f4b9d19a783d5e7c155&stat=instructions:u
https://github.com/llvm/llvm-project/pull/118493
More information about the llvm-commits
mailing list