19
19
#include " llvm/ADT/DenseSet.h"
20
20
#include " llvm/ADT/FoldingSet.h"
21
21
#include " llvm/ADT/PointerIntPair.h"
22
+ #include " llvm/ADT/STLExtras.h"
22
23
#include " llvm/ADT/SmallVector.h"
23
24
#include " llvm/ADT/StringExtras.h"
24
25
#include " llvm/ADT/StringRef.h"
@@ -244,7 +245,7 @@ class RecordRecTy final : public RecTy,
244
245
RecordRecTy &operator =(const RecordRecTy &) = delete ;
245
246
246
247
// Do not use sized deallocation due to trailing objects.
247
- void operator delete (void *p ) { ::operator delete (p ); }
248
+ void operator delete (void *Ptr ) { ::operator delete (Ptr ); }
248
249
249
250
static bool classof (const RecTy *RT) {
250
251
return RT->getRecTyKind () == RecordRecTyKind;
@@ -598,7 +599,7 @@ class BitsInit final : public TypedInit,
598
599
BitsInit &operator =(const BitsInit &) = delete ;
599
600
600
601
// Do not use sized deallocation due to trailing objects.
601
- void operator delete (void *p ) { ::operator delete (p ); }
602
+ void operator delete (void *Ptr ) { ::operator delete (Ptr ); }
602
603
603
604
static bool classof (const Init *I) {
604
605
return I->getKind () == IK_BitsInit;
@@ -616,14 +617,16 @@ class BitsInit final : public TypedInit,
616
617
std::optional<int64_t > convertInitializerToInt () const ;
617
618
618
619
bool isComplete () const override {
619
- for (unsigned i = 0 ; i != getNumBits (); ++i)
620
- if (!getBit (i)->isComplete ()) return false ;
620
+ for (const Init *Bit : getBits ())
621
+ if (!Bit->isComplete ())
622
+ return false ;
621
623
return true ;
622
624
}
623
625
624
626
bool allInComplete () const {
625
- for (unsigned i = 0 ; i != getNumBits (); ++i)
626
- if (getBit (i)->isComplete ()) return false ;
627
+ for (const Init *Bit : getBits ())
628
+ if (Bit->isComplete ())
629
+ return false ;
627
630
return true ;
628
631
}
629
632
@@ -773,7 +776,7 @@ class ListInit final : public TypedInit,
773
776
ListInit &operator =(const ListInit &) = delete ;
774
777
775
778
// Do not use sized deallocation due to trailing objects.
776
- void operator delete (void *p ) { ::operator delete (p ); }
779
+ void operator delete (void *Ptr ) { ::operator delete (Ptr ); }
777
780
778
781
static bool classof (const Init *I) {
779
782
return I->getKind () == IK_ListInit;
@@ -1060,6 +1063,8 @@ class CondOpInit final : public TypedInit,
1060
1063
return ArrayRef (getTrailingObjects<const Init *>() + NumConds, NumConds);
1061
1064
}
1062
1065
1066
+ auto getCondAndVals () const { return zip_equal (getConds (), getVals ()); }
1067
+
1063
1068
const Init *Fold (const Record *CurRec) const ;
1064
1069
1065
1070
const Init *resolveReferences (Resolver &R) const override ;
@@ -1349,7 +1354,7 @@ class VarDefInit final
1349
1354
VarDefInit &operator =(const VarDefInit &) = delete ;
1350
1355
1351
1356
// Do not use sized deallocation due to trailing objects.
1352
- void operator delete (void *p ) { ::operator delete (p ); }
1357
+ void operator delete (void *Ptr ) { ::operator delete (Ptr ); }
1353
1358
1354
1359
static bool classof (const Init *I) {
1355
1360
return I->getKind () == IK_VarDefInit;
@@ -1495,6 +1500,8 @@ class DagInit final
1495
1500
return ArrayRef (getTrailingObjects<const StringInit *>(), NumArgs);
1496
1501
}
1497
1502
1503
+ auto getArgAndNames () const { return zip_equal (getArgs (), getArgNames ()); }
1504
+
1498
1505
const Init *resolveReferences (Resolver &R) const override ;
1499
1506
1500
1507
bool isConcrete () const override ;
@@ -1798,9 +1805,9 @@ class Record {
1798
1805
}
1799
1806
1800
1807
void removeValue (const Init *Name) {
1801
- for (unsigned i = 0 , e = Values. size (); i != e; ++i )
1802
- if (Values[i] .getNameInit () == Name) {
1803
- Values.erase (Values.begin ()+i );
1808
+ for (auto [Idx, Value] : enumerate(Values) )
1809
+ if (Value .getNameInit () == Name) {
1810
+ Values.erase (Values.begin () + Idx );
1804
1811
return ;
1805
1812
}
1806
1813
llvm_unreachable (" Cannot remove an entry that does not exist!" );
@@ -2123,10 +2130,7 @@ struct LessRecordRegister {
2123
2130
2124
2131
size_t size () { return Parts.size (); }
2125
2132
2126
- std::pair<bool , StringRef> getPart (size_t i) {
2127
- assert (i < Parts.size () && " Invalid idx!" );
2128
- return Parts[i];
2129
- }
2133
+ std::pair<bool , StringRef> getPart (size_t Idx) { return Parts[Idx]; }
2130
2134
};
2131
2135
2132
2136
bool operator ()(const Record *Rec1, const Record *Rec2) const {
0 commit comments