LCOV - code coverage report
Current view: top level - build-llvm/lib/Target/BPF - BPFGenDAGISel.inc (source / functions) Hit Total Coverage
Test: llvm-toolchain.info Lines: 60 67 89.6 %
Date: 2018-02-23 15:42:53 Functions: 3 3 100.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
       2             : |*                                                                            *|
       3             : |* DAG Instruction Selector for the BPF target                                *|
       4             : |*                                                                            *|
       5             : |* Automatically generated file, do not edit!                                 *|
       6             : |*                                                                            *|
       7             : \*===----------------------------------------------------------------------===*/
       8             : 
       9             : // *** NOTE: This file is #included into the middle of the target
      10             : // *** instruction selector class.  These functions are really methods.
      11             : 
      12             : // If GET_DAGISEL_DECL is #defined with any value, only function
      13             : // declarations will be included when this file is included.
      14             : // If GET_DAGISEL_BODY is #defined, its value should be the name of
      15             : // the instruction selector class. Function bodies will be emitted
      16             : // and each function's name will be qualified with the name of the
      17             : // class.
      18             : //
      19             : // When neither of the GET_DAGISEL* macros is defined, the functions
      20             : // are emitted inline.
      21             : 
      22             : #if defined(GET_DAGISEL_DECL) && defined(GET_DAGISEL_BODY)
      23             : #error GET_DAGISEL_DECL and GET_DAGISEL_BODY cannot be both defined, undef both for inline definitions
      24             : #endif
      25             : 
      26             : #ifdef GET_DAGISEL_BODY
      27             : #define LOCAL_DAGISEL_STRINGIZE(X) LOCAL_DAGISEL_STRINGIZE_(X)
      28             : #define LOCAL_DAGISEL_STRINGIZE_(X) #X
      29             : static_assert(sizeof(LOCAL_DAGISEL_STRINGIZE(GET_DAGISEL_BODY)) > 1,
      30             :    "GET_DAGISEL_BODY is empty: it should be defined with the class name");
      31             : #undef LOCAL_DAGISEL_STRINGIZE_
      32             : #undef LOCAL_DAGISEL_STRINGIZE
      33             : #endif
      34             : 
      35             : #if !defined(GET_DAGISEL_DECL) && !defined(GET_DAGISEL_BODY)
      36             : #define DAGISEL_INLINE 1
      37             : #else
      38             : #define DAGISEL_INLINE 0
      39             : #endif
      40             : 
      41             : #if !DAGISEL_INLINE
      42             : #define DAGISEL_CLASS_COLONCOLON GET_DAGISEL_BODY ::
      43             : #else
      44             : #define DAGISEL_CLASS_COLONCOLON
      45             : #endif
      46             : 
      47             : #ifdef GET_DAGISEL_DECL
      48             : void SelectCode(SDNode *N);
      49             : #endif
      50             : #if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
      51             : void DAGISEL_CLASS_COLONCOLON SelectCode(SDNode *N)
      52             : {
      53             :   // Some target values are emitted as 2 bytes, TARGET_VAL handles
      54             :   // this.
      55             :   #define TARGET_VAL(X) X & 255, unsigned(X) >> 8
      56             :   static const unsigned char MatcherTable[] = {
      57             : /*     0*/  OPC_Scope, 24|128,1/*152*/, /*->155*/ // 31 children in Scope
      58             : /*     3*/    OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_W_CHAIN),
      59             : /*     6*/    OPC_RecordNode, // #0 = 'intrinsic_w_chain' chained node
      60             : /*     7*/    OPC_Scope, 28, /*->37*/ // 4 children in Scope
      61             : /*     9*/      OPC_CheckChild1Integer, 50|128,6/*818*/, 
      62             : /*    12*/      OPC_RecordChild2, // #1 = $pseudo
      63             : /*    13*/      OPC_MoveChild2,
      64             : /*    14*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      65             : /*    17*/      OPC_MoveParent,
      66             : /*    18*/      OPC_RecordChild3, // #2 = $imm
      67             : /*    19*/      OPC_MoveChild3,
      68             : /*    20*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      69             : /*    23*/      OPC_MoveParent,
      70             : /*    24*/      OPC_EmitMergeInputChains1_0,
      71             : /*    25*/      OPC_EmitConvertToTarget, 1,
      72             : /*    27*/      OPC_EmitConvertToTarget, 2,
      73             : /*    29*/      OPC_MorphNodeTo1, TARGET_VAL(BPF::LD_pseudo), 0|OPFL_Chain,
      74             :                     MVT::i64, 2/*#Ops*/, 3, 4, 
      75             :                 // Src: (intrinsic_w_chain:{ *:[i64] } 818:{ *:[iPTR] }, (imm:{ *:[i64] }):$pseudo, (imm:{ *:[i64] }):$imm) - Complexity = 14
      76             :                 // Dst: (LD_pseudo:{ *:[i64] } (imm:{ *:[i64] }):$pseudo, (imm:{ *:[i64] }):$imm)
      77             : /*    37*/    /*Scope*/ 38, /*->76*/
      78             : /*    38*/      OPC_CheckChild1Integer, 47|128,6/*815*/, 
      79             : /*    41*/      OPC_RecordChild2, // #1 = $skb
      80             : /*    42*/      OPC_CheckChild2Type, MVT::i64,
      81             : /*    44*/      OPC_RecordChild3, // #2 = $imm
      82             : /*    45*/      OPC_Scope, 18, /*->65*/ // 2 children in Scope
      83             : /*    47*/        OPC_MoveChild3,
      84             : /*    48*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      85             : /*    51*/        OPC_CheckPredicate, 0, // Predicate_i64immSExt32
      86             : /*    53*/        OPC_MoveParent,
      87             : /*    54*/        OPC_EmitMergeInputChains1_0,
      88             : /*    55*/        OPC_EmitConvertToTarget, 2,
      89             : /*    57*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::LD_ABS_B), 0|OPFL_Chain,
      90             :                       MVT::i64, 2/*#Ops*/, 1, 3, 
      91             :                   // Src: (intrinsic_w_chain:{ *:[i64] } 815:{ *:[iPTR] }, GPR:{ *:[i64] }:$skb, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$imm) - Complexity = 12
      92             :                   // Dst: (LD_ABS_B:{ *:[i64] } GPR:{ *:[i64] }:$skb, (imm:{ *:[i64] }):$imm)
      93             : /*    65*/      /*Scope*/ 9, /*->75*/
      94             : /*    66*/        OPC_EmitMergeInputChains1_0,
      95             : /*    67*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::LD_IND_B), 0|OPFL_Chain,
      96             :                       MVT::i64, 2/*#Ops*/, 1, 2, 
      97             :                   // Src: (intrinsic_w_chain:{ *:[i64] } 815:{ *:[iPTR] }, GPR:{ *:[i64] }:$skb, GPR:{ *:[i64] }:$val) - Complexity = 8
      98             :                   // Dst: (LD_IND_B:{ *:[i64] } GPR:{ *:[i64] }:$skb, GPR:{ *:[i64] }:$val)
      99             : /*    75*/      0, /*End of Scope*/
     100             : /*    76*/    /*Scope*/ 38, /*->115*/
     101             : /*    77*/      OPC_CheckChild1Integer, 48|128,6/*816*/, 
     102             : /*    80*/      OPC_RecordChild2, // #1 = $skb
     103             : /*    81*/      OPC_CheckChild2Type, MVT::i64,
     104             : /*    83*/      OPC_RecordChild3, // #2 = $imm
     105             : /*    84*/      OPC_Scope, 18, /*->104*/ // 2 children in Scope
     106             : /*    86*/        OPC_MoveChild3,
     107             : /*    87*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     108             : /*    90*/        OPC_CheckPredicate, 0, // Predicate_i64immSExt32
     109             : /*    92*/        OPC_MoveParent,
     110             : /*    93*/        OPC_EmitMergeInputChains1_0,
     111             : /*    94*/        OPC_EmitConvertToTarget, 2,
     112             : /*    96*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::LD_ABS_H), 0|OPFL_Chain,
     113             :                       MVT::i64, 2/*#Ops*/, 1, 3, 
     114             :                   // Src: (intrinsic_w_chain:{ *:[i64] } 816:{ *:[iPTR] }, GPR:{ *:[i64] }:$skb, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$imm) - Complexity = 12
     115             :                   // Dst: (LD_ABS_H:{ *:[i64] } GPR:{ *:[i64] }:$skb, (imm:{ *:[i64] }):$imm)
     116             : /*   104*/      /*Scope*/ 9, /*->114*/
     117             : /*   105*/        OPC_EmitMergeInputChains1_0,
     118             : /*   106*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::LD_IND_H), 0|OPFL_Chain,
     119             :                       MVT::i64, 2/*#Ops*/, 1, 2, 
     120             :                   // Src: (intrinsic_w_chain:{ *:[i64] } 816:{ *:[iPTR] }, GPR:{ *:[i64] }:$skb, GPR:{ *:[i64] }:$val) - Complexity = 8
     121             :                   // Dst: (LD_IND_H:{ *:[i64] } GPR:{ *:[i64] }:$skb, GPR:{ *:[i64] }:$val)
     122             : /*   114*/      0, /*End of Scope*/
     123             : /*   115*/    /*Scope*/ 38, /*->154*/
     124             : /*   116*/      OPC_CheckChild1Integer, 49|128,6/*817*/, 
     125             : /*   119*/      OPC_RecordChild2, // #1 = $skb
     126             : /*   120*/      OPC_CheckChild2Type, MVT::i64,
     127             : /*   122*/      OPC_RecordChild3, // #2 = $imm
     128             : /*   123*/      OPC_Scope, 18, /*->143*/ // 2 children in Scope
     129             : /*   125*/        OPC_MoveChild3,
     130             : /*   126*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     131             : /*   129*/        OPC_CheckPredicate, 0, // Predicate_i64immSExt32
     132             : /*   131*/        OPC_MoveParent,
     133             : /*   132*/        OPC_EmitMergeInputChains1_0,
     134             : /*   133*/        OPC_EmitConvertToTarget, 2,
     135             : /*   135*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::LD_ABS_W), 0|OPFL_Chain,
     136             :                       MVT::i64, 2/*#Ops*/, 1, 3, 
     137             :                   // Src: (intrinsic_w_chain:{ *:[i64] } 817:{ *:[iPTR] }, GPR:{ *:[i64] }:$skb, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$imm) - Complexity = 12
     138             :                   // Dst: (LD_ABS_W:{ *:[i64] } GPR:{ *:[i64] }:$skb, (imm:{ *:[i64] }):$imm)
     139             : /*   143*/      /*Scope*/ 9, /*->153*/
     140             : /*   144*/        OPC_EmitMergeInputChains1_0,
     141             : /*   145*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::LD_IND_W), 0|OPFL_Chain,
     142             :                       MVT::i64, 2/*#Ops*/, 1, 2, 
     143             :                   // Src: (intrinsic_w_chain:{ *:[i64] } 817:{ *:[iPTR] }, GPR:{ *:[i64] }:$skb, GPR:{ *:[i64] }:$val) - Complexity = 8
     144             :                   // Dst: (LD_IND_W:{ *:[i64] } GPR:{ *:[i64] }:$skb, GPR:{ *:[i64] }:$val)
     145             : /*   153*/      0, /*End of Scope*/
     146             : /*   154*/    0, /*End of Scope*/
     147             : /*   155*/  /*Scope*/ 80, /*->236*/
     148             : /*   156*/    OPC_CheckOpcode, TARGET_VAL(ISD::STORE),
     149             : /*   159*/    OPC_RecordMemRef,
     150             : /*   160*/    OPC_RecordNode, // #0 = 'st' chained node
     151             : /*   161*/    OPC_RecordChild1, // #1 = $src
     152             : /*   162*/    OPC_CheckChild1Type, MVT::i64,
     153             : /*   164*/    OPC_RecordChild2, // #2 = $addr
     154             : /*   165*/    OPC_CheckChild2Type, MVT::i64,
     155             : /*   167*/    OPC_CheckPredicate, 1, // Predicate_unindexedstore
     156             : /*   169*/    OPC_Scope, 49, /*->220*/ // 2 children in Scope
     157             : /*   171*/      OPC_CheckPredicate, 2, // Predicate_truncstore
     158             : /*   173*/      OPC_Scope, 14, /*->189*/ // 3 children in Scope
     159             : /*   175*/        OPC_CheckPredicate, 3, // Predicate_truncstorei32
     160             : /*   177*/        OPC_CheckComplexPat, /*CP*/0, /*#*/2, // SelectAddr:$addr #3 #4
     161             : /*   180*/        OPC_EmitMergeInputChains1_0,
     162             : /*   181*/        OPC_MorphNodeTo0, TARGET_VAL(BPF::STW), 0|OPFL_Chain|OPFL_MemRefs,
     163             :                       3/*#Ops*/, 1, 3, 4, 
     164             :                   // Src: (st i64:{ *:[i64] }:$src, ADDRri:{ *:[i64] }:$addr)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei32>> - Complexity = 13
     165             :                   // Dst: (STW i64:{ *:[i64] }:$src, ADDRri:{ *:[i64] }:$addr)
     166             : /*   189*/      /*Scope*/ 14, /*->204*/
     167             : /*   190*/        OPC_CheckPredicate, 4, // Predicate_truncstorei16
     168             : /*   192*/        OPC_CheckComplexPat, /*CP*/0, /*#*/2, // SelectAddr:$addr #3 #4
     169             : /*   195*/        OPC_EmitMergeInputChains1_0,
     170             : /*   196*/        OPC_MorphNodeTo0, TARGET_VAL(BPF::STH), 0|OPFL_Chain|OPFL_MemRefs,
     171             :                       3/*#Ops*/, 1, 3, 4, 
     172             :                   // Src: (st i64:{ *:[i64] }:$src, ADDRri:{ *:[i64] }:$addr)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 13
     173             :                   // Dst: (STH i64:{ *:[i64] }:$src, ADDRri:{ *:[i64] }:$addr)
     174             : /*   204*/      /*Scope*/ 14, /*->219*/
     175             : /*   205*/        OPC_CheckPredicate, 5, // Predicate_truncstorei8
     176             : /*   207*/        OPC_CheckComplexPat, /*CP*/0, /*#*/2, // SelectAddr:$addr #3 #4
     177             : /*   210*/        OPC_EmitMergeInputChains1_0,
     178             : /*   211*/        OPC_MorphNodeTo0, TARGET_VAL(BPF::STB), 0|OPFL_Chain|OPFL_MemRefs,
     179             :                       3/*#Ops*/, 1, 3, 4, 
     180             :                   // Src: (st i64:{ *:[i64] }:$src, ADDRri:{ *:[i64] }:$addr)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei8>> - Complexity = 13
     181             :                   // Dst: (STB i64:{ *:[i64] }:$src, ADDRri:{ *:[i64] }:$addr)
     182             : /*   219*/      0, /*End of Scope*/
     183             : /*   220*/    /*Scope*/ 14, /*->235*/
     184             : /*   221*/      OPC_CheckPredicate, 6, // Predicate_store
     185             : /*   223*/      OPC_CheckComplexPat, /*CP*/0, /*#*/2, // SelectAddr:$addr #3 #4
     186             : /*   226*/      OPC_EmitMergeInputChains1_0,
     187             : /*   227*/      OPC_MorphNodeTo0, TARGET_VAL(BPF::STD), 0|OPFL_Chain|OPFL_MemRefs,
     188             :                     3/*#Ops*/, 1, 3, 4, 
     189             :                 // Src: (st i64:{ *:[i64] }:$src, ADDRri:{ *:[i64] }:$addr)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 13
     190             :                 // Dst: (STD i64:{ *:[i64] }:$src, ADDRri:{ *:[i64] }:$addr)
     191             : /*   235*/    0, /*End of Scope*/
     192             : /*   236*/  /*Scope*/ 1|128,1/*129*/, /*->367*/
     193             : /*   238*/    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     194             : /*   241*/    OPC_RecordMemRef,
     195             : /*   242*/    OPC_RecordNode, // #0 = 'ld' chained node
     196             : /*   243*/    OPC_RecordChild1, // #1 = $addr
     197             : /*   244*/    OPC_CheckChild1Type, MVT::i64,
     198             : /*   246*/    OPC_CheckPredicate, 7, // Predicate_unindexedload
     199             : /*   248*/    OPC_CheckType, MVT::i64,
     200             : /*   250*/    OPC_Scope, 49, /*->301*/ // 3 children in Scope
     201             : /*   252*/      OPC_CheckPredicate, 8, // Predicate_zextload
     202             : /*   254*/      OPC_Scope, 14, /*->270*/ // 3 children in Scope
     203             : /*   256*/        OPC_CheckPredicate, 9, // Predicate_zextloadi32
     204             : /*   258*/        OPC_CheckComplexPat, /*CP*/0, /*#*/1, // SelectAddr:$addr #2 #3
     205             : /*   261*/        OPC_EmitMergeInputChains1_0,
     206             : /*   262*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::LDW), 0|OPFL_Chain|OPFL_MemRefs,
     207             :                       MVT::i64, 2/*#Ops*/, 2, 3, 
     208             :                   // Src: (ld:{ *:[i64] } ADDRri:{ *:[i64] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi32>> - Complexity = 13
     209             :                   // Dst: (LDW:{ *:[i64] } ADDRri:{ *:[i64] }:$addr)
     210             : /*   270*/      /*Scope*/ 14, /*->285*/
     211             : /*   271*/        OPC_CheckPredicate, 10, // Predicate_zextloadi16
     212             : /*   273*/        OPC_CheckComplexPat, /*CP*/0, /*#*/1, // SelectAddr:$addr #2 #3
     213             : /*   276*/        OPC_EmitMergeInputChains1_0,
     214             : /*   277*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::LDH), 0|OPFL_Chain|OPFL_MemRefs,
     215             :                       MVT::i64, 2/*#Ops*/, 2, 3, 
     216             :                   // Src: (ld:{ *:[i64] } ADDRri:{ *:[i64] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>> - Complexity = 13
     217             :                   // Dst: (LDH:{ *:[i64] } ADDRri:{ *:[i64] }:$addr)
     218             : /*   285*/      /*Scope*/ 14, /*->300*/
     219             : /*   286*/        OPC_CheckPredicate, 11, // Predicate_zextloadi8
     220             : /*   288*/        OPC_CheckComplexPat, /*CP*/0, /*#*/1, // SelectAddr:$addr #2 #3
     221             : /*   291*/        OPC_EmitMergeInputChains1_0,
     222             : /*   292*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::LDB), 0|OPFL_Chain|OPFL_MemRefs,
     223             :                       MVT::i64, 2/*#Ops*/, 2, 3, 
     224             :                   // Src: (ld:{ *:[i64] } ADDRri:{ *:[i64] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> - Complexity = 13
     225             :                   // Dst: (LDB:{ *:[i64] } ADDRri:{ *:[i64] }:$addr)
     226             : /*   300*/      0, /*End of Scope*/
     227             : /*   301*/    /*Scope*/ 14, /*->316*/
     228             : /*   302*/      OPC_CheckPredicate, 12, // Predicate_load
     229             : /*   304*/      OPC_CheckComplexPat, /*CP*/0, /*#*/1, // SelectAddr:$addr #2 #3
     230             : /*   307*/      OPC_EmitMergeInputChains1_0,
     231             : /*   308*/      OPC_MorphNodeTo1, TARGET_VAL(BPF::LDD), 0|OPFL_Chain|OPFL_MemRefs,
     232             :                     MVT::i64, 2/*#Ops*/, 2, 3, 
     233             :                 // Src: (ld:{ *:[i64] } ADDRri:{ *:[i64] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 13
     234             :                 // Dst: (LDD:{ *:[i64] } ADDRri:{ *:[i64] }:$addr)
     235             : /*   316*/    /*Scope*/ 49, /*->366*/
     236             : /*   317*/      OPC_CheckPredicate, 13, // Predicate_extload
     237             : /*   319*/      OPC_Scope, 14, /*->335*/ // 3 children in Scope
     238             : /*   321*/        OPC_CheckPredicate, 11, // Predicate_extloadi8
     239             : /*   323*/        OPC_CheckComplexPat, /*CP*/0, /*#*/1, // SelectAddr:$src #2 #3
     240             : /*   326*/        OPC_EmitMergeInputChains1_0,
     241             : /*   327*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::LDB), 0|OPFL_Chain|OPFL_MemRefs,
     242             :                       MVT::i64, 2/*#Ops*/, 2, 3, 
     243             :                   // Src: (ld:{ *:[i64] } ADDRri:{ *:[i64] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> - Complexity = 13
     244             :                   // Dst: (LDB:{ *:[i64] } ADDRri:{ *:[i64] }:$src)
     245             : /*   335*/      /*Scope*/ 14, /*->350*/
     246             : /*   336*/        OPC_CheckPredicate, 10, // Predicate_extloadi16
     247             : /*   338*/        OPC_CheckComplexPat, /*CP*/0, /*#*/1, // SelectAddr:$src #2 #3
     248             : /*   341*/        OPC_EmitMergeInputChains1_0,
     249             : /*   342*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::LDH), 0|OPFL_Chain|OPFL_MemRefs,
     250             :                       MVT::i64, 2/*#Ops*/, 2, 3, 
     251             :                   // Src: (ld:{ *:[i64] } ADDRri:{ *:[i64] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> - Complexity = 13
     252             :                   // Dst: (LDH:{ *:[i64] } ADDRri:{ *:[i64] }:$src)
     253             : /*   350*/      /*Scope*/ 14, /*->365*/
     254             : /*   351*/        OPC_CheckPredicate, 9, // Predicate_extloadi32
     255             : /*   353*/        OPC_CheckComplexPat, /*CP*/0, /*#*/1, // SelectAddr:$src #2 #3
     256             : /*   356*/        OPC_EmitMergeInputChains1_0,
     257             : /*   357*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::LDW), 0|OPFL_Chain|OPFL_MemRefs,
     258             :                       MVT::i64, 2/*#Ops*/, 2, 3, 
     259             :                   // Src: (ld:{ *:[i64] } ADDRri:{ *:[i64] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi32>> - Complexity = 13
     260             :                   // Dst: (LDW:{ *:[i64] } ADDRri:{ *:[i64] }:$src)
     261             : /*   365*/      0, /*End of Scope*/
     262             : /*   366*/    0, /*End of Scope*/
     263             : /*   367*/  /*Scope*/ 45, /*->413*/
     264             : /*   368*/    OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
     265             : /*   371*/    OPC_RecordMemRef,
     266             : /*   372*/    OPC_RecordNode, // #0 = 'atomic_load_add' chained node
     267             : /*   373*/    OPC_RecordChild1, // #1 = $addr
     268             : /*   374*/    OPC_CheckChild1Type, MVT::i64,
     269             : /*   376*/    OPC_RecordChild2, // #2 = $val
     270             : /*   377*/    OPC_CheckType, MVT::i64,
     271             : /*   379*/    OPC_Scope, 15, /*->396*/ // 2 children in Scope
     272             : /*   381*/      OPC_CheckPredicate, 14, // Predicate_atomic_load_add_32
     273             : /*   383*/      OPC_CheckComplexPat, /*CP*/0, /*#*/1, // SelectAddr:$addr #3 #4
     274             : /*   386*/      OPC_EmitMergeInputChains1_0,
     275             : /*   387*/      OPC_MorphNodeTo1, TARGET_VAL(BPF::XADD32), 0|OPFL_Chain|OPFL_MemRefs,
     276             :                     MVT::i64, 3/*#Ops*/, 3, 4, 2, 
     277             :                 // Src: (atomic_load_add:{ *:[i64] } ADDRri:{ *:[i64] }:$addr, GPR:{ *:[i64] }:$val)<<P:Predicate_atomic_load_add_32>> - Complexity = 13
     278             :                 // Dst: (XADD32:{ *:[i64] } ADDRri:{ *:[i64] }:$addr, GPR:{ *:[i64] }:$val)
     279             : /*   396*/    /*Scope*/ 15, /*->412*/
     280             : /*   397*/      OPC_CheckPredicate, 15, // Predicate_atomic_load_add_64
     281             : /*   399*/      OPC_CheckComplexPat, /*CP*/0, /*#*/1, // SelectAddr:$addr #3 #4
     282             : /*   402*/      OPC_EmitMergeInputChains1_0,
     283             : /*   403*/      OPC_MorphNodeTo1, TARGET_VAL(BPF::XADD64), 0|OPFL_Chain|OPFL_MemRefs,
     284             :                     MVT::i64, 3/*#Ops*/, 3, 4, 2, 
     285             :                 // Src: (atomic_load_add:{ *:[i64] } ADDRri:{ *:[i64] }:$addr, GPR:{ *:[i64] }:$val)<<P:Predicate_atomic_load_add_64>> - Complexity = 13
     286             :                 // Dst: (XADD64:{ *:[i64] } ADDRri:{ *:[i64] }:$addr, GPR:{ *:[i64] }:$val)
     287             : /*   412*/    0, /*End of Scope*/
     288             : /*   413*/  /*Scope*/ 54|128,3/*438*/, /*->853*/
     289             : /*   415*/    OPC_CheckOpcode, TARGET_VAL(BPFISD::BR_CC),
     290             : /*   418*/    OPC_RecordNode, // #0 = 'BPFbrcc' chained node
     291             : /*   419*/    OPC_CaptureGlueInput,
     292             : /*   420*/    OPC_RecordChild1, // #1 = $dst
     293             : /*   421*/    OPC_CheckChild1Type, MVT::i64,
     294             : /*   423*/    OPC_RecordChild2, // #2 = $imm
     295             : /*   424*/    OPC_Scope, 97|128,1/*225*/, /*->652*/ // 2 children in Scope
     296             : /*   427*/      OPC_MoveChild2,
     297             : /*   428*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     298             : /*   431*/      OPC_CheckPredicate, 0, // Predicate_i64immSExt32
     299             : /*   433*/      OPC_MoveParent,
     300             : /*   434*/      OPC_MoveChild3,
     301             : /*   435*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     302             : /*   438*/      OPC_CheckType, MVT::i64,
     303             : /*   440*/      OPC_Scope, 20, /*->462*/ // 10 children in Scope
     304             : /*   442*/        OPC_CheckPredicate, 16, // Predicate_BPF_CC_EQ
     305             : /*   444*/        OPC_MoveParent,
     306             : /*   445*/        OPC_RecordChild4, // #3 = $BrDst
     307             : /*   446*/        OPC_MoveChild4,
     308             : /*   447*/        OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
     309             : /*   450*/        OPC_MoveParent,
     310             : /*   451*/        OPC_EmitMergeInputChains1_0,
     311             : /*   452*/        OPC_EmitConvertToTarget, 2,
     312             : /*   454*/        OPC_MorphNodeTo0, TARGET_VAL(BPF::JEQ_ri), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
     313             :                       3/*#Ops*/, 1, 4, 3, 
     314             :                   // Src: (BPFbrcc i64:{ *:[i64] }:$dst, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$imm, (imm:{ *:[i64] })<<P:Predicate_BPF_CC_EQ>>, (bb:{ *:[Other] }):$BrDst) - Complexity = 11
     315             :                   // Dst: (JEQ_ri i64:{ *:[i64] }:$dst, (imm:{ *:[i64] }):$imm, (bb:{ *:[Other] }):$BrDst)
     316             : /*   462*/      /*Scope*/ 20, /*->483*/
     317             : /*   463*/        OPC_CheckPredicate, 17, // Predicate_BPF_CC_GTU
     318             : /*   465*/        OPC_MoveParent,
     319             : /*   466*/        OPC_RecordChild4, // #3 = $BrDst
     320             : /*   467*/        OPC_MoveChild4,
     321             : /*   468*/        OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
     322             : /*   471*/        OPC_MoveParent,
     323             : /*   472*/        OPC_EmitMergeInputChains1_0,
     324             : /*   473*/        OPC_EmitConvertToTarget, 2,
     325             : /*   475*/        OPC_MorphNodeTo0, TARGET_VAL(BPF::JUGT_ri), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
     326             :                       3/*#Ops*/, 1, 4, 3, 
     327             :                   // Src: (BPFbrcc i64:{ *:[i64] }:$dst, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$imm, (imm:{ *:[i64] })<<P:Predicate_BPF_CC_GTU>>, (bb:{ *:[Other] }):$BrDst) - Complexity = 11
     328             :                   // Dst: (JUGT_ri i64:{ *:[i64] }:$dst, (imm:{ *:[i64] }):$imm, (bb:{ *:[Other] }):$BrDst)
     329             : /*   483*/      /*Scope*/ 20, /*->504*/
     330             : /*   484*/        OPC_CheckPredicate, 18, // Predicate_BPF_CC_GEU
     331             : /*   486*/        OPC_MoveParent,
     332             : /*   487*/        OPC_RecordChild4, // #3 = $BrDst
     333             : /*   488*/        OPC_MoveChild4,
     334             : /*   489*/        OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
     335             : /*   492*/        OPC_MoveParent,
     336             : /*   493*/        OPC_EmitMergeInputChains1_0,
     337             : /*   494*/        OPC_EmitConvertToTarget, 2,
     338             : /*   496*/        OPC_MorphNodeTo0, TARGET_VAL(BPF::JUGE_ri), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
     339             :                       3/*#Ops*/, 1, 4, 3, 
     340             :                   // Src: (BPFbrcc i64:{ *:[i64] }:$dst, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$imm, (imm:{ *:[i64] })<<P:Predicate_BPF_CC_GEU>>, (bb:{ *:[Other] }):$BrDst) - Complexity = 11
     341             :                   // Dst: (JUGE_ri i64:{ *:[i64] }:$dst, (imm:{ *:[i64] }):$imm, (bb:{ *:[Other] }):$BrDst)
     342             : /*   504*/      /*Scope*/ 20, /*->525*/
     343             : /*   505*/        OPC_CheckPredicate, 19, // Predicate_BPF_CC_NE
     344             : /*   507*/        OPC_MoveParent,
     345             : /*   508*/        OPC_RecordChild4, // #3 = $BrDst
     346             : /*   509*/        OPC_MoveChild4,
     347             : /*   510*/        OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
     348             : /*   513*/        OPC_MoveParent,
     349             : /*   514*/        OPC_EmitMergeInputChains1_0,
     350             : /*   515*/        OPC_EmitConvertToTarget, 2,
     351             : /*   517*/        OPC_MorphNodeTo0, TARGET_VAL(BPF::JNE_ri), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
     352             :                       3/*#Ops*/, 1, 4, 3, 
     353             :                   // Src: (BPFbrcc i64:{ *:[i64] }:$dst, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$imm, (imm:{ *:[i64] })<<P:Predicate_BPF_CC_NE>>, (bb:{ *:[Other] }):$BrDst) - Complexity = 11
     354             :                   // Dst: (JNE_ri i64:{ *:[i64] }:$dst, (imm:{ *:[i64] }):$imm, (bb:{ *:[Other] }):$BrDst)
     355             : /*   525*/      /*Scope*/ 20, /*->546*/
     356             : /*   526*/        OPC_CheckPredicate, 20, // Predicate_BPF_CC_GT
     357             : /*   528*/        OPC_MoveParent,
     358             : /*   529*/        OPC_RecordChild4, // #3 = $BrDst
     359             : /*   530*/        OPC_MoveChild4,
     360             : /*   531*/        OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
     361             : /*   534*/        OPC_MoveParent,
     362             : /*   535*/        OPC_EmitMergeInputChains1_0,
     363             : /*   536*/        OPC_EmitConvertToTarget, 2,
     364             : /*   538*/        OPC_MorphNodeTo0, TARGET_VAL(BPF::JSGT_ri), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
     365             :                       3/*#Ops*/, 1, 4, 3, 
     366             :                   // Src: (BPFbrcc i64:{ *:[i64] }:$dst, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$imm, (imm:{ *:[i64] })<<P:Predicate_BPF_CC_GT>>, (bb:{ *:[Other] }):$BrDst) - Complexity = 11
     367             :                   // Dst: (JSGT_ri i64:{ *:[i64] }:$dst, (imm:{ *:[i64] }):$imm, (bb:{ *:[Other] }):$BrDst)
     368             : /*   546*/      /*Scope*/ 20, /*->567*/
     369             : /*   547*/        OPC_CheckPredicate, 21, // Predicate_BPF_CC_GE
     370             : /*   549*/        OPC_MoveParent,
     371             : /*   550*/        OPC_RecordChild4, // #3 = $BrDst
     372             : /*   551*/        OPC_MoveChild4,
     373             : /*   552*/        OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
     374             : /*   555*/        OPC_MoveParent,
     375             : /*   556*/        OPC_EmitMergeInputChains1_0,
     376             : /*   557*/        OPC_EmitConvertToTarget, 2,
     377             : /*   559*/        OPC_MorphNodeTo0, TARGET_VAL(BPF::JSGE_ri), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
     378             :                       3/*#Ops*/, 1, 4, 3, 
     379             :                   // Src: (BPFbrcc i64:{ *:[i64] }:$dst, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$imm, (imm:{ *:[i64] })<<P:Predicate_BPF_CC_GE>>, (bb:{ *:[Other] }):$BrDst) - Complexity = 11
     380             :                   // Dst: (JSGE_ri i64:{ *:[i64] }:$dst, (imm:{ *:[i64] }):$imm, (bb:{ *:[Other] }):$BrDst)
     381             : /*   567*/      /*Scope*/ 20, /*->588*/
     382             : /*   568*/        OPC_CheckPredicate, 22, // Predicate_BPF_CC_LTU
     383             : /*   570*/        OPC_MoveParent,
     384             : /*   571*/        OPC_RecordChild4, // #3 = $BrDst
     385             : /*   572*/        OPC_MoveChild4,
     386             : /*   573*/        OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
     387             : /*   576*/        OPC_MoveParent,
     388             : /*   577*/        OPC_EmitMergeInputChains1_0,
     389             : /*   578*/        OPC_EmitConvertToTarget, 2,
     390             : /*   580*/        OPC_MorphNodeTo0, TARGET_VAL(BPF::JULT_ri), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
     391             :                       3/*#Ops*/, 1, 4, 3, 
     392             :                   // Src: (BPFbrcc i64:{ *:[i64] }:$dst, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$imm, (imm:{ *:[i64] })<<P:Predicate_BPF_CC_LTU>>, (bb:{ *:[Other] }):$BrDst) - Complexity = 11
     393             :                   // Dst: (JULT_ri i64:{ *:[i64] }:$dst, (imm:{ *:[i64] }):$imm, (bb:{ *:[Other] }):$BrDst)
     394             : /*   588*/      /*Scope*/ 20, /*->609*/
     395             : /*   589*/        OPC_CheckPredicate, 23, // Predicate_BPF_CC_LEU
     396             : /*   591*/        OPC_MoveParent,
     397             : /*   592*/        OPC_RecordChild4, // #3 = $BrDst
     398             : /*   593*/        OPC_MoveChild4,
     399             : /*   594*/        OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
     400             : /*   597*/        OPC_MoveParent,
     401             : /*   598*/        OPC_EmitMergeInputChains1_0,
     402             : /*   599*/        OPC_EmitConvertToTarget, 2,
     403             : /*   601*/        OPC_MorphNodeTo0, TARGET_VAL(BPF::JULE_ri), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
     404             :                       3/*#Ops*/, 1, 4, 3, 
     405             :                   // Src: (BPFbrcc i64:{ *:[i64] }:$dst, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$imm, (imm:{ *:[i64] })<<P:Predicate_BPF_CC_LEU>>, (bb:{ *:[Other] }):$BrDst) - Complexity = 11
     406             :                   // Dst: (JULE_ri i64:{ *:[i64] }:$dst, (imm:{ *:[i64] }):$imm, (bb:{ *:[Other] }):$BrDst)
     407             : /*   609*/      /*Scope*/ 20, /*->630*/
     408             : /*   610*/        OPC_CheckPredicate, 24, // Predicate_BPF_CC_LT
     409             : /*   612*/        OPC_MoveParent,
     410             : /*   613*/        OPC_RecordChild4, // #3 = $BrDst
     411             : /*   614*/        OPC_MoveChild4,
     412             : /*   615*/        OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
     413             : /*   618*/        OPC_MoveParent,
     414             : /*   619*/        OPC_EmitMergeInputChains1_0,
     415             : /*   620*/        OPC_EmitConvertToTarget, 2,
     416             : /*   622*/        OPC_MorphNodeTo0, TARGET_VAL(BPF::JSLT_ri), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
     417             :                       3/*#Ops*/, 1, 4, 3, 
     418             :                   // Src: (BPFbrcc i64:{ *:[i64] }:$dst, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$imm, (imm:{ *:[i64] })<<P:Predicate_BPF_CC_LT>>, (bb:{ *:[Other] }):$BrDst) - Complexity = 11
     419             :                   // Dst: (JSLT_ri i64:{ *:[i64] }:$dst, (imm:{ *:[i64] }):$imm, (bb:{ *:[Other] }):$BrDst)
     420             : /*   630*/      /*Scope*/ 20, /*->651*/
     421             : /*   631*/        OPC_CheckPredicate, 25, // Predicate_BPF_CC_LE
     422             : /*   633*/        OPC_MoveParent,
     423             : /*   634*/        OPC_RecordChild4, // #3 = $BrDst
     424             : /*   635*/        OPC_MoveChild4,
     425             : /*   636*/        OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
     426             : /*   639*/        OPC_MoveParent,
     427             : /*   640*/        OPC_EmitMergeInputChains1_0,
     428             : /*   641*/        OPC_EmitConvertToTarget, 2,
     429             : /*   643*/        OPC_MorphNodeTo0, TARGET_VAL(BPF::JSLE_ri), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
     430             :                       3/*#Ops*/, 1, 4, 3, 
     431             :                   // Src: (BPFbrcc i64:{ *:[i64] }:$dst, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$imm, (imm:{ *:[i64] })<<P:Predicate_BPF_CC_LE>>, (bb:{ *:[Other] }):$BrDst) - Complexity = 11
     432             :                   // Dst: (JSLE_ri i64:{ *:[i64] }:$dst, (imm:{ *:[i64] }):$imm, (bb:{ *:[Other] }):$BrDst)
     433             : /*   651*/      0, /*End of Scope*/
     434             : /*   652*/    /*Scope*/ 70|128,1/*198*/, /*->852*/
     435             : /*   654*/      OPC_MoveChild3,
     436             : /*   655*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     437             : /*   658*/      OPC_CheckType, MVT::i64,
     438             : /*   660*/      OPC_Scope, 18, /*->680*/ // 10 children in Scope
     439             : /*   662*/        OPC_CheckPredicate, 16, // Predicate_BPF_CC_EQ
     440             : /*   664*/        OPC_MoveParent,
     441             : /*   665*/        OPC_RecordChild4, // #3 = $BrDst
     442             : /*   666*/        OPC_MoveChild4,
     443             : /*   667*/        OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
     444             : /*   670*/        OPC_MoveParent,
     445             : /*   671*/        OPC_EmitMergeInputChains1_0,
     446             : /*   672*/        OPC_MorphNodeTo0, TARGET_VAL(BPF::JEQ_rr), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
     447             :                       3/*#Ops*/, 1, 2, 3, 
     448             :                   // Src: (BPFbrcc i64:{ *:[i64] }:$dst, i64:{ *:[i64] }:$src, (imm:{ *:[i64] })<<P:Predicate_BPF_CC_EQ>>, (bb:{ *:[Other] }):$BrDst) - Complexity = 7
     449             :                   // Dst: (JEQ_rr i64:{ *:[i64] }:$dst, i64:{ *:[i64] }:$src, (bb:{ *:[Other] }):$BrDst)
     450             : /*   680*/      /*Scope*/ 18, /*->699*/
     451             : /*   681*/        OPC_CheckPredicate, 17, // Predicate_BPF_CC_GTU
     452             : /*   683*/        OPC_MoveParent,
     453             : /*   684*/        OPC_RecordChild4, // #3 = $BrDst
     454             : /*   685*/        OPC_MoveChild4,
     455             : /*   686*/        OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
     456             : /*   689*/        OPC_MoveParent,
     457             : /*   690*/        OPC_EmitMergeInputChains1_0,
     458             : /*   691*/        OPC_MorphNodeTo0, TARGET_VAL(BPF::JUGT_rr), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
     459             :                       3/*#Ops*/, 1, 2, 3, 
     460             :                   // Src: (BPFbrcc i64:{ *:[i64] }:$dst, i64:{ *:[i64] }:$src, (imm:{ *:[i64] })<<P:Predicate_BPF_CC_GTU>>, (bb:{ *:[Other] }):$BrDst) - Complexity = 7
     461             :                   // Dst: (JUGT_rr i64:{ *:[i64] }:$dst, i64:{ *:[i64] }:$src, (bb:{ *:[Other] }):$BrDst)
     462             : /*   699*/      /*Scope*/ 18, /*->718*/
     463             : /*   700*/        OPC_CheckPredicate, 18, // Predicate_BPF_CC_GEU
     464             : /*   702*/        OPC_MoveParent,
     465             : /*   703*/        OPC_RecordChild4, // #3 = $BrDst
     466             : /*   704*/        OPC_MoveChild4,
     467             : /*   705*/        OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
     468             : /*   708*/        OPC_MoveParent,
     469             : /*   709*/        OPC_EmitMergeInputChains1_0,
     470             : /*   710*/        OPC_MorphNodeTo0, TARGET_VAL(BPF::JUGE_rr), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
     471             :                       3/*#Ops*/, 1, 2, 3, 
     472             :                   // Src: (BPFbrcc i64:{ *:[i64] }:$dst, i64:{ *:[i64] }:$src, (imm:{ *:[i64] })<<P:Predicate_BPF_CC_GEU>>, (bb:{ *:[Other] }):$BrDst) - Complexity = 7
     473             :                   // Dst: (JUGE_rr i64:{ *:[i64] }:$dst, i64:{ *:[i64] }:$src, (bb:{ *:[Other] }):$BrDst)
     474             : /*   718*/      /*Scope*/ 18, /*->737*/
     475             : /*   719*/        OPC_CheckPredicate, 19, // Predicate_BPF_CC_NE
     476             : /*   721*/        OPC_MoveParent,
     477             : /*   722*/        OPC_RecordChild4, // #3 = $BrDst
     478             : /*   723*/        OPC_MoveChild4,
     479             : /*   724*/        OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
     480             : /*   727*/        OPC_MoveParent,
     481             : /*   728*/        OPC_EmitMergeInputChains1_0,
     482             : /*   729*/        OPC_MorphNodeTo0, TARGET_VAL(BPF::JNE_rr), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
     483             :                       3/*#Ops*/, 1, 2, 3, 
     484             :                   // Src: (BPFbrcc i64:{ *:[i64] }:$dst, i64:{ *:[i64] }:$src, (imm:{ *:[i64] })<<P:Predicate_BPF_CC_NE>>, (bb:{ *:[Other] }):$BrDst) - Complexity = 7
     485             :                   // Dst: (JNE_rr i64:{ *:[i64] }:$dst, i64:{ *:[i64] }:$src, (bb:{ *:[Other] }):$BrDst)
     486             : /*   737*/      /*Scope*/ 18, /*->756*/
     487             : /*   738*/        OPC_CheckPredicate, 20, // Predicate_BPF_CC_GT
     488             : /*   740*/        OPC_MoveParent,
     489             : /*   741*/        OPC_RecordChild4, // #3 = $BrDst
     490             : /*   742*/        OPC_MoveChild4,
     491             : /*   743*/        OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
     492             : /*   746*/        OPC_MoveParent,
     493             : /*   747*/        OPC_EmitMergeInputChains1_0,
     494             : /*   748*/        OPC_MorphNodeTo0, TARGET_VAL(BPF::JSGT_rr), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
     495             :                       3/*#Ops*/, 1, 2, 3, 
     496             :                   // Src: (BPFbrcc i64:{ *:[i64] }:$dst, i64:{ *:[i64] }:$src, (imm:{ *:[i64] })<<P:Predicate_BPF_CC_GT>>, (bb:{ *:[Other] }):$BrDst) - Complexity = 7
     497             :                   // Dst: (JSGT_rr i64:{ *:[i64] }:$dst, i64:{ *:[i64] }:$src, (bb:{ *:[Other] }):$BrDst)
     498             : /*   756*/      /*Scope*/ 18, /*->775*/
     499             : /*   757*/        OPC_CheckPredicate, 21, // Predicate_BPF_CC_GE
     500             : /*   759*/        OPC_MoveParent,
     501             : /*   760*/        OPC_RecordChild4, // #3 = $BrDst
     502             : /*   761*/        OPC_MoveChild4,
     503             : /*   762*/        OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
     504             : /*   765*/        OPC_MoveParent,
     505             : /*   766*/        OPC_EmitMergeInputChains1_0,
     506             : /*   767*/        OPC_MorphNodeTo0, TARGET_VAL(BPF::JSGE_rr), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
     507             :                       3/*#Ops*/, 1, 2, 3, 
     508             :                   // Src: (BPFbrcc i64:{ *:[i64] }:$dst, i64:{ *:[i64] }:$src, (imm:{ *:[i64] })<<P:Predicate_BPF_CC_GE>>, (bb:{ *:[Other] }):$BrDst) - Complexity = 7
     509             :                   // Dst: (JSGE_rr i64:{ *:[i64] }:$dst, i64:{ *:[i64] }:$src, (bb:{ *:[Other] }):$BrDst)
     510             : /*   775*/      /*Scope*/ 18, /*->794*/
     511             : /*   776*/        OPC_CheckPredicate, 22, // Predicate_BPF_CC_LTU
     512             : /*   778*/        OPC_MoveParent,
     513             : /*   779*/        OPC_RecordChild4, // #3 = $BrDst
     514             : /*   780*/        OPC_MoveChild4,
     515             : /*   781*/        OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
     516             : /*   784*/        OPC_MoveParent,
     517             : /*   785*/        OPC_EmitMergeInputChains1_0,
     518             : /*   786*/        OPC_MorphNodeTo0, TARGET_VAL(BPF::JULT_rr), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
     519             :                       3/*#Ops*/, 1, 2, 3, 
     520             :                   // Src: (BPFbrcc i64:{ *:[i64] }:$dst, i64:{ *:[i64] }:$src, (imm:{ *:[i64] })<<P:Predicate_BPF_CC_LTU>>, (bb:{ *:[Other] }):$BrDst) - Complexity = 7
     521             :                   // Dst: (JULT_rr i64:{ *:[i64] }:$dst, i64:{ *:[i64] }:$src, (bb:{ *:[Other] }):$BrDst)
     522             : /*   794*/      /*Scope*/ 18, /*->813*/
     523             : /*   795*/        OPC_CheckPredicate, 23, // Predicate_BPF_CC_LEU
     524             : /*   797*/        OPC_MoveParent,
     525             : /*   798*/        OPC_RecordChild4, // #3 = $BrDst
     526             : /*   799*/        OPC_MoveChild4,
     527             : /*   800*/        OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
     528             : /*   803*/        OPC_MoveParent,
     529             : /*   804*/        OPC_EmitMergeInputChains1_0,
     530             : /*   805*/        OPC_MorphNodeTo0, TARGET_VAL(BPF::JULE_rr), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
     531             :                       3/*#Ops*/, 1, 2, 3, 
     532             :                   // Src: (BPFbrcc i64:{ *:[i64] }:$dst, i64:{ *:[i64] }:$src, (imm:{ *:[i64] })<<P:Predicate_BPF_CC_LEU>>, (bb:{ *:[Other] }):$BrDst) - Complexity = 7
     533             :                   // Dst: (JULE_rr i64:{ *:[i64] }:$dst, i64:{ *:[i64] }:$src, (bb:{ *:[Other] }):$BrDst)
     534             : /*   813*/      /*Scope*/ 18, /*->832*/
     535             : /*   814*/        OPC_CheckPredicate, 24, // Predicate_BPF_CC_LT
     536             : /*   816*/        OPC_MoveParent,
     537             : /*   817*/        OPC_RecordChild4, // #3 = $BrDst
     538             : /*   818*/        OPC_MoveChild4,
     539             : /*   819*/        OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
     540             : /*   822*/        OPC_MoveParent,
     541             : /*   823*/        OPC_EmitMergeInputChains1_0,
     542             : /*   824*/        OPC_MorphNodeTo0, TARGET_VAL(BPF::JSLT_rr), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
     543             :                       3/*#Ops*/, 1, 2, 3, 
     544             :                   // Src: (BPFbrcc i64:{ *:[i64] }:$dst, i64:{ *:[i64] }:$src, (imm:{ *:[i64] })<<P:Predicate_BPF_CC_LT>>, (bb:{ *:[Other] }):$BrDst) - Complexity = 7
     545             :                   // Dst: (JSLT_rr i64:{ *:[i64] }:$dst, i64:{ *:[i64] }:$src, (bb:{ *:[Other] }):$BrDst)
     546             : /*   832*/      /*Scope*/ 18, /*->851*/
     547             : /*   833*/        OPC_CheckPredicate, 25, // Predicate_BPF_CC_LE
     548             : /*   835*/        OPC_MoveParent,
     549             : /*   836*/        OPC_RecordChild4, // #3 = $BrDst
     550             : /*   837*/        OPC_MoveChild4,
     551             : /*   838*/        OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
     552             : /*   841*/        OPC_MoveParent,
     553             : /*   842*/        OPC_EmitMergeInputChains1_0,
     554             : /*   843*/        OPC_MorphNodeTo0, TARGET_VAL(BPF::JSLE_rr), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
     555             :                       3/*#Ops*/, 1, 2, 3, 
     556             :                   // Src: (BPFbrcc i64:{ *:[i64] }:$dst, i64:{ *:[i64] }:$src, (imm:{ *:[i64] })<<P:Predicate_BPF_CC_LE>>, (bb:{ *:[Other] }):$BrDst) - Complexity = 7
     557             :                   // Dst: (JSLE_rr i64:{ *:[i64] }:$dst, i64:{ *:[i64] }:$src, (bb:{ *:[Other] }):$BrDst)
     558             : /*   851*/      0, /*End of Scope*/
     559             : /*   852*/    0, /*End of Scope*/
     560             : /*   853*/  /*Scope*/ 7|128,1/*135*/, /*->990*/
     561             : /*   855*/    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
     562             : /*   858*/    OPC_Scope, 64, /*->924*/ // 2 children in Scope
     563             : /*   860*/      OPC_MoveChild0,
     564             : /*   861*/      OPC_CheckOpcode, TARGET_VAL(ISD::BSWAP),
     565             : /*   864*/      OPC_RecordChild0, // #0 = $src
     566             : /*   865*/      OPC_MoveParent,
     567             : /*   866*/      OPC_CheckType, MVT::i64,
     568             : /*   868*/      OPC_Scope, 26, /*->896*/ // 2 children in Scope
     569             : /*   870*/        OPC_CheckChild1Integer, 48, 
     570             : /*   872*/        OPC_CheckChild1Type, MVT::i64,
     571             : /*   874*/        OPC_Scope, 9, /*->885*/ // 2 children in Scope
     572             : /*   876*/          OPC_CheckPatternPredicate, 0, // (CurDAG->getDataLayout().isLittleEndian())
     573             : /*   878*/          OPC_MorphNodeTo1, TARGET_VAL(BPF::BE16), 0,
     574             :                         MVT::i64, 1/*#Ops*/, 0, 
     575             :                     // Src: (srl:{ *:[i64] } (bswap:{ *:[i64] } GPR:{ *:[i64] }:$src), 48:{ *:[i64] }) - Complexity = 11
     576             :                     // Dst: (BE16:{ *:[i64] } GPR:{ *:[i64] }:$src)
     577             : /*   885*/        /*Scope*/ 9, /*->895*/
     578             : /*   886*/          OPC_CheckPatternPredicate, 1, // (!CurDAG->getDataLayout().isLittleEndian())
     579             : /*   888*/          OPC_MorphNodeTo1, TARGET_VAL(BPF::LE16), 0,
     580             :                         MVT::i64, 1/*#Ops*/, 0, 
     581             :                     // Src: (srl:{ *:[i64] } (bswap:{ *:[i64] } GPR:{ *:[i64] }:$src), 48:{ *:[i64] }) - Complexity = 11
     582             :                     // Dst: (LE16:{ *:[i64] } GPR:{ *:[i64] }:$src)
     583             : /*   895*/        0, /*End of Scope*/
     584             : /*   896*/      /*Scope*/ 26, /*->923*/
     585             : /*   897*/        OPC_CheckChild1Integer, 32, 
     586             : /*   899*/        OPC_CheckChild1Type, MVT::i64,
     587             : /*   901*/        OPC_Scope, 9, /*->912*/ // 2 children in Scope
     588             : /*   903*/          OPC_CheckPatternPredicate, 0, // (CurDAG->getDataLayout().isLittleEndian())
     589             : /*   905*/          OPC_MorphNodeTo1, TARGET_VAL(BPF::BE32), 0,
     590             :                         MVT::i64, 1/*#Ops*/, 0, 
     591             :                     // Src: (srl:{ *:[i64] } (bswap:{ *:[i64] } GPR:{ *:[i64] }:$src), 32:{ *:[i64] }) - Complexity = 11
     592             :                     // Dst: (BE32:{ *:[i64] } GPR:{ *:[i64] }:$src)
     593             : /*   912*/        /*Scope*/ 9, /*->922*/
     594             : /*   913*/          OPC_CheckPatternPredicate, 1, // (!CurDAG->getDataLayout().isLittleEndian())
     595             : /*   915*/          OPC_MorphNodeTo1, TARGET_VAL(BPF::LE32), 0,
     596             :                         MVT::i64, 1/*#Ops*/, 0, 
     597             :                     // Src: (srl:{ *:[i64] } (bswap:{ *:[i64] } GPR:{ *:[i64] }:$src), 32:{ *:[i64] }) - Complexity = 11
     598             :                     // Dst: (LE32:{ *:[i64] } GPR:{ *:[i64] }:$src)
     599             : /*   922*/        0, /*End of Scope*/
     600             : /*   923*/      0, /*End of Scope*/
     601             : /*   924*/    /*Scope*/ 64, /*->989*/
     602             : /*   925*/      OPC_RecordChild0, // #0 = $src2
     603             : /*   926*/      OPC_RecordChild1, // #1 = $imm
     604             : /*   927*/      OPC_Scope, 21, /*->950*/ // 3 children in Scope
     605             : /*   929*/        OPC_MoveChild1,
     606             : /*   930*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     607             : /*   933*/        OPC_CheckPredicate, 0, // Predicate_i64immSExt32
     608             : /*   935*/        OPC_CheckType, MVT::i64,
     609             : /*   937*/        OPC_MoveParent,
     610             : /*   938*/        OPC_CheckType, MVT::i64,
     611             : /*   940*/        OPC_EmitConvertToTarget, 1,
     612             : /*   942*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::SRL_ri), 0,
     613             :                       MVT::i64, 2/*#Ops*/, 0, 2, 
     614             :                   // Src: (srl:{ *:[i64] } GPR:{ *:[i64] }:$src2, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$imm) - Complexity = 7
     615             :                   // Dst: (SRL_ri:{ *:[i64] } GPR:{ *:[i64] }:$src2, (imm:{ *:[i64] }):$imm)
     616             : /*   950*/      /*Scope*/ 12, /*->963*/
     617             : /*   951*/        OPC_CheckChild1Type, MVT::i64,
     618             : /*   953*/        OPC_CheckType, MVT::i64,
     619             : /*   955*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::SRL_rr), 0,
     620             :                       MVT::i64, 2/*#Ops*/, 0, 1, 
     621             :                   // Src: (srl:{ *:[i64] } i64:{ *:[i64] }:$src2, i64:{ *:[i64] }:$src) - Complexity = 3
     622             :                   // Dst: (SRL_rr:{ *:[i64] } i64:{ *:[i64] }:$src2, i64:{ *:[i64] }:$src)
     623             : /*   963*/      /*Scope*/ 24, /*->988*/
     624             : /*   964*/        OPC_CheckChild1Type, MVT::i32,
     625             : /*   966*/        OPC_CheckType, MVT::i32,
     626             : /*   968*/        OPC_Scope, 8, /*->978*/ // 2 children in Scope
     627             : /*   970*/          OPC_MorphNodeTo1, TARGET_VAL(BPF::SRL_rr_32), 0,
     628             :                         MVT::i32, 2/*#Ops*/, 0, 1, 
     629             :                     // Src: (srl:{ *:[i32] } i32:{ *:[i32] }:$src2, i32:{ *:[i32] }:$src) - Complexity = 3
     630             :                     // Dst: (SRL_rr_32:{ *:[i32] } i32:{ *:[i32] }:$src2, i32:{ *:[i32] }:$src)
     631             : /*   978*/        /*Scope*/ 8, /*->987*/
     632             : /*   979*/          OPC_MorphNodeTo1, TARGET_VAL(BPF::SRL_ri_32), 0,
     633             :                         MVT::i32, 2/*#Ops*/, 0, 1, 
     634             :                     // Src: (srl:{ *:[i32] } GPR32:{ *:[i32] }:$src2, i32:{ *:[i32] }:$imm) - Complexity = 3
     635             :                     // Dst: (SRL_ri_32:{ *:[i32] } GPR32:{ *:[i32] }:$src2, i32:{ *:[i32] }:$imm)
     636             : /*   987*/        0, /*End of Scope*/
     637             : /*   988*/      0, /*End of Scope*/
     638             : /*   989*/    0, /*End of Scope*/
     639             : /*   990*/  /*Scope*/ 71, /*->1062*/
     640             : /*   991*/    OPC_CheckOpcode, TARGET_VAL(BPFISD::SELECT_CC),
     641             : /*   994*/    OPC_CaptureGlueInput,
     642             : /*   995*/    OPC_RecordChild0, // #0 = $lhs
     643             : /*   996*/    OPC_CheckChild0Type, MVT::i64,
     644             : /*   998*/    OPC_RecordChild1, // #1 = $rhs
     645             : /*   999*/    OPC_Scope, 34, /*->1035*/ // 2 children in Scope
     646             : /*  1001*/      OPC_MoveChild1,
     647             : /*  1002*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     648             : /*  1005*/      OPC_CheckPredicate, 0, // Predicate_i64immSExt32
     649             : /*  1007*/      OPC_MoveParent,
     650             : /*  1008*/      OPC_RecordChild2, // #2 = $imm
     651             : /*  1009*/      OPC_MoveChild2,
     652             : /*  1010*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     653             : /*  1013*/      OPC_CheckType, MVT::i64,
     654             : /*  1015*/      OPC_MoveParent,
     655             : /*  1016*/      OPC_RecordChild3, // #3 = $src
     656             : /*  1017*/      OPC_RecordChild4, // #4 = $src2
     657             : /*  1018*/      OPC_CheckType, MVT::i64,
     658             : /*  1020*/      OPC_EmitConvertToTarget, 1,
     659             : /*  1022*/      OPC_EmitConvertToTarget, 2,
     660             : /*  1024*/      OPC_MorphNodeTo1, TARGET_VAL(BPF::Select_Ri), 0|OPFL_GlueInput,
     661             :                     MVT::i64, 5/*#Ops*/, 0, 5, 6, 3, 4, 
     662             :                 // Src: (BPFselectcc:{ *:[i64] } i64:{ *:[i64] }:$lhs, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$rhs, (imm:{ *:[i64] }):$imm, i64:{ *:[i64] }:$src, i64:{ *:[i64] }:$src2) - Complexity = 10
     663             :                 // Dst: (Select_Ri:{ *:[i64] } i64:{ *:[i64] }:$lhs, (imm:{ *:[i64] }):$rhs, (imm:{ *:[i64] }):$imm, i64:{ *:[i64] }:$src, i64:{ *:[i64] }:$src2)
     664             : /*  1035*/    /*Scope*/ 25, /*->1061*/
     665             : /*  1036*/      OPC_RecordChild2, // #2 = $imm
     666             : /*  1037*/      OPC_MoveChild2,
     667             : /*  1038*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     668             : /*  1041*/      OPC_CheckType, MVT::i64,
     669             : /*  1043*/      OPC_MoveParent,
     670             : /*  1044*/      OPC_RecordChild3, // #3 = $src
     671             : /*  1045*/      OPC_RecordChild4, // #4 = $src2
     672             : /*  1046*/      OPC_CheckType, MVT::i64,
     673             : /*  1048*/      OPC_EmitConvertToTarget, 2,
     674             : /*  1050*/      OPC_MorphNodeTo1, TARGET_VAL(BPF::Select), 0|OPFL_GlueInput,
     675             :                     MVT::i64, 5/*#Ops*/, 0, 1, 5, 3, 4, 
     676             :                 // Src: (BPFselectcc:{ *:[i64] } i64:{ *:[i64] }:$lhs, i64:{ *:[i64] }:$rhs, (imm:{ *:[i64] }):$imm, i64:{ *:[i64] }:$src, i64:{ *:[i64] }:$src2) - Complexity = 6
     677             :                 // Dst: (Select:{ *:[i64] } i64:{ *:[i64] }:$lhs, i64:{ *:[i64] }:$rhs, (imm:{ *:[i64] }):$imm, i64:{ *:[i64] }:$src, i64:{ *:[i64] }:$src2)
     678             : /*  1061*/    0, /*End of Scope*/
     679             : /*  1062*/  /*Scope*/ 79, /*->1142*/
     680             : /*  1063*/    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     681             : /*  1066*/    OPC_Scope, 14, /*->1082*/ // 2 children in Scope
     682             : /*  1068*/      OPC_RecordNode, // #0 = $addr
     683             : /*  1069*/      OPC_CheckType, MVT::i64,
     684             : /*  1071*/      OPC_CheckComplexPat, /*CP*/1, /*#*/0, // SelectFIAddr:$addr #1 #2
     685             : /*  1074*/      OPC_MorphNodeTo1, TARGET_VAL(BPF::FI_ri), 0,
     686             :                     MVT::i64, 2/*#Ops*/, 1, 2, 
     687             :                 // Src: FIri:{ *:[i64] }:$addr - Complexity = 9
     688             :                 // Dst: (FI_ri:{ *:[i64] } FIri:{ *:[i64] }:$addr)
     689             : /*  1082*/    /*Scope*/ 58, /*->1141*/
     690             : /*  1083*/      OPC_RecordChild0, // #0 = $src2
     691             : /*  1084*/      OPC_RecordChild1, // #1 = $imm
     692             : /*  1085*/      OPC_Scope, 19, /*->1106*/ // 3 children in Scope
     693             : /*  1087*/        OPC_MoveChild1,
     694             : /*  1088*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     695             : /*  1091*/        OPC_CheckPredicate, 0, // Predicate_i64immSExt32
     696             : /*  1093*/        OPC_MoveParent,
     697             : /*  1094*/        OPC_CheckType, MVT::i64,
     698             : /*  1096*/        OPC_EmitConvertToTarget, 1,
     699             : /*  1098*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::ADD_ri), 0,
     700             :                       MVT::i64, 2/*#Ops*/, 0, 2, 
     701             :                   // Src: (add:{ *:[i64] } GPR:{ *:[i64] }:$src2, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$imm) - Complexity = 7
     702             :                   // Dst: (ADD_ri:{ *:[i64] } GPR:{ *:[i64] }:$src2, (imm:{ *:[i64] }):$imm)
     703             : /*  1106*/      /*Scope*/ 10, /*->1117*/
     704             : /*  1107*/        OPC_CheckType, MVT::i64,
     705             : /*  1109*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::ADD_rr), 0,
     706             :                       MVT::i64, 2/*#Ops*/, 0, 1, 
     707             :                   // Src: (add:{ *:[i64] } i64:{ *:[i64] }:$src2, i64:{ *:[i64] }:$src) - Complexity = 3
     708             :                   // Dst: (ADD_rr:{ *:[i64] } i64:{ *:[i64] }:$src2, i64:{ *:[i64] }:$src)
     709             : /*  1117*/      /*Scope*/ 22, /*->1140*/
     710             : /*  1118*/        OPC_CheckType, MVT::i32,
     711             : /*  1120*/        OPC_Scope, 8, /*->1130*/ // 2 children in Scope
     712             : /*  1122*/          OPC_MorphNodeTo1, TARGET_VAL(BPF::ADD_rr_32), 0,
     713             :                         MVT::i32, 2/*#Ops*/, 0, 1, 
     714             :                     // Src: (add:{ *:[i32] } i32:{ *:[i32] }:$src2, i32:{ *:[i32] }:$src) - Complexity = 3
     715             :                     // Dst: (ADD_rr_32:{ *:[i32] } i32:{ *:[i32] }:$src2, i32:{ *:[i32] }:$src)
     716             : /*  1130*/        /*Scope*/ 8, /*->1139*/
     717             : /*  1131*/          OPC_MorphNodeTo1, TARGET_VAL(BPF::ADD_ri_32), 0,
     718             :                         MVT::i32, 2/*#Ops*/, 0, 1, 
     719             :                     // Src: (add:{ *:[i32] } GPR32:{ *:[i32] }:$src2, i32:{ *:[i32] }:$imm) - Complexity = 3
     720             :                     // Dst: (ADD_ri_32:{ *:[i32] } GPR32:{ *:[i32] }:$src2, i32:{ *:[i32] }:$imm)
     721             : /*  1139*/        0, /*End of Scope*/
     722             : /*  1140*/      0, /*End of Scope*/
     723             : /*  1141*/    0, /*End of Scope*/
     724             : /*  1142*/  /*Scope*/ 79, /*->1222*/
     725             : /*  1143*/    OPC_CheckOpcode, TARGET_VAL(ISD::OR),
     726             : /*  1146*/    OPC_Scope, 14, /*->1162*/ // 2 children in Scope
     727             : /*  1148*/      OPC_RecordNode, // #0 = $addr
     728             : /*  1149*/      OPC_CheckType, MVT::i64,
     729             : /*  1151*/      OPC_CheckComplexPat, /*CP*/1, /*#*/0, // SelectFIAddr:$addr #1 #2
     730             : /*  1154*/      OPC_MorphNodeTo1, TARGET_VAL(BPF::FI_ri), 0,
     731             :                     MVT::i64, 2/*#Ops*/, 1, 2, 
     732             :                 // Src: FIri:{ *:[i64] }:$addr - Complexity = 9
     733             :                 // Dst: (FI_ri:{ *:[i64] } FIri:{ *:[i64] }:$addr)
     734             : /*  1162*/    /*Scope*/ 58, /*->1221*/
     735             : /*  1163*/      OPC_RecordChild0, // #0 = $src2
     736             : /*  1164*/      OPC_RecordChild1, // #1 = $imm
     737             : /*  1165*/      OPC_Scope, 19, /*->1186*/ // 3 children in Scope
     738             : /*  1167*/        OPC_MoveChild1,
     739             : /*  1168*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     740             : /*  1171*/        OPC_CheckPredicate, 0, // Predicate_i64immSExt32
     741             : /*  1173*/        OPC_MoveParent,
     742             : /*  1174*/        OPC_CheckType, MVT::i64,
     743             : /*  1176*/        OPC_EmitConvertToTarget, 1,
     744             : /*  1178*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::OR_ri), 0,
     745             :                       MVT::i64, 2/*#Ops*/, 0, 2, 
     746             :                   // Src: (or:{ *:[i64] } GPR:{ *:[i64] }:$src2, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$imm) - Complexity = 7
     747             :                   // Dst: (OR_ri:{ *:[i64] } GPR:{ *:[i64] }:$src2, (imm:{ *:[i64] }):$imm)
     748             : /*  1186*/      /*Scope*/ 10, /*->1197*/
     749             : /*  1187*/        OPC_CheckType, MVT::i64,
     750             : /*  1189*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::OR_rr), 0,
     751             :                       MVT::i64, 2/*#Ops*/, 0, 1, 
     752             :                   // Src: (or:{ *:[i64] } i64:{ *:[i64] }:$src2, i64:{ *:[i64] }:$src) - Complexity = 3
     753             :                   // Dst: (OR_rr:{ *:[i64] } i64:{ *:[i64] }:$src2, i64:{ *:[i64] }:$src)
     754             : /*  1197*/      /*Scope*/ 22, /*->1220*/
     755             : /*  1198*/        OPC_CheckType, MVT::i32,
     756             : /*  1200*/        OPC_Scope, 8, /*->1210*/ // 2 children in Scope
     757             : /*  1202*/          OPC_MorphNodeTo1, TARGET_VAL(BPF::OR_rr_32), 0,
     758             :                         MVT::i32, 2/*#Ops*/, 0, 1, 
     759             :                     // Src: (or:{ *:[i32] } i32:{ *:[i32] }:$src2, i32:{ *:[i32] }:$src) - Complexity = 3
     760             :                     // Dst: (OR_rr_32:{ *:[i32] } i32:{ *:[i32] }:$src2, i32:{ *:[i32] }:$src)
     761             : /*  1210*/        /*Scope*/ 8, /*->1219*/
     762             : /*  1211*/          OPC_MorphNodeTo1, TARGET_VAL(BPF::OR_ri_32), 0,
     763             :                         MVT::i32, 2/*#Ops*/, 0, 1, 
     764             :                     // Src: (or:{ *:[i32] } GPR32:{ *:[i32] }:$src2, i32:{ *:[i32] }:$imm) - Complexity = 3
     765             :                     // Dst: (OR_ri_32:{ *:[i32] } GPR32:{ *:[i32] }:$src2, i32:{ *:[i32] }:$imm)
     766             : /*  1219*/        0, /*End of Scope*/
     767             : /*  1220*/      0, /*End of Scope*/
     768             : /*  1221*/    0, /*End of Scope*/
     769             : /*  1222*/  /*Scope*/ 25, /*->1248*/
     770             : /*  1223*/    OPC_CheckOpcode, TARGET_VAL(ISD::CALLSEQ_START),
     771             : /*  1226*/    OPC_RecordNode, // #0 = 'BPFcallseq_start' chained node
     772             : /*  1227*/    OPC_RecordChild1, // #1 = $amt1
     773             : /*  1228*/    OPC_MoveChild1,
     774             : /*  1229*/    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     775             : /*  1232*/    OPC_MoveParent,
     776             : /*  1233*/    OPC_RecordChild2, // #2 = $amt2
     777             : /*  1234*/    OPC_MoveChild2,
     778             : /*  1235*/    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     779             : /*  1238*/    OPC_MoveParent,
     780             : /*  1239*/    OPC_EmitMergeInputChains1_0,
     781             : /*  1240*/    OPC_MorphNodeTo1, TARGET_VAL(BPF::ADJCALLSTACKDOWN), 0|OPFL_Chain|OPFL_GlueOutput,
     782             :                   MVT::i64, 2/*#Ops*/, 1, 2, 
     783             :               // Src: (BPFcallseq_start (timm:{ *:[iPTR] }):$amt1, (timm:{ *:[iPTR] }):$amt2) - Complexity = 9
     784             :               // Dst: (ADJCALLSTACKDOWN:{ *:[i64] } (timm:{ *:[i64] }):$amt1, (timm:{ *:[i64] }):$amt2)
     785             : /*  1248*/  /*Scope*/ 26, /*->1275*/
     786             : /*  1249*/    OPC_CheckOpcode, TARGET_VAL(ISD::CALLSEQ_END),
     787             : /*  1252*/    OPC_RecordNode, // #0 = 'BPFcallseq_end' chained node
     788             : /*  1253*/    OPC_CaptureGlueInput,
     789             : /*  1254*/    OPC_RecordChild1, // #1 = $amt1
     790             : /*  1255*/    OPC_MoveChild1,
     791             : /*  1256*/    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     792             : /*  1259*/    OPC_MoveParent,
     793             : /*  1260*/    OPC_RecordChild2, // #2 = $amt2
     794             : /*  1261*/    OPC_MoveChild2,
     795             : /*  1262*/    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     796             : /*  1265*/    OPC_MoveParent,
     797             : /*  1266*/    OPC_EmitMergeInputChains1_0,
     798             : /*  1267*/    OPC_MorphNodeTo1, TARGET_VAL(BPF::ADJCALLSTACKUP), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
     799             :                   MVT::i64, 2/*#Ops*/, 1, 2, 
     800             :               // Src: (BPFcallseq_end (timm:{ *:[iPTR] }):$amt1, (timm:{ *:[iPTR] }):$amt2) - Complexity = 9
     801             :               // Dst: (ADJCALLSTACKUP:{ *:[i64] } (timm:{ *:[i64] }):$amt1, (timm:{ *:[i64] }):$amt2)
     802             : /*  1275*/  /*Scope*/ 88, /*->1364*/
     803             : /*  1276*/    OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
     804             : /*  1279*/    OPC_Scope, 23, /*->1304*/ // 2 children in Scope
     805             : /*  1281*/      OPC_CheckChild0Integer, 0, 
     806             : /*  1283*/      OPC_RecordChild1, // #0 = $src
     807             : /*  1284*/      OPC_SwitchType /*2 cases */, 7, MVT::i64,// ->1294
     808             : /*  1287*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::NEG_64), 0,
     809             :                       MVT::i64, 1/*#Ops*/, 0, 
     810             :                   // Src: (sub:{ *:[i64] } 0:{ *:[i64] }, i64:{ *:[i64] }:$src) - Complexity = 8
     811             :                   // Dst: (NEG_64:{ *:[i64] } i64:{ *:[i64] }:$src)
     812             : /*  1294*/      /*SwitchType*/ 7, MVT::i32,// ->1303
     813             : /*  1296*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::NEG_32), 0,
     814             :                       MVT::i32, 1/*#Ops*/, 0, 
     815             :                   // Src: (sub:{ *:[i32] } 0:{ *:[i32] }, i32:{ *:[i32] }:$src) - Complexity = 8
     816             :                   // Dst: (NEG_32:{ *:[i32] } i32:{ *:[i32] }:$src)
     817             : /*  1303*/      0, // EndSwitchType
     818             : /*  1304*/    /*Scope*/ 58, /*->1363*/
     819             : /*  1305*/      OPC_RecordChild0, // #0 = $src2
     820             : /*  1306*/      OPC_RecordChild1, // #1 = $imm
     821             : /*  1307*/      OPC_Scope, 19, /*->1328*/ // 3 children in Scope
     822             : /*  1309*/        OPC_MoveChild1,
     823             : /*  1310*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     824             : /*  1313*/        OPC_CheckPredicate, 0, // Predicate_i64immSExt32
     825             : /*  1315*/        OPC_MoveParent,
     826             : /*  1316*/        OPC_CheckType, MVT::i64,
     827             : /*  1318*/        OPC_EmitConvertToTarget, 1,
     828             : /*  1320*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::SUB_ri), 0,
     829             :                       MVT::i64, 2/*#Ops*/, 0, 2, 
     830             :                   // Src: (sub:{ *:[i64] } GPR:{ *:[i64] }:$src2, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$imm) - Complexity = 7
     831             :                   // Dst: (SUB_ri:{ *:[i64] } GPR:{ *:[i64] }:$src2, (imm:{ *:[i64] }):$imm)
     832             : /*  1328*/      /*Scope*/ 10, /*->1339*/
     833             : /*  1329*/        OPC_CheckType, MVT::i64,
     834             : /*  1331*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::SUB_rr), 0,
     835             :                       MVT::i64, 2/*#Ops*/, 0, 1, 
     836             :                   // Src: (sub:{ *:[i64] } i64:{ *:[i64] }:$src2, i64:{ *:[i64] }:$src) - Complexity = 3
     837             :                   // Dst: (SUB_rr:{ *:[i64] } i64:{ *:[i64] }:$src2, i64:{ *:[i64] }:$src)
     838             : /*  1339*/      /*Scope*/ 22, /*->1362*/
     839             : /*  1340*/        OPC_CheckType, MVT::i32,
     840             : /*  1342*/        OPC_Scope, 8, /*->1352*/ // 2 children in Scope
     841             : /*  1344*/          OPC_MorphNodeTo1, TARGET_VAL(BPF::SUB_rr_32), 0,
     842             :                         MVT::i32, 2/*#Ops*/, 0, 1, 
     843             :                     // Src: (sub:{ *:[i32] } i32:{ *:[i32] }:$src2, i32:{ *:[i32] }:$src) - Complexity = 3
     844             :                     // Dst: (SUB_rr_32:{ *:[i32] } i32:{ *:[i32] }:$src2, i32:{ *:[i32] }:$src)
     845             : /*  1352*/        /*Scope*/ 8, /*->1361*/
     846             : /*  1353*/          OPC_MorphNodeTo1, TARGET_VAL(BPF::SUB_ri_32), 0,
     847             :                         MVT::i32, 2/*#Ops*/, 0, 1, 
     848             :                     // Src: (sub:{ *:[i32] } GPR32:{ *:[i32] }:$src2, i32:{ *:[i32] }:$imm) - Complexity = 3
     849             :                     // Dst: (SUB_ri_32:{ *:[i32] } GPR32:{ *:[i32] }:$src2, i32:{ *:[i32] }:$imm)
     850             : /*  1361*/        0, /*End of Scope*/
     851             : /*  1362*/      0, /*End of Scope*/
     852             : /*  1363*/    0, /*End of Scope*/
     853             : /*  1364*/  /*Scope*/ 96, /*->1461*/
     854             : /*  1365*/    OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     855             : /*  1368*/    OPC_Scope, 31, /*->1401*/ // 2 children in Scope
     856             : /*  1370*/      OPC_CheckAndImm, 127|128,127|128,127|128,127|128,15/*4294967295*/, 
     857             : /*  1376*/      OPC_RecordChild0, // #0 = $src
     858             : /*  1377*/      OPC_CheckType, MVT::i64,
     859             : /*  1379*/      OPC_EmitInteger, MVT::i64, 32, 
     860             : /*  1382*/      OPC_EmitNode1, TARGET_VAL(BPF::SLL_ri), 0,
     861             :                     MVT::i64, 2/*#Ops*/, 0, 1,  // Results = #2
     862             : /*  1390*/      OPC_EmitInteger, MVT::i64, 32, 
     863             : /*  1393*/      OPC_MorphNodeTo1, TARGET_VAL(BPF::SRL_ri), 0,
     864             :                     MVT::i64, 2/*#Ops*/, 2, 3, 
     865             :                 // Src: (and:{ *:[i64] } GPR:{ *:[i64] }:$src, 4294967295:{ *:[i64] }) - Complexity = 8
     866             :                 // Dst: (SRL_ri:{ *:[i64] } (SLL_ri:{ *:[i64] } GPR:{ *:[i64] }:$src, 32:{ *:[i64] }), 32:{ *:[i64] })
     867             : /*  1401*/    /*Scope*/ 58, /*->1460*/
     868             : /*  1402*/      OPC_RecordChild0, // #0 = $src2
     869             : /*  1403*/      OPC_RecordChild1, // #1 = $imm
     870             : /*  1404*/      OPC_Scope, 19, /*->1425*/ // 3 children in Scope
     871             : /*  1406*/        OPC_MoveChild1,
     872             : /*  1407*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     873             : /*  1410*/        OPC_CheckPredicate, 0, // Predicate_i64immSExt32
     874             : /*  1412*/        OPC_MoveParent,
     875             : /*  1413*/        OPC_CheckType, MVT::i64,
     876             : /*  1415*/        OPC_EmitConvertToTarget, 1,
     877             : /*  1417*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::AND_ri), 0,
     878             :                       MVT::i64, 2/*#Ops*/, 0, 2, 
     879             :                   // Src: (and:{ *:[i64] } GPR:{ *:[i64] }:$src2, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$imm) - Complexity = 7
     880             :                   // Dst: (AND_ri:{ *:[i64] } GPR:{ *:[i64] }:$src2, (imm:{ *:[i64] }):$imm)
     881             : /*  1425*/      /*Scope*/ 10, /*->1436*/
     882             : /*  1426*/        OPC_CheckType, MVT::i64,
     883             : /*  1428*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::AND_rr), 0,
     884             :                       MVT::i64, 2/*#Ops*/, 0, 1, 
     885             :                   // Src: (and:{ *:[i64] } i64:{ *:[i64] }:$src2, i64:{ *:[i64] }:$src) - Complexity = 3
     886             :                   // Dst: (AND_rr:{ *:[i64] } i64:{ *:[i64] }:$src2, i64:{ *:[i64] }:$src)
     887             : /*  1436*/      /*Scope*/ 22, /*->1459*/
     888             : /*  1437*/        OPC_CheckType, MVT::i32,
     889             : /*  1439*/        OPC_Scope, 8, /*->1449*/ // 2 children in Scope
     890             : /*  1441*/          OPC_MorphNodeTo1, TARGET_VAL(BPF::AND_rr_32), 0,
     891             :                         MVT::i32, 2/*#Ops*/, 0, 1, 
     892             :                     // Src: (and:{ *:[i32] } i32:{ *:[i32] }:$src2, i32:{ *:[i32] }:$src) - Complexity = 3
     893             :                     // Dst: (AND_rr_32:{ *:[i32] } i32:{ *:[i32] }:$src2, i32:{ *:[i32] }:$src)
     894             : /*  1449*/        /*Scope*/ 8, /*->1458*/
     895             : /*  1450*/          OPC_MorphNodeTo1, TARGET_VAL(BPF::AND_ri_32), 0,
     896             :                         MVT::i32, 2/*#Ops*/, 0, 1, 
     897             :                     // Src: (and:{ *:[i32] } GPR32:{ *:[i32] }:$src2, i32:{ *:[i32] }:$imm) - Complexity = 3
     898             :                     // Dst: (AND_ri_32:{ *:[i32] } GPR32:{ *:[i32] }:$src2, i32:{ *:[i32] }:$imm)
     899             : /*  1458*/        0, /*End of Scope*/
     900             : /*  1459*/      0, /*End of Scope*/
     901             : /*  1460*/    0, /*End of Scope*/
     902             : /*  1461*/  /*Scope*/ 67, /*->1529*/
     903             : /*  1462*/    OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
     904             : /*  1465*/    OPC_RecordChild0, // #0 = $src2
     905             : /*  1466*/    OPC_RecordChild1, // #1 = $imm
     906             : /*  1467*/    OPC_Scope, 21, /*->1490*/ // 3 children in Scope
     907             : /*  1469*/      OPC_MoveChild1,
     908             : /*  1470*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     909             : /*  1473*/      OPC_CheckPredicate, 0, // Predicate_i64immSExt32
     910             : /*  1475*/      OPC_CheckType, MVT::i64,
     911             : /*  1477*/      OPC_MoveParent,
     912             : /*  1478*/      OPC_CheckType, MVT::i64,
     913             : /*  1480*/      OPC_EmitConvertToTarget, 1,
     914             : /*  1482*/      OPC_MorphNodeTo1, TARGET_VAL(BPF::SLL_ri), 0,
     915             :                     MVT::i64, 2/*#Ops*/, 0, 2, 
     916             :                 // Src: (shl:{ *:[i64] } GPR:{ *:[i64] }:$src2, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$imm) - Complexity = 7
     917             :                 // Dst: (SLL_ri:{ *:[i64] } GPR:{ *:[i64] }:$src2, (imm:{ *:[i64] }):$imm)
     918             : /*  1490*/    /*Scope*/ 12, /*->1503*/
     919             : /*  1491*/      OPC_CheckChild1Type, MVT::i64,
     920             : /*  1493*/      OPC_CheckType, MVT::i64,
     921             : /*  1495*/      OPC_MorphNodeTo1, TARGET_VAL(BPF::SLL_rr), 0,
     922             :                     MVT::i64, 2/*#Ops*/, 0, 1, 
     923             :                 // Src: (shl:{ *:[i64] } i64:{ *:[i64] }:$src2, i64:{ *:[i64] }:$src) - Complexity = 3
     924             :                 // Dst: (SLL_rr:{ *:[i64] } i64:{ *:[i64] }:$src2, i64:{ *:[i64] }:$src)
     925             : /*  1503*/    /*Scope*/ 24, /*->1528*/
     926             : /*  1504*/      OPC_CheckChild1Type, MVT::i32,
     927             : /*  1506*/      OPC_CheckType, MVT::i32,
     928             : /*  1508*/      OPC_Scope, 8, /*->1518*/ // 2 children in Scope
     929             : /*  1510*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::SLL_rr_32), 0,
     930             :                       MVT::i32, 2/*#Ops*/, 0, 1, 
     931             :                   // Src: (shl:{ *:[i32] } i32:{ *:[i32] }:$src2, i32:{ *:[i32] }:$src) - Complexity = 3
     932             :                   // Dst: (SLL_rr_32:{ *:[i32] } i32:{ *:[i32] }:$src2, i32:{ *:[i32] }:$src)
     933             : /*  1518*/      /*Scope*/ 8, /*->1527*/
     934             : /*  1519*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::SLL_ri_32), 0,
     935             :                       MVT::i32, 2/*#Ops*/, 0, 1, 
     936             :                   // Src: (shl:{ *:[i32] } GPR32:{ *:[i32] }:$src2, i32:{ *:[i32] }:$imm) - Complexity = 3
     937             :                   // Dst: (SLL_ri_32:{ *:[i32] } GPR32:{ *:[i32] }:$src2, i32:{ *:[i32] }:$imm)
     938             : /*  1527*/      0, /*End of Scope*/
     939             : /*  1528*/    0, /*End of Scope*/
     940             : /*  1529*/  /*Scope*/ 61, /*->1591*/
     941             : /*  1530*/    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     942             : /*  1533*/    OPC_RecordChild0, // #0 = $src2
     943             : /*  1534*/    OPC_RecordChild1, // #1 = $imm
     944             : /*  1535*/    OPC_Scope, 19, /*->1556*/ // 3 children in Scope
     945             : /*  1537*/      OPC_MoveChild1,
     946             : /*  1538*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     947             : /*  1541*/      OPC_CheckPredicate, 0, // Predicate_i64immSExt32
     948             : /*  1543*/      OPC_MoveParent,
     949             : /*  1544*/      OPC_CheckType, MVT::i64,
     950             : /*  1546*/      OPC_EmitConvertToTarget, 1,
     951             : /*  1548*/      OPC_MorphNodeTo1, TARGET_VAL(BPF::XOR_ri), 0,
     952             :                     MVT::i64, 2/*#Ops*/, 0, 2, 
     953             :                 // Src: (xor:{ *:[i64] } GPR:{ *:[i64] }:$src2, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$imm) - Complexity = 7
     954             :                 // Dst: (XOR_ri:{ *:[i64] } GPR:{ *:[i64] }:$src2, (imm:{ *:[i64] }):$imm)
     955             : /*  1556*/    /*Scope*/ 10, /*->1567*/
     956             : /*  1557*/      OPC_CheckType, MVT::i64,
     957             : /*  1559*/      OPC_MorphNodeTo1, TARGET_VAL(BPF::XOR_rr), 0,
     958             :                     MVT::i64, 2/*#Ops*/, 0, 1, 
     959             :                 // Src: (xor:{ *:[i64] } i64:{ *:[i64] }:$src2, i64:{ *:[i64] }:$src) - Complexity = 3
     960             :                 // Dst: (XOR_rr:{ *:[i64] } i64:{ *:[i64] }:$src2, i64:{ *:[i64] }:$src)
     961             : /*  1567*/    /*Scope*/ 22, /*->1590*/
     962             : /*  1568*/      OPC_CheckType, MVT::i32,
     963             : /*  1570*/      OPC_Scope, 8, /*->1580*/ // 2 children in Scope
     964             : /*  1572*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::XOR_rr_32), 0,
     965             :                       MVT::i32, 2/*#Ops*/, 0, 1, 
     966             :                   // Src: (xor:{ *:[i32] } i32:{ *:[i32] }:$src2, i32:{ *:[i32] }:$src) - Complexity = 3
     967             :                   // Dst: (XOR_rr_32:{ *:[i32] } i32:{ *:[i32] }:$src2, i32:{ *:[i32] }:$src)
     968             : /*  1580*/      /*Scope*/ 8, /*->1589*/
     969             : /*  1581*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::XOR_ri_32), 0,
     970             :                       MVT::i32, 2/*#Ops*/, 0, 1, 
     971             :                   // Src: (xor:{ *:[i32] } GPR32:{ *:[i32] }:$src2, i32:{ *:[i32] }:$imm) - Complexity = 3
     972             :                   // Dst: (XOR_ri_32:{ *:[i32] } GPR32:{ *:[i32] }:$src2, i32:{ *:[i32] }:$imm)
     973             : /*  1589*/      0, /*End of Scope*/
     974             : /*  1590*/    0, /*End of Scope*/
     975             : /*  1591*/  /*Scope*/ 67, /*->1659*/
     976             : /*  1592*/    OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
     977             : /*  1595*/    OPC_RecordChild0, // #0 = $src2
     978             : /*  1596*/    OPC_RecordChild1, // #1 = $imm
     979             : /*  1597*/    OPC_Scope, 21, /*->1620*/ // 3 children in Scope
     980             : /*  1599*/      OPC_MoveChild1,
     981             : /*  1600*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     982             : /*  1603*/      OPC_CheckPredicate, 0, // Predicate_i64immSExt32
     983             : /*  1605*/      OPC_CheckType, MVT::i64,
     984             : /*  1607*/      OPC_MoveParent,
     985             : /*  1608*/      OPC_CheckType, MVT::i64,
     986             : /*  1610*/      OPC_EmitConvertToTarget, 1,
     987             : /*  1612*/      OPC_MorphNodeTo1, TARGET_VAL(BPF::SRA_ri), 0,
     988             :                     MVT::i64, 2/*#Ops*/, 0, 2, 
     989             :                 // Src: (sra:{ *:[i64] } GPR:{ *:[i64] }:$src2, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$imm) - Complexity = 7
     990             :                 // Dst: (SRA_ri:{ *:[i64] } GPR:{ *:[i64] }:$src2, (imm:{ *:[i64] }):$imm)
     991             : /*  1620*/    /*Scope*/ 12, /*->1633*/
     992             : /*  1621*/      OPC_CheckChild1Type, MVT::i64,
     993             : /*  1623*/      OPC_CheckType, MVT::i64,
     994             : /*  1625*/      OPC_MorphNodeTo1, TARGET_VAL(BPF::SRA_rr), 0,
     995             :                     MVT::i64, 2/*#Ops*/, 0, 1, 
     996             :                 // Src: (sra:{ *:[i64] } i64:{ *:[i64] }:$src2, i64:{ *:[i64] }:$src) - Complexity = 3
     997             :                 // Dst: (SRA_rr:{ *:[i64] } i64:{ *:[i64] }:$src2, i64:{ *:[i64] }:$src)
     998             : /*  1633*/    /*Scope*/ 24, /*->1658*/
     999             : /*  1634*/      OPC_CheckChild1Type, MVT::i32,
    1000             : /*  1636*/      OPC_CheckType, MVT::i32,
    1001             : /*  1638*/      OPC_Scope, 8, /*->1648*/ // 2 children in Scope
    1002             : /*  1640*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::SRA_rr_32), 0,
    1003             :                       MVT::i32, 2/*#Ops*/, 0, 1, 
    1004             :                   // Src: (sra:{ *:[i32] } i32:{ *:[i32] }:$src2, i32:{ *:[i32] }:$src) - Complexity = 3
    1005             :                   // Dst: (SRA_rr_32:{ *:[i32] } i32:{ *:[i32] }:$src2, i32:{ *:[i32] }:$src)
    1006             : /*  1648*/      /*Scope*/ 8, /*->1657*/
    1007             : /*  1649*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::SRA_ri_32), 0,
    1008             :                       MVT::i32, 2/*#Ops*/, 0, 1, 
    1009             :                   // Src: (sra:{ *:[i32] } GPR32:{ *:[i32] }:$src2, i32:{ *:[i32] }:$imm) - Complexity = 3
    1010             :                   // Dst: (SRA_ri_32:{ *:[i32] } GPR32:{ *:[i32] }:$src2, i32:{ *:[i32] }:$imm)
    1011             : /*  1657*/      0, /*End of Scope*/
    1012             : /*  1658*/    0, /*End of Scope*/
    1013             : /*  1659*/  /*Scope*/ 61, /*->1721*/
    1014             : /*  1660*/    OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
    1015             : /*  1663*/    OPC_RecordChild0, // #0 = $src2
    1016             : /*  1664*/    OPC_RecordChild1, // #1 = $imm
    1017             : /*  1665*/    OPC_Scope, 19, /*->1686*/ // 3 children in Scope
    1018             : /*  1667*/      OPC_MoveChild1,
    1019             : /*  1668*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    1020             : /*  1671*/      OPC_CheckPredicate, 0, // Predicate_i64immSExt32
    1021             : /*  1673*/      OPC_MoveParent,
    1022             : /*  1674*/      OPC_CheckType, MVT::i64,
    1023             : /*  1676*/      OPC_EmitConvertToTarget, 1,
    1024             : /*  1678*/      OPC_MorphNodeTo1, TARGET_VAL(BPF::MUL_ri), 0,
    1025             :                     MVT::i64, 2/*#Ops*/, 0, 2, 
    1026             :                 // Src: (mul:{ *:[i64] } GPR:{ *:[i64] }:$src2, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$imm) - Complexity = 7
    1027             :                 // Dst: (MUL_ri:{ *:[i64] } GPR:{ *:[i64] }:$src2, (imm:{ *:[i64] }):$imm)
    1028             : /*  1686*/    /*Scope*/ 10, /*->1697*/
    1029             : /*  1687*/      OPC_CheckType, MVT::i64,
    1030             : /*  1689*/      OPC_MorphNodeTo1, TARGET_VAL(BPF::MUL_rr), 0,
    1031             :                     MVT::i64, 2/*#Ops*/, 0, 1, 
    1032             :                 // Src: (mul:{ *:[i64] } i64:{ *:[i64] }:$src2, i64:{ *:[i64] }:$src) - Complexity = 3
    1033             :                 // Dst: (MUL_rr:{ *:[i64] } i64:{ *:[i64] }:$src2, i64:{ *:[i64] }:$src)
    1034             : /*  1697*/    /*Scope*/ 22, /*->1720*/
    1035             : /*  1698*/      OPC_CheckType, MVT::i32,
    1036             : /*  1700*/      OPC_Scope, 8, /*->1710*/ // 2 children in Scope
    1037             : /*  1702*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::MUL_rr_32), 0,
    1038             :                       MVT::i32, 2/*#Ops*/, 0, 1, 
    1039             :                   // Src: (mul:{ *:[i32] } i32:{ *:[i32] }:$src2, i32:{ *:[i32] }:$src) - Complexity = 3
    1040             :                   // Dst: (MUL_rr_32:{ *:[i32] } i32:{ *:[i32] }:$src2, i32:{ *:[i32] }:$src)
    1041             : /*  1710*/      /*Scope*/ 8, /*->1719*/
    1042             : /*  1711*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::MUL_ri_32), 0,
    1043             :                       MVT::i32, 2/*#Ops*/, 0, 1, 
    1044             :                   // Src: (mul:{ *:[i32] } GPR32:{ *:[i32] }:$src2, i32:{ *:[i32] }:$imm) - Complexity = 3
    1045             :                   // Dst: (MUL_ri_32:{ *:[i32] } GPR32:{ *:[i32] }:$src2, i32:{ *:[i32] }:$imm)
    1046             : /*  1719*/      0, /*End of Scope*/
    1047             : /*  1720*/    0, /*End of Scope*/
    1048             : /*  1721*/  /*Scope*/ 61, /*->1783*/
    1049             : /*  1722*/    OPC_CheckOpcode, TARGET_VAL(ISD::UDIV),
    1050             : /*  1725*/    OPC_RecordChild0, // #0 = $src2
    1051             : /*  1726*/    OPC_RecordChild1, // #1 = $imm
    1052             : /*  1727*/    OPC_Scope, 19, /*->1748*/ // 3 children in Scope
    1053             : /*  1729*/      OPC_MoveChild1,
    1054             : /*  1730*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    1055             : /*  1733*/      OPC_CheckPredicate, 0, // Predicate_i64immSExt32
    1056             : /*  1735*/      OPC_MoveParent,
    1057             : /*  1736*/      OPC_CheckType, MVT::i64,
    1058             : /*  1738*/      OPC_EmitConvertToTarget, 1,
    1059             : /*  1740*/      OPC_MorphNodeTo1, TARGET_VAL(BPF::DIV_ri), 0,
    1060             :                     MVT::i64, 2/*#Ops*/, 0, 2, 
    1061             :                 // Src: (udiv:{ *:[i64] } GPR:{ *:[i64] }:$src2, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$imm) - Complexity = 7
    1062             :                 // Dst: (DIV_ri:{ *:[i64] } GPR:{ *:[i64] }:$src2, (imm:{ *:[i64] }):$imm)
    1063             : /*  1748*/    /*Scope*/ 10, /*->1759*/
    1064             : /*  1749*/      OPC_CheckType, MVT::i64,
    1065             : /*  1751*/      OPC_MorphNodeTo1, TARGET_VAL(BPF::DIV_rr), 0,
    1066             :                     MVT::i64, 2/*#Ops*/, 0, 1, 
    1067             :                 // Src: (udiv:{ *:[i64] } i64:{ *:[i64] }:$src2, i64:{ *:[i64] }:$src) - Complexity = 3
    1068             :                 // Dst: (DIV_rr:{ *:[i64] } i64:{ *:[i64] }:$src2, i64:{ *:[i64] }:$src)
    1069             : /*  1759*/    /*Scope*/ 22, /*->1782*/
    1070             : /*  1760*/      OPC_CheckType, MVT::i32,
    1071             : /*  1762*/      OPC_Scope, 8, /*->1772*/ // 2 children in Scope
    1072             : /*  1764*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::DIV_rr_32), 0,
    1073             :                       MVT::i32, 2/*#Ops*/, 0, 1, 
    1074             :                   // Src: (udiv:{ *:[i32] } i32:{ *:[i32] }:$src2, i32:{ *:[i32] }:$src) - Complexity = 3
    1075             :                   // Dst: (DIV_rr_32:{ *:[i32] } i32:{ *:[i32] }:$src2, i32:{ *:[i32] }:$src)
    1076             : /*  1772*/      /*Scope*/ 8, /*->1781*/
    1077             : /*  1773*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::DIV_ri_32), 0,
    1078             :                       MVT::i32, 2/*#Ops*/, 0, 1, 
    1079             :                   // Src: (udiv:{ *:[i32] } GPR32:{ *:[i32] }:$src2, i32:{ *:[i32] }:$imm) - Complexity = 3
    1080             :                   // Dst: (DIV_ri_32:{ *:[i32] } GPR32:{ *:[i32] }:$src2, i32:{ *:[i32] }:$imm)
    1081             : /*  1781*/      0, /*End of Scope*/
    1082             : /*  1782*/    0, /*End of Scope*/
    1083             : /*  1783*/  /*Scope*/ 18, /*->1802*/
    1084             : /*  1784*/    OPC_CheckOpcode, TARGET_VAL(BPFISD::Wrapper),
    1085             : /*  1787*/    OPC_RecordChild0, // #0 = $in
    1086             : /*  1788*/    OPC_MoveChild0,
    1087             : /*  1789*/    OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
    1088             : /*  1792*/    OPC_MoveParent,
    1089             : /*  1793*/    OPC_CheckType, MVT::i64,
    1090             : /*  1795*/    OPC_MorphNodeTo1, TARGET_VAL(BPF::LD_imm64), 0,
    1091             :                   MVT::i64, 1/*#Ops*/, 0, 
    1092             :               // Src: (BPFWrapper:{ *:[i64] } (tglobaladdr:{ *:[i64] }):$in) - Complexity = 6
    1093             :               // Dst: (LD_imm64:{ *:[i64] } (tglobaladdr:{ *:[i64] }):$in)
    1094             : /*  1802*/  /*Scope*/ 47, /*->1850*/
    1095             : /*  1803*/    OPC_CheckOpcode, TARGET_VAL(BPFISD::CALL),
    1096             : /*  1806*/    OPC_RecordNode, // #0 = 'BPFcall' chained node
    1097             : /*  1807*/    OPC_CaptureGlueInput,
    1098             : /*  1808*/    OPC_RecordChild1, // #1 = $dst
    1099             : /*  1809*/    OPC_MoveChild1,
    1100             : /*  1810*/    OPC_SwitchOpcode /*3 cases */, 9, TARGET_VAL(ISD::TargetGlobalAddress),// ->1823
    1101             : /*  1814*/      OPC_MoveParent,
    1102             : /*  1815*/      OPC_EmitMergeInputChains1_0,
    1103             : /*  1816*/      OPC_MorphNodeTo1, TARGET_VAL(BPF::JAL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
    1104             :                     MVT::i64, 1/*#Ops*/, 1, 
    1105             :                 // Src: (BPFcall (tglobaladdr:{ *:[iPTR] }):$dst) - Complexity = 6
    1106             :                 // Dst: (JAL:{ *:[i64] } (tglobaladdr:{ *:[i64] }):$dst)
    1107             : /*  1823*/    /*SwitchOpcode*/ 9, TARGET_VAL(ISD::TargetExternalSymbol),// ->1835
    1108             : /*  1826*/      OPC_MoveParent,
    1109             : /*  1827*/      OPC_EmitMergeInputChains1_0,
    1110             : /*  1828*/      OPC_MorphNodeTo1, TARGET_VAL(BPF::JAL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
    1111             :                     MVT::i64, 1/*#Ops*/, 1, 
    1112             :                 // Src: (BPFcall (texternalsym:{ *:[iPTR] }):$dst) - Complexity = 6
    1113             :                 // Dst: (JAL:{ *:[i64] } (texternalsym:{ *:[i64] }):$dst)
    1114             : /*  1835*/    /*SwitchOpcode*/ 11, TARGET_VAL(ISD::Constant),// ->1849
    1115             : /*  1838*/      OPC_MoveParent,
    1116             : /*  1839*/      OPC_EmitMergeInputChains1_0,
    1117             : /*  1840*/      OPC_EmitConvertToTarget, 1,
    1118             : /*  1842*/      OPC_MorphNodeTo1, TARGET_VAL(BPF::JAL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
    1119             :                     MVT::i64, 1/*#Ops*/, 2, 
    1120             :                 // Src: (BPFcall (imm:{ *:[iPTR] }):$dst) - Complexity = 6
    1121             :                 // Dst: (JAL:{ *:[i64] } (imm:{ *:[i64] }):$dst)
    1122             : /*  1849*/    0, // EndSwitchOpcode
    1123             : /*  1850*/  /*Scope*/ 30, /*->1881*/
    1124             : /*  1851*/    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    1125             : /*  1854*/    OPC_RecordNode, // #0 = $imm
    1126             : /*  1855*/    OPC_CheckType, MVT::i64,
    1127             : /*  1857*/    OPC_Scope, 11, /*->1870*/ // 2 children in Scope
    1128             : /*  1859*/      OPC_CheckPredicate, 0, // Predicate_i64immSExt32
    1129             : /*  1861*/      OPC_EmitConvertToTarget, 0,
    1130             : /*  1863*/      OPC_MorphNodeTo1, TARGET_VAL(BPF::MOV_ri), 0,
    1131             :                     MVT::i64, 1/*#Ops*/, 1, 
    1132             :                 // Src: (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$imm - Complexity = 4
    1133             :                 // Dst: (MOV_ri:{ *:[i64] } (imm:{ *:[i64] }):$imm)
    1134             : /*  1870*/    /*Scope*/ 9, /*->1880*/
    1135             : /*  1871*/      OPC_EmitConvertToTarget, 0,
    1136             : /*  1873*/      OPC_MorphNodeTo1, TARGET_VAL(BPF::LD_imm64), 0,
    1137             :                     MVT::i64, 1/*#Ops*/, 1, 
    1138             :                 // Src: (imm:{ *:[i64] }):$imm - Complexity = 3
    1139             :                 // Dst: (LD_imm64:{ *:[i64] } (imm:{ *:[i64] }):$imm)
    1140             : /*  1880*/    0, /*End of Scope*/
    1141             : /*  1881*/  /*Scope*/ 10, /*->1892*/
    1142             : /*  1882*/    OPC_RecordNode, // #0 = $imm
    1143             : /*  1883*/    OPC_CheckType, MVT::i32,
    1144             : /*  1885*/    OPC_MorphNodeTo1, TARGET_VAL(BPF::MOV_ri_32), 0,
    1145             :                   MVT::i32, 1/*#Ops*/, 0, 
    1146             :               // Src: i32:{ *:[i32] }:$imm - Complexity = 3
    1147             :               // Dst: (MOV_ri_32:{ *:[i32] } i32:{ *:[i32] }:$imm)
    1148             : /*  1892*/  /*Scope*/ 17, /*->1910*/
    1149             : /*  1893*/    OPC_CheckOpcode, TARGET_VAL(ISD::BR),
    1150             : /*  1896*/    OPC_RecordNode, // #0 = 'br' chained node
    1151             : /*  1897*/    OPC_RecordChild1, // #1 = $BrDst
    1152             : /*  1898*/    OPC_MoveChild1,
    1153             : /*  1899*/    OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
    1154             : /*  1902*/    OPC_MoveParent,
    1155             : /*  1903*/    OPC_EmitMergeInputChains1_0,
    1156             : /*  1904*/    OPC_MorphNodeTo0, TARGET_VAL(BPF::JMP), 0|OPFL_Chain,
    1157             :                   1/*#Ops*/, 1, 
    1158             :               // Src: (br (bb:{ *:[Other] }):$BrDst) - Complexity = 3
    1159             :               // Dst: (JMP (bb:{ *:[Other] }):$BrDst)
    1160             : /*  1910*/  /*Scope*/ 11, /*->1922*/
    1161             : /*  1911*/    OPC_CheckOpcode, TARGET_VAL(BPFISD::RET_FLAG),
    1162             : /*  1914*/    OPC_RecordNode, // #0 = 'BPFretflag' chained node
    1163             : /*  1915*/    OPC_CaptureGlueInput,
    1164             : /*  1916*/    OPC_EmitMergeInputChains1_0,
    1165             : /*  1917*/    OPC_MorphNodeTo0, TARGET_VAL(BPF::RET), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic0,
    1166             :                   0/*#Ops*/, 
    1167             :               // Src: (BPFretflag) - Complexity = 3
    1168             :               // Dst: (RET)
    1169             : /*  1922*/  /*Scope*/ 16, /*->1939*/
    1170             : /*  1923*/    OPC_CheckOpcode, TARGET_VAL(BPFISD::CALL),
    1171             : /*  1926*/    OPC_RecordNode, // #0 = 'BPFcall' chained node
    1172             : /*  1927*/    OPC_CaptureGlueInput,
    1173             : /*  1928*/    OPC_RecordChild1, // #1 = $dst
    1174             : /*  1929*/    OPC_CheckChild1Type, MVT::i64,
    1175             : /*  1931*/    OPC_EmitMergeInputChains1_0,
    1176             : /*  1932*/    OPC_MorphNodeTo1, TARGET_VAL(BPF::JALX), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
    1177             :                   MVT::i64, 1/*#Ops*/, 1, 
    1178             :               // Src: (BPFcall GPR:{ *:[i64] }:$dst) - Complexity = 3
    1179             :               // Dst: (JALX:{ *:[i64] } GPR:{ *:[i64] }:$dst)
    1180             : /*  1939*/  /*Scope*/ 28, /*->1968*/
    1181             : /*  1940*/    OPC_CheckOpcode, TARGET_VAL(ISD::BSWAP),
    1182             : /*  1943*/    OPC_RecordChild0, // #0 = $src
    1183             : /*  1944*/    OPC_CheckType, MVT::i64,
    1184             : /*  1946*/    OPC_Scope, 9, /*->1957*/ // 2 children in Scope
    1185             : /*  1948*/      OPC_CheckPatternPredicate, 0, // (CurDAG->getDataLayout().isLittleEndian())
    1186             : /*  1950*/      OPC_MorphNodeTo1, TARGET_VAL(BPF::BE64), 0,
    1187             :                     MVT::i64, 1/*#Ops*/, 0, 
    1188             :                 // Src: (bswap:{ *:[i64] } GPR:{ *:[i64] }:$src) - Complexity = 3
    1189             :                 // Dst: (BE64:{ *:[i64] } GPR:{ *:[i64] }:$src)
    1190             : /*  1957*/    /*Scope*/ 9, /*->1967*/
    1191             : /*  1958*/      OPC_CheckPatternPredicate, 1, // (!CurDAG->getDataLayout().isLittleEndian())
    1192             : /*  1960*/      OPC_MorphNodeTo1, TARGET_VAL(BPF::LE64), 0,
    1193             :                     MVT::i64, 1/*#Ops*/, 0, 
    1194             :                 // Src: (bswap:{ *:[i64] } GPR:{ *:[i64] }:$src) - Complexity = 3
    1195             :                 // Dst: (LE64:{ *:[i64] } GPR:{ *:[i64] }:$src)
    1196             : /*  1967*/    0, /*End of Scope*/
    1197             : /*  1968*/  /*Scope*/ 15, /*->1984*/
    1198             : /*  1969*/    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    1199             : /*  1972*/    OPC_RecordChild0, // #0 = $imm
    1200             : /*  1973*/    OPC_RecordChild1, // #1 = $src2
    1201             : /*  1974*/    OPC_CheckType, MVT::i32,
    1202             : /*  1976*/    OPC_MorphNodeTo1, TARGET_VAL(BPF::ADD_ri_32), 0,
    1203             :                   MVT::i32, 2/*#Ops*/, 1, 0, 
    1204             :               // Src: (add:{ *:[i32] } i32:{ *:[i32] }:$imm, GPR32:{ *:[i32] }:$src2) - Complexity = 3
    1205             :               // Dst: (ADD_ri_32:{ *:[i32] } GPR32:{ *:[i32] }:$src2, i32:{ *:[i32] }:$imm)
    1206             : /*  1984*/  /*Scope*/ 15, /*->2000*/
    1207             : /*  1985*/    OPC_CheckOpcode, TARGET_VAL(ISD::OR),
    1208             : /*  1988*/    OPC_RecordChild0, // #0 = $imm
    1209             : /*  1989*/    OPC_RecordChild1, // #1 = $src2
    1210             : /*  1990*/    OPC_CheckType, MVT::i32,
    1211             : /*  1992*/    OPC_MorphNodeTo1, TARGET_VAL(BPF::OR_ri_32), 0,
    1212             :                   MVT::i32, 2/*#Ops*/, 1, 0, 
    1213             :               // Src: (or:{ *:[i32] } i32:{ *:[i32] }:$imm, GPR32:{ *:[i32] }:$src2) - Complexity = 3
    1214             :               // Dst: (OR_ri_32:{ *:[i32] } GPR32:{ *:[i32] }:$src2, i32:{ *:[i32] }:$imm)
    1215             : /*  2000*/  /*Scope*/ 15, /*->2016*/
    1216             : /*  2001*/    OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    1217             : /*  2004*/    OPC_RecordChild0, // #0 = $imm
    1218             : /*  2005*/    OPC_RecordChild1, // #1 = $src2
    1219             : /*  2006*/    OPC_CheckType, MVT::i32,
    1220             : /*  2008*/    OPC_MorphNodeTo1, TARGET_VAL(BPF::AND_ri_32), 0,
    1221             :                   MVT::i32, 2/*#Ops*/, 1, 0, 
    1222             :               // Src: (and:{ *:[i32] } i32:{ *:[i32] }:$imm, GPR32:{ *:[i32] }:$src2) - Complexity = 3
    1223             :               // Dst: (AND_ri_32:{ *:[i32] } GPR32:{ *:[i32] }:$src2, i32:{ *:[i32] }:$imm)
    1224             : /*  2016*/  /*Scope*/ 15, /*->2032*/
    1225             : /*  2017*/    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    1226             : /*  2020*/    OPC_RecordChild0, // #0 = $imm
    1227             : /*  2021*/    OPC_RecordChild1, // #1 = $src2
    1228             : /*  2022*/    OPC_CheckType, MVT::i32,
    1229             : /*  2024*/    OPC_MorphNodeTo1, TARGET_VAL(BPF::XOR_ri_32), 0,
    1230             :                   MVT::i32, 2/*#Ops*/, 1, 0, 
    1231             :               // Src: (xor:{ *:[i32] } i32:{ *:[i32] }:$imm, GPR32:{ *:[i32] }:$src2) - Complexity = 3
    1232             :               // Dst: (XOR_ri_32:{ *:[i32] } GPR32:{ *:[i32] }:$src2, i32:{ *:[i32] }:$imm)
    1233             : /*  2032*/  /*Scope*/ 15, /*->2048*/
    1234             : /*  2033*/    OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
    1235             : /*  2036*/    OPC_RecordChild0, // #0 = $imm
    1236             : /*  2037*/    OPC_RecordChild1, // #1 = $src2
    1237             : /*  2038*/    OPC_CheckType, MVT::i32,
    1238             : /*  2040*/    OPC_MorphNodeTo1, TARGET_VAL(BPF::MUL_ri_32), 0,
    1239             :                   MVT::i32, 2/*#Ops*/, 1, 0, 
    1240             :               // Src: (mul:{ *:[i32] } i32:{ *:[i32] }:$imm, GPR32:{ *:[i32] }:$src2) - Complexity = 3
    1241             :               // Dst: (MUL_ri_32:{ *:[i32] } GPR32:{ *:[i32] }:$src2, i32:{ *:[i32] }:$imm)
    1242             : /*  2048*/  0, /*End of Scope*/
    1243             :     0
    1244             :   }; // Total Array size is 2050 bytes
    1245             : 
    1246             :   // Opcode Histogram:
    1247             :   // #OPC_Scope                                = 45
    1248             :   // #OPC_RecordNode                           = 15
    1249             :   // #OPC_RecordChild                          = 85
    1250             :   // #OPC_RecordMemRef                         = 3
    1251             :   // #OPC_CaptureGlueInput                     = 6
    1252             :   // #OPC_MoveChild                            = 49
    1253             :   // #OPC_MoveParent                           = 69
    1254             :   // #OPC_CheckSame                            = 0
    1255             :   // #OPC_CheckChildSame                       = 0
    1256             :   // #OPC_CheckPatternPredicate                = 6
    1257             :   // #OPC_CheckPredicate                       = 54
    1258             :   // #OPC_CheckOpcode                          = 78
    1259             :   // #OPC_SwitchOpcode                         = 1
    1260             :   // #OPC_CheckType                            = 54
    1261             :   // #OPC_SwitchType                           = 1
    1262             :   // #OPC_CheckChildType                       = 18
    1263             :   // #OPC_CheckInteger                         = 0
    1264             :   // #OPC_CheckChildInteger                    = 7
    1265             :   // #OPC_CheckCondCode                        = 0
    1266             :   // #OPC_CheckValueType                       = 0
    1267             :   // #OPC_CheckComplexPat                      = 15
    1268             :   // #OPC_CheckAndImm                          = 1
    1269             :   // #OPC_CheckOrImm                           = 0
    1270             :   // #OPC_CheckFoldableChainNode               = 0
    1271             :   // #OPC_EmitInteger                          = 2
    1272             :   // #OPC_EmitStringInteger                    = 0
    1273             :   // #OPC_EmitRegister                         = 0
    1274             :   // #OPC_EmitConvertToTarget                  = 31
    1275             :   // #OPC_EmitMergeInputChains                 = 48
    1276             :   // #OPC_EmitCopyToReg                        = 0
    1277             :   // #OPC_EmitNode                             = 1
    1278             :   // #OPC_EmitNodeXForm                        = 0
    1279             :   // #OPC_CompleteMatch                        = 0
    1280             :   // #OPC_MorphNodeTo                          = 110
    1281             : 
    1282             :   #undef TARGET_VAL
    1283        3635 :   SelectCodeCommon(N, MatcherTable,sizeof(MatcherTable));
    1284             : }
    1285             : #endif // GET_DAGISEL_BODY
    1286             : 
    1287             : #ifdef GET_DAGISEL_DECL
    1288             : bool CheckPatternPredicate(unsigned PredNo) const override;
    1289             : #endif
    1290             : #if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
    1291          18 : bool DAGISEL_CLASS_COLONCOLON CheckPatternPredicate(unsigned PredNo) const
    1292             : #if DAGISEL_INLINE
    1293             :   override
    1294             : #endif
    1295             : {
    1296          18 :   switch (PredNo) {
    1297           0 :   default: llvm_unreachable("Invalid predicate in table?");
    1298          36 :   case 0: return (CurDAG->getDataLayout().isLittleEndian());
    1299          12 :   case 1: return (!CurDAG->getDataLayout().isLittleEndian());
    1300             :   }
    1301             : }
    1302             : #endif // GET_DAGISEL_BODY
    1303             : 
    1304             : #ifdef GET_DAGISEL_DECL
    1305             : bool CheckNodePredicate(SDNode *Node, unsigned PredNo) const override;
    1306             : #endif
    1307             : #if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
    1308        1470 : bool DAGISEL_CLASS_COLONCOLON CheckNodePredicate(SDNode *Node, unsigned PredNo) const
    1309             : #if DAGISEL_INLINE
    1310             :   override
    1311             : #endif
    1312             : {
    1313        1470 :   switch (PredNo) {
    1314           0 :   default: llvm_unreachable("Invalid predicate in table?");
    1315             :   case 0: { 
    1316             :     // Predicate_i64immSExt32
    1317             :     auto *N = cast<ConstantSDNode>(Node);
    1318        1066 : return isInt<32>(N->getSExtValue()); 
    1319             :   }
    1320         145 :   case 1: { 
    1321             :     // Predicate_unindexedstore
    1322             :     SDNode *N = Node;
    1323         145 : if (cast<StoreSDNode>(N)->getAddressingMode() != ISD::UNINDEXED) return false;
    1324         145 : return true;
    1325             : 
    1326             :   }
    1327         145 :   case 2: { 
    1328             :     // Predicate_truncstore
    1329             :     SDNode *N = Node;
    1330         145 :  if (!cast<StoreSDNode>(N)->isTruncatingStore()) return false;
    1331         128 : return true;
    1332             : 
    1333             :   }
    1334         128 :   case 3: { 
    1335             :     // Predicate_truncstorei32
    1336             :     SDNode *N = Node;
    1337             : if (cast<StoreSDNode>(N)->getMemoryVT() != MVT::i32) return false;
    1338          64 : return true;
    1339             : 
    1340             :   }
    1341          64 :   case 4: { 
    1342             :     // Predicate_truncstorei16
    1343             :     SDNode *N = Node;
    1344             : if (cast<StoreSDNode>(N)->getMemoryVT() != MVT::i16) return false;
    1345          53 : return true;
    1346             : 
    1347             :   }
    1348          11 :   case 5: { 
    1349             :     // Predicate_truncstorei8
    1350             :     SDNode *N = Node;
    1351             : if (cast<StoreSDNode>(N)->getMemoryVT() != MVT::i8) return false;
    1352          11 : return true;
    1353             : 
    1354             :   }
    1355          17 :   case 6: { 
    1356             :     // Predicate_store
    1357             :     SDNode *N = Node;
    1358          17 :  if (cast<StoreSDNode>(N)->isTruncatingStore()) return false;
    1359          17 : return true;
    1360             : 
    1361             :   }
    1362          54 :   case 7: { 
    1363             :     // Predicate_unindexedload
    1364             :     SDNode *N = Node;
    1365          54 : if (cast<LoadSDNode>(N)->getAddressingMode() != ISD::UNINDEXED) return false;
    1366          54 : return true;
    1367             : 
    1368             :   }
    1369          54 :   case 8: { 
    1370             :     // Predicate_zextload
    1371             :     SDNode *N = Node;
    1372          54 : if (cast<LoadSDNode>(N)->getExtensionType() != ISD::ZEXTLOAD) return false;
    1373          17 : return true;
    1374             : 
    1375             :   }
    1376          29 :   case 9: { 
    1377             :     // Predicate_zextloadi32
    1378             :     // Predicate_extloadi32
    1379             :     SDNode *N = Node;
    1380             : if (cast<LoadSDNode>(N)->getMemoryVT() != MVT::i32) return false;
    1381          22 : return true;
    1382             : 
    1383             :   }
    1384          29 :   case 10: { 
    1385             :     // Predicate_zextloadi16
    1386             :     // Predicate_extloadi16
    1387             :     SDNode *N = Node;
    1388             : if (cast<LoadSDNode>(N)->getMemoryVT() != MVT::i16) return false;
    1389          10 : return true;
    1390             : 
    1391             :   }
    1392          30 :   case 11: { 
    1393             :     // Predicate_zextloadi8
    1394             :     // Predicate_extloadi8
    1395             :     SDNode *N = Node;
    1396             : if (cast<LoadSDNode>(N)->getMemoryVT() != MVT::i8) return false;
    1397           8 : return true;
    1398             : 
    1399             :   }
    1400          37 :   case 12: { 
    1401             :     // Predicate_load
    1402             :     SDNode *N = Node;
    1403          37 : if (cast<LoadSDNode>(N)->getExtensionType() != ISD::NON_EXTLOAD) return false;
    1404          14 : return true;
    1405             : 
    1406             :   }
    1407          23 :   case 13: { 
    1408             :     // Predicate_extload
    1409             :     SDNode *N = Node;
    1410          23 : if (cast<LoadSDNode>(N)->getExtensionType() != ISD::EXTLOAD) return false;
    1411          23 : return true;
    1412             : 
    1413             :   }
    1414           5 :   case 14: { 
    1415             :     // Predicate_atomic_load_add_32
    1416             :     SDNode *N = Node;
    1417             : if (cast<AtomicSDNode>(N)->getMemoryVT() != MVT::i32) return false;
    1418           2 : return true;
    1419             : 
    1420             :   }
    1421           3 :   case 15: { 
    1422             :     // Predicate_atomic_load_add_64
    1423             :     SDNode *N = Node;
    1424             : if (cast<AtomicSDNode>(N)->getMemoryVT() != MVT::i64) return false;
    1425           3 : return true;
    1426             : 
    1427             :   }
    1428             :   case 16: { 
    1429             :     // Predicate_BPF_CC_EQ
    1430             :     auto *N = cast<ConstantSDNode>(Node);
    1431         114 : return (N->getZExtValue() == ISD::SETEQ);
    1432             :   }
    1433             :   case 17: { 
    1434             :     // Predicate_BPF_CC_GTU
    1435             :     auto *N = cast<ConstantSDNode>(Node);
    1436          64 : return (N->getZExtValue() == ISD::SETUGT);
    1437             :   }
    1438             :   case 18: { 
    1439             :     // Predicate_BPF_CC_GEU
    1440             :     auto *N = cast<ConstantSDNode>(Node);
    1441          64 : return (N->getZExtValue() == ISD::SETUGE);
    1442             :   }
    1443             :   case 19: { 
    1444             :     // Predicate_BPF_CC_NE
    1445             :     auto *N = cast<ConstantSDNode>(Node);
    1446          64 : return (N->getZExtValue() == ISD::SETNE);
    1447             :   }
    1448             :   case 20: { 
    1449             :     // Predicate_BPF_CC_GT
    1450             :     auto *N = cast<ConstantSDNode>(Node);
    1451          14 : return (N->getZExtValue() == ISD::SETGT);
    1452             :   }
    1453             :   case 21: { 
    1454             :     // Predicate_BPF_CC_GE
    1455             :     auto *N = cast<ConstantSDNode>(Node);
    1456           6 : return (N->getZExtValue() == ISD::SETGE);
    1457             :   }
    1458             :   case 22: { 
    1459             :     // Predicate_BPF_CC_LTU
    1460             :     auto *N = cast<ConstantSDNode>(Node);
    1461           0 : return (N->getZExtValue() == ISD::SETULT);
    1462             :   }
    1463             :   case 23: { 
    1464             :     // Predicate_BPF_CC_LEU
    1465             :     auto *N = cast<ConstantSDNode>(Node);
    1466           0 : return (N->getZExtValue() == ISD::SETULE);
    1467             :   }
    1468             :   case 24: { 
    1469             :     // Predicate_BPF_CC_LT
    1470             :     auto *N = cast<ConstantSDNode>(Node);
    1471           0 : return (N->getZExtValue() == ISD::SETLT);
    1472             :   }
    1473             :   case 25: { 
    1474             :     // Predicate_BPF_CC_LE
    1475             :     auto *N = cast<ConstantSDNode>(Node);
    1476           0 : return (N->getZExtValue() == ISD::SETLE);
    1477             :   }
    1478             :   }
    1479             : }
    1480             : #endif // GET_DAGISEL_BODY
    1481             : 
    1482             : #ifdef GET_DAGISEL_DECL
    1483             : bool CheckComplexPattern(SDNode *Root, SDNode *Parent,
    1484             :       SDValue N, unsigned PatternNo,
    1485             :       SmallVectorImpl<std::pair<SDValue, SDNode*>> &Result) override;
    1486             : #endif
    1487             : #if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
    1488         312 : bool DAGISEL_CLASS_COLONCOLON CheckComplexPattern(SDNode *Root, SDNode *Parent,
    1489             :       SDValue N, unsigned PatternNo,
    1490             :       SmallVectorImpl<std::pair<SDValue, SDNode*>> &Result)
    1491             : #if DAGISEL_INLINE
    1492             :   override
    1493             : #endif
    1494             : {
    1495         312 :   unsigned NextRes = Result.size();
    1496         312 :   switch (PatternNo) {
    1497           0 :   default: llvm_unreachable("Invalid pattern # in table?");
    1498         204 :   case 0:
    1499         204 :     Result.resize(NextRes+2);
    1500         612 :   return SelectAddr(N, Result[NextRes+0].first, Result[NextRes+1].first);
    1501         108 :   case 1:
    1502         108 :     Result.resize(NextRes+2);
    1503         324 :   return SelectFIAddr(N, Result[NextRes+0].first, Result[NextRes+1].first);
    1504             :   }
    1505             : }
    1506             : #endif // GET_DAGISEL_BODY
    1507             : 
    1508             : 
    1509             : #ifdef DAGISEL_INLINE
    1510             : #undef DAGISEL_INLINE
    1511             : #endif
    1512             : #ifdef DAGISEL_CLASS_COLONCOLON
    1513             : #undef DAGISEL_CLASS_COLONCOLON
    1514             : #endif
    1515             : #ifdef GET_DAGISEL_DECL
    1516             : #undef GET_DAGISEL_DECL
    1517             : #endif
    1518             : #ifdef GET_DAGISEL_BODY
    1519             : #undef GET_DAGISEL_BODY
    1520             : #endif

Generated by: LCOV version 1.13