45
45
#include " llvm/Support/CodeGenCoverage.h"
46
46
#include " llvm/Support/CommandLine.h"
47
47
#include " llvm/Support/Error.h"
48
- #include " llvm/Support/SaveAndRestore.h"
49
48
#include " llvm/Support/ScopedPrinter.h"
50
49
#include " llvm/TableGen/Error.h"
51
50
#include " llvm/TableGen/Record.h"
52
51
#include " llvm/TableGen/TableGenBackend.h"
53
- #include < numeric>
54
52
#include < string>
55
53
56
54
using namespace llvm ;
@@ -792,8 +790,8 @@ Expected<InstructionMatcher &> GlobalISelEmitter::createAndImportSelDAGMatcher(
792
790
" nested predicate that uses operands" );
793
791
TreePattern *TP = Predicate.getOrigPatFragRecord ();
794
792
WaitingForNamedOperands = TP->getNumArgs ();
795
- for (unsigned i = 0 ; i < WaitingForNamedOperands; ++i )
796
- StoreIdxForName[getScopedName (Call.Scope , TP->getArgName (i ))] = i ;
793
+ for (unsigned I = 0 ; I < WaitingForNamedOperands; ++I )
794
+ StoreIdxForName[getScopedName (Call.Scope , TP->getArgName (I ))] = I ;
797
795
}
798
796
InsnMatcher.addPredicate <GenericInstructionPredicateMatcher>(Predicate);
799
797
continue ;
@@ -878,8 +876,8 @@ Expected<InstructionMatcher &> GlobalISelEmitter::createAndImportSelDAGMatcher(
878
876
if (IsIntrinsic && !II)
879
877
return failedImport (" Expected IntInit containing intrinsic ID)" );
880
878
881
- for (unsigned i = 0 ; i != NumChildren; ++i ) {
882
- const TreePatternNode &SrcChild = Src.getChild (i );
879
+ for (unsigned I = 0 ; I != NumChildren; ++I ) {
880
+ const TreePatternNode &SrcChild = Src.getChild (I );
883
881
884
882
// We need to determine the meaning of a literal integer based on the
885
883
// context. If this is a field required to be an immediate (such as an
@@ -888,19 +886,19 @@ Expected<InstructionMatcher &> GlobalISelEmitter::createAndImportSelDAGMatcher(
888
886
// argument that is required to be an immediate, we should not emit an LLT
889
887
// type check, and should not be looking for a G_CONSTANT defined
890
888
// register.
891
- bool OperandIsImmArg = SrcGIOrNull->isInOperandImmArg (i );
889
+ bool OperandIsImmArg = SrcGIOrNull->isInOperandImmArg (I );
892
890
893
891
// SelectionDAG allows pointers to be represented with iN since it doesn't
894
892
// distinguish between pointers and integers but they are different types
895
893
// in GlobalISel. Coerce integers to pointers to address space 0 if the
896
894
// context indicates a pointer.
897
895
//
898
- bool OperandIsAPointer = SrcGIOrNull->isInOperandAPointer (i );
896
+ bool OperandIsAPointer = SrcGIOrNull->isInOperandAPointer (I );
899
897
900
898
if (IsIntrinsic) {
901
899
// For G_INTRINSIC/G_INTRINSIC_W_SIDE_EFFECTS, the operand immediately
902
900
// following the defs is an intrinsic ID.
903
- if (i == 0 ) {
901
+ if (I == 0 ) {
904
902
OperandMatcher &OM =
905
903
InsnMatcher.addOperand (OpIdx++, SrcChild.getName (), TempOpIdx);
906
904
OM.addPredicate <IntrinsicIDOperandMatcher>(II);
@@ -911,8 +909,8 @@ Expected<InstructionMatcher &> GlobalISelEmitter::createAndImportSelDAGMatcher(
911
909
//
912
910
// Note that we have to look at the i-1th parameter, because we don't
913
911
// have the intrinsic ID in the intrinsic's parameter list.
914
- OperandIsAPointer |= II->isParamAPointer (i - 1 );
915
- OperandIsImmArg |= II->isParamImmArg (i - 1 );
912
+ OperandIsAPointer |= II->isParamAPointer (I - 1 );
913
+ OperandIsImmArg |= II->isParamImmArg (I - 1 );
916
914
}
917
915
918
916
if (auto Error =
@@ -967,9 +965,9 @@ Error GlobalISelEmitter::importChildMatcher(
967
965
// The "name" of a non-leaf complex pattern (MY_PAT $op1, $op2) is
968
966
// "MY_PAT:op1:op2" and the ones with same "name" represent same operand.
969
967
std::string PatternName = std::string (SrcChild.getOperator ()->getName ());
970
- for (unsigned i = 0 ; i < SrcChild.getNumChildren (); ++i ) {
968
+ for (unsigned I = 0 ; I < SrcChild.getNumChildren (); ++I ) {
971
969
PatternName += " :" ;
972
- PatternName += SrcChild.getChild (i ).getName ();
970
+ PatternName += SrcChild.getChild (I ).getName ();
973
971
}
974
972
SrcChildName = PatternName;
975
973
}
@@ -1042,11 +1040,11 @@ Error GlobalISelEmitter::importChildMatcher(
1042
1040
OM, SrcChild.getOperator (), TempOpIdx))
1043
1041
return Error;
1044
1042
1045
- for (unsigned i = 0 , e = SrcChild.getNumChildren (); i != e ; ++i ) {
1046
- auto &SubOperand = SrcChild.getChild (i );
1043
+ for (unsigned I = 0 , E = SrcChild.getNumChildren (); I != E ; ++I ) {
1044
+ auto &SubOperand = SrcChild.getChild (I );
1047
1045
if (!SubOperand.getName ().empty ()) {
1048
1046
if (auto Error = Rule.defineComplexSubOperand (
1049
- SubOperand.getName (), SrcChild.getOperator (), RendererID, i ,
1047
+ SubOperand.getName (), SrcChild.getOperator (), RendererID, I ,
1050
1048
SrcChildName))
1051
1049
return Error;
1052
1050
}
@@ -1232,10 +1230,12 @@ Expected<action_iterator> GlobalISelEmitter::importExplicitUseRenderer(
1232
1230
if (DstChild.getOperator ()->getName () == " tframeindex" ) {
1233
1231
DstMIBuilder.addRenderer <CopyRenderer>(DstChild.getName ());
1234
1232
return InsertPt;
1235
- } else if (DstChild.getOperator ()->getName () == " imm" ) {
1233
+ }
1234
+ if (DstChild.getOperator ()->getName () == " imm" ) {
1236
1235
DstMIBuilder.addRenderer <CopyConstantAsImmRenderer>(DstChild.getName ());
1237
1236
return InsertPt;
1238
- } else if (DstChild.getOperator ()->getName () == " fpimm" ) {
1237
+ }
1238
+ if (DstChild.getOperator ()->getName () == " fpimm" ) {
1239
1239
DstMIBuilder.addRenderer <CopyFConstantAsFPImmRenderer>(
1240
1240
DstChild.getName ());
1241
1241
return InsertPt;
@@ -1748,7 +1748,7 @@ Error GlobalISelEmitter::importDefaultOperandRenderers(
1748
1748
1749
1749
if (const DefInit *DefaultDefOp = dyn_cast<DefInit>(DefaultOp)) {
1750
1750
std::optional<LLTCodeGen> OpTyOrNone = MVTToLLT (N.getSimpleType (0 ));
1751
- auto Def = DefaultDefOp->getDef ();
1751
+ auto * Def = DefaultDefOp->getDef ();
1752
1752
if (Def->getName () == " undef_tied_input" ) {
1753
1753
unsigned TempRegID = M.allocateTempRegID ();
1754
1754
M.insertAction <MakeTempRegisterAction>(InsertPt, *OpTyOrNone,
@@ -2449,13 +2449,13 @@ void GlobalISelEmitter::run(raw_ostream &OS) {
2449
2449
}
2450
2450
2451
2451
// Comparison function to order records by name.
2452
- auto orderByName = [](const Record *A, const Record *B) {
2452
+ auto OrderByName = [](const Record *A, const Record *B) {
2453
2453
return A->getName () < B->getName ();
2454
2454
};
2455
2455
2456
2456
std::vector<Record *> ComplexPredicates =
2457
2457
RK.getAllDerivedDefinitions (" GIComplexOperandMatcher" );
2458
- llvm::sort (ComplexPredicates, orderByName );
2458
+ llvm::sort (ComplexPredicates, OrderByName );
2459
2459
2460
2460
std::vector<StringRef> CustomRendererFns;
2461
2461
transform (RK.getAllDerivedDefinitions (" GICustomOperandRenderer" ),
0 commit comments