[llvm] [TableGen, CodeGen, CHERI] Add support for the cPTR wildcard value type. (PR #158426)
Owen Anderson via llvm-commits
llvm-commits at lists.llvm.org
Mon Sep 22 05:03:58 PDT 2025
================
@@ -3295,6 +3305,36 @@ const Record *CodeGenDAGPatterns::getSDNodeNamed(StringRef Name) const {
return N;
}
+// Compute the subset of iPTR and cPTR legal for each mode, coalescing into the
+// default mode where possible to avoid predicate explosion.
+TypeSetByHwMode CodeGenDAGPatterns::ComputeLegalPtrTypes() const {
+ auto LegalPtrsForSet = [](const MachineValueTypeSet &In) {
+ MachineValueTypeSet Out;
+ Out.insert(MVT::iPTR);
+ for (MVT T : MVT::cheri_capability_valuetypes()) {
+ if (In.count(T)) {
+ Out.insert(MVT::cPTR);
+ break;
+ }
+ }
+ return Out;
+ };
+
+ const auto &LegalTypes = getLegalTypes();
----------------
resistor wrote:
Done
https://github.com/llvm/llvm-project/pull/158426
More information about the llvm-commits
mailing list