

 local analysis of pfe_wdt_cfg_fini
   scanning: _1 = base_va_5(D) + 84;
  scanning: _2 = (volatile uint32_t *) _1;
  scanning: *_2 ={v} 0;
    Volatile stmt is not const/pure
    Volatile indirect ref is not const/pure
  scanning: _3 = base_va_5(D) + 132;
  scanning: _4 = (volatile uint32_t *) _3;
  scanning: reg_8 ={v} *_4;
    Volatile stmt is not const/pure
    Volatile indirect ref is not const/pure
  scanning: *_4 ={v} reg_8;
    Volatile stmt is not const/pure
    Volatile indirect ref is not const/pure
  scanning: return;


 local analysis of pfe_wdt_cfg_init
   scanning: _1 = base_va_56(D) + 84;
  scanning: _2 = (volatile uint32_t *) _1;
  scanning: _3 ={v} *_2;
    Volatile stmt is not const/pure
    Volatile indirect ref is not const/pure
  scanning: reg_58 = _3 & 4294967294;
  scanning: *_2 ={v} reg_58;
    Volatile stmt is not const/pure
    Volatile indirect ref is not const/pure
  scanning: _4 = base_va_56(D) + 132;
  scanning: _5 = (volatile uint32_t *) _4;
  scanning: reg_60 ={v} *_5;
    Volatile stmt is not const/pure
    Volatile indirect ref is not const/pure
  scanning: *_5 ={v} reg_60;
    Volatile stmt is not const/pure
    Volatile indirect ref is not const/pure
  scanning: _6 = base_va_56(D) + 136;
  scanning: _7 = (volatile uint32_t *) _6;
  scanning: *_7 ={v} 4294967295;
    Volatile stmt is not const/pure
    Volatile indirect ref is not const/pure
  scanning: _8 = base_va_56(D) + 140;
  scanning: _9 = (volatile uint32_t *) _8;
  scanning: *_9 ={v} 4294967295;
    Volatile stmt is not const/pure
    Volatile indirect ref is not const/pure
  scanning: _10 = base_va_56(D) + 144;
  scanning: _11 = (volatile uint32_t *) _10;
  scanning: *_11 ={v} 4294967295;
    Volatile stmt is not const/pure
    Volatile indirect ref is not const/pure
  scanning: _12 = base_va_56(D) + 148;
  scanning: _13 = (volatile uint32_t *) _12;
  scanning: *_13 ={v} 16777215;
    Volatile stmt is not const/pure
    Volatile indirect ref is not const/pure
  scanning: _14 = pfe_feature_mgr_is_available ("drv_run_on_g3");
  scanning: if (_14 == 1)
  scanning: _15 = base_va_56(D) + 152;
  scanning: _16 = (volatile uint32_t *) _15;
  scanning: *_16 ={v} 16777215;
    Volatile stmt is not const/pure
    Volatile indirect ref is not const/pure
  scanning: _17 = base_va_56(D) + 156;
  scanning: _18 = (volatile uint32_t *) _17;
  scanning: *_18 ={v} 16777215;
    Volatile stmt is not const/pure
    Volatile indirect ref is not const/pure
  scanning: _19 = base_va_56(D) + 160;
  scanning: _20 = (volatile uint32_t *) _19;
  scanning: *_20 ={v} 16777215;
    Volatile stmt is not const/pure
    Volatile indirect ref is not const/pure
  scanning: _21 = base_va_56(D) + 312;
  scanning: _22 = (volatile uint32_t *) _21;
  scanning: *_22 ={v} 16777215;
    Volatile stmt is not const/pure
    Volatile indirect ref is not const/pure
  scanning: _23 = base_va_56(D) + 324;
  scanning: _24 = (volatile uint32_t *) _23;
  scanning: *_24 ={v} 16777215;
    Volatile stmt is not const/pure
    Volatile indirect ref is not const/pure
  scanning: _25 = base_va_56(D) + 328;
  scanning: _26 = (volatile uint32_t *) _25;
  scanning: *_26 ={v} 16777215;
    Volatile stmt is not const/pure
    Volatile indirect ref is not const/pure
  scanning: _27 = base_va_56(D) + 88;
  scanning: _28 = (volatile uint32_t *) _27;
  scanning: *_28 ={v} 16777215;
    Volatile stmt is not const/pure
    Volatile indirect ref is not const/pure
  scanning: _29 = base_va_56(D) + 92;
  scanning: _30 = (volatile uint32_t *) _29;
  scanning: *_30 ={v} 15;
    Volatile stmt is not const/pure
    Volatile indirect ref is not const/pure
  scanning: _31 = base_va_56(D) + 96;
  scanning: _32 = (volatile uint32_t *) _31;
  scanning: *_32 ={v} 511;
    Volatile stmt is not const/pure
    Volatile indirect ref is not const/pure
  scanning: _33 = base_va_56(D) + 100;
  scanning: _34 = (volatile uint32_t *) _33;
  scanning: *_34 ={v} 15;
    Volatile stmt is not const/pure
    Volatile indirect ref is not const/pure
  scanning: _35 = base_va_56(D) + 104;
  scanning: _36 = (volatile uint32_t *) _35;
  scanning: *_36 ={v} 16777215;
    Volatile stmt is not const/pure
    Volatile indirect ref is not const/pure
  scanning: _37 = base_va_56(D) + 108;
  scanning: _38 = (volatile uint32_t *) _37;
  scanning: *_38 ={v} 63;
    Volatile stmt is not const/pure
    Volatile indirect ref is not const/pure
  scanning: _39 = base_va_56(D) + 112;
  scanning: _40 = (volatile uint32_t *) _39;
  scanning: *_40 ={v} 15;
    Volatile stmt is not const/pure
    Volatile indirect ref is not const/pure
  scanning: _41 = base_va_56(D) + 116;
  scanning: _42 = (volatile uint32_t *) _41;
  scanning: *_42 ={v} 15;
    Volatile stmt is not const/pure
    Volatile indirect ref is not const/pure
  scanning: _43 = base_va_56(D) + 120;
  scanning: _44 = (volatile uint32_t *) _43;
  scanning: *_44 ={v} 4095;
    Volatile stmt is not const/pure
    Volatile indirect ref is not const/pure
  scanning: _45 = base_va_56(D) + 124;
  scanning: _46 = (volatile uint32_t *) _45;
  scanning: *_46 ={v} 4095;
    Volatile stmt is not const/pure
    Volatile indirect ref is not const/pure
  scanning: _47 = base_va_56(D) + 128;
  scanning: _48 = (volatile uint32_t *) _47;
  scanning: *_48 ={v} 4095;
    Volatile stmt is not const/pure
    Volatile indirect ref is not const/pure
  scanning: _49 = pfe_feature_mgr_is_available ("drv_run_on_g3");
  scanning: if (_49 == 1)
  scanning: _50 = base_va_56(D) + 308;
  scanning: _51 = (volatile uint32_t *) _50;
  scanning: *_51 ={v} 3;
    Volatile stmt is not const/pure
    Volatile indirect ref is not const/pure
  scanning: _52 = base_va_56(D) + 320;
  scanning: _53 = (volatile uint32_t *) _52;
  scanning: *_53 ={v} 3;
    Volatile stmt is not const/pure
    Volatile indirect ref is not const/pure
  scanning: *_2 ={v} 4294967294;
    Volatile stmt is not const/pure
    Volatile indirect ref is not const/pure
  scanning: return;


 local analysis of pfe_wdt_cfg_irq_unmask
   scanning: _1 = base_va_4(D) + 84;
  scanning: _2 = (volatile uint32_t *) _1;
  scanning: _3 ={v} *_2;
    Volatile stmt is not const/pure
    Volatile indirect ref is not const/pure
  scanning: reg_6 = _3 | 1;
  scanning: *_2 ={v} reg_6;
    Volatile stmt is not const/pure
    Volatile indirect ref is not const/pure
  scanning: return;


 local analysis of pfe_wdt_cfg_irq_mask
   scanning: _1 = base_va_4(D) + 84;
  scanning: _2 = (volatile uint32_t *) _1;
  scanning: _3 ={v} *_2;
    Volatile stmt is not const/pure
    Volatile indirect ref is not const/pure
  scanning: reg_6 = _3 & 4294967294;
  scanning: *_2 ={v} reg_6;
    Volatile stmt is not const/pure
    Volatile indirect ref is not const/pure
  scanning: return;


 local analysis of pfe_wdt_cfg_isr
   scanning: _1 = pfe_feature_mgr_is_available ("drv_run_on_g3");
  scanning: if (_1 == 0)
  scanning: _2 = base_va_34(D) + 84;
  scanning: _3 = (volatile uint32_t *) _2;
  scanning: reg_en_35 ={v} *_3;
    Volatile stmt is not const/pure
    Volatile indirect ref is not const/pure
  scanning: *_3 ={v} 0;
    Volatile stmt is not const/pure
    Volatile indirect ref is not const/pure
  scanning: _6 = base_va_34(D) + 132;
  scanning: _7 = (volatile uint32_t *) _6;
  scanning: reg_src_37 ={v} *_7;
    Volatile stmt is not const/pure
    Volatile indirect ref is not const/pure
  scanning: *_7 ={v} reg_src_37;
    Volatile stmt is not const/pure
    Volatile indirect ref is not const/pure
  scanning: _8 = (unsigned int) index_21;
  scanning: _9 = _8 * 4;
  scanning: _10 = int_src_arr_26 + _9;
  scanning: _11 = *_10;
    Indirect ref read is not const
  scanning: _12 = _11 & reg_src_37;
  scanning: if (_12 != 0)
  scanning: _13 = int_en_arr_27 + _9;
  scanning: _14 = *_13;
    Indirect ref read is not const
  scanning: _15 = _14 & reg_en_35;
  scanning: if (_15 != 0)
  scanning: _16 = int_event_arr_28 + _8;
  scanning: _17 = *_16;
    Indirect ref read is not const
  scanning: pfe_hm_report (1, 2, _17, "");
  scanning: _18 = *_13;
    Indirect ref read is not const
  scanning: reg_reen_41 = _18 | reg_reen_23;
  scanning: index_42 = index_21 + 1;
  scanning: if (index_21 < int_src_nbr_29)
  scanning: _19 = ~reg_reen_4;
  scanning: _20 = _19 & reg_en_35;
  scanning: *_3 ={v} _20;
    Volatile stmt is not const/pure
    Volatile indirect ref is not const/pure
  scanning: return ret_5;
callgraph:

pfe_hm_report/33 (pfe_hm_report) @07650380
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: pfe_wdt_cfg_isr/21 (157678987 (estimated locally),1.34 per call) 
  Calls: 
pfe_feature_mgr_is_available/26 (pfe_feature_mgr_is_available) @076501c0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: pfe_wdt_cfg_init/24 (1073741824 (estimated locally),1.00 per call) pfe_wdt_cfg_init/24 (1073741824 (estimated locally),1.00 per call) pfe_wdt_cfg_isr/21 (118111600 (estimated locally),1.00 per call) 
  Calls: 
pfe_wdt_cfg_fini/25 (pfe_wdt_cfg_fini) @07648620
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @0654d0c0
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: 
pfe_wdt_cfg_init/24 (pfe_wdt_cfg_init) @07648d20
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @0654d220
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: pfe_feature_mgr_is_available/26 (1073741824 (estimated locally),1.00 per call) pfe_feature_mgr_is_available/26 (1073741824 (estimated locally),1.00 per call) 
pfe_wdt_cfg_irq_unmask/23 (pfe_wdt_cfg_irq_unmask) @076488c0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06b38df8
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: 
pfe_wdt_cfg_irq_mask/22 (pfe_wdt_cfg_irq_mask) @07648540
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06b38e58
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: 
pfe_wdt_cfg_isr/21 (pfe_wdt_cfg_isr) @076481c0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06b38d98
  References: wdt_int_src_arr_g2.10694/27 (addr)wdt_int_src_arr_g3.10697/30 (addr)wdt_int_en_arr_g2.10695/28 (addr)wdt_int_en_arr_g3.10698/31 (addr)wdt_int_event_id_g2.10696/29 (addr)wdt_int_event_id_g3.10699/32 (addr)
  Referring: 
  Availability: available
  Function flags: count:118111600 (estimated locally) body optimize_size
  Called by: 
  Calls: pfe_hm_report/33 (157678987 (estimated locally),1.34 per call) pfe_feature_mgr_is_available/26 (118111600 (estimated locally),1.00 per call) 


 ordered call graph: reduced for nothrow
pfe_wdt_cfg_fini/25 (pfe_wdt_cfg_fini) @07648620
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @0654d0c0
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: 
pfe_wdt_cfg_init/24 (pfe_wdt_cfg_init) @07648d20
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @0654d220
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: pfe_feature_mgr_is_available/26 (1073741824 (estimated locally),1.00 per call) pfe_feature_mgr_is_available/26 (1073741824 (estimated locally),1.00 per call) 
pfe_wdt_cfg_irq_unmask/23 (pfe_wdt_cfg_irq_unmask) @076488c0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06b38df8
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: 
pfe_wdt_cfg_irq_mask/22 (pfe_wdt_cfg_irq_mask) @07648540
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06b38e58
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: 
pfe_wdt_cfg_isr/21 (pfe_wdt_cfg_isr) @076481c0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06b38d98
  References: wdt_int_src_arr_g2.10694/27 (addr)wdt_int_src_arr_g3.10697/30 (addr)wdt_int_en_arr_g2.10695/28 (addr)wdt_int_en_arr_g3.10698/31 (addr)wdt_int_event_id_g2.10696/29 (addr)wdt_int_event_id_g3.10699/32 (addr)
  Referring: 
  Availability: available
  Function flags: count:118111600 (estimated locally) body optimize_size
  Called by: 
  Calls: pfe_hm_report/33 (157678987 (estimated locally),1.34 per call) pfe_feature_mgr_is_available/26 (118111600 (estimated locally),1.00 per call) 



MALLOC LATTICE Initial:
pfe_wdt_cfg_fini: malloc_bottom
pfe_wdt_cfg_init: malloc_bottom
pfe_wdt_cfg_irq_unmask: malloc_bottom
pfe_wdt_cfg_irq_mask: malloc_bottom
pfe_wdt_cfg_isr: malloc_bottom


MALLOC LATTICE after propagation:
pfe_wdt_cfg_fini: malloc_bottom
pfe_wdt_cfg_init: malloc_bottom
pfe_wdt_cfg_irq_unmask: malloc_bottom
pfe_wdt_cfg_irq_mask: malloc_bottom
pfe_wdt_cfg_isr: malloc_bottom
callgraph:

pfe_hm_report/33 (pfe_hm_report) @07650380
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: pfe_wdt_cfg_isr/21 (157678987 (estimated locally),1.34 per call) 
  Calls: 
pfe_feature_mgr_is_available/26 (pfe_feature_mgr_is_available) @076501c0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: pfe_wdt_cfg_init/24 (1073741824 (estimated locally),1.00 per call) pfe_wdt_cfg_init/24 (1073741824 (estimated locally),1.00 per call) pfe_wdt_cfg_isr/21 (118111600 (estimated locally),1.00 per call) 
  Calls: 
pfe_wdt_cfg_fini/25 (pfe_wdt_cfg_fini) @07648620
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @0654d0c0
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: 
pfe_wdt_cfg_init/24 (pfe_wdt_cfg_init) @07648d20
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @0654d220
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: pfe_feature_mgr_is_available/26 (1073741824 (estimated locally),1.00 per call) pfe_feature_mgr_is_available/26 (1073741824 (estimated locally),1.00 per call) 
pfe_wdt_cfg_irq_unmask/23 (pfe_wdt_cfg_irq_unmask) @076488c0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06b388b8
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: 
pfe_wdt_cfg_irq_mask/22 (pfe_wdt_cfg_irq_mask) @07648540
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06b38af8
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: 
pfe_wdt_cfg_isr/21 (pfe_wdt_cfg_isr) @076481c0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06b38c38
  References: wdt_int_src_arr_g2.10694/27 (addr)wdt_int_src_arr_g3.10697/30 (addr)wdt_int_en_arr_g2.10695/28 (addr)wdt_int_en_arr_g3.10698/31 (addr)wdt_int_event_id_g2.10696/29 (addr)wdt_int_event_id_g3.10699/32 (addr)
  Referring: 
  Availability: available
  Function flags: count:118111600 (estimated locally) body optimize_size
  Called by: 
  Calls: pfe_hm_report/33 (157678987 (estimated locally),1.34 per call) pfe_feature_mgr_is_available/26 (118111600 (estimated locally),1.00 per call) 


 ordered call graph: reduced
pfe_wdt_cfg_fini/25 (pfe_wdt_cfg_fini) @07648620
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @0654d0c0
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: 
pfe_wdt_cfg_init/24 (pfe_wdt_cfg_init) @07648d20
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @0654d220
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: pfe_feature_mgr_is_available/26 (1073741824 (estimated locally),1.00 per call) pfe_feature_mgr_is_available/26 (1073741824 (estimated locally),1.00 per call) 
pfe_wdt_cfg_irq_unmask/23 (pfe_wdt_cfg_irq_unmask) @076488c0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06b388b8
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: 
pfe_wdt_cfg_irq_mask/22 (pfe_wdt_cfg_irq_mask) @07648540
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06b38af8
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: 
pfe_wdt_cfg_isr/21 (pfe_wdt_cfg_isr) @076481c0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06b38c38
  References: wdt_int_src_arr_g2.10694/27 (addr)wdt_int_src_arr_g3.10697/30 (addr)wdt_int_en_arr_g2.10695/28 (addr)wdt_int_en_arr_g3.10698/31 (addr)wdt_int_event_id_g2.10696/29 (addr)wdt_int_event_id_g3.10699/32 (addr)
  Referring: 
  Availability: available
  Function flags: count:118111600 (estimated locally) body optimize_size
  Called by: 
  Calls: pfe_hm_report/33 (157678987 (estimated locally),1.34 per call) pfe_feature_mgr_is_available/26 (118111600 (estimated locally),1.00 per call) 

Function found not to call free: pfe_wdt_cfg_irq_mask
Function found not to call free: pfe_wdt_cfg_irq_unmask
Function found not to call free: pfe_wdt_cfg_fini
pfe_wdt_cfg_fini (addr_t base_va)
{
  uint32_t reg;
  unsigned int _1;
  volatile uint32_t * _2;
  unsigned int _3;
  volatile uint32_t * _4;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = base_va_5(D) + 84;
  _2 = (volatile uint32_t *) _1;
  *_2 ={v} 0;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _3 = base_va_5(D) + 132;
  _4 = (volatile uint32_t *) _3;
  reg_8 ={v} *_4;
  # DEBUG reg => reg_8
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  *_4 ={v} reg_8;
  # DEBUG BEGIN_STMT
  return;

}


pfe_wdt_cfg_init (addr_t base_va)
{
  uint32_t reg;
  unsigned int _1;
  volatile uint32_t * _2;
  long unsigned int _3;
  unsigned int _4;
  volatile uint32_t * _5;
  unsigned int _6;
  volatile uint32_t * _7;
  unsigned int _8;
  volatile uint32_t * _9;
  unsigned int _10;
  volatile uint32_t * _11;
  unsigned int _12;
  volatile uint32_t * _13;
  unsigned char _14;
  unsigned int _15;
  volatile uint32_t * _16;
  unsigned int _17;
  volatile uint32_t * _18;
  unsigned int _19;
  volatile uint32_t * _20;
  unsigned int _21;
  volatile uint32_t * _22;
  unsigned int _23;
  volatile uint32_t * _24;
  unsigned int _25;
  volatile uint32_t * _26;
  unsigned int _27;
  volatile uint32_t * _28;
  unsigned int _29;
  volatile uint32_t * _30;
  unsigned int _31;
  volatile uint32_t * _32;
  unsigned int _33;
  volatile uint32_t * _34;
  unsigned int _35;
  volatile uint32_t * _36;
  unsigned int _37;
  volatile uint32_t * _38;
  unsigned int _39;
  volatile uint32_t * _40;
  unsigned int _41;
  volatile uint32_t * _42;
  unsigned int _43;
  volatile uint32_t * _44;
  unsigned int _45;
  volatile uint32_t * _46;
  unsigned int _47;
  volatile uint32_t * _48;
  unsigned char _49;
  unsigned int _50;
  volatile uint32_t * _51;
  unsigned int _52;
  volatile uint32_t * _53;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = base_va_56(D) + 84;
  _2 = (volatile uint32_t *) _1;
  _3 ={v} *_2;
  reg_58 = _3 & 4294967294;
  # DEBUG reg => reg_58
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  *_2 ={v} reg_58;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _4 = base_va_56(D) + 132;
  _5 = (volatile uint32_t *) _4;
  reg_60 ={v} *_5;
  # DEBUG reg => reg_60
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  *_5 ={v} reg_60;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _6 = base_va_56(D) + 136;
  _7 = (volatile uint32_t *) _6;
  *_7 ={v} 4294967295;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _8 = base_va_56(D) + 140;
  _9 = (volatile uint32_t *) _8;
  *_9 ={v} 4294967295;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _10 = base_va_56(D) + 144;
  _11 = (volatile uint32_t *) _10;
  *_11 ={v} 4294967295;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _12 = base_va_56(D) + 148;
  _13 = (volatile uint32_t *) _12;
  *_13 ={v} 16777215;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _14 = pfe_feature_mgr_is_available ("drv_run_on_g3");
  if (_14 == 1)
    goto <bb 3>; [34.00%]
  else
    goto <bb 4>; [66.00%]

  <bb 3> [local count: 365072220]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _15 = base_va_56(D) + 152;
  _16 = (volatile uint32_t *) _15;
  *_16 ={v} 16777215;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _17 = base_va_56(D) + 156;
  _18 = (volatile uint32_t *) _17;
  *_18 ={v} 16777215;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _19 = base_va_56(D) + 160;
  _20 = (volatile uint32_t *) _19;
  *_20 ={v} 16777215;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _21 = base_va_56(D) + 312;
  _22 = (volatile uint32_t *) _21;
  *_22 ={v} 16777215;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _23 = base_va_56(D) + 324;
  _24 = (volatile uint32_t *) _23;
  *_24 ={v} 16777215;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _25 = base_va_56(D) + 328;
  _26 = (volatile uint32_t *) _25;
  *_26 ={v} 16777215;

  <bb 4> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _27 = base_va_56(D) + 88;
  _28 = (volatile uint32_t *) _27;
  *_28 ={v} 16777215;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _29 = base_va_56(D) + 92;
  _30 = (volatile uint32_t *) _29;
  *_30 ={v} 15;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _31 = base_va_56(D) + 96;
  _32 = (volatile uint32_t *) _31;
  *_32 ={v} 511;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _33 = base_va_56(D) + 100;
  _34 = (volatile uint32_t *) _33;
  *_34 ={v} 15;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _35 = base_va_56(D) + 104;
  _36 = (volatile uint32_t *) _35;
  *_36 ={v} 16777215;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _37 = base_va_56(D) + 108;
  _38 = (volatile uint32_t *) _37;
  *_38 ={v} 63;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _39 = base_va_56(D) + 112;
  _40 = (volatile uint32_t *) _39;
  *_40 ={v} 15;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _41 = base_va_56(D) + 116;
  _42 = (volatile uint32_t *) _41;
  *_42 ={v} 15;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _43 = base_va_56(D) + 120;
  _44 = (volatile uint32_t *) _43;
  *_44 ={v} 4095;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _45 = base_va_56(D) + 124;
  _46 = (volatile uint32_t *) _45;
  *_46 ={v} 4095;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _47 = base_va_56(D) + 128;
  _48 = (volatile uint32_t *) _47;
  *_48 ={v} 4095;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _49 = pfe_feature_mgr_is_available ("drv_run_on_g3");
  if (_49 == 1)
    goto <bb 5>; [34.00%]
  else
    goto <bb 6>; [66.00%]

  <bb 5> [local count: 365072220]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _50 = base_va_56(D) + 308;
  _51 = (volatile uint32_t *) _50;
  *_51 ={v} 3;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _52 = base_va_56(D) + 320;
  _53 = (volatile uint32_t *) _52;
  *_53 ={v} 3;

  <bb 6> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  *_2 ={v} 4294967294;
  # DEBUG BEGIN_STMT
  return;

}


pfe_wdt_cfg_irq_unmask (addr_t base_va)
{
  uint32_t reg;
  unsigned int _1;
  volatile uint32_t * _2;
  long unsigned int _3;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = base_va_4(D) + 84;
  _2 = (volatile uint32_t *) _1;
  _3 ={v} *_2;
  reg_6 = _3 | 1;
  # DEBUG reg => reg_6
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  *_2 ={v} reg_6;
  # DEBUG BEGIN_STMT
  return;

}


pfe_wdt_cfg_irq_mask (addr_t base_va)
{
  uint32_t reg;
  unsigned int _1;
  volatile uint32_t * _2;
  long unsigned int _3;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = base_va_4(D) + 84;
  _2 = (volatile uint32_t *) _1;
  _3 ={v} *_2;
  reg_6 = _3 & 4294967294;
  # DEBUG reg => reg_6
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  *_2 ={v} reg_6;
  # DEBUG BEGIN_STMT
  return;

}


pfe_wdt_cfg_isr (addr_t base_va, addr_t cbus_base_va)
{
  uint8_t int_src_nbr;
  const pfe_hm_evt_t * int_event_arr;
  const uint32_t * int_en_arr;
  const uint32_t * int_src_arr;
  static const pfe_hm_evt_t wdt_int_event_id_g3[18] = {10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27};
  static const uint32_t wdt_int_en_arr_g3[18] = {2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536, 131072, 262144};
  static const uint32_t wdt_int_src_arr_g3[18] = {2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536, 131072, 262144};
  static const pfe_hm_evt_t wdt_int_event_id_g2[11] = {10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20};
  static const uint32_t wdt_int_en_arr_g2[11] = {128, 256, 2, 512, 1024, 2048, 8, 64, 16, 32, 4};
  static const uint32_t wdt_int_src_arr_g2[11] = {2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048};
  errno_t ret;
  uint32_t reg_reen;
  uint32_t reg_src;
  uint32_t reg_en;
  uint8_t index;
  unsigned char _1;
  unsigned int _2;
  volatile uint32_t * _3;
  unsigned int _6;
  volatile uint32_t * _7;
  unsigned int _8;
  unsigned int _9;
  const uint32_t * _10;
  long unsigned int _11;
  long unsigned int _12;
  const uint32_t * _13;
  long unsigned int _14;
  long unsigned int _15;
  const pfe_hm_evt_t * _16;
  <unnamed type> _17;
  long unsigned int _18;
  long unsigned int _19;
  long unsigned int _20;

  <bb 2> [local count: 118111600]:
  # DEBUG BEGIN_STMT
  # DEBUG index => 0
  # DEBUG BEGIN_STMT
  # DEBUG reg_reen => 0
  # DEBUG BEGIN_STMT
  # DEBUG ret => 2
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG int_src_nbr => 0
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = pfe_feature_mgr_is_available ("drv_run_on_g3");
  if (_1 == 0)
    goto <bb 4>; [50.00%]
  else
    goto <bb 3>; [50.00%]

  <bb 3> [local count: 59055800]:
  # DEBUG BEGIN_STMT
  # DEBUG int_src_arr => &wdt_int_src_arr_g3
  # DEBUG BEGIN_STMT
  # DEBUG int_en_arr => &wdt_int_en_arr_g3
  # DEBUG BEGIN_STMT
  # DEBUG int_event_arr => &wdt_int_event_id_g3
  # DEBUG BEGIN_STMT
  # DEBUG int_src_nbr => 18

  <bb 4> [local count: 118111600]:
  # int_src_arr_26 = PHI <&wdt_int_src_arr_g2(2), &wdt_int_src_arr_g3(3)>
  # int_en_arr_27 = PHI <&wdt_int_en_arr_g2(2), &wdt_int_en_arr_g3(3)>
  # int_event_arr_28 = PHI <&wdt_int_event_id_g2(2), &wdt_int_event_id_g3(3)>
  # int_src_nbr_29 = PHI <11(2), 18(3)>
  # DEBUG int_src_nbr => int_src_nbr_29
  # DEBUG int_event_arr => int_event_arr_28
  # DEBUG int_en_arr => int_en_arr_27
  # DEBUG int_src_arr => int_src_arr_26
  # DEBUG BEGIN_STMT
  _2 = base_va_34(D) + 84;
  _3 = (volatile uint32_t *) _2;
  reg_en_35 ={v} *_3;
  # DEBUG reg_en => reg_en_35
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  *_3 ={v} 0;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _6 = base_va_34(D) + 132;
  _7 = (volatile uint32_t *) _6;
  reg_src_37 ={v} *_7;
  # DEBUG reg_src => reg_src_37
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  *_7 ={v} reg_src_37;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG index => 0
  goto <bb 9>; [100.00%]

  <bb 5> [local count: 955630223]:
  # DEBUG BEGIN_STMT
  _8 = (unsigned int) index_21;
  _9 = _8 * 4;
  _10 = int_src_arr_26 + _9;
  _11 = *_10;
  _12 = _11 & reg_src_37;
  if (_12 != 0)
    goto <bb 6>; [50.00%]
  else
    goto <bb 8>; [50.00%]

  <bb 6> [local count: 477815111]:
  _13 = int_en_arr_27 + _9;
  _14 = *_13;
  _15 = _14 & reg_en_35;
  if (_15 != 0)
    goto <bb 7>; [33.00%]
  else
    goto <bb 8>; [67.00%]

  <bb 7> [local count: 157678987]:
  # DEBUG BEGIN_STMT
  _16 = int_event_arr_28 + _8;
  _17 = *_16;
  pfe_hm_report (1, 2, _17, "");
  # DEBUG BEGIN_STMT
  _18 = *_13;
  reg_reen_41 = _18 | reg_reen_23;
  # DEBUG reg_reen => reg_reen_41
  # DEBUG BEGIN_STMT
  # DEBUG ret => 0

  <bb 8> [local count: 955630225]:
  # reg_reen_22 = PHI <reg_reen_23(5), reg_reen_23(6), reg_reen_41(7)>
  # ret_24 = PHI <ret_25(5), ret_25(6), 0(7)>
  # DEBUG ret => ret_24
  # DEBUG reg_reen => reg_reen_22
  # DEBUG BEGIN_STMT
  index_42 = index_21 + 1;
  # DEBUG index => index_42

  <bb 9> [local count: 1073741824]:
  # index_21 = PHI <0(4), index_42(8)>
  # reg_reen_23 = PHI <0(4), reg_reen_22(8)>
  # ret_25 = PHI <2(4), ret_24(8)>
  # DEBUG ret => ret_25
  # DEBUG reg_reen => reg_reen_23
  # DEBUG index => index_21
  # DEBUG BEGIN_STMT
  if (index_21 < int_src_nbr_29)
    goto <bb 5>; [89.00%]
  else
    goto <bb 10>; [11.00%]

  <bb 10> [local count: 118111601]:
  # reg_reen_4 = PHI <reg_reen_23(9)>
  # ret_5 = PHI <ret_25(9)>
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _19 = ~reg_reen_4;
  _20 = _19 & reg_en_35;
  *_3 ={v} _20;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  return ret_5;

}


