Skip to content

Commit 5643a67

Browse files
[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.
1 parent 7904298 commit 5643a67

File tree

1 file changed

+8
-7
lines changed

1 file changed

+8
-7
lines changed

llvm/include/llvm/CodeGen/RegAllocPBQP.h

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
#ifndef LLVM_CODEGEN_REGALLOCPBQP_H
1616
#define LLVM_CODEGEN_REGALLOCPBQP_H
1717

18+
#include "llvm/ADT/ArrayRef.h"
1819
#include "llvm/ADT/DenseMap.h"
1920
#include "llvm/ADT/Hashing.h"
2021
#include "llvm/CodeGen/PBQP/CostAllocator.h"
@@ -191,10 +192,8 @@ class NodeMetadata {
191192
everConservativelyAllocatable(Other.everConservativelyAllocatable)
192193
#endif
193194
{
194-
if (NumOpts > 0) {
195-
std::copy(&Other.OptUnsafeEdges[0], &Other.OptUnsafeEdges[NumOpts],
196-
&OptUnsafeEdges[0]);
197-
}
195+
if (NumOpts > 0)
196+
llvm::copy(Other.optUnsafeEdges(), &OptUnsafeEdges[0]);
198197
}
199198

200199
NodeMetadata(NodeMetadata &&) = default;
@@ -243,9 +242,7 @@ class NodeMetadata {
243242
}
244243

245244
bool isConservativelyAllocatable() const {
246-
return (DeniedOpts < NumOpts) ||
247-
(std::find(&OptUnsafeEdges[0], &OptUnsafeEdges[NumOpts], 0) !=
248-
&OptUnsafeEdges[NumOpts]);
245+
return (DeniedOpts < NumOpts) || llvm::is_contained(optUnsafeEdges(), 0);
249246
}
250247

251248
#if LLVM_ENABLE_ABI_BREAKING_CHECKS
@@ -262,6 +259,10 @@ class NodeMetadata {
262259
Register VReg;
263260
GraphMetadata::AllowedRegVecRef AllowedRegs;
264261

262+
ArrayRef<unsigned> optUnsafeEdges() const {
263+
return ArrayRef<unsigned>(OptUnsafeEdges.get(), NumOpts);
264+
}
265+
265266
#if LLVM_ENABLE_ABI_BREAKING_CHECKS
266267
bool everConservativelyAllocatable = false;
267268
#endif

0 commit comments

Comments
 (0)