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: 62 69 89.9 %
Date: 2018-07-13 00:08:38 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 /*28 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, 69|128,9/*1221*/, 
      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] } 1221:{ *:[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, 66|128,9/*1218*/, 
      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] } 1218:{ *:[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] } 1218:{ *:[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, 67|128,9/*1219*/, 
     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] } 1219:{ *:[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] } 1219:{ *:[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, 68|128,9/*1220*/, 
     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] } 1220:{ *:[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] } 1220:{ *:[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*/ 92, TARGET_VAL(ISD::SUB),// ->2005
    1096             : /*  1913*/    OPC_Scope, 23, /*->1938*/ // 2 children in Scope
    1097             : /*  1915*/      OPC_CheckChild0Integer, 0, 
    1098             : /*  1917*/      OPC_RecordChild1, // #0 = $src
    1099             : /*  1918*/      OPC_SwitchType /*2 cases */, 7, MVT::i64,// ->1928
    1100             : /*  1921*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::NEG_64), 0,
    1101             :                       MVT::i64, 1/*#Ops*/, 0, 
    1102             :                   // Src: (sub:{ *:[i64] } 0:{ *:[i64] }, i64:{ *:[i64] }:$src) - Complexity = 8
    1103             :                   // Dst: (NEG_64:{ *:[i64] } i64:{ *:[i64] }:$src)
    1104             : /*  1928*/      /*SwitchType*/ 7, MVT::i32,// ->1937
    1105             : /*  1930*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::NEG_32), 0,
    1106             :                       MVT::i32, 1/*#Ops*/, 0, 
    1107             :                   // Src: (sub:{ *:[i32] } 0:{ *:[i32] }, i32:{ *:[i32] }:$src) - Complexity = 8
    1108             :                   // Dst: (NEG_32:{ *:[i32] } i32:{ *:[i32] }:$src)
    1109             : /*  1937*/      0, // EndSwitchType
    1110             : /*  1938*/    /*Scope*/ 65, /*->2004*/
    1111             : /*  1939*/      OPC_RecordChild0, // #0 = $src2
    1112             : /*  1940*/      OPC_RecordChild1, // #1 = $imm
    1113             : /*  1941*/      OPC_Scope, 38, /*->1981*/ // 3 children in Scope
    1114             : /*  1943*/        OPC_MoveChild1,
    1115             : /*  1944*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    1116             : /*  1947*/        OPC_Scope, 15, /*->1964*/ // 2 children in Scope
    1117             : /*  1949*/          OPC_CheckPredicate, 0, // Predicate_i64immSExt32
    1118             : /*  1951*/          OPC_MoveParent,
    1119             : /*  1952*/          OPC_CheckType, MVT::i64,
    1120             : /*  1954*/          OPC_EmitConvertToTarget, 1,
    1121             : /*  1956*/          OPC_MorphNodeTo1, TARGET_VAL(BPF::SUB_ri), 0,
    1122             :                         MVT::i64, 2/*#Ops*/, 0, 2, 
    1123             :                     // Src: (sub:{ *:[i64] } GPR:{ *:[i64] }:$src2, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$imm) - Complexity = 7
    1124             :                     // Dst: (SUB_ri:{ *:[i64] } GPR:{ *:[i64] }:$src2, (imm:{ *:[i64] }):$imm)
    1125             : /*  1964*/        /*Scope*/ 15, /*->1980*/
    1126             : /*  1965*/          OPC_CheckPredicate, 0, // Predicate_i32immSExt32
    1127             : /*  1967*/          OPC_MoveParent,
    1128             : /*  1968*/          OPC_CheckType, MVT::i32,
    1129             : /*  1970*/          OPC_EmitConvertToTarget, 1,
    1130             : /*  1972*/          OPC_MorphNodeTo1, TARGET_VAL(BPF::SUB_ri_32), 0,
    1131             :                         MVT::i32, 2/*#Ops*/, 0, 2, 
    1132             :                     // Src: (sub:{ *:[i32] } GPR32:{ *:[i32] }:$src2, (imm:{ *:[i32] })<<P:Predicate_i32immSExt32>>:$imm) - Complexity = 7
    1133             :                     // Dst: (SUB_ri_32:{ *:[i32] } GPR32:{ *:[i32] }:$src2, (imm:{ *:[i32] }):$imm)
    1134             : /*  1980*/        0, /*End of Scope*/
    1135             : /*  1981*/      /*Scope*/ 10, /*->1992*/
    1136             : /*  1982*/        OPC_CheckType, MVT::i64,
    1137             : /*  1984*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::SUB_rr), 0,
    1138             :                       MVT::i64, 2/*#Ops*/, 0, 1, 
    1139             :                   // Src: (sub:{ *:[i64] } i64:{ *:[i64] }:$src2, i64:{ *:[i64] }:$src) - Complexity = 3
    1140             :                   // Dst: (SUB_rr:{ *:[i64] } i64:{ *:[i64] }:$src2, i64:{ *:[i64] }:$src)
    1141             : /*  1992*/      /*Scope*/ 10, /*->2003*/
    1142             : /*  1993*/        OPC_CheckType, MVT::i32,
    1143             : /*  1995*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::SUB_rr_32), 0,
    1144             :                       MVT::i32, 2/*#Ops*/, 0, 1, 
    1145             :                   // Src: (sub:{ *:[i32] } i32:{ *:[i32] }:$src2, i32:{ *:[i32] }:$src) - Complexity = 3
    1146             :                   // Dst: (SUB_rr_32:{ *:[i32] } i32:{ *:[i32] }:$src2, i32:{ *:[i32] }:$src)
    1147             : /*  2003*/      0, /*End of Scope*/
    1148             : /*  2004*/    0, /*End of Scope*/
    1149             : /*  2005*/  /*SwitchOpcode*/ 100, TARGET_VAL(ISD::AND),// ->2108
    1150             : /*  2008*/    OPC_Scope, 31, /*->2041*/ // 2 children in Scope
    1151             : /*  2010*/      OPC_CheckAndImm, 127|128,127|128,127|128,127|128,15/*4294967295*/, 
    1152             : /*  2016*/      OPC_RecordChild0, // #0 = $src
    1153             : /*  2017*/      OPC_CheckType, MVT::i64,
    1154             : /*  2019*/      OPC_EmitInteger, MVT::i64, 32, 
    1155             : /*  2022*/      OPC_EmitNode1, TARGET_VAL(BPF::SLL_ri), 0,
    1156             :                     MVT::i64, 2/*#Ops*/, 0, 1,  // Results = #2
    1157             : /*  2030*/      OPC_EmitInteger, MVT::i64, 32, 
    1158             : /*  2033*/      OPC_MorphNodeTo1, TARGET_VAL(BPF::SRL_ri), 0,
    1159             :                     MVT::i64, 2/*#Ops*/, 2, 3, 
    1160             :                 // Src: (and:{ *:[i64] } GPR:{ *:[i64] }:$src, 4294967295:{ *:[i64] }) - Complexity = 8
    1161             :                 // Dst: (SRL_ri:{ *:[i64] } (SLL_ri:{ *:[i64] } GPR:{ *:[i64] }:$src, 32:{ *:[i64] }), 32:{ *:[i64] })
    1162             : /*  2041*/    /*Scope*/ 65, /*->2107*/
    1163             : /*  2042*/      OPC_RecordChild0, // #0 = $src2
    1164             : /*  2043*/      OPC_RecordChild1, // #1 = $imm
    1165             : /*  2044*/      OPC_Scope, 38, /*->2084*/ // 3 children in Scope
    1166             : /*  2046*/        OPC_MoveChild1,
    1167             : /*  2047*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    1168             : /*  2050*/        OPC_Scope, 15, /*->2067*/ // 2 children in Scope
    1169             : /*  2052*/          OPC_CheckPredicate, 0, // Predicate_i64immSExt32
    1170             : /*  2054*/          OPC_MoveParent,
    1171             : /*  2055*/          OPC_CheckType, MVT::i64,
    1172             : /*  2057*/          OPC_EmitConvertToTarget, 1,
    1173             : /*  2059*/          OPC_MorphNodeTo1, TARGET_VAL(BPF::AND_ri), 0,
    1174             :                         MVT::i64, 2/*#Ops*/, 0, 2, 
    1175             :                     // Src: (and:{ *:[i64] } GPR:{ *:[i64] }:$src2, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$imm) - Complexity = 7
    1176             :                     // Dst: (AND_ri:{ *:[i64] } GPR:{ *:[i64] }:$src2, (imm:{ *:[i64] }):$imm)
    1177             : /*  2067*/        /*Scope*/ 15, /*->2083*/
    1178             : /*  2068*/          OPC_CheckPredicate, 0, // Predicate_i32immSExt32
    1179             : /*  2070*/          OPC_MoveParent,
    1180             : /*  2071*/          OPC_CheckType, MVT::i32,
    1181             : /*  2073*/          OPC_EmitConvertToTarget, 1,
    1182             : /*  2075*/          OPC_MorphNodeTo1, TARGET_VAL(BPF::AND_ri_32), 0,
    1183             :                         MVT::i32, 2/*#Ops*/, 0, 2, 
    1184             :                     // Src: (and:{ *:[i32] } GPR32:{ *:[i32] }:$src2, (imm:{ *:[i32] })<<P:Predicate_i32immSExt32>>:$imm) - Complexity = 7
    1185             :                     // Dst: (AND_ri_32:{ *:[i32] } GPR32:{ *:[i32] }:$src2, (imm:{ *:[i32] }):$imm)
    1186             : /*  2083*/        0, /*End of Scope*/
    1187             : /*  2084*/      /*Scope*/ 10, /*->2095*/
    1188             : /*  2085*/        OPC_CheckType, MVT::i64,
    1189             : /*  2087*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::AND_rr), 0,
    1190             :                       MVT::i64, 2/*#Ops*/, 0, 1, 
    1191             :                   // Src: (and:{ *:[i64] } i64:{ *:[i64] }:$src2, i64:{ *:[i64] }:$src) - Complexity = 3
    1192             :                   // Dst: (AND_rr:{ *:[i64] } i64:{ *:[i64] }:$src2, i64:{ *:[i64] }:$src)
    1193             : /*  2095*/      /*Scope*/ 10, /*->2106*/
    1194             : /*  2096*/        OPC_CheckType, MVT::i32,
    1195             : /*  2098*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::AND_rr_32), 0,
    1196             :                       MVT::i32, 2/*#Ops*/, 0, 1, 
    1197             :                   // Src: (and:{ *:[i32] } i32:{ *:[i32] }:$src2, i32:{ *:[i32] }:$src) - Complexity = 3
    1198             :                   // Dst: (AND_rr_32:{ *:[i32] } i32:{ *:[i32] }:$src2, i32:{ *:[i32] }:$src)
    1199             : /*  2106*/      0, /*End of Scope*/
    1200             : /*  2107*/    0, /*End of Scope*/
    1201             : /*  2108*/  /*SwitchOpcode*/ 71, TARGET_VAL(ISD::SHL),// ->2182
    1202             : /*  2111*/    OPC_RecordChild0, // #0 = $src2
    1203             : /*  2112*/    OPC_RecordChild1, // #1 = $imm
    1204             : /*  2113*/    OPC_Scope, 40, /*->2155*/ // 3 children in Scope
    1205             : /*  2115*/      OPC_MoveChild1,
    1206             : /*  2116*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    1207             : /*  2119*/      OPC_SwitchType /*2 cases */, 15, MVT::i64,// ->2137
    1208             : /*  2122*/        OPC_CheckPredicate, 0, // Predicate_i64immSExt32
    1209             : /*  2124*/        OPC_MoveParent,
    1210             : /*  2125*/        OPC_CheckType, MVT::i64,
    1211             : /*  2127*/        OPC_EmitConvertToTarget, 1,
    1212             : /*  2129*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::SLL_ri), 0,
    1213             :                       MVT::i64, 2/*#Ops*/, 0, 2, 
    1214             :                   // Src: (shl:{ *:[i64] } GPR:{ *:[i64] }:$src2, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$imm) - Complexity = 7
    1215             :                   // Dst: (SLL_ri:{ *:[i64] } GPR:{ *:[i64] }:$src2, (imm:{ *:[i64] }):$imm)
    1216             : /*  2137*/      /*SwitchType*/ 15, MVT::i32,// ->2154
    1217             : /*  2139*/        OPC_CheckPredicate, 0, // Predicate_i32immSExt32
    1218             : /*  2141*/        OPC_MoveParent,
    1219             : /*  2142*/        OPC_CheckType, MVT::i32,
    1220             : /*  2144*/        OPC_EmitConvertToTarget, 1,
    1221             : /*  2146*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::SLL_ri_32), 0,
    1222             :                       MVT::i32, 2/*#Ops*/, 0, 2, 
    1223             :                   // Src: (shl:{ *:[i32] } GPR32:{ *:[i32] }:$src2, (imm:{ *:[i32] })<<P:Predicate_i32immSExt32>>:$imm) - Complexity = 7
    1224             :                   // Dst: (SLL_ri_32:{ *:[i32] } GPR32:{ *:[i32] }:$src2, (imm:{ *:[i32] }):$imm)
    1225             : /*  2154*/      0, // EndSwitchType
    1226             : /*  2155*/    /*Scope*/ 12, /*->2168*/
    1227             : /*  2156*/      OPC_CheckChild1Type, MVT::i64,
    1228             : /*  2158*/      OPC_CheckType, MVT::i64,
    1229             : /*  2160*/      OPC_MorphNodeTo1, TARGET_VAL(BPF::SLL_rr), 0,
    1230             :                     MVT::i64, 2/*#Ops*/, 0, 1, 
    1231             :                 // Src: (shl:{ *:[i64] } i64:{ *:[i64] }:$src2, i64:{ *:[i64] }:$src) - Complexity = 3
    1232             :                 // Dst: (SLL_rr:{ *:[i64] } i64:{ *:[i64] }:$src2, i64:{ *:[i64] }:$src)
    1233             : /*  2168*/    /*Scope*/ 12, /*->2181*/
    1234             : /*  2169*/      OPC_CheckChild1Type, MVT::i32,
    1235             : /*  2171*/      OPC_CheckType, MVT::i32,
    1236             : /*  2173*/      OPC_MorphNodeTo1, TARGET_VAL(BPF::SLL_rr_32), 0,
    1237             :                     MVT::i32, 2/*#Ops*/, 0, 1, 
    1238             :                 // Src: (shl:{ *:[i32] } i32:{ *:[i32] }:$src2, i32:{ *:[i32] }:$src) - Complexity = 3
    1239             :                 // Dst: (SLL_rr_32:{ *:[i32] } i32:{ *:[i32] }:$src2, i32:{ *:[i32] }:$src)
    1240             : /*  2181*/    0, /*End of Scope*/
    1241             : /*  2182*/  /*SwitchOpcode*/ 65, TARGET_VAL(ISD::XOR),// ->2250
    1242             : /*  2185*/    OPC_RecordChild0, // #0 = $src2
    1243             : /*  2186*/    OPC_RecordChild1, // #1 = $imm
    1244             : /*  2187*/    OPC_Scope, 38, /*->2227*/ // 3 children in Scope
    1245             : /*  2189*/      OPC_MoveChild1,
    1246             : /*  2190*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    1247             : /*  2193*/      OPC_Scope, 15, /*->2210*/ // 2 children in Scope
    1248             : /*  2195*/        OPC_CheckPredicate, 0, // Predicate_i64immSExt32
    1249             : /*  2197*/        OPC_MoveParent,
    1250             : /*  2198*/        OPC_CheckType, MVT::i64,
    1251             : /*  2200*/        OPC_EmitConvertToTarget, 1,
    1252             : /*  2202*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::XOR_ri), 0,
    1253             :                       MVT::i64, 2/*#Ops*/, 0, 2, 
    1254             :                   // Src: (xor:{ *:[i64] } GPR:{ *:[i64] }:$src2, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$imm) - Complexity = 7
    1255             :                   // Dst: (XOR_ri:{ *:[i64] } GPR:{ *:[i64] }:$src2, (imm:{ *:[i64] }):$imm)
    1256             : /*  2210*/      /*Scope*/ 15, /*->2226*/
    1257             : /*  2211*/        OPC_CheckPredicate, 0, // Predicate_i32immSExt32
    1258             : /*  2213*/        OPC_MoveParent,
    1259             : /*  2214*/        OPC_CheckType, MVT::i32,
    1260             : /*  2216*/        OPC_EmitConvertToTarget, 1,
    1261             : /*  2218*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::XOR_ri_32), 0,
    1262             :                       MVT::i32, 2/*#Ops*/, 0, 2, 
    1263             :                   // Src: (xor:{ *:[i32] } GPR32:{ *:[i32] }:$src2, (imm:{ *:[i32] })<<P:Predicate_i32immSExt32>>:$imm) - Complexity = 7
    1264             :                   // Dst: (XOR_ri_32:{ *:[i32] } GPR32:{ *:[i32] }:$src2, (imm:{ *:[i32] }):$imm)
    1265             : /*  2226*/      0, /*End of Scope*/
    1266             : /*  2227*/    /*Scope*/ 10, /*->2238*/
    1267             : /*  2228*/      OPC_CheckType, MVT::i64,
    1268             : /*  2230*/      OPC_MorphNodeTo1, TARGET_VAL(BPF::XOR_rr), 0,
    1269             :                     MVT::i64, 2/*#Ops*/, 0, 1, 
    1270             :                 // Src: (xor:{ *:[i64] } i64:{ *:[i64] }:$src2, i64:{ *:[i64] }:$src) - Complexity = 3
    1271             :                 // Dst: (XOR_rr:{ *:[i64] } i64:{ *:[i64] }:$src2, i64:{ *:[i64] }:$src)
    1272             : /*  2238*/    /*Scope*/ 10, /*->2249*/
    1273             : /*  2239*/      OPC_CheckType, MVT::i32,
    1274             : /*  2241*/      OPC_MorphNodeTo1, TARGET_VAL(BPF::XOR_rr_32), 0,
    1275             :                     MVT::i32, 2/*#Ops*/, 0, 1, 
    1276             :                 // Src: (xor:{ *:[i32] } i32:{ *:[i32] }:$src2, i32:{ *:[i32] }:$src) - Complexity = 3
    1277             :                 // Dst: (XOR_rr_32:{ *:[i32] } i32:{ *:[i32] }:$src2, i32:{ *:[i32] }:$src)
    1278             : /*  2249*/    0, /*End of Scope*/
    1279             : /*  2250*/  /*SwitchOpcode*/ 71, TARGET_VAL(ISD::SRA),// ->2324
    1280             : /*  2253*/    OPC_RecordChild0, // #0 = $src2
    1281             : /*  2254*/    OPC_RecordChild1, // #1 = $imm
    1282             : /*  2255*/    OPC_Scope, 40, /*->2297*/ // 3 children in Scope
    1283             : /*  2257*/      OPC_MoveChild1,
    1284             : /*  2258*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    1285             : /*  2261*/      OPC_SwitchType /*2 cases */, 15, MVT::i64,// ->2279
    1286             : /*  2264*/        OPC_CheckPredicate, 0, // Predicate_i64immSExt32
    1287             : /*  2266*/        OPC_MoveParent,
    1288             : /*  2267*/        OPC_CheckType, MVT::i64,
    1289             : /*  2269*/        OPC_EmitConvertToTarget, 1,
    1290             : /*  2271*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::SRA_ri), 0,
    1291             :                       MVT::i64, 2/*#Ops*/, 0, 2, 
    1292             :                   // Src: (sra:{ *:[i64] } GPR:{ *:[i64] }:$src2, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$imm) - Complexity = 7
    1293             :                   // Dst: (SRA_ri:{ *:[i64] } GPR:{ *:[i64] }:$src2, (imm:{ *:[i64] }):$imm)
    1294             : /*  2279*/      /*SwitchType*/ 15, MVT::i32,// ->2296
    1295             : /*  2281*/        OPC_CheckPredicate, 0, // Predicate_i32immSExt32
    1296             : /*  2283*/        OPC_MoveParent,
    1297             : /*  2284*/        OPC_CheckType, MVT::i32,
    1298             : /*  2286*/        OPC_EmitConvertToTarget, 1,
    1299             : /*  2288*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::SRA_ri_32), 0,
    1300             :                       MVT::i32, 2/*#Ops*/, 0, 2, 
    1301             :                   // Src: (sra:{ *:[i32] } GPR32:{ *:[i32] }:$src2, (imm:{ *:[i32] })<<P:Predicate_i32immSExt32>>:$imm) - Complexity = 7
    1302             :                   // Dst: (SRA_ri_32:{ *:[i32] } GPR32:{ *:[i32] }:$src2, (imm:{ *:[i32] }):$imm)
    1303             : /*  2296*/      0, // EndSwitchType
    1304             : /*  2297*/    /*Scope*/ 12, /*->2310*/
    1305             : /*  2298*/      OPC_CheckChild1Type, MVT::i64,
    1306             : /*  2300*/      OPC_CheckType, MVT::i64,
    1307             : /*  2302*/      OPC_MorphNodeTo1, TARGET_VAL(BPF::SRA_rr), 0,
    1308             :                     MVT::i64, 2/*#Ops*/, 0, 1, 
    1309             :                 // Src: (sra:{ *:[i64] } i64:{ *:[i64] }:$src2, i64:{ *:[i64] }:$src) - Complexity = 3
    1310             :                 // Dst: (SRA_rr:{ *:[i64] } i64:{ *:[i64] }:$src2, i64:{ *:[i64] }:$src)
    1311             : /*  2310*/    /*Scope*/ 12, /*->2323*/
    1312             : /*  2311*/      OPC_CheckChild1Type, MVT::i32,
    1313             : /*  2313*/      OPC_CheckType, MVT::i32,
    1314             : /*  2315*/      OPC_MorphNodeTo1, TARGET_VAL(BPF::SRA_rr_32), 0,
    1315             :                     MVT::i32, 2/*#Ops*/, 0, 1, 
    1316             :                 // Src: (sra:{ *:[i32] } i32:{ *:[i32] }:$src2, i32:{ *:[i32] }:$src) - Complexity = 3
    1317             :                 // Dst: (SRA_rr_32:{ *:[i32] } i32:{ *:[i32] }:$src2, i32:{ *:[i32] }:$src)
    1318             : /*  2323*/    0, /*End of Scope*/
    1319             : /*  2324*/  /*SwitchOpcode*/ 65, TARGET_VAL(ISD::MUL),// ->2392
    1320             : /*  2327*/    OPC_RecordChild0, // #0 = $src2
    1321             : /*  2328*/    OPC_RecordChild1, // #1 = $imm
    1322             : /*  2329*/    OPC_Scope, 38, /*->2369*/ // 3 children in Scope
    1323             : /*  2331*/      OPC_MoveChild1,
    1324             : /*  2332*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    1325             : /*  2335*/      OPC_Scope, 15, /*->2352*/ // 2 children in Scope
    1326             : /*  2337*/        OPC_CheckPredicate, 0, // Predicate_i64immSExt32
    1327             : /*  2339*/        OPC_MoveParent,
    1328             : /*  2340*/        OPC_CheckType, MVT::i64,
    1329             : /*  2342*/        OPC_EmitConvertToTarget, 1,
    1330             : /*  2344*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::MUL_ri), 0,
    1331             :                       MVT::i64, 2/*#Ops*/, 0, 2, 
    1332             :                   // Src: (mul:{ *:[i64] } GPR:{ *:[i64] }:$src2, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$imm) - Complexity = 7
    1333             :                   // Dst: (MUL_ri:{ *:[i64] } GPR:{ *:[i64] }:$src2, (imm:{ *:[i64] }):$imm)
    1334             : /*  2352*/      /*Scope*/ 15, /*->2368*/
    1335             : /*  2353*/        OPC_CheckPredicate, 0, // Predicate_i32immSExt32
    1336             : /*  2355*/        OPC_MoveParent,
    1337             : /*  2356*/        OPC_CheckType, MVT::i32,
    1338             : /*  2358*/        OPC_EmitConvertToTarget, 1,
    1339             : /*  2360*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::MUL_ri_32), 0,
    1340             :                       MVT::i32, 2/*#Ops*/, 0, 2, 
    1341             :                   // Src: (mul:{ *:[i32] } GPR32:{ *:[i32] }:$src2, (imm:{ *:[i32] })<<P:Predicate_i32immSExt32>>:$imm) - Complexity = 7
    1342             :                   // Dst: (MUL_ri_32:{ *:[i32] } GPR32:{ *:[i32] }:$src2, (imm:{ *:[i32] }):$imm)
    1343             : /*  2368*/      0, /*End of Scope*/
    1344             : /*  2369*/    /*Scope*/ 10, /*->2380*/
    1345             : /*  2370*/      OPC_CheckType, MVT::i64,
    1346             : /*  2372*/      OPC_MorphNodeTo1, TARGET_VAL(BPF::MUL_rr), 0,
    1347             :                     MVT::i64, 2/*#Ops*/, 0, 1, 
    1348             :                 // Src: (mul:{ *:[i64] } i64:{ *:[i64] }:$src2, i64:{ *:[i64] }:$src) - Complexity = 3
    1349             :                 // Dst: (MUL_rr:{ *:[i64] } i64:{ *:[i64] }:$src2, i64:{ *:[i64] }:$src)
    1350             : /*  2380*/    /*Scope*/ 10, /*->2391*/
    1351             : /*  2381*/      OPC_CheckType, MVT::i32,
    1352             : /*  2383*/      OPC_MorphNodeTo1, TARGET_VAL(BPF::MUL_rr_32), 0,
    1353             :                     MVT::i32, 2/*#Ops*/, 0, 1, 
    1354             :                 // Src: (mul:{ *:[i32] } i32:{ *:[i32] }:$src2, i32:{ *:[i32] }:$src) - Complexity = 3
    1355             :                 // Dst: (MUL_rr_32:{ *:[i32] } i32:{ *:[i32] }:$src2, i32:{ *:[i32] }:$src)
    1356             : /*  2391*/    0, /*End of Scope*/
    1357             : /*  2392*/  /*SwitchOpcode*/ 65, TARGET_VAL(ISD::UDIV),// ->2460
    1358             : /*  2395*/    OPC_RecordChild0, // #0 = $src2
    1359             : /*  2396*/    OPC_RecordChild1, // #1 = $imm
    1360             : /*  2397*/    OPC_Scope, 38, /*->2437*/ // 3 children in Scope
    1361             : /*  2399*/      OPC_MoveChild1,
    1362             : /*  2400*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    1363             : /*  2403*/      OPC_Scope, 15, /*->2420*/ // 2 children in Scope
    1364             : /*  2405*/        OPC_CheckPredicate, 0, // Predicate_i64immSExt32
    1365             : /*  2407*/        OPC_MoveParent,
    1366             : /*  2408*/        OPC_CheckType, MVT::i64,
    1367             : /*  2410*/        OPC_EmitConvertToTarget, 1,
    1368             : /*  2412*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::DIV_ri), 0,
    1369             :                       MVT::i64, 2/*#Ops*/, 0, 2, 
    1370             :                   // Src: (udiv:{ *:[i64] } GPR:{ *:[i64] }:$src2, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$imm) - Complexity = 7
    1371             :                   // Dst: (DIV_ri:{ *:[i64] } GPR:{ *:[i64] }:$src2, (imm:{ *:[i64] }):$imm)
    1372             : /*  2420*/      /*Scope*/ 15, /*->2436*/
    1373             : /*  2421*/        OPC_CheckPredicate, 0, // Predicate_i32immSExt32
    1374             : /*  2423*/        OPC_MoveParent,
    1375             : /*  2424*/        OPC_CheckType, MVT::i32,
    1376             : /*  2426*/        OPC_EmitConvertToTarget, 1,
    1377             : /*  2428*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::DIV_ri_32), 0,
    1378             :                       MVT::i32, 2/*#Ops*/, 0, 2, 
    1379             :                   // Src: (udiv:{ *:[i32] } GPR32:{ *:[i32] }:$src2, (imm:{ *:[i32] })<<P:Predicate_i32immSExt32>>:$imm) - Complexity = 7
    1380             :                   // Dst: (DIV_ri_32:{ *:[i32] } GPR32:{ *:[i32] }:$src2, (imm:{ *:[i32] }):$imm)
    1381             : /*  2436*/      0, /*End of Scope*/
    1382             : /*  2437*/    /*Scope*/ 10, /*->2448*/
    1383             : /*  2438*/      OPC_CheckType, MVT::i64,
    1384             : /*  2440*/      OPC_MorphNodeTo1, TARGET_VAL(BPF::DIV_rr), 0,
    1385             :                     MVT::i64, 2/*#Ops*/, 0, 1, 
    1386             :                 // Src: (udiv:{ *:[i64] } i64:{ *:[i64] }:$src2, i64:{ *:[i64] }:$src) - Complexity = 3
    1387             :                 // Dst: (DIV_rr:{ *:[i64] } i64:{ *:[i64] }:$src2, i64:{ *:[i64] }:$src)
    1388             : /*  2448*/    /*Scope*/ 10, /*->2459*/
    1389             : /*  2449*/      OPC_CheckType, MVT::i32,
    1390             : /*  2451*/      OPC_MorphNodeTo1, TARGET_VAL(BPF::DIV_rr_32), 0,
    1391             :                     MVT::i32, 2/*#Ops*/, 0, 1, 
    1392             :                 // Src: (udiv:{ *:[i32] } i32:{ *:[i32] }:$src2, i32:{ *:[i32] }:$src) - Complexity = 3
    1393             :                 // Dst: (DIV_rr_32:{ *:[i32] } i32:{ *:[i32] }:$src2, i32:{ *:[i32] }:$src)
    1394             : /*  2459*/    0, /*End of Scope*/
    1395             : /*  2460*/  /*SwitchOpcode*/ 15, TARGET_VAL(BPFISD::Wrapper),// ->2478
    1396             : /*  2463*/    OPC_RecordChild0, // #0 = $in
    1397             : /*  2464*/    OPC_MoveChild0,
    1398             : /*  2465*/    OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
    1399             : /*  2468*/    OPC_MoveParent,
    1400             : /*  2469*/    OPC_CheckType, MVT::i64,
    1401             : /*  2471*/    OPC_MorphNodeTo1, TARGET_VAL(BPF::LD_imm64), 0,
    1402             :                   MVT::i64, 1/*#Ops*/, 0, 
    1403             :               // Src: (BPFWrapper:{ *:[i64] } (tglobaladdr:{ *:[i64] }):$in) - Complexity = 6
    1404             :               // Dst: (LD_imm64:{ *:[i64] } (tglobaladdr:{ *:[i64] }):$in)
    1405             : /*  2478*/  /*SwitchOpcode*/ 58, TARGET_VAL(BPFISD::CALL),// ->2539
    1406             : /*  2481*/    OPC_RecordNode, // #0 = 'BPFcall' chained node
    1407             : /*  2482*/    OPC_CaptureGlueInput,
    1408             : /*  2483*/    OPC_RecordChild1, // #1 = $dst
    1409             : /*  2484*/    OPC_Scope, 41, /*->2527*/ // 2 children in Scope
    1410             : /*  2486*/      OPC_MoveChild1,
    1411             : /*  2487*/      OPC_SwitchOpcode /*3 cases */, 9, TARGET_VAL(ISD::TargetGlobalAddress),// ->2500
    1412             : /*  2491*/        OPC_MoveParent,
    1413             : /*  2492*/        OPC_EmitMergeInputChains1_0,
    1414             : /*  2493*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::JAL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
    1415             :                       MVT::i64, 1/*#Ops*/, 1, 
    1416             :                   // Src: (BPFcall (tglobaladdr:{ *:[iPTR] }):$dst) - Complexity = 6
    1417             :                   // Dst: (JAL:{ *:[i64] } (tglobaladdr:{ *:[i64] }):$dst)
    1418             : /*  2500*/      /*SwitchOpcode*/ 9, TARGET_VAL(ISD::TargetExternalSymbol),// ->2512
    1419             : /*  2503*/        OPC_MoveParent,
    1420             : /*  2504*/        OPC_EmitMergeInputChains1_0,
    1421             : /*  2505*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::JAL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
    1422             :                       MVT::i64, 1/*#Ops*/, 1, 
    1423             :                   // Src: (BPFcall (texternalsym:{ *:[iPTR] }):$dst) - Complexity = 6
    1424             :                   // Dst: (JAL:{ *:[i64] } (texternalsym:{ *:[i64] }):$dst)
    1425             : /*  2512*/      /*SwitchOpcode*/ 11, TARGET_VAL(ISD::Constant),// ->2526
    1426             : /*  2515*/        OPC_MoveParent,
    1427             : /*  2516*/        OPC_EmitMergeInputChains1_0,
    1428             : /*  2517*/        OPC_EmitConvertToTarget, 1,
    1429             : /*  2519*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::JAL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
    1430             :                       MVT::i64, 1/*#Ops*/, 2, 
    1431             :                   // Src: (BPFcall (imm:{ *:[iPTR] }):$dst) - Complexity = 6
    1432             :                   // Dst: (JAL:{ *:[i64] } (imm:{ *:[i64] }):$dst)
    1433             : /*  2526*/      0, // EndSwitchOpcode
    1434             : /*  2527*/    /*Scope*/ 10, /*->2538*/
    1435             : /*  2528*/      OPC_CheckChild1Type, MVT::i64,
    1436             : /*  2530*/      OPC_EmitMergeInputChains1_0,
    1437             : /*  2531*/      OPC_MorphNodeTo1, TARGET_VAL(BPF::JALX), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
    1438             :                     MVT::i64, 1/*#Ops*/, 1, 
    1439             :                 // Src: (BPFcall GPR:{ *:[i64] }:$dst) - Complexity = 3
    1440             :                 // Dst: (JALX:{ *:[i64] } GPR:{ *:[i64] }:$dst)
    1441             : /*  2538*/    0, /*End of Scope*/
    1442             : /*  2539*/  /*SwitchOpcode*/ 42, TARGET_VAL(ISD::Constant),// ->2584
    1443             : /*  2542*/    OPC_RecordNode, // #0 = $imm
    1444             : /*  2543*/    OPC_SwitchType /*2 cases */, 24, MVT::i64,// ->2570
    1445             : /*  2546*/      OPC_Scope, 11, /*->2559*/ // 2 children in Scope
    1446             : /*  2548*/        OPC_CheckPredicate, 0, // Predicate_i64immSExt32
    1447             : /*  2550*/        OPC_EmitConvertToTarget, 0,
    1448             : /*  2552*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::MOV_ri), 0,
    1449             :                       MVT::i64, 1/*#Ops*/, 1, 
    1450             :                   // Src: (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$imm - Complexity = 4
    1451             :                   // Dst: (MOV_ri:{ *:[i64] } (imm:{ *:[i64] }):$imm)
    1452             : /*  2559*/      /*Scope*/ 9, /*->2569*/
    1453             : /*  2560*/        OPC_EmitConvertToTarget, 0,
    1454             : /*  2562*/        OPC_MorphNodeTo1, TARGET_VAL(BPF::LD_imm64), 0,
    1455             :                       MVT::i64, 1/*#Ops*/, 1, 
    1456             :                   // Src: (imm:{ *:[i64] }):$imm - Complexity = 3
    1457             :                   // Dst: (LD_imm64:{ *:[i64] } (imm:{ *:[i64] }):$imm)
    1458             : /*  2569*/      0, /*End of Scope*/
    1459             : /*  2570*/    /*SwitchType*/ 11, MVT::i32,// ->2583
    1460             : /*  2572*/      OPC_CheckPredicate, 0, // Predicate_i32immSExt32
    1461             : /*  2574*/      OPC_EmitConvertToTarget, 0,
    1462             : /*  2576*/      OPC_MorphNodeTo1, TARGET_VAL(BPF::MOV_ri_32), 0,
    1463             :                     MVT::i32, 1/*#Ops*/, 1, 
    1464             :                 // Src: (imm:{ *:[i32] })<<P:Predicate_i32immSExt32>>:$imm - Complexity = 4
    1465             :                 // Dst: (MOV_ri_32:{ *:[i32] } (imm:{ *:[i32] }):$imm)
    1466             : /*  2583*/    0, // EndSwitchType
    1467             : /*  2584*/  /*SwitchOpcode*/ 14, TARGET_VAL(ISD::BR),// ->2601
    1468             : /*  2587*/    OPC_RecordNode, // #0 = 'br' chained node
    1469             : /*  2588*/    OPC_RecordChild1, // #1 = $BrDst
    1470             : /*  2589*/    OPC_MoveChild1,
    1471             : /*  2590*/    OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
    1472             : /*  2593*/    OPC_MoveParent,
    1473             : /*  2594*/    OPC_EmitMergeInputChains1_0,
    1474             : /*  2595*/    OPC_MorphNodeTo0, TARGET_VAL(BPF::JMP), 0|OPFL_Chain,
    1475             :                   1/*#Ops*/, 1, 
    1476             :               // Src: (br (bb:{ *:[Other] }):$BrDst) - Complexity = 3
    1477             :               // Dst: (JMP (bb:{ *:[Other] }):$BrDst)
    1478             : /*  2601*/  /*SwitchOpcode*/ 8, TARGET_VAL(BPFISD::RET_FLAG),// ->2612
    1479             : /*  2604*/    OPC_RecordNode, // #0 = 'BPFretflag' chained node
    1480             : /*  2605*/    OPC_CaptureGlueInput,
    1481             : /*  2606*/    OPC_EmitMergeInputChains1_0,
    1482             : /*  2607*/    OPC_MorphNodeTo0, TARGET_VAL(BPF::RET), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic0,
    1483             :                   0/*#Ops*/, 
    1484             :               // Src: (BPFretflag) - Complexity = 3
    1485             :               // Dst: (RET)
    1486             : /*  2612*/  /*SwitchOpcode*/ 25, TARGET_VAL(ISD::BSWAP),// ->2640
    1487             : /*  2615*/    OPC_RecordChild0, // #0 = $src
    1488             : /*  2616*/    OPC_CheckType, MVT::i64,
    1489             : /*  2618*/    OPC_Scope, 9, /*->2629*/ // 2 children in Scope
    1490             : /*  2620*/      OPC_CheckPatternPredicate, 2, // (CurDAG->getDataLayout().isLittleEndian())
    1491             : /*  2622*/      OPC_MorphNodeTo1, TARGET_VAL(BPF::BE64), 0,
    1492             :                     MVT::i64, 1/*#Ops*/, 0, 
    1493             :                 // Src: (bswap:{ *:[i64] } GPR:{ *:[i64] }:$src) - Complexity = 3
    1494             :                 // Dst: (BE64:{ *:[i64] } GPR:{ *:[i64] }:$src)
    1495             : /*  2629*/    /*Scope*/ 9, /*->2639*/
    1496             : /*  2630*/      OPC_CheckPatternPredicate, 3, // (!CurDAG->getDataLayout().isLittleEndian())
    1497             : /*  2632*/      OPC_MorphNodeTo1, TARGET_VAL(BPF::LE64), 0,
    1498             :                     MVT::i64, 1/*#Ops*/, 0, 
    1499             :                 // Src: (bswap:{ *:[i64] } GPR:{ *:[i64] }:$src) - Complexity = 3
    1500             :                 // Dst: (LE64:{ *:[i64] } GPR:{ *:[i64] }:$src)
    1501             : /*  2639*/    0, /*End of Scope*/
    1502             : /*  2640*/  /*SwitchOpcode*/ 12, TARGET_VAL(ISD::TRUNCATE),// ->2655
    1503             : /*  2643*/    OPC_RecordChild0, // #0 = $src
    1504             : /*  2644*/    OPC_EmitInteger, MVT::i32, BPF::sub_32,
    1505             : /*  2647*/    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
    1506             :                   MVT::i32, 2/*#Ops*/, 0, 1, 
    1507             :               // Src: (trunc:{ *:[i32] } GPR:{ *:[i64] }:$src) - Complexity = 3
    1508             :               // Dst: (EXTRACT_SUBREG:{ *:[i32] } GPR:{ *:[i64] }:$src, sub_32:{ *:[i32] })
    1509             : /*  2655*/  /*SwitchOpcode*/ 19, TARGET_VAL(ISD::ANY_EXTEND),// ->2677
    1510             : /*  2658*/    OPC_RecordChild0, // #0 = $src
    1511             : /*  2659*/    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
    1512             :                   MVT::i64, 0/*#Ops*/,  // Results = #1
    1513             : /*  2665*/    OPC_EmitInteger, MVT::i32, BPF::sub_32,
    1514             : /*  2668*/    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
    1515             :                   MVT::i64, 3/*#Ops*/, 1, 0, 2, 
    1516             :               // Src: (anyext:{ *:[i64] } GPR32:{ *:[i32] }:$src) - Complexity = 3
    1517             :               // Dst: (INSERT_SUBREG:{ *:[i64] } (IMPLICIT_DEF:{ *:[i64] }), GPR32:{ *:[i32] }:$src, sub_32:{ *:[i32] })
    1518             : /*  2677*/  /*SwitchOpcode*/ 30, TARGET_VAL(ISD::SIGN_EXTEND),// ->2710
    1519             : /*  2680*/    OPC_RecordChild0, // #0 = $src
    1520             : /*  2681*/    OPC_EmitNode1, TARGET_VAL(BPF::MOV_32_64), 0,
    1521             :                   MVT::i64, 1/*#Ops*/, 0,  // Results = #1
    1522             : /*  2688*/    OPC_EmitInteger, MVT::i64, 32, 
    1523             : /*  2691*/    OPC_EmitNode1, TARGET_VAL(BPF::SLL_ri), 0,
    1524             :                   MVT::i64, 2/*#Ops*/, 1, 2,  // Results = #3
    1525             : /*  2699*/    OPC_EmitInteger, MVT::i64, 32, 
    1526             : /*  2702*/    OPC_MorphNodeTo1, TARGET_VAL(BPF::SRA_ri), 0,
    1527             :                   MVT::i64, 2/*#Ops*/, 3, 4, 
    1528             :               // Src: (sext:{ *:[i64] } GPR32:{ *:[i32] }:$src) - Complexity = 3
    1529             :               // Dst: (SRA_ri:{ *:[i64] } (SLL_ri:{ *:[i64] } (MOV_32_64:{ *:[i64] } GPR32:{ *:[i32] }:$src), 32:{ *:[i64] }), 32:{ *:[i64] })
    1530             : /*  2710*/  /*SwitchOpcode*/ 30, TARGET_VAL(ISD::ZERO_EXTEND),// ->2743
    1531             : /*  2713*/    OPC_RecordChild0, // #0 = $src
    1532             : /*  2714*/    OPC_EmitNode1, TARGET_VAL(BPF::MOV_32_64), 0,
    1533             :                   MVT::i64, 1/*#Ops*/, 0,  // Results = #1
    1534             : /*  2721*/    OPC_EmitInteger, MVT::i64, 32, 
    1535             : /*  2724*/    OPC_EmitNode1, TARGET_VAL(BPF::SLL_ri), 0,
    1536             :                   MVT::i64, 2/*#Ops*/, 1, 2,  // Results = #3
    1537             : /*  2732*/    OPC_EmitInteger, MVT::i64, 32, 
    1538             : /*  2735*/    OPC_MorphNodeTo1, TARGET_VAL(BPF::SRL_ri), 0,
    1539             :                   MVT::i64, 2/*#Ops*/, 3, 4, 
    1540             :               // Src: (zext:{ *:[i64] } GPR32:{ *:[i32] }:$src) - Complexity = 3
    1541             :               // Dst: (SRL_ri:{ *:[i64] } (SLL_ri:{ *:[i64] } (MOV_32_64:{ *:[i64] } GPR32:{ *:[i32] }:$src), 32:{ *:[i64] }), 32:{ *:[i64] })
    1542             : /*  2743*/  0, // EndSwitchOpcode
    1543             :     0
    1544             :   }; // Total Array size is 2745 bytes
    1545             : 
    1546             :   // Opcode Histogram:
    1547             :   // #OPC_Scope                                = 53
    1548             :   // #OPC_RecordNode                           = 13
    1549             :   // #OPC_RecordChild                          = 86
    1550             :   // #OPC_RecordMemRef                         = 3
    1551             :   // #OPC_CaptureGlueInput                     = 5
    1552             :   // #OPC_MoveChild                            = 52
    1553             :   // #OPC_MoveParent                           = 82
    1554             :   // #OPC_CheckSame                            = 0
    1555             :   // #OPC_CheckChildSame                       = 0
    1556             :   // #OPC_CheckPatternPredicate                = 32
    1557             :   // #OPC_CheckPredicate                       = 90
    1558             :   // #OPC_CheckOpcode                          = 51
    1559             :   // #OPC_SwitchOpcode                         = 2
    1560             :   // #OPC_CheckType                            = 53
    1561             :   // #OPC_SwitchType                           = 10
    1562             :   // #OPC_CheckChildType                       = 21
    1563             :   // #OPC_CheckInteger                         = 0
    1564             :   // #OPC_CheckChildInteger                    = 7
    1565             :   // #OPC_CheckCondCode                        = 0
    1566             :   // #OPC_CheckValueType                       = 0
    1567             :   // #OPC_CheckComplexPat                      = 32
    1568             :   // #OPC_CheckAndImm                          = 1
    1569             :   // #OPC_CheckOrImm                           = 0
    1570             :   // #OPC_CheckFoldableChainNode               = 0
    1571             :   // #OPC_EmitInteger                          = 12
    1572             :   // #OPC_EmitStringInteger                    = 11
    1573             :   // #OPC_EmitRegister                         = 0
    1574             :   // #OPC_EmitConvertToTarget                  = 51
    1575             :   // #OPC_EmitMergeInputChains                 = 65
    1576             :   // #OPC_EmitCopyToReg                        = 0
    1577             :   // #OPC_EmitNode                             = 15
    1578             :   // #OPC_EmitNodeXForm                        = 0
    1579             :   // #OPC_CompleteMatch                        = 0
    1580             :   // #OPC_MorphNodeTo                          = 132
    1581             : 
    1582             :   #undef TARGET_VAL
    1583        4010 :   SelectCodeCommon(N, MatcherTable,sizeof(MatcherTable));
    1584             : }
    1585             : #endif // GET_DAGISEL_BODY
    1586             : 
    1587             : #ifdef GET_DAGISEL_DECL
    1588             : bool CheckPatternPredicate(unsigned PredNo) const override;
    1589             : #endif
    1590             : #if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
    1591         195 : bool DAGISEL_CLASS_COLONCOLON CheckPatternPredicate(unsigned PredNo) const
    1592             : #if DAGISEL_INLINE
    1593             :   override
    1594             : #endif
    1595             : {
    1596         195 :   switch (PredNo) {
    1597           0 :   default: llvm_unreachable("Invalid predicate in table?");
    1598         171 :   case 0: return (!Subtarget->getHasAlu32());
    1599           6 :   case 1: return (Subtarget->getHasAlu32());
    1600          36 :   case 2: return (CurDAG->getDataLayout().isLittleEndian());
    1601          12 :   case 3: return (!CurDAG->getDataLayout().isLittleEndian());
    1602             :   }
    1603             : }
    1604             : #endif // GET_DAGISEL_BODY
    1605             : 
    1606             : #ifdef GET_DAGISEL_DECL
    1607             : bool CheckNodePredicate(SDNode *Node, unsigned PredNo) const override;
    1608             : #endif
    1609             : #if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
    1610        1537 : bool DAGISEL_CLASS_COLONCOLON CheckNodePredicate(SDNode *Node, unsigned PredNo) const
    1611             : #if DAGISEL_INLINE
    1612             :   override
    1613             : #endif
    1614             : {
    1615        1537 :   switch (PredNo) {
    1616           0 :   default: llvm_unreachable("Invalid predicate in table?");
    1617             :   case 0: { 
    1618             :     // Predicate_i64immSExt32
    1619             :     // Predicate_i32immSExt32
    1620             :     auto *N = cast<ConstantSDNode>(Node);
    1621        1112 : return isInt<32>(N->getSExtValue()); 
    1622             :   }
    1623         149 :   case 1: { 
    1624             :     // Predicate_unindexedstore
    1625             :     SDNode *N = Node;
    1626         149 : if (cast<StoreSDNode>(N)->getAddressingMode() != ISD::UNINDEXED) return false;
    1627         149 : return true;
    1628             : 
    1629             :   }
    1630         152 :   case 2: { 
    1631             :     // Predicate_truncstore
    1632             :     SDNode *N = Node;
    1633         152 :  if (!cast<StoreSDNode>(N)->isTruncatingStore()) return false;
    1634         134 : return true;
    1635             : 
    1636             :   }
    1637         132 :   case 3: { 
    1638             :     // Predicate_truncstorei32
    1639             :     SDNode *N = Node;
    1640             : if (cast<StoreSDNode>(N)->getMemoryVT() != MVT::i32) return false;
    1641          66 : return true;
    1642             : 
    1643             :   }
    1644          69 :   case 4: { 
    1645             :     // Predicate_truncstorei16
    1646             :     SDNode *N = Node;
    1647             : if (cast<StoreSDNode>(N)->getMemoryVT() != MVT::i16) return false;
    1648          55 : return true;
    1649             : 
    1650             :   }
    1651          17 :   case 5: { 
    1652             :     // Predicate_truncstorei8
    1653             :     SDNode *N = Node;
    1654             : if (cast<StoreSDNode>(N)->getMemoryVT() != MVT::i8) return false;
    1655          13 : return true;
    1656             : 
    1657             :   }
    1658          21 :   case 6: { 
    1659             :     // Predicate_store
    1660             :     SDNode *N = Node;
    1661          21 :  if (cast<StoreSDNode>(N)->isTruncatingStore()) return false;
    1662          18 : return true;
    1663             : 
    1664             :   }
    1665          58 :   case 7: { 
    1666             :     // Predicate_unindexedload
    1667             :     SDNode *N = Node;
    1668          58 : if (cast<LoadSDNode>(N)->getAddressingMode() != ISD::UNINDEXED) return false;
    1669          58 : return true;
    1670             : 
    1671             :   }
    1672          57 :   case 8: { 
    1673             :     // Predicate_zextload
    1674             :     SDNode *N = Node;
    1675          57 : if (cast<LoadSDNode>(N)->getExtensionType() != ISD::ZEXTLOAD) return false;
    1676          19 : return true;
    1677             : 
    1678             :   }
    1679          29 :   case 9: { 
    1680             :     // Predicate_zextloadi32
    1681             :     // Predicate_extloadi32
    1682             :     SDNode *N = Node;
    1683             : if (cast<LoadSDNode>(N)->getMemoryVT() != MVT::i32) return false;
    1684          22 : return true;
    1685             : 
    1686             :   }
    1687          31 :   case 10: { 
    1688             :     // Predicate_zextloadi16
    1689             :     // Predicate_extloadi16
    1690             :     SDNode *N = Node;
    1691             : if (cast<LoadSDNode>(N)->getMemoryVT() != MVT::i16) return false;
    1692          11 : return true;
    1693             : 
    1694             :   }
    1695          31 :   case 11: { 
    1696             :     // Predicate_zextloadi8
    1697             :     // Predicate_extloadi8
    1698             :     SDNode *N = Node;
    1699             : if (cast<LoadSDNode>(N)->getMemoryVT() != MVT::i8) return false;
    1700           9 : return true;
    1701             : 
    1702             :   }
    1703          41 :   case 12: { 
    1704             :     // Predicate_load
    1705             :     SDNode *N = Node;
    1706          41 : if (cast<LoadSDNode>(N)->getExtensionType() != ISD::NON_EXTLOAD) return false;
    1707          16 : return true;
    1708             : 
    1709             :   }
    1710          23 :   case 13: { 
    1711             :     // Predicate_extload
    1712             :     SDNode *N = Node;
    1713          23 : if (cast<LoadSDNode>(N)->getExtensionType() != ISD::EXTLOAD) return false;
    1714          23 : return true;
    1715             : 
    1716             :   }
    1717           5 :   case 14: { 
    1718             :     // Predicate_atomic_load_add_32
    1719             :     SDNode *N = Node;
    1720             : if (cast<AtomicSDNode>(N)->getMemoryVT() != MVT::i32) return false;
    1721           2 : return true;
    1722             : 
    1723             :   }
    1724           3 :   case 15: { 
    1725             :     // Predicate_atomic_load_add_64
    1726             :     SDNode *N = Node;
    1727             : if (cast<AtomicSDNode>(N)->getMemoryVT() != MVT::i64) return false;
    1728           3 : return true;
    1729             : 
    1730             :   }
    1731             :   case 16: { 
    1732             :     // Predicate_BPF_CC_EQ
    1733             :     auto *N = cast<ConstantSDNode>(Node);
    1734         114 : return (N->getZExtValue() == ISD::SETEQ);
    1735             :   }
    1736             :   case 17: { 
    1737             :     // Predicate_BPF_CC_GTU
    1738             :     auto *N = cast<ConstantSDNode>(Node);
    1739          64 : return (N->getZExtValue() == ISD::SETUGT);
    1740             :   }
    1741             :   case 18: { 
    1742             :     // Predicate_BPF_CC_GEU
    1743             :     auto *N = cast<ConstantSDNode>(Node);
    1744          64 : return (N->getZExtValue() == ISD::SETUGE);
    1745             :   }
    1746             :   case 19: { 
    1747             :     // Predicate_BPF_CC_NE
    1748             :     auto *N = cast<ConstantSDNode>(Node);
    1749          64 : return (N->getZExtValue() == ISD::SETNE);
    1750             :   }
    1751             :   case 20: { 
    1752             :     // Predicate_BPF_CC_GT
    1753             :     auto *N = cast<ConstantSDNode>(Node);
    1754          14 : return (N->getZExtValue() == ISD::SETGT);
    1755             :   }
    1756             :   case 21: { 
    1757             :     // Predicate_BPF_CC_GE
    1758             :     auto *N = cast<ConstantSDNode>(Node);
    1759           6 : return (N->getZExtValue() == ISD::SETGE);
    1760             :   }
    1761             :   case 22: { 
    1762             :     // Predicate_BPF_CC_LTU
    1763             :     auto *N = cast<ConstantSDNode>(Node);
    1764           0 : return (N->getZExtValue() == ISD::SETULT);
    1765             :   }
    1766             :   case 23: { 
    1767             :     // Predicate_BPF_CC_LEU
    1768             :     auto *N = cast<ConstantSDNode>(Node);
    1769           0 : return (N->getZExtValue() == ISD::SETULE);
    1770             :   }
    1771             :   case 24: { 
    1772             :     // Predicate_BPF_CC_LT
    1773             :     auto *N = cast<ConstantSDNode>(Node);
    1774           0 : return (N->getZExtValue() == ISD::SETLT);
    1775             :   }
    1776             :   case 25: { 
    1777             :     // Predicate_BPF_CC_LE
    1778             :     auto *N = cast<ConstantSDNode>(Node);
    1779           0 : return (N->getZExtValue() == ISD::SETLE);
    1780             :   }
    1781             :   }
    1782             : }
    1783             : #endif // GET_DAGISEL_BODY
    1784             : 
    1785             : #ifdef GET_DAGISEL_DECL
    1786             : bool CheckComplexPattern(SDNode *Root, SDNode *Parent,
    1787             :       SDValue N, unsigned PatternNo,
    1788             :       SmallVectorImpl<std::pair<SDValue, SDNode*>> &Result) override;
    1789             : #endif
    1790             : #if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
    1791         321 : bool DAGISEL_CLASS_COLONCOLON CheckComplexPattern(SDNode *Root, SDNode *Parent,
    1792             :       SDValue N, unsigned PatternNo,
    1793             :       SmallVectorImpl<std::pair<SDValue, SDNode*>> &Result)
    1794             : #if DAGISEL_INLINE
    1795             :   override
    1796             : #endif
    1797             : {
    1798         321 :   unsigned NextRes = Result.size();
    1799         321 :   switch (PatternNo) {
    1800           0 :   default: llvm_unreachable("Invalid pattern # in table?");
    1801         212 :   case 0:
    1802         212 :     Result.resize(NextRes+2);
    1803         636 :   return SelectAddr(N, Result[NextRes+0].first, Result[NextRes+1].first);
    1804         109 :   case 1:
    1805         109 :     Result.resize(NextRes+2);
    1806         327 :   return SelectFIAddr(N, Result[NextRes+0].first, Result[NextRes+1].first);
    1807             :   }
    1808             : }
    1809             : #endif // GET_DAGISEL_BODY
    1810             : 
    1811             : 
    1812             : #ifdef DAGISEL_INLINE
    1813             : #undef DAGISEL_INLINE
    1814             : #endif
    1815             : #ifdef DAGISEL_CLASS_COLONCOLON
    1816             : #undef DAGISEL_CLASS_COLONCOLON
    1817             : #endif
    1818             : #ifdef GET_DAGISEL_DECL
    1819             : #undef GET_DAGISEL_DECL
    1820             : #endif
    1821             : #ifdef GET_DAGISEL_BODY
    1822             : #undef GET_DAGISEL_BODY
    1823             : #endif

Generated by: LCOV version 1.13