[llvm] [InstCombine] Create a class to lazily track computed known bits (PR #66611)

Nikita Popov via llvm-commits llvm-commits at lists.llvm.org
Mon Oct 16 06:50:58 PDT 2023


================
@@ -0,0 +1,97 @@
+//===- llvm/Analysis/WithCache.h - KnownBits cache for pointers -*- C++ -*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+//
+// Store a pointer to any type along with the KnownBits information for it
+// that is computed lazily (if required).
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLVM_ANALYSIS_WITHCACHE_H
+#define LLVM_ANALYSIS_WITHCACHE_H
+
+#include "llvm/IR/Value.h"
+#include "llvm/Support/KnownBits.h"
+#include <type_traits>
+
+namespace llvm {
+struct SimplifyQuery;
+}
+
+llvm::KnownBits computeKnownBits(const llvm::Value *V, unsigned Depth,
+                                 const llvm::SimplifyQuery &Q);
----------------
nikic wrote:

Yeah, need to drop the `::` prefix from those calls as well.

https://github.com/llvm/llvm-project/pull/66611


More information about the llvm-commits mailing list