[llvm] [llvm] Add NodeMetadata::optUnsafeEdges (NFC) (PR #137539)
Kazu Hirata via llvm-commits
llvm-commits at lists.llvm.org
Sun Apr 27 11:16:31 PDT 2025
https://github.com/kazutakahirata created https://github.com/llvm/llvm-project/pull/137539
NodeMetadata::optUnsafeEdges returns ArrayRef, packaging
OptUnsafeEdges and NumOpts. This in turn allows use of llvm::copy and
llvm::is_contained elsewhere in the class.
>From 5643a676619e0bf8f2b788786a7c3c4675dd3ad0 Mon Sep 17 00:00:00 2001
From: Kazu Hirata <kazu at google.com>
Date: Sun, 27 Apr 2025 10:31:58 -0700
Subject: [PATCH] [llvm] Add NodeMetadata::optUnsafeEdges (NFC)
NodeMetadata::optUnsafeEdges returns ArrayRef, packaging
OptUnsafeEdges and NumOpts. This in turn allows use of llvm::copy and
llvm::is_contained elsewhere in the class.
---
llvm/include/llvm/CodeGen/RegAllocPBQP.h | 15 ++++++++-------
1 file changed, 8 insertions(+), 7 deletions(-)
diff --git a/llvm/include/llvm/CodeGen/RegAllocPBQP.h b/llvm/include/llvm/CodeGen/RegAllocPBQP.h
index 234f1c6ff115a..c161f2ebd69ee 100644
--- a/llvm/include/llvm/CodeGen/RegAllocPBQP.h
+++ b/llvm/include/llvm/CodeGen/RegAllocPBQP.h
@@ -15,6 +15,7 @@
#ifndef LLVM_CODEGEN_REGALLOCPBQP_H
#define LLVM_CODEGEN_REGALLOCPBQP_H
+#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/Hashing.h"
#include "llvm/CodeGen/PBQP/CostAllocator.h"
@@ -191,10 +192,8 @@ class NodeMetadata {
everConservativelyAllocatable(Other.everConservativelyAllocatable)
#endif
{
- if (NumOpts > 0) {
- std::copy(&Other.OptUnsafeEdges[0], &Other.OptUnsafeEdges[NumOpts],
- &OptUnsafeEdges[0]);
- }
+ if (NumOpts > 0)
+ llvm::copy(Other.optUnsafeEdges(), &OptUnsafeEdges[0]);
}
NodeMetadata(NodeMetadata &&) = default;
@@ -243,9 +242,7 @@ class NodeMetadata {
}
bool isConservativelyAllocatable() const {
- return (DeniedOpts < NumOpts) ||
- (std::find(&OptUnsafeEdges[0], &OptUnsafeEdges[NumOpts], 0) !=
- &OptUnsafeEdges[NumOpts]);
+ return (DeniedOpts < NumOpts) || llvm::is_contained(optUnsafeEdges(), 0);
}
#if LLVM_ENABLE_ABI_BREAKING_CHECKS
@@ -262,6 +259,10 @@ class NodeMetadata {
Register VReg;
GraphMetadata::AllowedRegVecRef AllowedRegs;
+ ArrayRef<unsigned> optUnsafeEdges() const {
+ return ArrayRef<unsigned>(OptUnsafeEdges.get(), NumOpts);
+ }
+
#if LLVM_ENABLE_ABI_BREAKING_CHECKS
bool everConservativelyAllocatable = false;
#endif
More information about the llvm-commits
mailing list