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: 47 54 87.0 %
Date: 2018-10-20 13:21:21 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_SwitchOpcode /*29 cases */, 21|128,1/*149*/, TARGET_VAL(ISD::INTRINSIC_W_CHAIN),// ->154
      58             : /*     5*/    OPC_RecordNode, // #0 = 'intrinsic_w_chain' chained node
      59             : /*     6*/    OPC_Scope, 28, /*->36*/ // 4 children in Scope
      60             : /*     8*/      OPC_CheckChild1Integer, 109|128,9/*1261*/, 
      61             : /*    11*/      OPC_RecordChild2, // #1 = $pseudo
      62             : /*    12*/      OPC_MoveChild2,
      63             : /*    13*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      64             : /*    16*/      OPC_MoveParent,
      65             : /*    17*/      OPC_RecordChild3, // #2 = $imm
      66             : /*    18*/      OPC_MoveChild3,
      67             : /*    19*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      68             : /*    22*/      OPC_MoveParent,
      69             : /*    23*/      OPC_EmitMergeInputChains1_0,
      70             : /*    24*/      OPC_EmitConvertToTarget, 1,
      71             : /*    26*/      OPC_EmitConvertToTarget, 2,
      72             : /*    28*/      OPC_MorphNodeTo1, TARGET_VAL(BPF::LD_pseudo), 0|OPFL_Chain,
      73             :                     MVT::i64, 2/*#Ops*/, 3, 4, 
      74             :                 // Src: (intrinsic_w_chain:{ *:[i64] } 1261:{ *:[iPTR] }, (imm:{ *:[i64] }):$pseudo, (imm:{ *:[i64] }):$imm) - Complexity = 14
      75             :                 // Dst: (LD_pseudo:{ *:[i64] } (imm:{ *:[i64] }):$pseudo, (imm:{ *:[i64] }):$imm)
      76             : /*    36*/    /*Scope*/ 38, /*->75*/
      77             : /*    37*/      OPC_CheckChild1Integer, 106|128,9/*1258*/, 
      78             : /*    40*/      OPC_RecordChild2, // #1 = $skb
      79             : /*    41*/      OPC_CheckChild2Type, MVT::i64,
      80             : /*    43*/      OPC_RecordChild3, // #2 = $imm
      81             : /*    44*/      OPC_Scope, 18, /*->64*/ // 2 children in Scope
      82             : /*    46*/        OPC_MoveChild3,
      83             : /*    47*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      84             : /*    50*/        OPC_CheckPredicate, 0, // Predicate_i64immSExt32
      85             : /*    52*/        OPC_MoveParent,
      86             : /*    53*/        OPC_EmitMergeInputChains1_0,
      87             : /*    54*/        OPC_EmitConvertToTarget, 2,
      88             : /*    56*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::LD_ABS_B), 0|OPFL_Chain,
      89             :                       MVT::i64, 2/*#Ops*/, 1, 3, 
      90             :                   // Src: (intrinsic_w_chain:{ *:[i64] } 1258:{ *:[iPTR] }, GPR:{ *:[i64] }:$skb, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$imm) - Complexity = 12
      91             :                   // Dst: (LD_ABS_B:{ *:[i64] } GPR:{ *:[i64] }:$skb, (imm:{ *:[i64] }):$imm)
      92             : /*    64*/      /*Scope*/ 9, /*->74*/
      93             : /*    65*/        OPC_EmitMergeInputChains1_0,
      94             : /*    66*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::LD_IND_B), 0|OPFL_Chain,
      95             :                       MVT::i64, 2/*#Ops*/, 1, 2, 
      96             :                   // Src: (intrinsic_w_chain:{ *:[i64] } 1258:{ *:[iPTR] }, GPR:{ *:[i64] }:$skb, GPR:{ *:[i64] }:$val) - Complexity = 8
      97             :                   // Dst: (LD_IND_B:{ *:[i64] } GPR:{ *:[i64] }:$skb, GPR:{ *:[i64] }:$val)
      98             : /*    74*/      0, /*End of Scope*/
      99             : /*    75*/    /*Scope*/ 38, /*->114*/
     100             : /*    76*/      OPC_CheckChild1Integer, 107|128,9/*1259*/, 
     101             : /*    79*/      OPC_RecordChild2, // #1 = $skb
     102             : /*    80*/      OPC_CheckChild2Type, MVT::i64,
     103             : /*    82*/      OPC_RecordChild3, // #2 = $imm
     104             : /*    83*/      OPC_Scope, 18, /*->103*/ // 2 children in Scope
     105             : /*    85*/        OPC_MoveChild3,
     106             : /*    86*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     107             : /*    89*/        OPC_CheckPredicate, 0, // Predicate_i64immSExt32
     108             : /*    91*/        OPC_MoveParent,
     109             : /*    92*/        OPC_EmitMergeInputChains1_0,
     110             : /*    93*/        OPC_EmitConvertToTarget, 2,
     111             : /*    95*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::LD_ABS_H), 0|OPFL_Chain,
     112             :                       MVT::i64, 2/*#Ops*/, 1, 3, 
     113             :                   // Src: (intrinsic_w_chain:{ *:[i64] } 1259:{ *:[iPTR] }, GPR:{ *:[i64] }:$skb, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$imm) - Complexity = 12
     114             :                   // Dst: (LD_ABS_H:{ *:[i64] } GPR:{ *:[i64] }:$skb, (imm:{ *:[i64] }):$imm)
     115             : /*   103*/      /*Scope*/ 9, /*->113*/
     116             : /*   104*/        OPC_EmitMergeInputChains1_0,
     117             : /*   105*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::LD_IND_H), 0|OPFL_Chain,
     118             :                       MVT::i64, 2/*#Ops*/, 1, 2, 
     119             :                   // Src: (intrinsic_w_chain:{ *:[i64] } 1259:{ *:[iPTR] }, GPR:{ *:[i64] }:$skb, GPR:{ *:[i64] }:$val) - Complexity = 8
     120             :                   // Dst: (LD_IND_H:{ *:[i64] } GPR:{ *:[i64] }:$skb, GPR:{ *:[i64] }:$val)
     121             : /*   113*/      0, /*End of Scope*/
     122             : /*   114*/    /*Scope*/ 38, /*->153*/
     123             : /*   115*/      OPC_CheckChild1Integer, 108|128,9/*1260*/, 
     124             : /*   118*/      OPC_RecordChild2, // #1 = $skb
     125             : /*   119*/      OPC_CheckChild2Type, MVT::i64,
     126             : /*   121*/      OPC_RecordChild3, // #2 = $imm
     127             : /*   122*/      OPC_Scope, 18, /*->142*/ // 2 children in Scope
     128             : /*   124*/        OPC_MoveChild3,
     129             : /*   125*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     130             : /*   128*/        OPC_CheckPredicate, 0, // Predicate_i64immSExt32
     131             : /*   130*/        OPC_MoveParent,
     132             : /*   131*/        OPC_EmitMergeInputChains1_0,
     133             : /*   132*/        OPC_EmitConvertToTarget, 2,
     134             : /*   134*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::LD_ABS_W), 0|OPFL_Chain,
     135             :                       MVT::i64, 2/*#Ops*/, 1, 3, 
     136             :                   // Src: (intrinsic_w_chain:{ *:[i64] } 1260:{ *:[iPTR] }, GPR:{ *:[i64] }:$skb, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$imm) - Complexity = 12
     137             :                   // Dst: (LD_ABS_W:{ *:[i64] } GPR:{ *:[i64] }:$skb, (imm:{ *:[i64] }):$imm)
     138             : /*   142*/      /*Scope*/ 9, /*->152*/
     139             : /*   143*/        OPC_EmitMergeInputChains1_0,
     140             : /*   144*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::LD_IND_W), 0|OPFL_Chain,
     141             :                       MVT::i64, 2/*#Ops*/, 1, 2, 
     142             :                   // Src: (intrinsic_w_chain:{ *:[i64] } 1260:{ *:[iPTR] }, GPR:{ *:[i64] }:$skb, GPR:{ *:[i64] }:$val) - Complexity = 8
     143             :                   // Dst: (LD_IND_W:{ *:[i64] } GPR:{ *:[i64] }:$skb, GPR:{ *:[i64] }:$val)
     144             : /*   152*/      0, /*End of Scope*/
     145             : /*   153*/    0, /*End of Scope*/
     146             : /*   154*/  /*SwitchOpcode*/ 114|128,1/*242*/, TARGET_VAL(ISD::STORE),// ->400
     147             : /*   158*/    OPC_RecordMemRef,
     148             : /*   159*/    OPC_RecordNode, // #0 = 'st' chained node
     149             : /*   160*/    OPC_RecordChild1, // #1 = $src
     150             : /*   161*/    OPC_Scope, 41|128,1/*169*/, /*->333*/ // 2 children in Scope
     151             : /*   164*/      OPC_CheckChild1Type, MVT::i64,
     152             : /*   166*/      OPC_RecordChild2, // #2 = $addr
     153             : /*   167*/      OPC_CheckChild2Type, MVT::i64,
     154             : /*   169*/      OPC_CheckPredicate, 1, // Predicate_unindexedstore
     155             : /*   171*/      OPC_Scope, 55, /*->228*/ // 3 children in Scope
     156             : /*   173*/        OPC_CheckPredicate, 2, // Predicate_truncstore
     157             : /*   175*/        OPC_Scope, 16, /*->193*/ // 3 children in Scope
     158             : /*   177*/          OPC_CheckPredicate, 3, // Predicate_truncstorei32
     159             : /*   179*/          OPC_CheckPatternPredicate, 0, // (!Subtarget->getHasAlu32())
     160             : /*   181*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // SelectAddr:$addr #3 #4
     161             : /*   184*/          OPC_EmitMergeInputChains1_0,
     162             : /*   185*/          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             : /*   193*/        /*Scope*/ 16, /*->210*/
     167             : /*   194*/          OPC_CheckPredicate, 4, // Predicate_truncstorei16
     168             : /*   196*/          OPC_CheckPatternPredicate, 0, // (!Subtarget->getHasAlu32())
     169             : /*   198*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // SelectAddr:$addr #3 #4
     170             : /*   201*/          OPC_EmitMergeInputChains1_0,
     171             : /*   202*/          OPC_MorphNodeTo0, TARGET_VAL(BPF::STH), 0|OPFL_Chain|OPFL_MemRefs,
     172             :                         3/*#Ops*/, 1, 3, 4, 
     173             :                     // Src: (st i64:{ *:[i64] }:$src, ADDRri:{ *:[i64] }:$addr)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 13
     174             :                     // Dst: (STH i64:{ *:[i64] }:$src, ADDRri:{ *:[i64] }:$addr)
     175             : /*   210*/        /*Scope*/ 16, /*->227*/
     176             : /*   211*/          OPC_CheckPredicate, 5, // Predicate_truncstorei8
     177             : /*   213*/          OPC_CheckPatternPredicate, 0, // (!Subtarget->getHasAlu32())
     178             : /*   215*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // SelectAddr:$addr #3 #4
     179             : /*   218*/          OPC_EmitMergeInputChains1_0,
     180             : /*   219*/          OPC_MorphNodeTo0, TARGET_VAL(BPF::STB), 0|OPFL_Chain|OPFL_MemRefs,
     181             :                         3/*#Ops*/, 1, 3, 4, 
     182             :                     // Src: (st i64:{ *:[i64] }:$src, ADDRri:{ *:[i64] }:$addr)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei8>> - Complexity = 13
     183             :                     // Dst: (STB i64:{ *:[i64] }:$src, ADDRri:{ *:[i64] }:$addr)
     184             : /*   227*/        0, /*End of Scope*/
     185             : /*   228*/      /*Scope*/ 14, /*->243*/
     186             : /*   229*/        OPC_CheckPredicate, 6, // Predicate_store
     187             : /*   231*/        OPC_CheckComplexPat, /*CP*/0, /*#*/2, // SelectAddr:$addr #3 #4
     188             : /*   234*/        OPC_EmitMergeInputChains1_0,
     189             : /*   235*/        OPC_MorphNodeTo0, TARGET_VAL(BPF::STD), 0|OPFL_Chain|OPFL_MemRefs,
     190             :                       3/*#Ops*/, 1, 3, 4, 
     191             :                   // Src: (st i64:{ *:[i64] }:$src, ADDRri:{ *:[i64] }:$addr)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 13
     192             :                   // Dst: (STD i64:{ *:[i64] }:$src, ADDRri:{ *:[i64] }:$addr)
     193             : /*   243*/      /*Scope*/ 88, /*->332*/
     194             : /*   244*/        OPC_CheckPredicate, 2, // Predicate_truncstore
     195             : /*   246*/        OPC_Scope, 27, /*->275*/ // 3 children in Scope
     196             : /*   248*/          OPC_CheckPredicate, 5, // Predicate_truncstorei8
     197             : /*   250*/          OPC_CheckPatternPredicate, 1, // (Subtarget->getHasAlu32())
     198             : /*   252*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // SelectAddr:$dst #3 #4
     199             : /*   255*/          OPC_EmitMergeInputChains1_0,
     200             : /*   256*/          OPC_EmitInteger, MVT::i32, BPF::sub_32,
     201             : /*   259*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
     202             :                         MVT::i32, 2/*#Ops*/, 1, 5,  // Results = #6
     203             : /*   267*/          OPC_MorphNodeTo0, TARGET_VAL(BPF::STB32), 0|OPFL_Chain|OPFL_MemRefs,
     204             :                         3/*#Ops*/, 6, 3, 4, 
     205             :                     // Src: (st GPR:{ *:[i64] }:$src, ADDRri:{ *:[i64] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei8>> - Complexity = 13
     206             :                     // Dst: (STB32 (EXTRACT_SUBREG:{ *:[i32] } GPR:{ *:[i64] }:$src, sub_32:{ *:[i32] }), ADDRri:{ *:[i64] }:$dst)
     207             : /*   275*/        /*Scope*/ 27, /*->303*/
     208             : /*   276*/          OPC_CheckPredicate, 4, // Predicate_truncstorei16
     209             : /*   278*/          OPC_CheckPatternPredicate, 1, // (Subtarget->getHasAlu32())
     210             : /*   280*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // SelectAddr:$dst #3 #4
     211             : /*   283*/          OPC_EmitMergeInputChains1_0,
     212             : /*   284*/          OPC_EmitInteger, MVT::i32, BPF::sub_32,
     213             : /*   287*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
     214             :                         MVT::i32, 2/*#Ops*/, 1, 5,  // Results = #6
     215             : /*   295*/          OPC_MorphNodeTo0, TARGET_VAL(BPF::STH32), 0|OPFL_Chain|OPFL_MemRefs,
     216             :                         3/*#Ops*/, 6, 3, 4, 
     217             :                     // Src: (st GPR:{ *:[i64] }:$src, ADDRri:{ *:[i64] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 13
     218             :                     // Dst: (STH32 (EXTRACT_SUBREG:{ *:[i32] } GPR:{ *:[i64] }:$src, sub_32:{ *:[i32] }), ADDRri:{ *:[i64] }:$dst)
     219             : /*   303*/        /*Scope*/ 27, /*->331*/
     220             : /*   304*/          OPC_CheckPredicate, 3, // Predicate_truncstorei32
     221             : /*   306*/          OPC_CheckPatternPredicate, 1, // (Subtarget->getHasAlu32())
     222             : /*   308*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // SelectAddr:$dst #3 #4
     223             : /*   311*/          OPC_EmitMergeInputChains1_0,
     224             : /*   312*/          OPC_EmitInteger, MVT::i32, BPF::sub_32,
     225             : /*   315*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
     226             :                         MVT::i32, 2/*#Ops*/, 1, 5,  // Results = #6
     227             : /*   323*/          OPC_MorphNodeTo0, TARGET_VAL(BPF::STW32), 0|OPFL_Chain|OPFL_MemRefs,
     228             :                         3/*#Ops*/, 6, 3, 4, 
     229             :                     // Src: (st GPR:{ *:[i64] }:$src, ADDRri:{ *:[i64] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei32>> - Complexity = 13
     230             :                     // Dst: (STW32 (EXTRACT_SUBREG:{ *:[i32] } GPR:{ *:[i64] }:$src, sub_32:{ *:[i32] }), ADDRri:{ *:[i64] }:$dst)
     231             : /*   331*/        0, /*End of Scope*/
     232             : /*   332*/      0, /*End of Scope*/
     233             : /*   333*/    /*Scope*/ 65, /*->399*/
     234             : /*   334*/      OPC_CheckChild1Type, MVT::i32,
     235             : /*   336*/      OPC_RecordChild2, // #2 = $addr
     236             : /*   337*/      OPC_CheckChild2Type, MVT::i64,
     237             : /*   339*/      OPC_CheckPredicate, 1, // Predicate_unindexedstore
     238             : /*   341*/      OPC_Scope, 16, /*->359*/ // 2 children in Scope
     239             : /*   343*/        OPC_CheckPredicate, 6, // Predicate_store
     240             : /*   345*/        OPC_CheckPatternPredicate, 1, // (Subtarget->getHasAlu32())
     241             : /*   347*/        OPC_CheckComplexPat, /*CP*/0, /*#*/2, // SelectAddr:$addr #3 #4
     242             : /*   350*/        OPC_EmitMergeInputChains1_0,
     243             : /*   351*/        OPC_MorphNodeTo0, TARGET_VAL(BPF::STW32), 0|OPFL_Chain|OPFL_MemRefs,
     244             :                       3/*#Ops*/, 1, 3, 4, 
     245             :                   // Src: (st i32:{ *:[i32] }:$src, ADDRri:{ *:[i64] }:$addr)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 13
     246             :                   // Dst: (STW32 i32:{ *:[i32] }:$src, ADDRri:{ *:[i64] }:$addr)
     247             : /*   359*/      /*Scope*/ 38, /*->398*/
     248             : /*   360*/        OPC_CheckPredicate, 2, // Predicate_truncstore
     249             : /*   362*/        OPC_Scope, 16, /*->380*/ // 2 children in Scope
     250             : /*   364*/          OPC_CheckPredicate, 4, // Predicate_truncstorei16
     251             : /*   366*/          OPC_CheckPatternPredicate, 1, // (Subtarget->getHasAlu32())
     252             : /*   368*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // SelectAddr:$addr #3 #4
     253             : /*   371*/          OPC_EmitMergeInputChains1_0,
     254             : /*   372*/          OPC_MorphNodeTo0, TARGET_VAL(BPF::STH32), 0|OPFL_Chain|OPFL_MemRefs,
     255             :                         3/*#Ops*/, 1, 3, 4, 
     256             :                     // Src: (st i32:{ *:[i32] }:$src, ADDRri:{ *:[i64] }:$addr)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 13
     257             :                     // Dst: (STH32 i32:{ *:[i32] }:$src, ADDRri:{ *:[i64] }:$addr)
     258             : /*   380*/        /*Scope*/ 16, /*->397*/
     259             : /*   381*/          OPC_CheckPredicate, 5, // Predicate_truncstorei8
     260             : /*   383*/          OPC_CheckPatternPredicate, 1, // (Subtarget->getHasAlu32())
     261             : /*   385*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // SelectAddr:$addr #3 #4
     262             : /*   388*/          OPC_EmitMergeInputChains1_0,
     263             : /*   389*/          OPC_MorphNodeTo0, TARGET_VAL(BPF::STB32), 0|OPFL_Chain|OPFL_MemRefs,
     264             :                         3/*#Ops*/, 1, 3, 4, 
     265             :                     // Src: (st i32:{ *:[i32] }:$src, ADDRri:{ *:[i64] }:$addr)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei8>> - Complexity = 13
     266             :                     // Dst: (STB32 i32:{ *:[i32] }:$src, ADDRri:{ *:[i64] }:$addr)
     267             : /*   397*/        0, /*End of Scope*/
     268             : /*   398*/      0, /*End of Scope*/
     269             : /*   399*/    0, /*End of Scope*/
     270             : /*   400*/  /*SwitchOpcode*/ 58|128,3/*442*/, TARGET_VAL(ISD::LOAD),// ->846
     271             : /*   404*/    OPC_RecordMemRef,
     272             : /*   405*/    OPC_RecordNode, // #0 = 'ld' chained node
     273             : /*   406*/    OPC_RecordChild1, // #1 = $addr
     274             : /*   407*/    OPC_CheckChild1Type, MVT::i64,
     275             : /*   409*/    OPC_CheckPredicate, 7, // Predicate_unindexedload
     276             : /*   411*/    OPC_SwitchType /*2 cases */, 75|128,2/*331*/, MVT::i64,// ->746
     277             : /*   415*/      OPC_Scope, 55, /*->472*/ // 5 children in Scope
     278             : /*   417*/        OPC_CheckPredicate, 8, // Predicate_zextload
     279             : /*   419*/        OPC_Scope, 16, /*->437*/ // 3 children in Scope
     280             : /*   421*/          OPC_CheckPredicate, 9, // Predicate_zextloadi32
     281             : /*   423*/          OPC_CheckPatternPredicate, 0, // (!Subtarget->getHasAlu32())
     282             : /*   425*/          OPC_CheckComplexPat, /*CP*/0, /*#*/1, // SelectAddr:$addr #2 #3
     283             : /*   428*/          OPC_EmitMergeInputChains1_0,
     284             : /*   429*/          OPC_MorphNodeTo1, TARGET_VAL(BPF::LDW), 0|OPFL_Chain|OPFL_MemRefs,
     285             :                         MVT::i64, 2/*#Ops*/, 2, 3, 
     286             :                     // Src: (ld:{ *:[i64] } ADDRri:{ *:[i64] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi32>> - Complexity = 13
     287             :                     // Dst: (LDW:{ *:[i64] } ADDRri:{ *:[i64] }:$addr)
     288             : /*   437*/        /*Scope*/ 16, /*->454*/
     289             : /*   438*/          OPC_CheckPredicate, 10, // Predicate_zextloadi16
     290             : /*   440*/          OPC_CheckPatternPredicate, 0, // (!Subtarget->getHasAlu32())
     291             : /*   442*/          OPC_CheckComplexPat, /*CP*/0, /*#*/1, // SelectAddr:$addr #2 #3
     292             : /*   445*/          OPC_EmitMergeInputChains1_0,
     293             : /*   446*/          OPC_MorphNodeTo1, TARGET_VAL(BPF::LDH), 0|OPFL_Chain|OPFL_MemRefs,
     294             :                         MVT::i64, 2/*#Ops*/, 2, 3, 
     295             :                     // Src: (ld:{ *:[i64] } ADDRri:{ *:[i64] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>> - Complexity = 13
     296             :                     // Dst: (LDH:{ *:[i64] } ADDRri:{ *:[i64] }:$addr)
     297             : /*   454*/        /*Scope*/ 16, /*->471*/
     298             : /*   455*/          OPC_CheckPredicate, 11, // Predicate_zextloadi8
     299             : /*   457*/          OPC_CheckPatternPredicate, 0, // (!Subtarget->getHasAlu32())
     300             : /*   459*/          OPC_CheckComplexPat, /*CP*/0, /*#*/1, // SelectAddr:$addr #2 #3
     301             : /*   462*/          OPC_EmitMergeInputChains1_0,
     302             : /*   463*/          OPC_MorphNodeTo1, TARGET_VAL(BPF::LDB), 0|OPFL_Chain|OPFL_MemRefs,
     303             :                         MVT::i64, 2/*#Ops*/, 2, 3, 
     304             :                     // Src: (ld:{ *:[i64] } ADDRri:{ *:[i64] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> - Complexity = 13
     305             :                     // Dst: (LDB:{ *:[i64] } ADDRri:{ *:[i64] }:$addr)
     306             : /*   471*/        0, /*End of Scope*/
     307             : /*   472*/      /*Scope*/ 14, /*->487*/
     308             : /*   473*/        OPC_CheckPredicate, 12, // Predicate_load
     309             : /*   475*/        OPC_CheckComplexPat, /*CP*/0, /*#*/1, // SelectAddr:$addr #2 #3
     310             : /*   478*/        OPC_EmitMergeInputChains1_0,
     311             : /*   479*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::LDD), 0|OPFL_Chain|OPFL_MemRefs,
     312             :                       MVT::i64, 2/*#Ops*/, 2, 3, 
     313             :                   // Src: (ld:{ *:[i64] } ADDRri:{ *:[i64] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 13
     314             :                   // Dst: (LDD:{ *:[i64] } ADDRri:{ *:[i64] }:$addr)
     315             : /*   487*/      /*Scope*/ 55, /*->543*/
     316             : /*   488*/        OPC_CheckPredicate, 13, // Predicate_extload
     317             : /*   490*/        OPC_Scope, 16, /*->508*/ // 3 children in Scope
     318             : /*   492*/          OPC_CheckPredicate, 11, // Predicate_extloadi8
     319             : /*   494*/          OPC_CheckPatternPredicate, 0, // (!Subtarget->getHasAlu32())
     320             : /*   496*/          OPC_CheckComplexPat, /*CP*/0, /*#*/1, // SelectAddr:$src #2 #3
     321             : /*   499*/          OPC_EmitMergeInputChains1_0,
     322             : /*   500*/          OPC_MorphNodeTo1, TARGET_VAL(BPF::LDB), 0|OPFL_Chain|OPFL_MemRefs,
     323             :                         MVT::i64, 2/*#Ops*/, 2, 3, 
     324             :                     // Src: (ld:{ *:[i64] } ADDRri:{ *:[i64] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> - Complexity = 13
     325             :                     // Dst: (LDB:{ *:[i64] } ADDRri:{ *:[i64] }:$src)
     326             : /*   508*/        /*Scope*/ 16, /*->525*/
     327             : /*   509*/          OPC_CheckPredicate, 10, // Predicate_extloadi16
     328             : /*   511*/          OPC_CheckPatternPredicate, 0, // (!Subtarget->getHasAlu32())
     329             : /*   513*/          OPC_CheckComplexPat, /*CP*/0, /*#*/1, // SelectAddr:$src #2 #3
     330             : /*   516*/          OPC_EmitMergeInputChains1_0,
     331             : /*   517*/          OPC_MorphNodeTo1, TARGET_VAL(BPF::LDH), 0|OPFL_Chain|OPFL_MemRefs,
     332             :                         MVT::i64, 2/*#Ops*/, 2, 3, 
     333             :                     // Src: (ld:{ *:[i64] } ADDRri:{ *:[i64] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> - Complexity = 13
     334             :                     // Dst: (LDH:{ *:[i64] } ADDRri:{ *:[i64] }:$src)
     335             : /*   525*/        /*Scope*/ 16, /*->542*/
     336             : /*   526*/          OPC_CheckPredicate, 9, // Predicate_extloadi32
     337             : /*   528*/          OPC_CheckPatternPredicate, 0, // (!Subtarget->getHasAlu32())
     338             : /*   530*/          OPC_CheckComplexPat, /*CP*/0, /*#*/1, // SelectAddr:$src #2 #3
     339             : /*   533*/          OPC_EmitMergeInputChains1_0,
     340             : /*   534*/          OPC_MorphNodeTo1, TARGET_VAL(BPF::LDW), 0|OPFL_Chain|OPFL_MemRefs,
     341             :                         MVT::i64, 2/*#Ops*/, 2, 3, 
     342             :                     // Src: (ld:{ *:[i64] } ADDRri:{ *:[i64] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi32>> - Complexity = 13
     343             :                     // Dst: (LDW:{ *:[i64] } ADDRri:{ *:[i64] }:$src)
     344             : /*   542*/        0, /*End of Scope*/
     345             : /*   543*/      /*Scope*/ 100, /*->644*/
     346             : /*   544*/        OPC_CheckPredicate, 8, // Predicate_zextload
     347             : /*   546*/        OPC_Scope, 31, /*->579*/ // 3 children in Scope
     348             : /*   548*/          OPC_CheckPredicate, 11, // Predicate_zextloadi8
     349             : /*   550*/          OPC_CheckPatternPredicate, 1, // (Subtarget->getHasAlu32())
     350             : /*   552*/          OPC_CheckComplexPat, /*CP*/0, /*#*/1, // SelectAddr:$src #2 #3
     351             : /*   555*/          OPC_EmitMergeInputChains1_0,
     352             : /*   556*/          OPC_EmitInteger, MVT::i64, 0, 
     353             : /*   559*/          OPC_EmitNode1, TARGET_VAL(BPF::LDB32), 0|OPFL_Chain|OPFL_MemRefs,
     354             :                         MVT::i32, 2/*#Ops*/, 2, 3,  // Results = #5
     355             : /*   567*/          OPC_EmitInteger, MVT::i32, BPF::sub_32,
     356             : /*   570*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
     357             :                         MVT::i64, 3/*#Ops*/, 4, 5, 6, 
     358             :                     // Src: (ld:{ *:[i64] } ADDRri:{ *:[i64] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> - Complexity = 13
     359             :                     // Dst: (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (LDB32:{ *:[i32] } ADDRri:{ *:[i64] }:$src), sub_32:{ *:[i32] })
     360             : /*   579*/        /*Scope*/ 31, /*->611*/
     361             : /*   580*/          OPC_CheckPredicate, 10, // Predicate_zextloadi16
     362             : /*   582*/          OPC_CheckPatternPredicate, 1, // (Subtarget->getHasAlu32())
     363             : /*   584*/          OPC_CheckComplexPat, /*CP*/0, /*#*/1, // SelectAddr:$src #2 #3
     364             : /*   587*/          OPC_EmitMergeInputChains1_0,
     365             : /*   588*/          OPC_EmitInteger, MVT::i64, 0, 
     366             : /*   591*/          OPC_EmitNode1, TARGET_VAL(BPF::LDH32), 0|OPFL_Chain|OPFL_MemRefs,
     367             :                         MVT::i32, 2/*#Ops*/, 2, 3,  // Results = #5
     368             : /*   599*/          OPC_EmitInteger, MVT::i32, BPF::sub_32,
     369             : /*   602*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
     370             :                         MVT::i64, 3/*#Ops*/, 4, 5, 6, 
     371             :                     // Src: (ld:{ *:[i64] } ADDRri:{ *:[i64] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>> - Complexity = 13
     372             :                     // Dst: (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (LDH32:{ *:[i32] } ADDRri:{ *:[i64] }:$src), sub_32:{ *:[i32] })
     373             : /*   611*/        /*Scope*/ 31, /*->643*/
     374             : /*   612*/          OPC_CheckPredicate, 9, // Predicate_zextloadi32
     375             : /*   614*/          OPC_CheckPatternPredicate, 1, // (Subtarget->getHasAlu32())
     376             : /*   616*/          OPC_CheckComplexPat, /*CP*/0, /*#*/1, // SelectAddr:$src #2 #3
     377             : /*   619*/          OPC_EmitMergeInputChains1_0,
     378             : /*   620*/          OPC_EmitInteger, MVT::i64, 0, 
     379             : /*   623*/          OPC_EmitNode1, TARGET_VAL(BPF::LDW32), 0|OPFL_Chain|OPFL_MemRefs,
     380             :                         MVT::i32, 2/*#Ops*/, 2, 3,  // Results = #5
     381             : /*   631*/          OPC_EmitInteger, MVT::i32, BPF::sub_32,
     382             : /*   634*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
     383             :                         MVT::i64, 3/*#Ops*/, 4, 5, 6, 
     384             :                     // Src: (ld:{ *:[i64] } ADDRri:{ *:[i64] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi32>> - Complexity = 13
     385             :                     // Dst: (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (LDW32:{ *:[i32] } ADDRri:{ *:[i64] }:$src), sub_32:{ *:[i32] })
     386             : /*   643*/        0, /*End of Scope*/
     387             : /*   644*/      /*Scope*/ 100, /*->745*/
     388             : /*   645*/        OPC_CheckPredicate, 13, // Predicate_extload
     389             : /*   647*/        OPC_Scope, 31, /*->680*/ // 3 children in Scope
     390             : /*   649*/          OPC_CheckPredicate, 11, // Predicate_extloadi8
     391             : /*   651*/          OPC_CheckPatternPredicate, 1, // (Subtarget->getHasAlu32())
     392             : /*   653*/          OPC_CheckComplexPat, /*CP*/0, /*#*/1, // SelectAddr:$src #2 #3
     393             : /*   656*/          OPC_EmitMergeInputChains1_0,
     394             : /*   657*/          OPC_EmitInteger, MVT::i64, 0, 
     395             : /*   660*/          OPC_EmitNode1, TARGET_VAL(BPF::LDB32), 0|OPFL_Chain|OPFL_MemRefs,
     396             :                         MVT::i32, 2/*#Ops*/, 2, 3,  // Results = #5
     397             : /*   668*/          OPC_EmitInteger, MVT::i32, BPF::sub_32,
     398             : /*   671*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
     399             :                         MVT::i64, 3/*#Ops*/, 4, 5, 6, 
     400             :                     // Src: (ld:{ *:[i64] } ADDRri:{ *:[i64] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> - Complexity = 13
     401             :                     // Dst: (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (LDB32:{ *:[i32] } ADDRri:{ *:[i64] }:$src), sub_32:{ *:[i32] })
     402             : /*   680*/        /*Scope*/ 31, /*->712*/
     403             : /*   681*/          OPC_CheckPredicate, 10, // Predicate_extloadi16
     404             : /*   683*/          OPC_CheckPatternPredicate, 1, // (Subtarget->getHasAlu32())
     405             : /*   685*/          OPC_CheckComplexPat, /*CP*/0, /*#*/1, // SelectAddr:$src #2 #3
     406             : /*   688*/          OPC_EmitMergeInputChains1_0,
     407             : /*   689*/          OPC_EmitInteger, MVT::i64, 0, 
     408             : /*   692*/          OPC_EmitNode1, TARGET_VAL(BPF::LDH32), 0|OPFL_Chain|OPFL_MemRefs,
     409             :                         MVT::i32, 2/*#Ops*/, 2, 3,  // Results = #5
     410             : /*   700*/          OPC_EmitInteger, MVT::i32, BPF::sub_32,
     411             : /*   703*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
     412             :                         MVT::i64, 3/*#Ops*/, 4, 5, 6, 
     413             :                     // Src: (ld:{ *:[i64] } ADDRri:{ *:[i64] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> - Complexity = 13
     414             :                     // Dst: (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (LDH32:{ *:[i32] } ADDRri:{ *:[i64] }:$src), sub_32:{ *:[i32] })
     415             : /*   712*/        /*Scope*/ 31, /*->744*/
     416             : /*   713*/          OPC_CheckPredicate, 9, // Predicate_extloadi32
     417             : /*   715*/          OPC_CheckPatternPredicate, 1, // (Subtarget->getHasAlu32())
     418             : /*   717*/          OPC_CheckComplexPat, /*CP*/0, /*#*/1, // SelectAddr:$src #2 #3
     419             : /*   720*/          OPC_EmitMergeInputChains1_0,
     420             : /*   721*/          OPC_EmitInteger, MVT::i64, 0, 
     421             : /*   724*/          OPC_EmitNode1, TARGET_VAL(BPF::LDW32), 0|OPFL_Chain|OPFL_MemRefs,
     422             :                         MVT::i32, 2/*#Ops*/, 2, 3,  // Results = #5
     423             : /*   732*/          OPC_EmitInteger, MVT::i32, BPF::sub_32,
     424             : /*   735*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
     425             :                         MVT::i64, 3/*#Ops*/, 4, 5, 6, 
     426             :                     // Src: (ld:{ *:[i64] } ADDRri:{ *:[i64] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi32>> - Complexity = 13
     427             :                     // Dst: (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (LDW32:{ *:[i32] } ADDRri:{ *:[i64] }:$src), sub_32:{ *:[i32] })
     428             : /*   744*/        0, /*End of Scope*/
     429             : /*   745*/      0, /*End of Scope*/
     430             : /*   746*/    /*SwitchType*/ 97, MVT::i32,// ->845
     431             : /*   748*/      OPC_Scope, 16, /*->766*/ // 3 children in Scope
     432             : /*   750*/        OPC_CheckPredicate, 12, // Predicate_load
     433             : /*   752*/        OPC_CheckPatternPredicate, 1, // (Subtarget->getHasAlu32())
     434             : /*   754*/        OPC_CheckComplexPat, /*CP*/0, /*#*/1, // SelectAddr:$addr #2 #3
     435             : /*   757*/        OPC_EmitMergeInputChains1_0,
     436             : /*   758*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::LDW32), 0|OPFL_Chain|OPFL_MemRefs,
     437             :                       MVT::i32, 2/*#Ops*/, 2, 3, 
     438             :                   // Src: (ld:{ *:[i32] } ADDRri:{ *:[i64] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 13
     439             :                   // Dst: (LDW32:{ *:[i32] } ADDRri:{ *:[i64] }:$addr)
     440             : /*   766*/      /*Scope*/ 38, /*->805*/
     441             : /*   767*/        OPC_CheckPredicate, 8, // Predicate_zextload
     442             : /*   769*/        OPC_Scope, 16, /*->787*/ // 2 children in Scope
     443             : /*   771*/          OPC_CheckPredicate, 10, // Predicate_zextloadi16
     444             : /*   773*/          OPC_CheckPatternPredicate, 1, // (Subtarget->getHasAlu32())
     445             : /*   775*/          OPC_CheckComplexPat, /*CP*/0, /*#*/1, // SelectAddr:$addr #2 #3
     446             : /*   778*/          OPC_EmitMergeInputChains1_0,
     447             : /*   779*/          OPC_MorphNodeTo1, TARGET_VAL(BPF::LDH32), 0|OPFL_Chain|OPFL_MemRefs,
     448             :                         MVT::i32, 2/*#Ops*/, 2, 3, 
     449             :                     // Src: (ld:{ *:[i32] } ADDRri:{ *:[i64] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>> - Complexity = 13
     450             :                     // Dst: (LDH32:{ *:[i32] } ADDRri:{ *:[i64] }:$addr)
     451             : /*   787*/        /*Scope*/ 16, /*->804*/
     452             : /*   788*/          OPC_CheckPredicate, 11, // Predicate_zextloadi8
     453             : /*   790*/          OPC_CheckPatternPredicate, 1, // (Subtarget->getHasAlu32())
     454             : /*   792*/          OPC_CheckComplexPat, /*CP*/0, /*#*/1, // SelectAddr:$addr #2 #3
     455             : /*   795*/          OPC_EmitMergeInputChains1_0,
     456             : /*   796*/          OPC_MorphNodeTo1, TARGET_VAL(BPF::LDB32), 0|OPFL_Chain|OPFL_MemRefs,
     457             :                         MVT::i32, 2/*#Ops*/, 2, 3, 
     458             :                     // Src: (ld:{ *:[i32] } ADDRri:{ *:[i64] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> - Complexity = 13
     459             :                     // Dst: (LDB32:{ *:[i32] } ADDRri:{ *:[i64] }:$addr)
     460             : /*   804*/        0, /*End of Scope*/
     461             : /*   805*/      /*Scope*/ 38, /*->844*/
     462             : /*   806*/        OPC_CheckPredicate, 13, // Predicate_extload
     463             : /*   808*/        OPC_Scope, 16, /*->826*/ // 2 children in Scope
     464             : /*   810*/          OPC_CheckPredicate, 11, // Predicate_extloadi8
     465             : /*   812*/          OPC_CheckPatternPredicate, 1, // (Subtarget->getHasAlu32())
     466             : /*   814*/          OPC_CheckComplexPat, /*CP*/0, /*#*/1, // SelectAddr:$src #2 #3
     467             : /*   817*/          OPC_EmitMergeInputChains1_0,
     468             : /*   818*/          OPC_MorphNodeTo1, TARGET_VAL(BPF::LDB32), 0|OPFL_Chain|OPFL_MemRefs,
     469             :                         MVT::i32, 2/*#Ops*/, 2, 3, 
     470             :                     // Src: (ld:{ *:[i32] } ADDRri:{ *:[i64] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> - Complexity = 13
     471             :                     // Dst: (LDB32:{ *:[i32] } ADDRri:{ *:[i64] }:$src)
     472             : /*   826*/        /*Scope*/ 16, /*->843*/
     473             : /*   827*/          OPC_CheckPredicate, 10, // Predicate_extloadi16
     474             : /*   829*/          OPC_CheckPatternPredicate, 1, // (Subtarget->getHasAlu32())
     475             : /*   831*/          OPC_CheckComplexPat, /*CP*/0, /*#*/1, // SelectAddr:$src #2 #3
     476             : /*   834*/          OPC_EmitMergeInputChains1_0,
     477             : /*   835*/          OPC_MorphNodeTo1, TARGET_VAL(BPF::LDH32), 0|OPFL_Chain|OPFL_MemRefs,
     478             :                         MVT::i32, 2/*#Ops*/, 2, 3, 
     479             :                     // Src: (ld:{ *:[i32] } ADDRri:{ *:[i64] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> - Complexity = 13
     480             :                     // Dst: (LDH32:{ *:[i32] } ADDRri:{ *:[i64] }:$src)
     481             : /*   843*/        0, /*End of Scope*/
     482             : /*   844*/      0, /*End of Scope*/
     483             : /*   845*/    0, // EndSwitchType
     484             : /*   846*/  /*SwitchOpcode*/ 42, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),// ->891
     485             : /*   849*/    OPC_RecordMemRef,
     486             : /*   850*/    OPC_RecordNode, // #0 = 'atomic_load_add' chained node
     487             : /*   851*/    OPC_RecordChild1, // #1 = $addr
     488             : /*   852*/    OPC_CheckChild1Type, MVT::i64,
     489             : /*   854*/    OPC_RecordChild2, // #2 = $val
     490             : /*   855*/    OPC_CheckType, MVT::i64,
     491             : /*   857*/    OPC_Scope, 15, /*->874*/ // 2 children in Scope
     492             : /*   859*/      OPC_CheckPredicate, 14, // Predicate_atomic_load_add_32
     493             : /*   861*/      OPC_CheckComplexPat, /*CP*/0, /*#*/1, // SelectAddr:$addr #3 #4
     494             : /*   864*/      OPC_EmitMergeInputChains1_0,
     495             : /*   865*/      OPC_MorphNodeTo1, TARGET_VAL(BPF::XADD32), 0|OPFL_Chain|OPFL_MemRefs,
     496             :                     MVT::i64, 3/*#Ops*/, 3, 4, 2, 
     497             :                 // Src: (atomic_load_add:{ *:[i64] } ADDRri:{ *:[i64] }:$addr, GPR:{ *:[i64] }:$val)<<P:Predicate_atomic_load_add_32>> - Complexity = 13
     498             :                 // Dst: (XADD32:{ *:[i64] } ADDRri:{ *:[i64] }:$addr, GPR:{ *:[i64] }:$val)
     499             : /*   874*/    /*Scope*/ 15, /*->890*/
     500             : /*   875*/      OPC_CheckPredicate, 15, // Predicate_atomic_load_add_64
     501             : /*   877*/      OPC_CheckComplexPat, /*CP*/0, /*#*/1, // SelectAddr:$addr #3 #4
     502             : /*   880*/      OPC_EmitMergeInputChains1_0,
     503             : /*   881*/      OPC_MorphNodeTo1, TARGET_VAL(BPF::XADD64), 0|OPFL_Chain|OPFL_MemRefs,
     504             :                     MVT::i64, 3/*#Ops*/, 3, 4, 2, 
     505             :                 // Src: (atomic_load_add:{ *:[i64] } ADDRri:{ *:[i64] }:$addr, GPR:{ *:[i64] }:$val)<<P:Predicate_atomic_load_add_64>> - Complexity = 13
     506             :                 // Dst: (XADD64:{ *:[i64] } ADDRri:{ *:[i64] }:$addr, GPR:{ *:[i64] }:$val)
     507             : /*   890*/    0, /*End of Scope*/
     508             : /*   891*/  /*SwitchOpcode*/ 51|128,3/*435*/, TARGET_VAL(BPFISD::BR_CC),// ->1330
     509             : /*   895*/    OPC_RecordNode, // #0 = 'BPFbrcc' chained node
     510             : /*   896*/    OPC_CaptureGlueInput,
     511             : /*   897*/    OPC_RecordChild1, // #1 = $dst
     512             : /*   898*/    OPC_CheckChild1Type, MVT::i64,
     513             : /*   900*/    OPC_RecordChild2, // #2 = $imm
     514             : /*   901*/    OPC_Scope, 97|128,1/*225*/, /*->1129*/ // 2 children in Scope
     515             : /*   904*/      OPC_MoveChild2,
     516             : /*   905*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     517             : /*   908*/      OPC_CheckPredicate, 0, // Predicate_i64immSExt32
     518             : /*   910*/      OPC_MoveParent,
     519             : /*   911*/      OPC_MoveChild3,
     520             : /*   912*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     521             : /*   915*/      OPC_CheckType, MVT::i64,
     522             : /*   917*/      OPC_Scope, 20, /*->939*/ // 10 children in Scope
     523             : /*   919*/        OPC_CheckPredicate, 16, // Predicate_BPF_CC_EQ
     524             : /*   921*/        OPC_MoveParent,
     525             : /*   922*/        OPC_RecordChild4, // #3 = $BrDst
     526             : /*   923*/        OPC_MoveChild4,
     527             : /*   924*/        OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
     528             : /*   927*/        OPC_MoveParent,
     529             : /*   928*/        OPC_EmitMergeInputChains1_0,
     530             : /*   929*/        OPC_EmitConvertToTarget, 2,
     531             : /*   931*/        OPC_MorphNodeTo0, TARGET_VAL(BPF::JEQ_ri), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
     532             :                       3/*#Ops*/, 1, 4, 3, 
     533             :                   // Src: (BPFbrcc i64:{ *:[i64] }:$dst, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$imm, (imm:{ *:[i64] })<<P:Predicate_BPF_CC_EQ>>, (bb:{ *:[Other] }):$BrDst) - Complexity = 11
     534             :                   // Dst: (JEQ_ri i64:{ *:[i64] }:$dst, (imm:{ *:[i64] }):$imm, (bb:{ *:[Other] }):$BrDst)
     535             : /*   939*/      /*Scope*/ 20, /*->960*/
     536             : /*   940*/        OPC_CheckPredicate, 17, // Predicate_BPF_CC_GTU
     537             : /*   942*/        OPC_MoveParent,
     538             : /*   943*/        OPC_RecordChild4, // #3 = $BrDst
     539             : /*   944*/        OPC_MoveChild4,
     540             : /*   945*/        OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
     541             : /*   948*/        OPC_MoveParent,
     542             : /*   949*/        OPC_EmitMergeInputChains1_0,
     543             : /*   950*/        OPC_EmitConvertToTarget, 2,
     544             : /*   952*/        OPC_MorphNodeTo0, TARGET_VAL(BPF::JUGT_ri), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
     545             :                       3/*#Ops*/, 1, 4, 3, 
     546             :                   // Src: (BPFbrcc i64:{ *:[i64] }:$dst, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$imm, (imm:{ *:[i64] })<<P:Predicate_BPF_CC_GTU>>, (bb:{ *:[Other] }):$BrDst) - Complexity = 11
     547             :                   // Dst: (JUGT_ri i64:{ *:[i64] }:$dst, (imm:{ *:[i64] }):$imm, (bb:{ *:[Other] }):$BrDst)
     548             : /*   960*/      /*Scope*/ 20, /*->981*/
     549             : /*   961*/        OPC_CheckPredicate, 18, // Predicate_BPF_CC_GEU
     550             : /*   963*/        OPC_MoveParent,
     551             : /*   964*/        OPC_RecordChild4, // #3 = $BrDst
     552             : /*   965*/        OPC_MoveChild4,
     553             : /*   966*/        OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
     554             : /*   969*/        OPC_MoveParent,
     555             : /*   970*/        OPC_EmitMergeInputChains1_0,
     556             : /*   971*/        OPC_EmitConvertToTarget, 2,
     557             : /*   973*/        OPC_MorphNodeTo0, TARGET_VAL(BPF::JUGE_ri), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
     558             :                       3/*#Ops*/, 1, 4, 3, 
     559             :                   // Src: (BPFbrcc i64:{ *:[i64] }:$dst, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$imm, (imm:{ *:[i64] })<<P:Predicate_BPF_CC_GEU>>, (bb:{ *:[Other] }):$BrDst) - Complexity = 11
     560             :                   // Dst: (JUGE_ri i64:{ *:[i64] }:$dst, (imm:{ *:[i64] }):$imm, (bb:{ *:[Other] }):$BrDst)
     561             : /*   981*/      /*Scope*/ 20, /*->1002*/
     562             : /*   982*/        OPC_CheckPredicate, 19, // Predicate_BPF_CC_NE
     563             : /*   984*/        OPC_MoveParent,
     564             : /*   985*/        OPC_RecordChild4, // #3 = $BrDst
     565             : /*   986*/        OPC_MoveChild4,
     566             : /*   987*/        OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
     567             : /*   990*/        OPC_MoveParent,
     568             : /*   991*/        OPC_EmitMergeInputChains1_0,
     569             : /*   992*/        OPC_EmitConvertToTarget, 2,
     570             : /*   994*/        OPC_MorphNodeTo0, TARGET_VAL(BPF::JNE_ri), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
     571             :                       3/*#Ops*/, 1, 4, 3, 
     572             :                   // Src: (BPFbrcc i64:{ *:[i64] }:$dst, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$imm, (imm:{ *:[i64] })<<P:Predicate_BPF_CC_NE>>, (bb:{ *:[Other] }):$BrDst) - Complexity = 11
     573             :                   // Dst: (JNE_ri i64:{ *:[i64] }:$dst, (imm:{ *:[i64] }):$imm, (bb:{ *:[Other] }):$BrDst)
     574             : /*  1002*/      /*Scope*/ 20, /*->1023*/
     575             : /*  1003*/        OPC_CheckPredicate, 20, // Predicate_BPF_CC_GT
     576             : /*  1005*/        OPC_MoveParent,
     577             : /*  1006*/        OPC_RecordChild4, // #3 = $BrDst
     578             : /*  1007*/        OPC_MoveChild4,
     579             : /*  1008*/        OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
     580             : /*  1011*/        OPC_MoveParent,
     581             : /*  1012*/        OPC_EmitMergeInputChains1_0,
     582             : /*  1013*/        OPC_EmitConvertToTarget, 2,
     583             : /*  1015*/        OPC_MorphNodeTo0, TARGET_VAL(BPF::JSGT_ri), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
     584             :                       3/*#Ops*/, 1, 4, 3, 
     585             :                   // Src: (BPFbrcc i64:{ *:[i64] }:$dst, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$imm, (imm:{ *:[i64] })<<P:Predicate_BPF_CC_GT>>, (bb:{ *:[Other] }):$BrDst) - Complexity = 11
     586             :                   // Dst: (JSGT_ri i64:{ *:[i64] }:$dst, (imm:{ *:[i64] }):$imm, (bb:{ *:[Other] }):$BrDst)
     587             : /*  1023*/      /*Scope*/ 20, /*->1044*/
     588             : /*  1024*/        OPC_CheckPredicate, 21, // Predicate_BPF_CC_GE
     589             : /*  1026*/        OPC_MoveParent,
     590             : /*  1027*/        OPC_RecordChild4, // #3 = $BrDst
     591             : /*  1028*/        OPC_MoveChild4,
     592             : /*  1029*/        OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
     593             : /*  1032*/        OPC_MoveParent,
     594             : /*  1033*/        OPC_EmitMergeInputChains1_0,
     595             : /*  1034*/        OPC_EmitConvertToTarget, 2,
     596             : /*  1036*/        OPC_MorphNodeTo0, TARGET_VAL(BPF::JSGE_ri), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
     597             :                       3/*#Ops*/, 1, 4, 3, 
     598             :                   // Src: (BPFbrcc i64:{ *:[i64] }:$dst, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$imm, (imm:{ *:[i64] })<<P:Predicate_BPF_CC_GE>>, (bb:{ *:[Other] }):$BrDst) - Complexity = 11
     599             :                   // Dst: (JSGE_ri i64:{ *:[i64] }:$dst, (imm:{ *:[i64] }):$imm, (bb:{ *:[Other] }):$BrDst)
     600             : /*  1044*/      /*Scope*/ 20, /*->1065*/
     601             : /*  1045*/        OPC_CheckPredicate, 22, // Predicate_BPF_CC_LTU
     602             : /*  1047*/        OPC_MoveParent,
     603             : /*  1048*/        OPC_RecordChild4, // #3 = $BrDst
     604             : /*  1049*/        OPC_MoveChild4,
     605             : /*  1050*/        OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
     606             : /*  1053*/        OPC_MoveParent,
     607             : /*  1054*/        OPC_EmitMergeInputChains1_0,
     608             : /*  1055*/        OPC_EmitConvertToTarget, 2,
     609             : /*  1057*/        OPC_MorphNodeTo0, TARGET_VAL(BPF::JULT_ri), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
     610             :                       3/*#Ops*/, 1, 4, 3, 
     611             :                   // Src: (BPFbrcc i64:{ *:[i64] }:$dst, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$imm, (imm:{ *:[i64] })<<P:Predicate_BPF_CC_LTU>>, (bb:{ *:[Other] }):$BrDst) - Complexity = 11
     612             :                   // Dst: (JULT_ri i64:{ *:[i64] }:$dst, (imm:{ *:[i64] }):$imm, (bb:{ *:[Other] }):$BrDst)
     613             : /*  1065*/      /*Scope*/ 20, /*->1086*/
     614             : /*  1066*/        OPC_CheckPredicate, 23, // Predicate_BPF_CC_LEU
     615             : /*  1068*/        OPC_MoveParent,
     616             : /*  1069*/        OPC_RecordChild4, // #3 = $BrDst
     617             : /*  1070*/        OPC_MoveChild4,
     618             : /*  1071*/        OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
     619             : /*  1074*/        OPC_MoveParent,
     620             : /*  1075*/        OPC_EmitMergeInputChains1_0,
     621             : /*  1076*/        OPC_EmitConvertToTarget, 2,
     622             : /*  1078*/        OPC_MorphNodeTo0, TARGET_VAL(BPF::JULE_ri), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
     623             :                       3/*#Ops*/, 1, 4, 3, 
     624             :                   // Src: (BPFbrcc i64:{ *:[i64] }:$dst, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$imm, (imm:{ *:[i64] })<<P:Predicate_BPF_CC_LEU>>, (bb:{ *:[Other] }):$BrDst) - Complexity = 11
     625             :                   // Dst: (JULE_ri i64:{ *:[i64] }:$dst, (imm:{ *:[i64] }):$imm, (bb:{ *:[Other] }):$BrDst)
     626             : /*  1086*/      /*Scope*/ 20, /*->1107*/
     627             : /*  1087*/        OPC_CheckPredicate, 24, // Predicate_BPF_CC_LT
     628             : /*  1089*/        OPC_MoveParent,
     629             : /*  1090*/        OPC_RecordChild4, // #3 = $BrDst
     630             : /*  1091*/        OPC_MoveChild4,
     631             : /*  1092*/        OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
     632             : /*  1095*/        OPC_MoveParent,
     633             : /*  1096*/        OPC_EmitMergeInputChains1_0,
     634             : /*  1097*/        OPC_EmitConvertToTarget, 2,
     635             : /*  1099*/        OPC_MorphNodeTo0, TARGET_VAL(BPF::JSLT_ri), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
     636             :                       3/*#Ops*/, 1, 4, 3, 
     637             :                   // Src: (BPFbrcc i64:{ *:[i64] }:$dst, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$imm, (imm:{ *:[i64] })<<P:Predicate_BPF_CC_LT>>, (bb:{ *:[Other] }):$BrDst) - Complexity = 11
     638             :                   // Dst: (JSLT_ri i64:{ *:[i64] }:$dst, (imm:{ *:[i64] }):$imm, (bb:{ *:[Other] }):$BrDst)
     639             : /*  1107*/      /*Scope*/ 20, /*->1128*/
     640             : /*  1108*/        OPC_CheckPredicate, 25, // Predicate_BPF_CC_LE
     641             : /*  1110*/        OPC_MoveParent,
     642             : /*  1111*/        OPC_RecordChild4, // #3 = $BrDst
     643             : /*  1112*/        OPC_MoveChild4,
     644             : /*  1113*/        OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
     645             : /*  1116*/        OPC_MoveParent,
     646             : /*  1117*/        OPC_EmitMergeInputChains1_0,
     647             : /*  1118*/        OPC_EmitConvertToTarget, 2,
     648             : /*  1120*/        OPC_MorphNodeTo0, TARGET_VAL(BPF::JSLE_ri), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
     649             :                       3/*#Ops*/, 1, 4, 3, 
     650             :                   // Src: (BPFbrcc i64:{ *:[i64] }:$dst, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$imm, (imm:{ *:[i64] })<<P:Predicate_BPF_CC_LE>>, (bb:{ *:[Other] }):$BrDst) - Complexity = 11
     651             :                   // Dst: (JSLE_ri i64:{ *:[i64] }:$dst, (imm:{ *:[i64] }):$imm, (bb:{ *:[Other] }):$BrDst)
     652             : /*  1128*/      0, /*End of Scope*/
     653             : /*  1129*/    /*Scope*/ 70|128,1/*198*/, /*->1329*/
     654             : /*  1131*/      OPC_MoveChild3,
     655             : /*  1132*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     656             : /*  1135*/      OPC_CheckType, MVT::i64,
     657             : /*  1137*/      OPC_Scope, 18, /*->1157*/ // 10 children in Scope
     658             : /*  1139*/        OPC_CheckPredicate, 16, // Predicate_BPF_CC_EQ
     659             : /*  1141*/        OPC_MoveParent,
     660             : /*  1142*/        OPC_RecordChild4, // #3 = $BrDst
     661             : /*  1143*/        OPC_MoveChild4,
     662             : /*  1144*/        OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
     663             : /*  1147*/        OPC_MoveParent,
     664             : /*  1148*/        OPC_EmitMergeInputChains1_0,
     665             : /*  1149*/        OPC_MorphNodeTo0, TARGET_VAL(BPF::JEQ_rr), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
     666             :                       3/*#Ops*/, 1, 2, 3, 
     667             :                   // Src: (BPFbrcc i64:{ *:[i64] }:$dst, i64:{ *:[i64] }:$src, (imm:{ *:[i64] })<<P:Predicate_BPF_CC_EQ>>, (bb:{ *:[Other] }):$BrDst) - Complexity = 7
     668             :                   // Dst: (JEQ_rr i64:{ *:[i64] }:$dst, i64:{ *:[i64] }:$src, (bb:{ *:[Other] }):$BrDst)
     669             : /*  1157*/      /*Scope*/ 18, /*->1176*/
     670             : /*  1158*/        OPC_CheckPredicate, 17, // Predicate_BPF_CC_GTU
     671             : /*  1160*/        OPC_MoveParent,
     672             : /*  1161*/        OPC_RecordChild4, // #3 = $BrDst
     673             : /*  1162*/        OPC_MoveChild4,
     674             : /*  1163*/        OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
     675             : /*  1166*/        OPC_MoveParent,
     676             : /*  1167*/        OPC_EmitMergeInputChains1_0,
     677             : /*  1168*/        OPC_MorphNodeTo0, TARGET_VAL(BPF::JUGT_rr), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
     678             :                       3/*#Ops*/, 1, 2, 3, 
     679             :                   // Src: (BPFbrcc i64:{ *:[i64] }:$dst, i64:{ *:[i64] }:$src, (imm:{ *:[i64] })<<P:Predicate_BPF_CC_GTU>>, (bb:{ *:[Other] }):$BrDst) - Complexity = 7
     680             :                   // Dst: (JUGT_rr i64:{ *:[i64] }:$dst, i64:{ *:[i64] }:$src, (bb:{ *:[Other] }):$BrDst)
     681             : /*  1176*/      /*Scope*/ 18, /*->1195*/
     682             : /*  1177*/        OPC_CheckPredicate, 18, // Predicate_BPF_CC_GEU
     683             : /*  1179*/        OPC_MoveParent,
     684             : /*  1180*/        OPC_RecordChild4, // #3 = $BrDst
     685             : /*  1181*/        OPC_MoveChild4,
     686             : /*  1182*/        OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
     687             : /*  1185*/        OPC_MoveParent,
     688             : /*  1186*/        OPC_EmitMergeInputChains1_0,
     689             : /*  1187*/        OPC_MorphNodeTo0, TARGET_VAL(BPF::JUGE_rr), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
     690             :                       3/*#Ops*/, 1, 2, 3, 
     691             :                   // Src: (BPFbrcc i64:{ *:[i64] }:$dst, i64:{ *:[i64] }:$src, (imm:{ *:[i64] })<<P:Predicate_BPF_CC_GEU>>, (bb:{ *:[Other] }):$BrDst) - Complexity = 7
     692             :                   // Dst: (JUGE_rr i64:{ *:[i64] }:$dst, i64:{ *:[i64] }:$src, (bb:{ *:[Other] }):$BrDst)
     693             : /*  1195*/      /*Scope*/ 18, /*->1214*/
     694             : /*  1196*/        OPC_CheckPredicate, 19, // Predicate_BPF_CC_NE
     695             : /*  1198*/        OPC_MoveParent,
     696             : /*  1199*/        OPC_RecordChild4, // #3 = $BrDst
     697             : /*  1200*/        OPC_MoveChild4,
     698             : /*  1201*/        OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
     699             : /*  1204*/        OPC_MoveParent,
     700             : /*  1205*/        OPC_EmitMergeInputChains1_0,
     701             : /*  1206*/        OPC_MorphNodeTo0, TARGET_VAL(BPF::JNE_rr), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
     702             :                       3/*#Ops*/, 1, 2, 3, 
     703             :                   // Src: (BPFbrcc i64:{ *:[i64] }:$dst, i64:{ *:[i64] }:$src, (imm:{ *:[i64] })<<P:Predicate_BPF_CC_NE>>, (bb:{ *:[Other] }):$BrDst) - Complexity = 7
     704             :                   // Dst: (JNE_rr i64:{ *:[i64] }:$dst, i64:{ *:[i64] }:$src, (bb:{ *:[Other] }):$BrDst)
     705             : /*  1214*/      /*Scope*/ 18, /*->1233*/
     706             : /*  1215*/        OPC_CheckPredicate, 20, // Predicate_BPF_CC_GT
     707             : /*  1217*/        OPC_MoveParent,
     708             : /*  1218*/        OPC_RecordChild4, // #3 = $BrDst
     709             : /*  1219*/        OPC_MoveChild4,
     710             : /*  1220*/        OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
     711             : /*  1223*/        OPC_MoveParent,
     712             : /*  1224*/        OPC_EmitMergeInputChains1_0,
     713             : /*  1225*/        OPC_MorphNodeTo0, TARGET_VAL(BPF::JSGT_rr), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
     714             :                       3/*#Ops*/, 1, 2, 3, 
     715             :                   // Src: (BPFbrcc i64:{ *:[i64] }:$dst, i64:{ *:[i64] }:$src, (imm:{ *:[i64] })<<P:Predicate_BPF_CC_GT>>, (bb:{ *:[Other] }):$BrDst) - Complexity = 7
     716             :                   // Dst: (JSGT_rr i64:{ *:[i64] }:$dst, i64:{ *:[i64] }:$src, (bb:{ *:[Other] }):$BrDst)
     717             : /*  1233*/      /*Scope*/ 18, /*->1252*/
     718             : /*  1234*/        OPC_CheckPredicate, 21, // Predicate_BPF_CC_GE
     719             : /*  1236*/        OPC_MoveParent,
     720             : /*  1237*/        OPC_RecordChild4, // #3 = $BrDst
     721             : /*  1238*/        OPC_MoveChild4,
     722             : /*  1239*/        OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
     723             : /*  1242*/        OPC_MoveParent,
     724             : /*  1243*/        OPC_EmitMergeInputChains1_0,
     725             : /*  1244*/        OPC_MorphNodeTo0, TARGET_VAL(BPF::JSGE_rr), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
     726             :                       3/*#Ops*/, 1, 2, 3, 
     727             :                   // Src: (BPFbrcc i64:{ *:[i64] }:$dst, i64:{ *:[i64] }:$src, (imm:{ *:[i64] })<<P:Predicate_BPF_CC_GE>>, (bb:{ *:[Other] }):$BrDst) - Complexity = 7
     728             :                   // Dst: (JSGE_rr i64:{ *:[i64] }:$dst, i64:{ *:[i64] }:$src, (bb:{ *:[Other] }):$BrDst)
     729             : /*  1252*/      /*Scope*/ 18, /*->1271*/
     730             : /*  1253*/        OPC_CheckPredicate, 22, // Predicate_BPF_CC_LTU
     731             : /*  1255*/        OPC_MoveParent,
     732             : /*  1256*/        OPC_RecordChild4, // #3 = $BrDst
     733             : /*  1257*/        OPC_MoveChild4,
     734             : /*  1258*/        OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
     735             : /*  1261*/        OPC_MoveParent,
     736             : /*  1262*/        OPC_EmitMergeInputChains1_0,
     737             : /*  1263*/        OPC_MorphNodeTo0, TARGET_VAL(BPF::JULT_rr), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
     738             :                       3/*#Ops*/, 1, 2, 3, 
     739             :                   // Src: (BPFbrcc i64:{ *:[i64] }:$dst, i64:{ *:[i64] }:$src, (imm:{ *:[i64] })<<P:Predicate_BPF_CC_LTU>>, (bb:{ *:[Other] }):$BrDst) - Complexity = 7
     740             :                   // Dst: (JULT_rr i64:{ *:[i64] }:$dst, i64:{ *:[i64] }:$src, (bb:{ *:[Other] }):$BrDst)
     741             : /*  1271*/      /*Scope*/ 18, /*->1290*/
     742             : /*  1272*/        OPC_CheckPredicate, 23, // Predicate_BPF_CC_LEU
     743             : /*  1274*/        OPC_MoveParent,
     744             : /*  1275*/        OPC_RecordChild4, // #3 = $BrDst
     745             : /*  1276*/        OPC_MoveChild4,
     746             : /*  1277*/        OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
     747             : /*  1280*/        OPC_MoveParent,
     748             : /*  1281*/        OPC_EmitMergeInputChains1_0,
     749             : /*  1282*/        OPC_MorphNodeTo0, TARGET_VAL(BPF::JULE_rr), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
     750             :                       3/*#Ops*/, 1, 2, 3, 
     751             :                   // Src: (BPFbrcc i64:{ *:[i64] }:$dst, i64:{ *:[i64] }:$src, (imm:{ *:[i64] })<<P:Predicate_BPF_CC_LEU>>, (bb:{ *:[Other] }):$BrDst) - Complexity = 7
     752             :                   // Dst: (JULE_rr i64:{ *:[i64] }:$dst, i64:{ *:[i64] }:$src, (bb:{ *:[Other] }):$BrDst)
     753             : /*  1290*/      /*Scope*/ 18, /*->1309*/
     754             : /*  1291*/        OPC_CheckPredicate, 24, // Predicate_BPF_CC_LT
     755             : /*  1293*/        OPC_MoveParent,
     756             : /*  1294*/        OPC_RecordChild4, // #3 = $BrDst
     757             : /*  1295*/        OPC_MoveChild4,
     758             : /*  1296*/        OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
     759             : /*  1299*/        OPC_MoveParent,
     760             : /*  1300*/        OPC_EmitMergeInputChains1_0,
     761             : /*  1301*/        OPC_MorphNodeTo0, TARGET_VAL(BPF::JSLT_rr), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
     762             :                       3/*#Ops*/, 1, 2, 3, 
     763             :                   // Src: (BPFbrcc i64:{ *:[i64] }:$dst, i64:{ *:[i64] }:$src, (imm:{ *:[i64] })<<P:Predicate_BPF_CC_LT>>, (bb:{ *:[Other] }):$BrDst) - Complexity = 7
     764             :                   // Dst: (JSLT_rr i64:{ *:[i64] }:$dst, i64:{ *:[i64] }:$src, (bb:{ *:[Other] }):$BrDst)
     765             : /*  1309*/      /*Scope*/ 18, /*->1328*/
     766             : /*  1310*/        OPC_CheckPredicate, 25, // Predicate_BPF_CC_LE
     767             : /*  1312*/        OPC_MoveParent,
     768             : /*  1313*/        OPC_RecordChild4, // #3 = $BrDst
     769             : /*  1314*/        OPC_MoveChild4,
     770             : /*  1315*/        OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
     771             : /*  1318*/        OPC_MoveParent,
     772             : /*  1319*/        OPC_EmitMergeInputChains1_0,
     773             : /*  1320*/        OPC_MorphNodeTo0, TARGET_VAL(BPF::JSLE_rr), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
     774             :                       3/*#Ops*/, 1, 2, 3, 
     775             :                   // Src: (BPFbrcc i64:{ *:[i64] }:$dst, i64:{ *:[i64] }:$src, (imm:{ *:[i64] })<<P:Predicate_BPF_CC_LE>>, (bb:{ *:[Other] }):$BrDst) - Complexity = 7
     776             :                   // Dst: (JSLE_rr i64:{ *:[i64] }:$dst, i64:{ *:[i64] }:$src, (bb:{ *:[Other] }):$BrDst)
     777             : /*  1328*/      0, /*End of Scope*/
     778             : /*  1329*/    0, /*End of Scope*/
     779             : /*  1330*/  /*SwitchOpcode*/ 11|128,1/*139*/, TARGET_VAL(ISD::SRL),// ->1473
     780             : /*  1334*/    OPC_Scope, 64, /*->1400*/ // 2 children in Scope
     781             : /*  1336*/      OPC_MoveChild0,
     782             : /*  1337*/      OPC_CheckOpcode, TARGET_VAL(ISD::BSWAP),
     783             : /*  1340*/      OPC_RecordChild0, // #0 = $src
     784             : /*  1341*/      OPC_MoveParent,
     785             : /*  1342*/      OPC_CheckType, MVT::i64,
     786             : /*  1344*/      OPC_Scope, 26, /*->1372*/ // 2 children in Scope
     787             : /*  1346*/        OPC_CheckChild1Integer, 48, 
     788             : /*  1348*/        OPC_CheckChild1Type, MVT::i64,
     789             : /*  1350*/        OPC_Scope, 9, /*->1361*/ // 2 children in Scope
     790             : /*  1352*/          OPC_CheckPatternPredicate, 2, // (CurDAG->getDataLayout().isLittleEndian())
     791             : /*  1354*/          OPC_MorphNodeTo1, TARGET_VAL(BPF::BE16), 0,
     792             :                         MVT::i64, 1/*#Ops*/, 0, 
     793             :                     // Src: (srl:{ *:[i64] } (bswap:{ *:[i64] } GPR:{ *:[i64] }:$src), 48:{ *:[i64] }) - Complexity = 11
     794             :                     // Dst: (BE16:{ *:[i64] } GPR:{ *:[i64] }:$src)
     795             : /*  1361*/        /*Scope*/ 9, /*->1371*/
     796             : /*  1362*/          OPC_CheckPatternPredicate, 3, // (!CurDAG->getDataLayout().isLittleEndian())
     797             : /*  1364*/          OPC_MorphNodeTo1, TARGET_VAL(BPF::LE16), 0,
     798             :                         MVT::i64, 1/*#Ops*/, 0, 
     799             :                     // Src: (srl:{ *:[i64] } (bswap:{ *:[i64] } GPR:{ *:[i64] }:$src), 48:{ *:[i64] }) - Complexity = 11
     800             :                     // Dst: (LE16:{ *:[i64] } GPR:{ *:[i64] }:$src)
     801             : /*  1371*/        0, /*End of Scope*/
     802             : /*  1372*/      /*Scope*/ 26, /*->1399*/
     803             : /*  1373*/        OPC_CheckChild1Integer, 32, 
     804             : /*  1375*/        OPC_CheckChild1Type, MVT::i64,
     805             : /*  1377*/        OPC_Scope, 9, /*->1388*/ // 2 children in Scope
     806             : /*  1379*/          OPC_CheckPatternPredicate, 2, // (CurDAG->getDataLayout().isLittleEndian())
     807             : /*  1381*/          OPC_MorphNodeTo1, TARGET_VAL(BPF::BE32), 0,
     808             :                         MVT::i64, 1/*#Ops*/, 0, 
     809             :                     // Src: (srl:{ *:[i64] } (bswap:{ *:[i64] } GPR:{ *:[i64] }:$src), 32:{ *:[i64] }) - Complexity = 11
     810             :                     // Dst: (BE32:{ *:[i64] } GPR:{ *:[i64] }:$src)
     811             : /*  1388*/        /*Scope*/ 9, /*->1398*/
     812             : /*  1389*/          OPC_CheckPatternPredicate, 3, // (!CurDAG->getDataLayout().isLittleEndian())
     813             : /*  1391*/          OPC_MorphNodeTo1, TARGET_VAL(BPF::LE32), 0,
     814             :                         MVT::i64, 1/*#Ops*/, 0, 
     815             :                     // Src: (srl:{ *:[i64] } (bswap:{ *:[i64] } GPR:{ *:[i64] }:$src), 32:{ *:[i64] }) - Complexity = 11
     816             :                     // Dst: (LE32:{ *:[i64] } GPR:{ *:[i64] }:$src)
     817             : /*  1398*/        0, /*End of Scope*/
     818             : /*  1399*/      0, /*End of Scope*/
     819             : /*  1400*/    /*Scope*/ 71, /*->1472*/
     820             : /*  1401*/      OPC_RecordChild0, // #0 = $src2
     821             : /*  1402*/      OPC_RecordChild1, // #1 = $imm
     822             : /*  1403*/      OPC_Scope, 40, /*->1445*/ // 3 children in Scope
     823             : /*  1405*/        OPC_MoveChild1,
     824             : /*  1406*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     825             : /*  1409*/        OPC_SwitchType /*2 cases */, 15, MVT::i64,// ->1427
     826             : /*  1412*/          OPC_CheckPredicate, 0, // Predicate_i64immSExt32
     827             : /*  1414*/          OPC_MoveParent,
     828             : /*  1415*/          OPC_CheckType, MVT::i64,
     829             : /*  1417*/          OPC_EmitConvertToTarget, 1,
     830             : /*  1419*/          OPC_MorphNodeTo1, TARGET_VAL(BPF::SRL_ri), 0,
     831             :                         MVT::i64, 2/*#Ops*/, 0, 2, 
     832             :                     // Src: (srl:{ *:[i64] } GPR:{ *:[i64] }:$src2, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$imm) - Complexity = 7
     833             :                     // Dst: (SRL_ri:{ *:[i64] } GPR:{ *:[i64] }:$src2, (imm:{ *:[i64] }):$imm)
     834             : /*  1427*/        /*SwitchType*/ 15, MVT::i32,// ->1444
     835             : /*  1429*/          OPC_CheckPredicate, 0, // Predicate_i32immSExt32
     836             : /*  1431*/          OPC_MoveParent,
     837             : /*  1432*/          OPC_CheckType, MVT::i32,
     838             : /*  1434*/          OPC_EmitConvertToTarget, 1,
     839             : /*  1436*/          OPC_MorphNodeTo1, TARGET_VAL(BPF::SRL_ri_32), 0,
     840             :                         MVT::i32, 2/*#Ops*/, 0, 2, 
     841             :                     // Src: (srl:{ *:[i32] } GPR32:{ *:[i32] }:$src2, (imm:{ *:[i32] })<<P:Predicate_i32immSExt32>>:$imm) - Complexity = 7
     842             :                     // Dst: (SRL_ri_32:{ *:[i32] } GPR32:{ *:[i32] }:$src2, (imm:{ *:[i32] }):$imm)
     843             : /*  1444*/        0, // EndSwitchType
     844             : /*  1445*/      /*Scope*/ 12, /*->1458*/
     845             : /*  1446*/        OPC_CheckChild1Type, MVT::i64,
     846             : /*  1448*/        OPC_CheckType, MVT::i64,
     847             : /*  1450*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::SRL_rr), 0,
     848             :                       MVT::i64, 2/*#Ops*/, 0, 1, 
     849             :                   // Src: (srl:{ *:[i64] } i64:{ *:[i64] }:$src2, i64:{ *:[i64] }:$src) - Complexity = 3
     850             :                   // Dst: (SRL_rr:{ *:[i64] } i64:{ *:[i64] }:$src2, i64:{ *:[i64] }:$src)
     851             : /*  1458*/      /*Scope*/ 12, /*->1471*/
     852             : /*  1459*/        OPC_CheckChild1Type, MVT::i32,
     853             : /*  1461*/        OPC_CheckType, MVT::i32,
     854             : /*  1463*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::SRL_rr_32), 0,
     855             :                       MVT::i32, 2/*#Ops*/, 0, 1, 
     856             :                   // Src: (srl:{ *:[i32] } i32:{ *:[i32] }:$src2, i32:{ *:[i32] }:$src) - Complexity = 3
     857             :                   // Dst: (SRL_rr_32:{ *:[i32] } i32:{ *:[i32] }:$src2, i32:{ *:[i32] }:$src)
     858             : /*  1471*/      0, /*End of Scope*/
     859             : /*  1472*/    0, /*End of Scope*/
     860             : /*  1473*/  /*SwitchOpcode*/ 82|128,1/*210*/, TARGET_VAL(BPFISD::SELECT_CC),// ->1687
     861             : /*  1477*/    OPC_CaptureGlueInput,
     862             : /*  1478*/    OPC_RecordChild0, // #0 = $lhs
     863             : /*  1479*/    OPC_Scope, 102, /*->1583*/ // 2 children in Scope
     864             : /*  1481*/      OPC_CheckChild0Type, MVT::i64,
     865             : /*  1483*/      OPC_RecordChild1, // #1 = $rhs
     866             : /*  1484*/      OPC_Scope, 53, /*->1539*/ // 2 children in Scope
     867             : /*  1486*/        OPC_MoveChild1,
     868             : /*  1487*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     869             : /*  1490*/        OPC_CheckPredicate, 0, // Predicate_i64immSExt32
     870             : /*  1492*/        OPC_MoveParent,
     871             : /*  1493*/        OPC_RecordChild2, // #2 = $imm
     872             : /*  1494*/        OPC_MoveChild2,
     873             : /*  1495*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     874             : /*  1498*/        OPC_CheckType, MVT::i64,
     875             : /*  1500*/        OPC_MoveParent,
     876             : /*  1501*/        OPC_RecordChild3, // #3 = $src
     877             : /*  1502*/        OPC_RecordChild4, // #4 = $src2
     878             : /*  1503*/        OPC_SwitchType /*2 cases */, 15, MVT::i64,// ->1521
     879             : /*  1506*/          OPC_EmitConvertToTarget, 1,
     880             : /*  1508*/          OPC_EmitConvertToTarget, 2,
     881             : /*  1510*/          OPC_MorphNodeTo1, TARGET_VAL(BPF::Select_Ri), 0|OPFL_GlueInput,
     882             :                         MVT::i64, 5/*#Ops*/, 0, 5, 6, 3, 4, 
     883             :                     // Src: (BPFselectcc:{ *:[i64] } i64:{ *:[i64] }:$lhs, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$rhs, (imm:{ *:[i64] }):$imm, i64:{ *:[i64] }:$src, i64:{ *:[i64] }:$src2) - Complexity = 10
     884             :                     // Dst: (Select_Ri:{ *:[i64] } i64:{ *:[i64] }:$lhs, (imm:{ *:[i64] }):$rhs, (imm:{ *:[i64] }):$imm, i64:{ *:[i64] }:$src, i64:{ *:[i64] }:$src2)
     885             : /*  1521*/        /*SwitchType*/ 15, MVT::i32,// ->1538
     886             : /*  1523*/          OPC_EmitConvertToTarget, 1,
     887             : /*  1525*/          OPC_EmitConvertToTarget, 2,
     888             : /*  1527*/          OPC_MorphNodeTo1, TARGET_VAL(BPF::Select_Ri_64_32), 0|OPFL_GlueInput,
     889             :                         MVT::i32, 5/*#Ops*/, 0, 5, 6, 3, 4, 
     890             :                     // Src: (BPFselectcc:{ *:[i32] } i64:{ *:[i64] }:$lhs, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$rhs, (imm:{ *:[i64] }):$imm, i32:{ *:[i32] }:$src, i32:{ *:[i32] }:$src2) - Complexity = 10
     891             :                     // Dst: (Select_Ri_64_32:{ *:[i32] } i64:{ *:[i64] }:$lhs, (imm:{ *:[i64] }):$rhs, (imm:{ *:[i64] }):$imm, i32:{ *:[i32] }:$src, i32:{ *:[i32] }:$src2)
     892             : /*  1538*/        0, // EndSwitchType
     893             : /*  1539*/      /*Scope*/ 42, /*->1582*/
     894             : /*  1540*/        OPC_RecordChild2, // #2 = $imm
     895             : /*  1541*/        OPC_MoveChild2,
     896             : /*  1542*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     897             : /*  1545*/        OPC_CheckType, MVT::i64,
     898             : /*  1547*/        OPC_MoveParent,
     899             : /*  1548*/        OPC_RecordChild3, // #3 = $src
     900             : /*  1549*/        OPC_RecordChild4, // #4 = $src2
     901             : /*  1550*/        OPC_SwitchType /*2 cases */, 13, MVT::i64,// ->1566
     902             : /*  1553*/          OPC_EmitConvertToTarget, 2,
     903             : /*  1555*/          OPC_MorphNodeTo1, TARGET_VAL(BPF::Select), 0|OPFL_GlueInput,
     904             :                         MVT::i64, 5/*#Ops*/, 0, 1, 5, 3, 4, 
     905             :                     // Src: (BPFselectcc:{ *:[i64] } i64:{ *:[i64] }:$lhs, i64:{ *:[i64] }:$rhs, (imm:{ *:[i64] }):$imm, i64:{ *:[i64] }:$src, i64:{ *:[i64] }:$src2) - Complexity = 6
     906             :                     // Dst: (Select:{ *:[i64] } i64:{ *:[i64] }:$lhs, i64:{ *:[i64] }:$rhs, (imm:{ *:[i64] }):$imm, i64:{ *:[i64] }:$src, i64:{ *:[i64] }:$src2)
     907             : /*  1566*/        /*SwitchType*/ 13, MVT::i32,// ->1581
     908             : /*  1568*/          OPC_EmitConvertToTarget, 2,
     909             : /*  1570*/          OPC_MorphNodeTo1, TARGET_VAL(BPF::Select_64_32), 0|OPFL_GlueInput,
     910             :                         MVT::i32, 5/*#Ops*/, 0, 1, 5, 3, 4, 
     911             :                     // Src: (BPFselectcc:{ *:[i32] } i64:{ *:[i64] }:$lhs, i64:{ *:[i64] }:$rhs, (imm:{ *:[i64] }):$imm, i32:{ *:[i32] }:$src, i32:{ *:[i32] }:$src2) - Complexity = 6
     912             :                     // Dst: (Select_64_32:{ *:[i32] } i64:{ *:[i64] }:$lhs, i64:{ *:[i64] }:$rhs, (imm:{ *:[i64] }):$imm, i32:{ *:[i32] }:$src, i32:{ *:[i32] }:$src2)
     913             : /*  1581*/        0, // EndSwitchType
     914             : /*  1582*/      0, /*End of Scope*/
     915             : /*  1583*/    /*Scope*/ 102, /*->1686*/
     916             : /*  1584*/      OPC_CheckChild0Type, MVT::i32,
     917             : /*  1586*/      OPC_RecordChild1, // #1 = $rhs
     918             : /*  1587*/      OPC_Scope, 53, /*->1642*/ // 2 children in Scope
     919             : /*  1589*/        OPC_MoveChild1,
     920             : /*  1590*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     921             : /*  1593*/        OPC_CheckPredicate, 0, // Predicate_i32immSExt32
     922             : /*  1595*/        OPC_MoveParent,
     923             : /*  1596*/        OPC_RecordChild2, // #2 = $imm
     924             : /*  1597*/        OPC_MoveChild2,
     925             : /*  1598*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     926             : /*  1601*/        OPC_CheckType, MVT::i32,
     927             : /*  1603*/        OPC_MoveParent,
     928             : /*  1604*/        OPC_RecordChild3, // #3 = $src
     929             : /*  1605*/        OPC_RecordChild4, // #4 = $src2
     930             : /*  1606*/        OPC_SwitchType /*2 cases */, 15, MVT::i32,// ->1624
     931             : /*  1609*/          OPC_EmitConvertToTarget, 1,
     932             : /*  1611*/          OPC_EmitConvertToTarget, 2,
     933             : /*  1613*/          OPC_MorphNodeTo1, TARGET_VAL(BPF::Select_Ri_32), 0|OPFL_GlueInput,
     934             :                         MVT::i32, 5/*#Ops*/, 0, 5, 6, 3, 4, 
     935             :                     // Src: (BPFselectcc:{ *:[i32] } i32:{ *:[i32] }:$lhs, (imm:{ *:[i32] })<<P:Predicate_i32immSExt32>>:$rhs, (imm:{ *:[i32] }):$imm, i32:{ *:[i32] }:$src, i32:{ *:[i32] }:$src2) - Complexity = 10
     936             :                     // Dst: (Select_Ri_32:{ *:[i32] } i32:{ *:[i32] }:$lhs, (imm:{ *:[i32] }):$rhs, (imm:{ *:[i32] }):$imm, i32:{ *:[i32] }:$src, i32:{ *:[i32] }:$src2)
     937             : /*  1624*/        /*SwitchType*/ 15, MVT::i64,// ->1641
     938             : /*  1626*/          OPC_EmitConvertToTarget, 1,
     939             : /*  1628*/          OPC_EmitConvertToTarget, 2,
     940             : /*  1630*/          OPC_MorphNodeTo1, TARGET_VAL(BPF::Select_Ri_32_64), 0|OPFL_GlueInput,
     941             :                         MVT::i64, 5/*#Ops*/, 0, 5, 6, 3, 4, 
     942             :                     // Src: (BPFselectcc:{ *:[i64] } i32:{ *:[i32] }:$lhs, (imm:{ *:[i32] })<<P:Predicate_i32immSExt32>>:$rhs, (imm:{ *:[i32] }):$imm, i64:{ *:[i64] }:$src, i64:{ *:[i64] }:$src2) - Complexity = 10
     943             :                     // Dst: (Select_Ri_32_64:{ *:[i64] } i32:{ *:[i32] }:$lhs, (imm:{ *:[i32] }):$rhs, (imm:{ *:[i32] }):$imm, i64:{ *:[i64] }:$src, i64:{ *:[i64] }:$src2)
     944             : /*  1641*/        0, // EndSwitchType
     945             : /*  1642*/      /*Scope*/ 42, /*->1685*/
     946             : /*  1643*/        OPC_RecordChild2, // #2 = $imm
     947             : /*  1644*/        OPC_MoveChild2,
     948             : /*  1645*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     949             : /*  1648*/        OPC_CheckType, MVT::i32,
     950             : /*  1650*/        OPC_MoveParent,
     951             : /*  1651*/        OPC_RecordChild3, // #3 = $src
     952             : /*  1652*/        OPC_RecordChild4, // #4 = $src2
     953             : /*  1653*/        OPC_SwitchType /*2 cases */, 13, MVT::i32,// ->1669
     954             : /*  1656*/          OPC_EmitConvertToTarget, 2,
     955             : /*  1658*/          OPC_MorphNodeTo1, TARGET_VAL(BPF::Select_32), 0|OPFL_GlueInput,
     956             :                         MVT::i32, 5/*#Ops*/, 0, 1, 5, 3, 4, 
     957             :                     // Src: (BPFselectcc:{ *:[i32] } i32:{ *:[i32] }:$lhs, i32:{ *:[i32] }:$rhs, (imm:{ *:[i32] }):$imm, i32:{ *:[i32] }:$src, i32:{ *:[i32] }:$src2) - Complexity = 6
     958             :                     // Dst: (Select_32:{ *:[i32] } i32:{ *:[i32] }:$lhs, i32:{ *:[i32] }:$rhs, (imm:{ *:[i32] }):$imm, i32:{ *:[i32] }:$src, i32:{ *:[i32] }:$src2)
     959             : /*  1669*/        /*SwitchType*/ 13, MVT::i64,// ->1684
     960             : /*  1671*/          OPC_EmitConvertToTarget, 2,
     961             : /*  1673*/          OPC_MorphNodeTo1, TARGET_VAL(BPF::Select_32_64), 0|OPFL_GlueInput,
     962             :                         MVT::i64, 5/*#Ops*/, 0, 1, 5, 3, 4, 
     963             :                     // Src: (BPFselectcc:{ *:[i64] } i32:{ *:[i32] }:$lhs, i32:{ *:[i32] }:$rhs, (imm:{ *:[i32] }):$imm, i64:{ *:[i64] }:$src, i64:{ *:[i64] }:$src2) - Complexity = 6
     964             :                     // Dst: (Select_32_64:{ *:[i64] } i32:{ *:[i32] }:$lhs, i32:{ *:[i32] }:$rhs, (imm:{ *:[i32] }):$imm, i64:{ *:[i64] }:$src, i64:{ *:[i64] }:$src2)
     965             : /*  1684*/        0, // EndSwitchType
     966             : /*  1685*/      0, /*End of Scope*/
     967             : /*  1686*/    0, /*End of Scope*/
     968             : /*  1687*/  /*SwitchOpcode*/ 83, TARGET_VAL(ISD::ADD),// ->1773
     969             : /*  1690*/    OPC_Scope, 14, /*->1706*/ // 2 children in Scope
     970             : /*  1692*/      OPC_RecordNode, // #0 = $addr
     971             : /*  1693*/      OPC_CheckType, MVT::i64,
     972             : /*  1695*/      OPC_CheckComplexPat, /*CP*/1, /*#*/0, // SelectFIAddr:$addr #1 #2
     973             : /*  1698*/      OPC_MorphNodeTo1, TARGET_VAL(BPF::FI_ri), 0,
     974             :                     MVT::i64, 2/*#Ops*/, 1, 2, 
     975             :                 // Src: FIri:{ *:[i64] }:$addr - Complexity = 9
     976             :                 // Dst: (FI_ri:{ *:[i64] } FIri:{ *:[i64] }:$addr)
     977             : /*  1706*/    /*Scope*/ 65, /*->1772*/
     978             : /*  1707*/      OPC_RecordChild0, // #0 = $src2
     979             : /*  1708*/      OPC_RecordChild1, // #1 = $imm
     980             : /*  1709*/      OPC_Scope, 38, /*->1749*/ // 3 children in Scope
     981             : /*  1711*/        OPC_MoveChild1,
     982             : /*  1712*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     983             : /*  1715*/        OPC_Scope, 15, /*->1732*/ // 2 children in Scope
     984             : /*  1717*/          OPC_CheckPredicate, 0, // Predicate_i64immSExt32
     985             : /*  1719*/          OPC_MoveParent,
     986             : /*  1720*/          OPC_CheckType, MVT::i64,
     987             : /*  1722*/          OPC_EmitConvertToTarget, 1,
     988             : /*  1724*/          OPC_MorphNodeTo1, TARGET_VAL(BPF::ADD_ri), 0,
     989             :                         MVT::i64, 2/*#Ops*/, 0, 2, 
     990             :                     // Src: (add:{ *:[i64] } GPR:{ *:[i64] }:$src2, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$imm) - Complexity = 7
     991             :                     // Dst: (ADD_ri:{ *:[i64] } GPR:{ *:[i64] }:$src2, (imm:{ *:[i64] }):$imm)
     992             : /*  1732*/        /*Scope*/ 15, /*->1748*/
     993             : /*  1733*/          OPC_CheckPredicate, 0, // Predicate_i32immSExt32
     994             : /*  1735*/          OPC_MoveParent,
     995             : /*  1736*/          OPC_CheckType, MVT::i32,
     996             : /*  1738*/          OPC_EmitConvertToTarget, 1,
     997             : /*  1740*/          OPC_MorphNodeTo1, TARGET_VAL(BPF::ADD_ri_32), 0,
     998             :                         MVT::i32, 2/*#Ops*/, 0, 2, 
     999             :                     // Src: (add:{ *:[i32] } GPR32:{ *:[i32] }:$src2, (imm:{ *:[i32] })<<P:Predicate_i32immSExt32>>:$imm) - Complexity = 7
    1000             :                     // Dst: (ADD_ri_32:{ *:[i32] } GPR32:{ *:[i32] }:$src2, (imm:{ *:[i32] }):$imm)
    1001             : /*  1748*/        0, /*End of Scope*/
    1002             : /*  1749*/      /*Scope*/ 10, /*->1760*/
    1003             : /*  1750*/        OPC_CheckType, MVT::i64,
    1004             : /*  1752*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::ADD_rr), 0,
    1005             :                       MVT::i64, 2/*#Ops*/, 0, 1, 
    1006             :                   // Src: (add:{ *:[i64] } i64:{ *:[i64] }:$src2, i64:{ *:[i64] }:$src) - Complexity = 3
    1007             :                   // Dst: (ADD_rr:{ *:[i64] } i64:{ *:[i64] }:$src2, i64:{ *:[i64] }:$src)
    1008             : /*  1760*/      /*Scope*/ 10, /*->1771*/
    1009             : /*  1761*/        OPC_CheckType, MVT::i32,
    1010             : /*  1763*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::ADD_rr_32), 0,
    1011             :                       MVT::i32, 2/*#Ops*/, 0, 1, 
    1012             :                   // Src: (add:{ *:[i32] } i32:{ *:[i32] }:$src2, i32:{ *:[i32] }:$src) - Complexity = 3
    1013             :                   // Dst: (ADD_rr_32:{ *:[i32] } i32:{ *:[i32] }:$src2, i32:{ *:[i32] }:$src)
    1014             : /*  1771*/      0, /*End of Scope*/
    1015             : /*  1772*/    0, /*End of Scope*/
    1016             : /*  1773*/  /*SwitchOpcode*/ 83, TARGET_VAL(ISD::OR),// ->1859
    1017             : /*  1776*/    OPC_Scope, 14, /*->1792*/ // 2 children in Scope
    1018             : /*  1778*/      OPC_RecordNode, // #0 = $addr
    1019             : /*  1779*/      OPC_CheckType, MVT::i64,
    1020             : /*  1781*/      OPC_CheckComplexPat, /*CP*/1, /*#*/0, // SelectFIAddr:$addr #1 #2
    1021             : /*  1784*/      OPC_MorphNodeTo1, TARGET_VAL(BPF::FI_ri), 0,
    1022             :                     MVT::i64, 2/*#Ops*/, 1, 2, 
    1023             :                 // Src: FIri:{ *:[i64] }:$addr - Complexity = 9
    1024             :                 // Dst: (FI_ri:{ *:[i64] } FIri:{ *:[i64] }:$addr)
    1025             : /*  1792*/    /*Scope*/ 65, /*->1858*/
    1026             : /*  1793*/      OPC_RecordChild0, // #0 = $src2
    1027             : /*  1794*/      OPC_RecordChild1, // #1 = $imm
    1028             : /*  1795*/      OPC_Scope, 38, /*->1835*/ // 3 children in Scope
    1029             : /*  1797*/        OPC_MoveChild1,
    1030             : /*  1798*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    1031             : /*  1801*/        OPC_Scope, 15, /*->1818*/ // 2 children in Scope
    1032             : /*  1803*/          OPC_CheckPredicate, 0, // Predicate_i64immSExt32
    1033             : /*  1805*/          OPC_MoveParent,
    1034             : /*  1806*/          OPC_CheckType, MVT::i64,
    1035             : /*  1808*/          OPC_EmitConvertToTarget, 1,
    1036             : /*  1810*/          OPC_MorphNodeTo1, TARGET_VAL(BPF::OR_ri), 0,
    1037             :                         MVT::i64, 2/*#Ops*/, 0, 2, 
    1038             :                     // Src: (or:{ *:[i64] } GPR:{ *:[i64] }:$src2, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$imm) - Complexity = 7
    1039             :                     // Dst: (OR_ri:{ *:[i64] } GPR:{ *:[i64] }:$src2, (imm:{ *:[i64] }):$imm)
    1040             : /*  1818*/        /*Scope*/ 15, /*->1834*/
    1041             : /*  1819*/          OPC_CheckPredicate, 0, // Predicate_i32immSExt32
    1042             : /*  1821*/          OPC_MoveParent,
    1043             : /*  1822*/          OPC_CheckType, MVT::i32,
    1044             : /*  1824*/          OPC_EmitConvertToTarget, 1,
    1045             : /*  1826*/          OPC_MorphNodeTo1, TARGET_VAL(BPF::OR_ri_32), 0,
    1046             :                         MVT::i32, 2/*#Ops*/, 0, 2, 
    1047             :                     // Src: (or:{ *:[i32] } GPR32:{ *:[i32] }:$src2, (imm:{ *:[i32] })<<P:Predicate_i32immSExt32>>:$imm) - Complexity = 7
    1048             :                     // Dst: (OR_ri_32:{ *:[i32] } GPR32:{ *:[i32] }:$src2, (imm:{ *:[i32] }):$imm)
    1049             : /*  1834*/        0, /*End of Scope*/
    1050             : /*  1835*/      /*Scope*/ 10, /*->1846*/
    1051             : /*  1836*/        OPC_CheckType, MVT::i64,
    1052             : /*  1838*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::OR_rr), 0,
    1053             :                       MVT::i64, 2/*#Ops*/, 0, 1, 
    1054             :                   // Src: (or:{ *:[i64] } i64:{ *:[i64] }:$src2, i64:{ *:[i64] }:$src) - Complexity = 3
    1055             :                   // Dst: (OR_rr:{ *:[i64] } i64:{ *:[i64] }:$src2, i64:{ *:[i64] }:$src)
    1056             : /*  1846*/      /*Scope*/ 10, /*->1857*/
    1057             : /*  1847*/        OPC_CheckType, MVT::i32,
    1058             : /*  1849*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::OR_rr_32), 0,
    1059             :                       MVT::i32, 2/*#Ops*/, 0, 1, 
    1060             :                   // Src: (or:{ *:[i32] } i32:{ *:[i32] }:$src2, i32:{ *:[i32] }:$src) - Complexity = 3
    1061             :                   // Dst: (OR_rr_32:{ *:[i32] } i32:{ *:[i32] }:$src2, i32:{ *:[i32] }:$src)
    1062             : /*  1857*/      0, /*End of Scope*/
    1063             : /*  1858*/    0, /*End of Scope*/
    1064             : /*  1859*/  /*SwitchOpcode*/ 22, TARGET_VAL(ISD::CALLSEQ_START),// ->1884
    1065             : /*  1862*/    OPC_RecordNode, // #0 = 'BPFcallseq_start' chained node
    1066             : /*  1863*/    OPC_RecordChild1, // #1 = $amt1
    1067             : /*  1864*/    OPC_MoveChild1,
    1068             : /*  1865*/    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    1069             : /*  1868*/    OPC_MoveParent,
    1070             : /*  1869*/    OPC_RecordChild2, // #2 = $amt2
    1071             : /*  1870*/    OPC_MoveChild2,
    1072             : /*  1871*/    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    1073             : /*  1874*/    OPC_MoveParent,
    1074             : /*  1875*/    OPC_EmitMergeInputChains1_0,
    1075             : /*  1876*/    OPC_MorphNodeTo1, TARGET_VAL(BPF::ADJCALLSTACKDOWN), 0|OPFL_Chain|OPFL_GlueOutput,
    1076             :                   MVT::i64, 2/*#Ops*/, 1, 2, 
    1077             :               // Src: (BPFcallseq_start (timm:{ *:[iPTR] }):$amt1, (timm:{ *:[iPTR] }):$amt2) - Complexity = 9
    1078             :               // Dst: (ADJCALLSTACKDOWN:{ *:[i64] } (timm:{ *:[i64] }):$amt1, (timm:{ *:[i64] }):$amt2)
    1079             : /*  1884*/  /*SwitchOpcode*/ 23, TARGET_VAL(ISD::CALLSEQ_END),// ->1910
    1080             : /*  1887*/    OPC_RecordNode, // #0 = 'BPFcallseq_end' chained node
    1081             : /*  1888*/    OPC_CaptureGlueInput,
    1082             : /*  1889*/    OPC_RecordChild1, // #1 = $amt1
    1083             : /*  1890*/    OPC_MoveChild1,
    1084             : /*  1891*/    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    1085             : /*  1894*/    OPC_MoveParent,
    1086             : /*  1895*/    OPC_RecordChild2, // #2 = $amt2
    1087             : /*  1896*/    OPC_MoveChild2,
    1088             : /*  1897*/    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    1089             : /*  1900*/    OPC_MoveParent,
    1090             : /*  1901*/    OPC_EmitMergeInputChains1_0,
    1091             : /*  1902*/    OPC_MorphNodeTo1, TARGET_VAL(BPF::ADJCALLSTACKUP), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
    1092             :                   MVT::i64, 2/*#Ops*/, 1, 2, 
    1093             :               // Src: (BPFcallseq_end (timm:{ *:[iPTR] }):$amt1, (timm:{ *:[iPTR] }):$amt2) - Complexity = 9
    1094             :               // Dst: (ADJCALLSTACKUP:{ *:[i64] } (timm:{ *:[i64] }):$amt1, (timm:{ *:[i64] }):$amt2)
    1095             : /*  1910*/  /*SwitchOpcode*/ 30, TARGET_VAL(BPFISD::MEMCPY),// ->1943
    1096             : /*  1913*/    OPC_RecordNode, // #0 = 'BPFmemcpy' chained node
    1097             : /*  1914*/    OPC_CaptureGlueInput,
    1098             : /*  1915*/    OPC_RecordChild1, // #1 = $dst
    1099             : /*  1916*/    OPC_RecordChild2, // #2 = $src
    1100             : /*  1917*/    OPC_RecordChild3, // #3 = $len
    1101             : /*  1918*/    OPC_MoveChild3,
    1102             : /*  1919*/    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    1103             : /*  1922*/    OPC_MoveParent,
    1104             : /*  1923*/    OPC_RecordChild4, // #4 = $align
    1105             : /*  1924*/    OPC_MoveChild4,
    1106             : /*  1925*/    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    1107             : /*  1928*/    OPC_MoveParent,
    1108             : /*  1929*/    OPC_EmitMergeInputChains1_0,
    1109             : /*  1930*/    OPC_EmitConvertToTarget, 3,
    1110             : /*  1932*/    OPC_EmitConvertToTarget, 4,
    1111             : /*  1934*/    OPC_MorphNodeTo0, TARGET_VAL(BPF::MEMCPY), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
    1112             :                   4/*#Ops*/, 1, 2, 5, 6, 
    1113             :               // Src: (BPFmemcpy GPR:{ *:[i64] }:$dst, GPR:{ *:[i64] }:$src, (imm:{ *:[i64] }):$len, (imm:{ *:[i64] }):$align) - Complexity = 9
    1114             :               // Dst: (MEMCPY GPR:{ *:[i64] }:$dst, GPR:{ *:[i64] }:$src, (imm:{ *:[i64] }):$len, (imm:{ *:[i64] }):$align)
    1115             : /*  1943*/  /*SwitchOpcode*/ 92, TARGET_VAL(ISD::SUB),// ->2038
    1116             : /*  1946*/    OPC_Scope, 23, /*->1971*/ // 2 children in Scope
    1117             : /*  1948*/      OPC_CheckChild0Integer, 0, 
    1118             : /*  1950*/      OPC_RecordChild1, // #0 = $src
    1119             : /*  1951*/      OPC_SwitchType /*2 cases */, 7, MVT::i64,// ->1961
    1120             : /*  1954*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::NEG_64), 0,
    1121             :                       MVT::i64, 1/*#Ops*/, 0, 
    1122             :                   // Src: (sub:{ *:[i64] } 0:{ *:[i64] }, i64:{ *:[i64] }:$src) - Complexity = 8
    1123             :                   // Dst: (NEG_64:{ *:[i64] } i64:{ *:[i64] }:$src)
    1124             : /*  1961*/      /*SwitchType*/ 7, MVT::i32,// ->1970
    1125             : /*  1963*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::NEG_32), 0,
    1126             :                       MVT::i32, 1/*#Ops*/, 0, 
    1127             :                   // Src: (sub:{ *:[i32] } 0:{ *:[i32] }, i32:{ *:[i32] }:$src) - Complexity = 8
    1128             :                   // Dst: (NEG_32:{ *:[i32] } i32:{ *:[i32] }:$src)
    1129             : /*  1970*/      0, // EndSwitchType
    1130             : /*  1971*/    /*Scope*/ 65, /*->2037*/
    1131             : /*  1972*/      OPC_RecordChild0, // #0 = $src2
    1132             : /*  1973*/      OPC_RecordChild1, // #1 = $imm
    1133             : /*  1974*/      OPC_Scope, 38, /*->2014*/ // 3 children in Scope
    1134             : /*  1976*/        OPC_MoveChild1,
    1135             : /*  1977*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    1136             : /*  1980*/        OPC_Scope, 15, /*->1997*/ // 2 children in Scope
    1137             : /*  1982*/          OPC_CheckPredicate, 0, // Predicate_i64immSExt32
    1138             : /*  1984*/          OPC_MoveParent,
    1139             : /*  1985*/          OPC_CheckType, MVT::i64,
    1140             : /*  1987*/          OPC_EmitConvertToTarget, 1,
    1141             : /*  1989*/          OPC_MorphNodeTo1, TARGET_VAL(BPF::SUB_ri), 0,
    1142             :                         MVT::i64, 2/*#Ops*/, 0, 2, 
    1143             :                     // Src: (sub:{ *:[i64] } GPR:{ *:[i64] }:$src2, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$imm) - Complexity = 7
    1144             :                     // Dst: (SUB_ri:{ *:[i64] } GPR:{ *:[i64] }:$src2, (imm:{ *:[i64] }):$imm)
    1145             : /*  1997*/        /*Scope*/ 15, /*->2013*/
    1146             : /*  1998*/          OPC_CheckPredicate, 0, // Predicate_i32immSExt32
    1147             : /*  2000*/          OPC_MoveParent,
    1148             : /*  2001*/          OPC_CheckType, MVT::i32,
    1149             : /*  2003*/          OPC_EmitConvertToTarget, 1,
    1150             : /*  2005*/          OPC_MorphNodeTo1, TARGET_VAL(BPF::SUB_ri_32), 0,
    1151             :                         MVT::i32, 2/*#Ops*/, 0, 2, 
    1152             :                     // Src: (sub:{ *:[i32] } GPR32:{ *:[i32] }:$src2, (imm:{ *:[i32] })<<P:Predicate_i32immSExt32>>:$imm) - Complexity = 7
    1153             :                     // Dst: (SUB_ri_32:{ *:[i32] } GPR32:{ *:[i32] }:$src2, (imm:{ *:[i32] }):$imm)
    1154             : /*  2013*/        0, /*End of Scope*/
    1155             : /*  2014*/      /*Scope*/ 10, /*->2025*/
    1156             : /*  2015*/        OPC_CheckType, MVT::i64,
    1157             : /*  2017*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::SUB_rr), 0,
    1158             :                       MVT::i64, 2/*#Ops*/, 0, 1, 
    1159             :                   // Src: (sub:{ *:[i64] } i64:{ *:[i64] }:$src2, i64:{ *:[i64] }:$src) - Complexity = 3
    1160             :                   // Dst: (SUB_rr:{ *:[i64] } i64:{ *:[i64] }:$src2, i64:{ *:[i64] }:$src)
    1161             : /*  2025*/      /*Scope*/ 10, /*->2036*/
    1162             : /*  2026*/        OPC_CheckType, MVT::i32,
    1163             : /*  2028*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::SUB_rr_32), 0,
    1164             :                       MVT::i32, 2/*#Ops*/, 0, 1, 
    1165             :                   // Src: (sub:{ *:[i32] } i32:{ *:[i32] }:$src2, i32:{ *:[i32] }:$src) - Complexity = 3
    1166             :                   // Dst: (SUB_rr_32:{ *:[i32] } i32:{ *:[i32] }:$src2, i32:{ *:[i32] }:$src)
    1167             : /*  2036*/      0, /*End of Scope*/
    1168             : /*  2037*/    0, /*End of Scope*/
    1169             : /*  2038*/  /*SwitchOpcode*/ 100, TARGET_VAL(ISD::AND),// ->2141
    1170             : /*  2041*/    OPC_Scope, 31, /*->2074*/ // 2 children in Scope
    1171             : /*  2043*/      OPC_CheckAndImm, 127|128,127|128,127|128,127|128,15/*4294967295*/, 
    1172             : /*  2049*/      OPC_RecordChild0, // #0 = $src
    1173             : /*  2050*/      OPC_CheckType, MVT::i64,
    1174             : /*  2052*/      OPC_EmitInteger, MVT::i64, 32, 
    1175             : /*  2055*/      OPC_EmitNode1, TARGET_VAL(BPF::SLL_ri), 0,
    1176             :                     MVT::i64, 2/*#Ops*/, 0, 1,  // Results = #2
    1177             : /*  2063*/      OPC_EmitInteger, MVT::i64, 32, 
    1178             : /*  2066*/      OPC_MorphNodeTo1, TARGET_VAL(BPF::SRL_ri), 0,
    1179             :                     MVT::i64, 2/*#Ops*/, 2, 3, 
    1180             :                 // Src: (and:{ *:[i64] } GPR:{ *:[i64] }:$src, 4294967295:{ *:[i64] }) - Complexity = 8
    1181             :                 // Dst: (SRL_ri:{ *:[i64] } (SLL_ri:{ *:[i64] } GPR:{ *:[i64] }:$src, 32:{ *:[i64] }), 32:{ *:[i64] })
    1182             : /*  2074*/    /*Scope*/ 65, /*->2140*/
    1183             : /*  2075*/      OPC_RecordChild0, // #0 = $src2
    1184             : /*  2076*/      OPC_RecordChild1, // #1 = $imm
    1185             : /*  2077*/      OPC_Scope, 38, /*->2117*/ // 3 children in Scope
    1186             : /*  2079*/        OPC_MoveChild1,
    1187             : /*  2080*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    1188             : /*  2083*/        OPC_Scope, 15, /*->2100*/ // 2 children in Scope
    1189             : /*  2085*/          OPC_CheckPredicate, 0, // Predicate_i64immSExt32
    1190             : /*  2087*/          OPC_MoveParent,
    1191             : /*  2088*/          OPC_CheckType, MVT::i64,
    1192             : /*  2090*/          OPC_EmitConvertToTarget, 1,
    1193             : /*  2092*/          OPC_MorphNodeTo1, TARGET_VAL(BPF::AND_ri), 0,
    1194             :                         MVT::i64, 2/*#Ops*/, 0, 2, 
    1195             :                     // Src: (and:{ *:[i64] } GPR:{ *:[i64] }:$src2, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$imm) - Complexity = 7
    1196             :                     // Dst: (AND_ri:{ *:[i64] } GPR:{ *:[i64] }:$src2, (imm:{ *:[i64] }):$imm)
    1197             : /*  2100*/        /*Scope*/ 15, /*->2116*/
    1198             : /*  2101*/          OPC_CheckPredicate, 0, // Predicate_i32immSExt32
    1199             : /*  2103*/          OPC_MoveParent,
    1200             : /*  2104*/          OPC_CheckType, MVT::i32,
    1201             : /*  2106*/          OPC_EmitConvertToTarget, 1,
    1202             : /*  2108*/          OPC_MorphNodeTo1, TARGET_VAL(BPF::AND_ri_32), 0,
    1203             :                         MVT::i32, 2/*#Ops*/, 0, 2, 
    1204             :                     // Src: (and:{ *:[i32] } GPR32:{ *:[i32] }:$src2, (imm:{ *:[i32] })<<P:Predicate_i32immSExt32>>:$imm) - Complexity = 7
    1205             :                     // Dst: (AND_ri_32:{ *:[i32] } GPR32:{ *:[i32] }:$src2, (imm:{ *:[i32] }):$imm)
    1206             : /*  2116*/        0, /*End of Scope*/
    1207             : /*  2117*/      /*Scope*/ 10, /*->2128*/
    1208             : /*  2118*/        OPC_CheckType, MVT::i64,
    1209             : /*  2120*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::AND_rr), 0,
    1210             :                       MVT::i64, 2/*#Ops*/, 0, 1, 
    1211             :                   // Src: (and:{ *:[i64] } i64:{ *:[i64] }:$src2, i64:{ *:[i64] }:$src) - Complexity = 3
    1212             :                   // Dst: (AND_rr:{ *:[i64] } i64:{ *:[i64] }:$src2, i64:{ *:[i64] }:$src)
    1213             : /*  2128*/      /*Scope*/ 10, /*->2139*/
    1214             : /*  2129*/        OPC_CheckType, MVT::i32,
    1215             : /*  2131*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::AND_rr_32), 0,
    1216             :                       MVT::i32, 2/*#Ops*/, 0, 1, 
    1217             :                   // Src: (and:{ *:[i32] } i32:{ *:[i32] }:$src2, i32:{ *:[i32] }:$src) - Complexity = 3
    1218             :                   // Dst: (AND_rr_32:{ *:[i32] } i32:{ *:[i32] }:$src2, i32:{ *:[i32] }:$src)
    1219             : /*  2139*/      0, /*End of Scope*/
    1220             : /*  2140*/    0, /*End of Scope*/
    1221             : /*  2141*/  /*SwitchOpcode*/ 71, TARGET_VAL(ISD::SHL),// ->2215
    1222             : /*  2144*/    OPC_RecordChild0, // #0 = $src2
    1223             : /*  2145*/    OPC_RecordChild1, // #1 = $imm
    1224             : /*  2146*/    OPC_Scope, 40, /*->2188*/ // 3 children in Scope
    1225             : /*  2148*/      OPC_MoveChild1,
    1226             : /*  2149*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    1227             : /*  2152*/      OPC_SwitchType /*2 cases */, 15, MVT::i64,// ->2170
    1228             : /*  2155*/        OPC_CheckPredicate, 0, // Predicate_i64immSExt32
    1229             : /*  2157*/        OPC_MoveParent,
    1230             : /*  2158*/        OPC_CheckType, MVT::i64,
    1231             : /*  2160*/        OPC_EmitConvertToTarget, 1,
    1232             : /*  2162*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::SLL_ri), 0,
    1233             :                       MVT::i64, 2/*#Ops*/, 0, 2, 
    1234             :                   // Src: (shl:{ *:[i64] } GPR:{ *:[i64] }:$src2, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$imm) - Complexity = 7
    1235             :                   // Dst: (SLL_ri:{ *:[i64] } GPR:{ *:[i64] }:$src2, (imm:{ *:[i64] }):$imm)
    1236             : /*  2170*/      /*SwitchType*/ 15, MVT::i32,// ->2187
    1237             : /*  2172*/        OPC_CheckPredicate, 0, // Predicate_i32immSExt32
    1238             : /*  2174*/        OPC_MoveParent,
    1239             : /*  2175*/        OPC_CheckType, MVT::i32,
    1240             : /*  2177*/        OPC_EmitConvertToTarget, 1,
    1241             : /*  2179*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::SLL_ri_32), 0,
    1242             :                       MVT::i32, 2/*#Ops*/, 0, 2, 
    1243             :                   // Src: (shl:{ *:[i32] } GPR32:{ *:[i32] }:$src2, (imm:{ *:[i32] })<<P:Predicate_i32immSExt32>>:$imm) - Complexity = 7
    1244             :                   // Dst: (SLL_ri_32:{ *:[i32] } GPR32:{ *:[i32] }:$src2, (imm:{ *:[i32] }):$imm)
    1245             : /*  2187*/      0, // EndSwitchType
    1246             : /*  2188*/    /*Scope*/ 12, /*->2201*/
    1247             : /*  2189*/      OPC_CheckChild1Type, MVT::i64,
    1248             : /*  2191*/      OPC_CheckType, MVT::i64,
    1249             : /*  2193*/      OPC_MorphNodeTo1, TARGET_VAL(BPF::SLL_rr), 0,
    1250             :                     MVT::i64, 2/*#Ops*/, 0, 1, 
    1251             :                 // Src: (shl:{ *:[i64] } i64:{ *:[i64] }:$src2, i64:{ *:[i64] }:$src) - Complexity = 3
    1252             :                 // Dst: (SLL_rr:{ *:[i64] } i64:{ *:[i64] }:$src2, i64:{ *:[i64] }:$src)
    1253             : /*  2201*/    /*Scope*/ 12, /*->2214*/
    1254             : /*  2202*/      OPC_CheckChild1Type, MVT::i32,
    1255             : /*  2204*/      OPC_CheckType, MVT::i32,
    1256             : /*  2206*/      OPC_MorphNodeTo1, TARGET_VAL(BPF::SLL_rr_32), 0,
    1257             :                     MVT::i32, 2/*#Ops*/, 0, 1, 
    1258             :                 // Src: (shl:{ *:[i32] } i32:{ *:[i32] }:$src2, i32:{ *:[i32] }:$src) - Complexity = 3
    1259             :                 // Dst: (SLL_rr_32:{ *:[i32] } i32:{ *:[i32] }:$src2, i32:{ *:[i32] }:$src)
    1260             : /*  2214*/    0, /*End of Scope*/
    1261             : /*  2215*/  /*SwitchOpcode*/ 65, TARGET_VAL(ISD::XOR),// ->2283
    1262             : /*  2218*/    OPC_RecordChild0, // #0 = $src2
    1263             : /*  2219*/    OPC_RecordChild1, // #1 = $imm
    1264             : /*  2220*/    OPC_Scope, 38, /*->2260*/ // 3 children in Scope
    1265             : /*  2222*/      OPC_MoveChild1,
    1266             : /*  2223*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    1267             : /*  2226*/      OPC_Scope, 15, /*->2243*/ // 2 children in Scope
    1268             : /*  2228*/        OPC_CheckPredicate, 0, // Predicate_i64immSExt32
    1269             : /*  2230*/        OPC_MoveParent,
    1270             : /*  2231*/        OPC_CheckType, MVT::i64,
    1271             : /*  2233*/        OPC_EmitConvertToTarget, 1,
    1272             : /*  2235*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::XOR_ri), 0,
    1273             :                       MVT::i64, 2/*#Ops*/, 0, 2, 
    1274             :                   // Src: (xor:{ *:[i64] } GPR:{ *:[i64] }:$src2, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$imm) - Complexity = 7
    1275             :                   // Dst: (XOR_ri:{ *:[i64] } GPR:{ *:[i64] }:$src2, (imm:{ *:[i64] }):$imm)
    1276             : /*  2243*/      /*Scope*/ 15, /*->2259*/
    1277             : /*  2244*/        OPC_CheckPredicate, 0, // Predicate_i32immSExt32
    1278             : /*  2246*/        OPC_MoveParent,
    1279             : /*  2247*/        OPC_CheckType, MVT::i32,
    1280             : /*  2249*/        OPC_EmitConvertToTarget, 1,
    1281             : /*  2251*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::XOR_ri_32), 0,
    1282             :                       MVT::i32, 2/*#Ops*/, 0, 2, 
    1283             :                   // Src: (xor:{ *:[i32] } GPR32:{ *:[i32] }:$src2, (imm:{ *:[i32] })<<P:Predicate_i32immSExt32>>:$imm) - Complexity = 7
    1284             :                   // Dst: (XOR_ri_32:{ *:[i32] } GPR32:{ *:[i32] }:$src2, (imm:{ *:[i32] }):$imm)
    1285             : /*  2259*/      0, /*End of Scope*/
    1286             : /*  2260*/    /*Scope*/ 10, /*->2271*/
    1287             : /*  2261*/      OPC_CheckType, MVT::i64,
    1288             : /*  2263*/      OPC_MorphNodeTo1, TARGET_VAL(BPF::XOR_rr), 0,
    1289             :                     MVT::i64, 2/*#Ops*/, 0, 1, 
    1290             :                 // Src: (xor:{ *:[i64] } i64:{ *:[i64] }:$src2, i64:{ *:[i64] }:$src) - Complexity = 3
    1291             :                 // Dst: (XOR_rr:{ *:[i64] } i64:{ *:[i64] }:$src2, i64:{ *:[i64] }:$src)
    1292             : /*  2271*/    /*Scope*/ 10, /*->2282*/
    1293             : /*  2272*/      OPC_CheckType, MVT::i32,
    1294             : /*  2274*/      OPC_MorphNodeTo1, TARGET_VAL(BPF::XOR_rr_32), 0,
    1295             :                     MVT::i32, 2/*#Ops*/, 0, 1, 
    1296             :                 // Src: (xor:{ *:[i32] } i32:{ *:[i32] }:$src2, i32:{ *:[i32] }:$src) - Complexity = 3
    1297             :                 // Dst: (XOR_rr_32:{ *:[i32] } i32:{ *:[i32] }:$src2, i32:{ *:[i32] }:$src)
    1298             : /*  2282*/    0, /*End of Scope*/
    1299             : /*  2283*/  /*SwitchOpcode*/ 71, TARGET_VAL(ISD::SRA),// ->2357
    1300             : /*  2286*/    OPC_RecordChild0, // #0 = $src2
    1301             : /*  2287*/    OPC_RecordChild1, // #1 = $imm
    1302             : /*  2288*/    OPC_Scope, 40, /*->2330*/ // 3 children in Scope
    1303             : /*  2290*/      OPC_MoveChild1,
    1304             : /*  2291*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    1305             : /*  2294*/      OPC_SwitchType /*2 cases */, 15, MVT::i64,// ->2312
    1306             : /*  2297*/        OPC_CheckPredicate, 0, // Predicate_i64immSExt32
    1307             : /*  2299*/        OPC_MoveParent,
    1308             : /*  2300*/        OPC_CheckType, MVT::i64,
    1309             : /*  2302*/        OPC_EmitConvertToTarget, 1,
    1310             : /*  2304*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::SRA_ri), 0,
    1311             :                       MVT::i64, 2/*#Ops*/, 0, 2, 
    1312             :                   // Src: (sra:{ *:[i64] } GPR:{ *:[i64] }:$src2, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$imm) - Complexity = 7
    1313             :                   // Dst: (SRA_ri:{ *:[i64] } GPR:{ *:[i64] }:$src2, (imm:{ *:[i64] }):$imm)
    1314             : /*  2312*/      /*SwitchType*/ 15, MVT::i32,// ->2329
    1315             : /*  2314*/        OPC_CheckPredicate, 0, // Predicate_i32immSExt32
    1316             : /*  2316*/        OPC_MoveParent,
    1317             : /*  2317*/        OPC_CheckType, MVT::i32,
    1318             : /*  2319*/        OPC_EmitConvertToTarget, 1,
    1319             : /*  2321*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::SRA_ri_32), 0,
    1320             :                       MVT::i32, 2/*#Ops*/, 0, 2, 
    1321             :                   // Src: (sra:{ *:[i32] } GPR32:{ *:[i32] }:$src2, (imm:{ *:[i32] })<<P:Predicate_i32immSExt32>>:$imm) - Complexity = 7
    1322             :                   // Dst: (SRA_ri_32:{ *:[i32] } GPR32:{ *:[i32] }:$src2, (imm:{ *:[i32] }):$imm)
    1323             : /*  2329*/      0, // EndSwitchType
    1324             : /*  2330*/    /*Scope*/ 12, /*->2343*/
    1325             : /*  2331*/      OPC_CheckChild1Type, MVT::i64,
    1326             : /*  2333*/      OPC_CheckType, MVT::i64,
    1327             : /*  2335*/      OPC_MorphNodeTo1, TARGET_VAL(BPF::SRA_rr), 0,
    1328             :                     MVT::i64, 2/*#Ops*/, 0, 1, 
    1329             :                 // Src: (sra:{ *:[i64] } i64:{ *:[i64] }:$src2, i64:{ *:[i64] }:$src) - Complexity = 3
    1330             :                 // Dst: (SRA_rr:{ *:[i64] } i64:{ *:[i64] }:$src2, i64:{ *:[i64] }:$src)
    1331             : /*  2343*/    /*Scope*/ 12, /*->2356*/
    1332             : /*  2344*/      OPC_CheckChild1Type, MVT::i32,
    1333             : /*  2346*/      OPC_CheckType, MVT::i32,
    1334             : /*  2348*/      OPC_MorphNodeTo1, TARGET_VAL(BPF::SRA_rr_32), 0,
    1335             :                     MVT::i32, 2/*#Ops*/, 0, 1, 
    1336             :                 // Src: (sra:{ *:[i32] } i32:{ *:[i32] }:$src2, i32:{ *:[i32] }:$src) - Complexity = 3
    1337             :                 // Dst: (SRA_rr_32:{ *:[i32] } i32:{ *:[i32] }:$src2, i32:{ *:[i32] }:$src)
    1338             : /*  2356*/    0, /*End of Scope*/
    1339             : /*  2357*/  /*SwitchOpcode*/ 65, TARGET_VAL(ISD::MUL),// ->2425
    1340             : /*  2360*/    OPC_RecordChild0, // #0 = $src2
    1341             : /*  2361*/    OPC_RecordChild1, // #1 = $imm
    1342             : /*  2362*/    OPC_Scope, 38, /*->2402*/ // 3 children in Scope
    1343             : /*  2364*/      OPC_MoveChild1,
    1344             : /*  2365*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    1345             : /*  2368*/      OPC_Scope, 15, /*->2385*/ // 2 children in Scope
    1346             : /*  2370*/        OPC_CheckPredicate, 0, // Predicate_i64immSExt32
    1347             : /*  2372*/        OPC_MoveParent,
    1348             : /*  2373*/        OPC_CheckType, MVT::i64,
    1349             : /*  2375*/        OPC_EmitConvertToTarget, 1,
    1350             : /*  2377*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::MUL_ri), 0,
    1351             :                       MVT::i64, 2/*#Ops*/, 0, 2, 
    1352             :                   // Src: (mul:{ *:[i64] } GPR:{ *:[i64] }:$src2, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$imm) - Complexity = 7
    1353             :                   // Dst: (MUL_ri:{ *:[i64] } GPR:{ *:[i64] }:$src2, (imm:{ *:[i64] }):$imm)
    1354             : /*  2385*/      /*Scope*/ 15, /*->2401*/
    1355             : /*  2386*/        OPC_CheckPredicate, 0, // Predicate_i32immSExt32
    1356             : /*  2388*/        OPC_MoveParent,
    1357             : /*  2389*/        OPC_CheckType, MVT::i32,
    1358             : /*  2391*/        OPC_EmitConvertToTarget, 1,
    1359             : /*  2393*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::MUL_ri_32), 0,
    1360             :                       MVT::i32, 2/*#Ops*/, 0, 2, 
    1361             :                   // Src: (mul:{ *:[i32] } GPR32:{ *:[i32] }:$src2, (imm:{ *:[i32] })<<P:Predicate_i32immSExt32>>:$imm) - Complexity = 7
    1362             :                   // Dst: (MUL_ri_32:{ *:[i32] } GPR32:{ *:[i32] }:$src2, (imm:{ *:[i32] }):$imm)
    1363             : /*  2401*/      0, /*End of Scope*/
    1364             : /*  2402*/    /*Scope*/ 10, /*->2413*/
    1365             : /*  2403*/      OPC_CheckType, MVT::i64,
    1366             : /*  2405*/      OPC_MorphNodeTo1, TARGET_VAL(BPF::MUL_rr), 0,
    1367             :                     MVT::i64, 2/*#Ops*/, 0, 1, 
    1368             :                 // Src: (mul:{ *:[i64] } i64:{ *:[i64] }:$src2, i64:{ *:[i64] }:$src) - Complexity = 3
    1369             :                 // Dst: (MUL_rr:{ *:[i64] } i64:{ *:[i64] }:$src2, i64:{ *:[i64] }:$src)
    1370             : /*  2413*/    /*Scope*/ 10, /*->2424*/
    1371             : /*  2414*/      OPC_CheckType, MVT::i32,
    1372             : /*  2416*/      OPC_MorphNodeTo1, TARGET_VAL(BPF::MUL_rr_32), 0,
    1373             :                     MVT::i32, 2/*#Ops*/, 0, 1, 
    1374             :                 // Src: (mul:{ *:[i32] } i32:{ *:[i32] }:$src2, i32:{ *:[i32] }:$src) - Complexity = 3
    1375             :                 // Dst: (MUL_rr_32:{ *:[i32] } i32:{ *:[i32] }:$src2, i32:{ *:[i32] }:$src)
    1376             : /*  2424*/    0, /*End of Scope*/
    1377             : /*  2425*/  /*SwitchOpcode*/ 65, TARGET_VAL(ISD::UDIV),// ->2493
    1378             : /*  2428*/    OPC_RecordChild0, // #0 = $src2
    1379             : /*  2429*/    OPC_RecordChild1, // #1 = $imm
    1380             : /*  2430*/    OPC_Scope, 38, /*->2470*/ // 3 children in Scope
    1381             : /*  2432*/      OPC_MoveChild1,
    1382             : /*  2433*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    1383             : /*  2436*/      OPC_Scope, 15, /*->2453*/ // 2 children in Scope
    1384             : /*  2438*/        OPC_CheckPredicate, 0, // Predicate_i64immSExt32
    1385             : /*  2440*/        OPC_MoveParent,
    1386             : /*  2441*/        OPC_CheckType, MVT::i64,
    1387             : /*  2443*/        OPC_EmitConvertToTarget, 1,
    1388             : /*  2445*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::DIV_ri), 0,
    1389             :                       MVT::i64, 2/*#Ops*/, 0, 2, 
    1390             :                   // Src: (udiv:{ *:[i64] } GPR:{ *:[i64] }:$src2, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$imm) - Complexity = 7
    1391             :                   // Dst: (DIV_ri:{ *:[i64] } GPR:{ *:[i64] }:$src2, (imm:{ *:[i64] }):$imm)
    1392             : /*  2453*/      /*Scope*/ 15, /*->2469*/
    1393             : /*  2454*/        OPC_CheckPredicate, 0, // Predicate_i32immSExt32
    1394             : /*  2456*/        OPC_MoveParent,
    1395             : /*  2457*/        OPC_CheckType, MVT::i32,
    1396             : /*  2459*/        OPC_EmitConvertToTarget, 1,
    1397             : /*  2461*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::DIV_ri_32), 0,
    1398             :                       MVT::i32, 2/*#Ops*/, 0, 2, 
    1399             :                   // Src: (udiv:{ *:[i32] } GPR32:{ *:[i32] }:$src2, (imm:{ *:[i32] })<<P:Predicate_i32immSExt32>>:$imm) - Complexity = 7
    1400             :                   // Dst: (DIV_ri_32:{ *:[i32] } GPR32:{ *:[i32] }:$src2, (imm:{ *:[i32] }):$imm)
    1401             : /*  2469*/      0, /*End of Scope*/
    1402             : /*  2470*/    /*Scope*/ 10, /*->2481*/
    1403             : /*  2471*/      OPC_CheckType, MVT::i64,
    1404             : /*  2473*/      OPC_MorphNodeTo1, TARGET_VAL(BPF::DIV_rr), 0,
    1405             :                     MVT::i64, 2/*#Ops*/, 0, 1, 
    1406             :                 // Src: (udiv:{ *:[i64] } i64:{ *:[i64] }:$src2, i64:{ *:[i64] }:$src) - Complexity = 3
    1407             :                 // Dst: (DIV_rr:{ *:[i64] } i64:{ *:[i64] }:$src2, i64:{ *:[i64] }:$src)
    1408             : /*  2481*/    /*Scope*/ 10, /*->2492*/
    1409             : /*  2482*/      OPC_CheckType, MVT::i32,
    1410             : /*  2484*/      OPC_MorphNodeTo1, TARGET_VAL(BPF::DIV_rr_32), 0,
    1411             :                     MVT::i32, 2/*#Ops*/, 0, 1, 
    1412             :                 // Src: (udiv:{ *:[i32] } i32:{ *:[i32] }:$src2, i32:{ *:[i32] }:$src) - Complexity = 3
    1413             :                 // Dst: (DIV_rr_32:{ *:[i32] } i32:{ *:[i32] }:$src2, i32:{ *:[i32] }:$src)
    1414             : /*  2492*/    0, /*End of Scope*/
    1415             : /*  2493*/  /*SwitchOpcode*/ 15, TARGET_VAL(BPFISD::Wrapper),// ->2511
    1416             : /*  2496*/    OPC_RecordChild0, // #0 = $in
    1417             : /*  2497*/    OPC_MoveChild0,
    1418             : /*  2498*/    OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
    1419             : /*  2501*/    OPC_MoveParent,
    1420             : /*  2502*/    OPC_CheckType, MVT::i64,
    1421             : /*  2504*/    OPC_MorphNodeTo1, TARGET_VAL(BPF::LD_imm64), 0,
    1422             :                   MVT::i64, 1/*#Ops*/, 0, 
    1423             :               // Src: (BPFWrapper:{ *:[i64] } (tglobaladdr:{ *:[i64] }):$in) - Complexity = 6
    1424             :               // Dst: (LD_imm64:{ *:[i64] } (tglobaladdr:{ *:[i64] }):$in)
    1425             : /*  2511*/  /*SwitchOpcode*/ 58, TARGET_VAL(BPFISD::CALL),// ->2572
    1426             : /*  2514*/    OPC_RecordNode, // #0 = 'BPFcall' chained node
    1427             : /*  2515*/    OPC_CaptureGlueInput,
    1428             : /*  2516*/    OPC_RecordChild1, // #1 = $dst
    1429             : /*  2517*/    OPC_Scope, 41, /*->2560*/ // 2 children in Scope
    1430             : /*  2519*/      OPC_MoveChild1,
    1431             : /*  2520*/      OPC_SwitchOpcode /*3 cases */, 9, TARGET_VAL(ISD::TargetGlobalAddress),// ->2533
    1432             : /*  2524*/        OPC_MoveParent,
    1433             : /*  2525*/        OPC_EmitMergeInputChains1_0,
    1434             : /*  2526*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::JAL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
    1435             :                       MVT::i64, 1/*#Ops*/, 1, 
    1436             :                   // Src: (BPFcall (tglobaladdr:{ *:[iPTR] }):$dst) - Complexity = 6
    1437             :                   // Dst: (JAL:{ *:[i64] } (tglobaladdr:{ *:[i64] }):$dst)
    1438             : /*  2533*/      /*SwitchOpcode*/ 9, TARGET_VAL(ISD::TargetExternalSymbol),// ->2545
    1439             : /*  2536*/        OPC_MoveParent,
    1440             : /*  2537*/        OPC_EmitMergeInputChains1_0,
    1441             : /*  2538*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::JAL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
    1442             :                       MVT::i64, 1/*#Ops*/, 1, 
    1443             :                   // Src: (BPFcall (texternalsym:{ *:[iPTR] }):$dst) - Complexity = 6
    1444             :                   // Dst: (JAL:{ *:[i64] } (texternalsym:{ *:[i64] }):$dst)
    1445             : /*  2545*/      /*SwitchOpcode*/ 11, TARGET_VAL(ISD::Constant),// ->2559
    1446             : /*  2548*/        OPC_MoveParent,
    1447             : /*  2549*/        OPC_EmitMergeInputChains1_0,
    1448             : /*  2550*/        OPC_EmitConvertToTarget, 1,
    1449             : /*  2552*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::JAL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
    1450             :                       MVT::i64, 1/*#Ops*/, 2, 
    1451             :                   // Src: (BPFcall (imm:{ *:[iPTR] }):$dst) - Complexity = 6
    1452             :                   // Dst: (JAL:{ *:[i64] } (imm:{ *:[i64] }):$dst)
    1453             : /*  2559*/      0, // EndSwitchOpcode
    1454             : /*  2560*/    /*Scope*/ 10, /*->2571*/
    1455             : /*  2561*/      OPC_CheckChild1Type, MVT::i64,
    1456             : /*  2563*/      OPC_EmitMergeInputChains1_0,
    1457             : /*  2564*/      OPC_MorphNodeTo1, TARGET_VAL(BPF::JALX), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
    1458             :                     MVT::i64, 1/*#Ops*/, 1, 
    1459             :                 // Src: (BPFcall GPR:{ *:[i64] }:$dst) - Complexity = 3
    1460             :                 // Dst: (JALX:{ *:[i64] } GPR:{ *:[i64] }:$dst)
    1461             : /*  2571*/    0, /*End of Scope*/
    1462             : /*  2572*/  /*SwitchOpcode*/ 42, TARGET_VAL(ISD::Constant),// ->2617
    1463             : /*  2575*/    OPC_RecordNode, // #0 = $imm
    1464             : /*  2576*/    OPC_SwitchType /*2 cases */, 24, MVT::i64,// ->2603
    1465             : /*  2579*/      OPC_Scope, 11, /*->2592*/ // 2 children in Scope
    1466             : /*  2581*/        OPC_CheckPredicate, 0, // Predicate_i64immSExt32
    1467             : /*  2583*/        OPC_EmitConvertToTarget, 0,
    1468             : /*  2585*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::MOV_ri), 0,
    1469             :                       MVT::i64, 1/*#Ops*/, 1, 
    1470             :                   // Src: (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$imm - Complexity = 4
    1471             :                   // Dst: (MOV_ri:{ *:[i64] } (imm:{ *:[i64] }):$imm)
    1472             : /*  2592*/      /*Scope*/ 9, /*->2602*/
    1473             : /*  2593*/        OPC_EmitConvertToTarget, 0,
    1474             : /*  2595*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::LD_imm64), 0,
    1475             :                       MVT::i64, 1/*#Ops*/, 1, 
    1476             :                   // Src: (imm:{ *:[i64] }):$imm - Complexity = 3
    1477             :                   // Dst: (LD_imm64:{ *:[i64] } (imm:{ *:[i64] }):$imm)
    1478             : /*  2602*/      0, /*End of Scope*/
    1479             : /*  2603*/    /*SwitchType*/ 11, MVT::i32,// ->2616
    1480             : /*  2605*/      OPC_CheckPredicate, 0, // Predicate_i32immSExt32
    1481             : /*  2607*/      OPC_EmitConvertToTarget, 0,
    1482             : /*  2609*/      OPC_MorphNodeTo1, TARGET_VAL(BPF::MOV_ri_32), 0,
    1483             :                     MVT::i32, 1/*#Ops*/, 1, 
    1484             :                 // Src: (imm:{ *:[i32] })<<P:Predicate_i32immSExt32>>:$imm - Complexity = 4
    1485             :                 // Dst: (MOV_ri_32:{ *:[i32] } (imm:{ *:[i32] }):$imm)
    1486             : /*  2616*/    0, // EndSwitchType
    1487             : /*  2617*/  /*SwitchOpcode*/ 14, TARGET_VAL(ISD::BR),// ->2634
    1488             : /*  2620*/    OPC_RecordNode, // #0 = 'br' chained node
    1489             : /*  2621*/    OPC_RecordChild1, // #1 = $BrDst
    1490             : /*  2622*/    OPC_MoveChild1,
    1491             : /*  2623*/    OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
    1492             : /*  2626*/    OPC_MoveParent,
    1493             : /*  2627*/    OPC_EmitMergeInputChains1_0,
    1494             : /*  2628*/    OPC_MorphNodeTo0, TARGET_VAL(BPF::JMP), 0|OPFL_Chain,
    1495             :                   1/*#Ops*/, 1, 
    1496             :               // Src: (br (bb:{ *:[Other] }):$BrDst) - Complexity = 3
    1497             :               // Dst: (JMP (bb:{ *:[Other] }):$BrDst)
    1498             : /*  2634*/  /*SwitchOpcode*/ 8, TARGET_VAL(BPFISD::RET_FLAG),// ->2645
    1499             : /*  2637*/    OPC_RecordNode, // #0 = 'BPFretflag' chained node
    1500             : /*  2638*/    OPC_CaptureGlueInput,
    1501             : /*  2639*/    OPC_EmitMergeInputChains1_0,
    1502             : /*  2640*/    OPC_MorphNodeTo0, TARGET_VAL(BPF::RET), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic0,
    1503             :                   0/*#Ops*/, 
    1504             :               // Src: (BPFretflag) - Complexity = 3
    1505             :               // Dst: (RET)
    1506             : /*  2645*/  /*SwitchOpcode*/ 25, TARGET_VAL(ISD::BSWAP),// ->2673
    1507             : /*  2648*/    OPC_RecordChild0, // #0 = $src
    1508             : /*  2649*/    OPC_CheckType, MVT::i64,
    1509             : /*  2651*/    OPC_Scope, 9, /*->2662*/ // 2 children in Scope
    1510             : /*  2653*/      OPC_CheckPatternPredicate, 2, // (CurDAG->getDataLayout().isLittleEndian())
    1511             : /*  2655*/      OPC_MorphNodeTo1, TARGET_VAL(BPF::BE64), 0,
    1512             :                     MVT::i64, 1/*#Ops*/, 0, 
    1513             :                 // Src: (bswap:{ *:[i64] } GPR:{ *:[i64] }:$src) - Complexity = 3
    1514             :                 // Dst: (BE64:{ *:[i64] } GPR:{ *:[i64] }:$src)
    1515             : /*  2662*/    /*Scope*/ 9, /*->2672*/
    1516             : /*  2663*/      OPC_CheckPatternPredicate, 3, // (!CurDAG->getDataLayout().isLittleEndian())
    1517             : /*  2665*/      OPC_MorphNodeTo1, TARGET_VAL(BPF::LE64), 0,
    1518             :                     MVT::i64, 1/*#Ops*/, 0, 
    1519             :                 // Src: (bswap:{ *:[i64] } GPR:{ *:[i64] }:$src) - Complexity = 3
    1520             :                 // Dst: (LE64:{ *:[i64] } GPR:{ *:[i64] }:$src)
    1521             : /*  2672*/    0, /*End of Scope*/
    1522             : /*  2673*/  /*SwitchOpcode*/ 12, TARGET_VAL(ISD::TRUNCATE),// ->2688
    1523             : /*  2676*/    OPC_RecordChild0, // #0 = $src
    1524             : /*  2677*/    OPC_EmitInteger, MVT::i32, BPF::sub_32,
    1525             : /*  2680*/    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
    1526             :                   MVT::i32, 2/*#Ops*/, 0, 1, 
    1527             :               // Src: (trunc:{ *:[i32] } GPR:{ *:[i64] }:$src) - Complexity = 3
    1528             :               // Dst: (EXTRACT_SUBREG:{ *:[i32] } GPR:{ *:[i64] }:$src, sub_32:{ *:[i32] })
    1529             : /*  2688*/  /*SwitchOpcode*/ 19, TARGET_VAL(ISD::ANY_EXTEND),// ->2710
    1530             : /*  2691*/    OPC_RecordChild0, // #0 = $src
    1531             : /*  2692*/    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
    1532             :                   MVT::i64, 0/*#Ops*/,  // Results = #1
    1533             : /*  2698*/    OPC_EmitInteger, MVT::i32, BPF::sub_32,
    1534             : /*  2701*/    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
    1535             :                   MVT::i64, 3/*#Ops*/, 1, 0, 2, 
    1536             :               // Src: (anyext:{ *:[i64] } GPR32:{ *:[i32] }:$src) - Complexity = 3
    1537             :               // Dst: (INSERT_SUBREG:{ *:[i64] } (IMPLICIT_DEF:{ *:[i64] }), GPR32:{ *:[i32] }:$src, sub_32:{ *:[i32] })
    1538             : /*  2710*/  /*SwitchOpcode*/ 30, TARGET_VAL(ISD::SIGN_EXTEND),// ->2743
    1539             : /*  2713*/    OPC_RecordChild0, // #0 = $src
    1540             : /*  2714*/    OPC_EmitNode1, TARGET_VAL(BPF::MOV_32_64), 0,
    1541             :                   MVT::i64, 1/*#Ops*/, 0,  // Results = #1
    1542             : /*  2721*/    OPC_EmitInteger, MVT::i64, 32, 
    1543             : /*  2724*/    OPC_EmitNode1, TARGET_VAL(BPF::SLL_ri), 0,
    1544             :                   MVT::i64, 2/*#Ops*/, 1, 2,  // Results = #3
    1545             : /*  2732*/    OPC_EmitInteger, MVT::i64, 32, 
    1546             : /*  2735*/    OPC_MorphNodeTo1, TARGET_VAL(BPF::SRA_ri), 0,
    1547             :                   MVT::i64, 2/*#Ops*/, 3, 4, 
    1548             :               // Src: (sext:{ *:[i64] } GPR32:{ *:[i32] }:$src) - Complexity = 3
    1549             :               // Dst: (SRA_ri:{ *:[i64] } (SLL_ri:{ *:[i64] } (MOV_32_64:{ *:[i64] } GPR32:{ *:[i32] }:$src), 32:{ *:[i64] }), 32:{ *:[i64] })
    1550             : /*  2743*/  /*SwitchOpcode*/ 30, TARGET_VAL(ISD::ZERO_EXTEND),// ->2776
    1551             : /*  2746*/    OPC_RecordChild0, // #0 = $src
    1552             : /*  2747*/    OPC_EmitNode1, TARGET_VAL(BPF::MOV_32_64), 0,
    1553             :                   MVT::i64, 1/*#Ops*/, 0,  // Results = #1
    1554             : /*  2754*/    OPC_EmitInteger, MVT::i64, 32, 
    1555             : /*  2757*/    OPC_EmitNode1, TARGET_VAL(BPF::SLL_ri), 0,
    1556             :                   MVT::i64, 2/*#Ops*/, 1, 2,  // Results = #3
    1557             : /*  2765*/    OPC_EmitInteger, MVT::i64, 32, 
    1558             : /*  2768*/    OPC_MorphNodeTo1, TARGET_VAL(BPF::SRL_ri), 0,
    1559             :                   MVT::i64, 2/*#Ops*/, 3, 4, 
    1560             :               // Src: (zext:{ *:[i64] } GPR32:{ *:[i32] }:$src) - Complexity = 3
    1561             :               // Dst: (SRL_ri:{ *:[i64] } (SLL_ri:{ *:[i64] } (MOV_32_64:{ *:[i64] } GPR32:{ *:[i32] }:$src), 32:{ *:[i64] }), 32:{ *:[i64] })
    1562             : /*  2776*/  0, // EndSwitchOpcode
    1563             :     0
    1564             :   }; // Total Array size is 2778 bytes
    1565             : 
    1566             :   // Opcode Histogram:
    1567             :   // #OPC_Scope                                = 53
    1568             :   // #OPC_RecordNode                           = 14
    1569             :   // #OPC_RecordChild                          = 90
    1570             :   // #OPC_RecordMemRef                         = 3
    1571             :   // #OPC_CaptureGlueInput                     = 6
    1572             :   // #OPC_MoveChild                            = 54
    1573             :   // #OPC_MoveParent                           = 84
    1574             :   // #OPC_CheckSame                            = 0
    1575             :   // #OPC_CheckChildSame                       = 0
    1576             :   // #OPC_CheckPatternPredicate                = 32
    1577             :   // #OPC_CheckPredicate                       = 90
    1578             :   // #OPC_CheckOpcode                          = 53
    1579             :   // #OPC_SwitchOpcode                         = 2
    1580             :   // #OPC_CheckType                            = 53
    1581             :   // #OPC_SwitchType                           = 10
    1582             :   // #OPC_CheckChildType                       = 21
    1583             :   // #OPC_CheckInteger                         = 0
    1584             :   // #OPC_CheckChildInteger                    = 7
    1585             :   // #OPC_CheckCondCode                        = 0
    1586             :   // #OPC_CheckValueType                       = 0
    1587             :   // #OPC_CheckComplexPat                      = 32
    1588             :   // #OPC_CheckAndImm                          = 1
    1589             :   // #OPC_CheckOrImm                           = 0
    1590             :   // #OPC_CheckFoldableChainNode               = 0
    1591             :   // #OPC_EmitInteger                          = 12
    1592             :   // #OPC_EmitStringInteger                    = 11
    1593             :   // #OPC_EmitRegister                         = 0
    1594             :   // #OPC_EmitConvertToTarget                  = 53
    1595             :   // #OPC_EmitMergeInputChains                 = 66
    1596             :   // #OPC_EmitCopyToReg                        = 0
    1597             :   // #OPC_EmitNode                             = 15
    1598             :   // #OPC_EmitNodeXForm                        = 0
    1599             :   // #OPC_CompleteMatch                        = 0
    1600             :   // #OPC_MorphNodeTo                          = 133
    1601             : 
    1602             :   #undef TARGET_VAL
    1603        4088 :   SelectCodeCommon(N, MatcherTable,sizeof(MatcherTable));
    1604             : }
    1605             : #endif // GET_DAGISEL_BODY
    1606             : 
    1607             : #ifdef GET_DAGISEL_DECL
    1608             : bool CheckPatternPredicate(unsigned PredNo) const override;
    1609             : #endif
    1610             : #if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
    1611         195 : bool DAGISEL_CLASS_COLONCOLON CheckPatternPredicate(unsigned PredNo) const
    1612             : #if DAGISEL_INLINE
    1613             :   override
    1614             : #endif
    1615             : {
    1616         195 :   switch (PredNo) {
    1617           0 :   default: llvm_unreachable("Invalid predicate in table?");
    1618         171 :   case 0: return (!Subtarget->getHasAlu32());
    1619           6 :   case 1: return (Subtarget->getHasAlu32());
    1620          12 :   case 2: return (CurDAG->getDataLayout().isLittleEndian());
    1621           6 :   case 3: return (!CurDAG->getDataLayout().isLittleEndian());
    1622             :   }
    1623             : }
    1624             : #endif // GET_DAGISEL_BODY
    1625             : 
    1626             : #ifdef GET_DAGISEL_DECL
    1627             : bool CheckNodePredicate(SDNode *Node, unsigned PredNo) const override;
    1628             : #endif
    1629             : #if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
    1630        1545 : bool DAGISEL_CLASS_COLONCOLON CheckNodePredicate(SDNode *Node, unsigned PredNo) const
    1631             : #if DAGISEL_INLINE
    1632             :   override
    1633             : #endif
    1634             : {
    1635        1545 :   switch (PredNo) {
    1636           0 :   default: llvm_unreachable("Invalid predicate in table?");
    1637             :   case 0: { 
    1638             :     // Predicate_i64immSExt32
    1639             :     // Predicate_i32immSExt32
    1640             :     auto *N = cast<ConstantSDNode>(Node);
    1641        1120 : return isInt<32>(N->getSExtValue()); 
    1642             :   }
    1643         149 :   case 1: { 
    1644             :     // Predicate_unindexedstore
    1645             :     SDNode *N = Node;
    1646         149 : if (cast<StoreSDNode>(N)->getAddressingMode() != ISD::UNINDEXED) return false;
    1647             : return true;
    1648             : 
    1649             :   }
    1650         152 :   case 2: { 
    1651             :     // Predicate_truncstore
    1652             :     SDNode *N = Node;
    1653         152 :  if (!cast<StoreSDNode>(N)->isTruncatingStore()) return false;
    1654             : return true;
    1655             : 
    1656             :   }
    1657         132 :   case 3: { 
    1658             :     // Predicate_truncstorei32
    1659             :     SDNode *N = Node;
    1660             : if (cast<StoreSDNode>(N)->getMemoryVT() != MVT::i32) return false;
    1661             : return true;
    1662             : 
    1663             :   }
    1664          69 :   case 4: { 
    1665             :     // Predicate_truncstorei16
    1666             :     SDNode *N = Node;
    1667             : if (cast<StoreSDNode>(N)->getMemoryVT() != MVT::i16) return false;
    1668             : return true;
    1669             : 
    1670             :   }
    1671          17 :   case 5: { 
    1672             :     // Predicate_truncstorei8
    1673             :     SDNode *N = Node;
    1674             : if (cast<StoreSDNode>(N)->getMemoryVT() != MVT::i8) return false;
    1675             : return true;
    1676             : 
    1677             :   }
    1678          21 :   case 6: { 
    1679             :     // Predicate_store
    1680             :     SDNode *N = Node;
    1681          21 :  if (cast<StoreSDNode>(N)->isTruncatingStore()) return false;
    1682             : return true;
    1683             : 
    1684             :   }
    1685          58 :   case 7: { 
    1686             :     // Predicate_unindexedload
    1687             :     SDNode *N = Node;
    1688          58 : if (cast<LoadSDNode>(N)->getAddressingMode() != ISD::UNINDEXED) return false;
    1689             : return true;
    1690             : 
    1691             :   }
    1692          57 :   case 8: { 
    1693             :     // Predicate_zextload
    1694             :     SDNode *N = Node;
    1695          57 : if (cast<LoadSDNode>(N)->getExtensionType() != ISD::ZEXTLOAD) return false;
    1696             : return true;
    1697             : 
    1698             :   }
    1699          29 :   case 9: { 
    1700             :     // Predicate_zextloadi32
    1701             :     // Predicate_extloadi32
    1702             :     SDNode *N = Node;
    1703             : if (cast<LoadSDNode>(N)->getMemoryVT() != MVT::i32) return false;
    1704             : return true;
    1705             : 
    1706             :   }
    1707          31 :   case 10: { 
    1708             :     // Predicate_zextloadi16
    1709             :     // Predicate_extloadi16
    1710             :     SDNode *N = Node;
    1711             : if (cast<LoadSDNode>(N)->getMemoryVT() != MVT::i16) return false;
    1712             : return true;
    1713             : 
    1714             :   }
    1715          31 :   case 11: { 
    1716             :     // Predicate_zextloadi8
    1717             :     // Predicate_extloadi8
    1718             :     SDNode *N = Node;
    1719             : if (cast<LoadSDNode>(N)->getMemoryVT() != MVT::i8) return false;
    1720             : return true;
    1721             : 
    1722             :   }
    1723          41 :   case 12: { 
    1724             :     // Predicate_load
    1725             :     SDNode *N = Node;
    1726          41 : if (cast<LoadSDNode>(N)->getExtensionType() != ISD::NON_EXTLOAD) return false;
    1727             : return true;
    1728             : 
    1729             :   }
    1730          23 :   case 13: { 
    1731             :     // Predicate_extload
    1732             :     SDNode *N = Node;
    1733          23 : if (cast<LoadSDNode>(N)->getExtensionType() != ISD::EXTLOAD) return false;
    1734             : return true;
    1735             : 
    1736             :   }
    1737           9 :   case 14: { 
    1738             :     // Predicate_atomic_load_add_32
    1739             :     SDNode *N = Node;
    1740             : if (cast<AtomicSDNode>(N)->getMemoryVT() != MVT::i32) return false;
    1741             : return true;
    1742             : 
    1743             :   }
    1744           3 :   case 15: { 
    1745             :     // Predicate_atomic_load_add_64
    1746             :     SDNode *N = Node;
    1747             : if (cast<AtomicSDNode>(N)->getMemoryVT() != MVT::i64) return false;
    1748             : return true;
    1749             : 
    1750             :   }
    1751             :   case 16: { 
    1752             :     // Predicate_BPF_CC_EQ
    1753             :     auto *N = cast<ConstantSDNode>(Node);
    1754         114 : return (N->getZExtValue() == ISD::SETEQ);
    1755             :   }
    1756             :   case 17: { 
    1757             :     // Predicate_BPF_CC_GTU
    1758             :     auto *N = cast<ConstantSDNode>(Node);
    1759          64 : return (N->getZExtValue() == ISD::SETUGT);
    1760             :   }
    1761             :   case 18: { 
    1762             :     // Predicate_BPF_CC_GEU
    1763             :     auto *N = cast<ConstantSDNode>(Node);
    1764          64 : return (N->getZExtValue() == ISD::SETUGE);
    1765             :   }
    1766             :   case 19: { 
    1767             :     // Predicate_BPF_CC_NE
    1768             :     auto *N = cast<ConstantSDNode>(Node);
    1769          64 : return (N->getZExtValue() == ISD::SETNE);
    1770             :   }
    1771             :   case 20: { 
    1772             :     // Predicate_BPF_CC_GT
    1773             :     auto *N = cast<ConstantSDNode>(Node);
    1774          14 : return (N->getZExtValue() == ISD::SETGT);
    1775             :   }
    1776             :   case 21: { 
    1777             :     // Predicate_BPF_CC_GE
    1778             :     auto *N = cast<ConstantSDNode>(Node);
    1779           6 : return (N->getZExtValue() == ISD::SETGE);
    1780             :   }
    1781             :   case 22: { 
    1782             :     // Predicate_BPF_CC_LTU
    1783             :     auto *N = cast<ConstantSDNode>(Node);
    1784           0 : return (N->getZExtValue() == ISD::SETULT);
    1785             :   }
    1786             :   case 23: { 
    1787             :     // Predicate_BPF_CC_LEU
    1788             :     auto *N = cast<ConstantSDNode>(Node);
    1789           0 : return (N->getZExtValue() == ISD::SETULE);
    1790             :   }
    1791             :   case 24: { 
    1792             :     // Predicate_BPF_CC_LT
    1793             :     auto *N = cast<ConstantSDNode>(Node);
    1794           0 : return (N->getZExtValue() == ISD::SETLT);
    1795             :   }
    1796             :   case 25: { 
    1797             :     // Predicate_BPF_CC_LE
    1798             :     auto *N = cast<ConstantSDNode>(Node);
    1799           0 : return (N->getZExtValue() == ISD::SETLE);
    1800             :   }
    1801             :   }
    1802             : }
    1803             : #endif // GET_DAGISEL_BODY
    1804             : 
    1805             : #ifdef GET_DAGISEL_DECL
    1806             : bool CheckComplexPattern(SDNode *Root, SDNode *Parent,
    1807             :       SDValue N, unsigned PatternNo,
    1808             :       SmallVectorImpl<std::pair<SDValue, SDNode*>> &Result) override;
    1809             : #endif
    1810             : #if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
    1811         325 : bool DAGISEL_CLASS_COLONCOLON CheckComplexPattern(SDNode *Root, SDNode *Parent,
    1812             :       SDValue N, unsigned PatternNo,
    1813             :       SmallVectorImpl<std::pair<SDValue, SDNode*>> &Result)
    1814             : #if DAGISEL_INLINE
    1815             :   override
    1816             : #endif
    1817             : {
    1818         325 :   unsigned NextRes = Result.size();
    1819         325 :   switch (PatternNo) {
    1820           0 :   default: llvm_unreachable("Invalid pattern # in table?");
    1821         216 :   case 0:
    1822         216 :     Result.resize(NextRes+2);
    1823         648 :   return SelectAddr(N, Result[NextRes+0].first, Result[NextRes+1].first);
    1824         109 :   case 1:
    1825         109 :     Result.resize(NextRes+2);
    1826         327 :   return SelectFIAddr(N, Result[NextRes+0].first, Result[NextRes+1].first);
    1827             :   }
    1828             : }
    1829             : #endif // GET_DAGISEL_BODY
    1830             : 
    1831             : 
    1832             : #ifdef DAGISEL_INLINE
    1833             : #undef DAGISEL_INLINE
    1834             : #endif
    1835             : #ifdef DAGISEL_CLASS_COLONCOLON
    1836             : #undef DAGISEL_CLASS_COLONCOLON
    1837             : #endif
    1838             : #ifdef GET_DAGISEL_DECL
    1839             : #undef GET_DAGISEL_DECL
    1840             : #endif
    1841             : #ifdef GET_DAGISEL_BODY
    1842             : #undef GET_DAGISEL_BODY
    1843             : #endif

Generated by: LCOV version 1.13