

 local analysis of pfe_hif_ring_rd_wb_bd_enabled
   scanning: _1 = ring_4(D)->rd_wb_bd;
    Indirect ref read is not const
  scanning: _2 ={v} _1->control.info.desc_en;
    Volatile stmt is not const/pure
    Indirect ref read is not const
  scanning: _5 = (bool_t) _2;
  scanning: return _5;


 local analysis of pfe_hif_ring_destroy
   scanning: if (ring_3(D) != 0B)
  scanning: _1 = ring_3(D)->base_va;
    Indirect ref read is not const
  scanning: if (_1 != 0B)
  scanning: // predicted unlikely by cold function call predictor.
  scanning: pfe_hif_ring_invalidate_std (ring_3(D));
  scanning: ring_3(D)->base_va = 0B;
    Indirect ref write is not const/pure
  scanning: ring_3(D)->wb_tbl_base_va = 0B;
    Indirect ref write is not const/pure
  scanning: return 0;


 local analysis of pfe_hif_ring_init_bd_std
   scanning: _1 = ring_35(D)->base_va;
    Indirect ref read is not const
  scanning: _2 = ring_35(D)->length;
    Indirect ref read is not const
  scanning: _3 = _2 * 16;
  scanning: memset (_1, 0, _3);
  scanning: hw_desc_va_37 = ring_35(D)->base_va;
    Indirect ref read is not const
  scanning: hw_desc_pa_38 = ring_35(D)->base_pa;
    Indirect ref read is not const
  scanning: _4 = ring_35(D)->is_rx;
    Indirect ref read is not const
  scanning: if (_4 == 1)
  scanning: _5 = ii_29 * 16;
  scanning: _6 = hw_desc_va_37 + _5;
  scanning: _6->control.info.dir ={v} 1;
    Volatile stmt is not const/pure
    Indirect ref write is not const/pure
  scanning: _7 = ii_29 * 16;
  scanning: _8 = hw_desc_va_37 + _7;
  scanning: _8->control.info.cbd_int_en ={v} 1;
    Volatile stmt is not const/pure
    Indirect ref write is not const/pure
  scanning: _9 = ii_29 + 1;
  scanning: _10 = _9 * 16;
  scanning: _11 = hw_desc_pa_38 + _10;
  scanning: _12 = (long unsigned int) _11;
  scanning: _8->next ={v} _12;
    Volatile stmt is not const/pure
    Indirect ref write is not const/pure
  scanning: _13 = ring_35(D)->length;
    Indirect ref read is not const
  scanning: if (_13 > ii_29)
  scanning: _14 = ii_20 + 268435455;
  scanning: _15 = _14 * 16;
  scanning: _16 = hw_desc_va_37 + _15;
  scanning: hw_desc_pa.3_17 = (long unsigned int) hw_desc_pa_38;
  scanning: _16->next ={v} hw_desc_pa.3_17;
    Volatile stmt is not const/pure
    Indirect ref write is not const/pure
  scanning: _16->control.info.last_bd ={v} 1;
    Volatile stmt is not const/pure
    Indirect ref write is not const/pure
  scanning: _21 = ring_35(D)->wb_tbl_base_va;
    Indirect ref read is not const
  scanning: _22 = _18 * 8;
  scanning: memset (_21, 0, _22);
  scanning: wb_bd_va_42 = ring_35(D)->wb_tbl_base_va;
    Indirect ref read is not const
  scanning: wb_bd_va_28->control.info.desc_en ={v} 1;
    Volatile stmt is not const/pure
    Indirect ref write is not const/pure
  scanning: wb_bd_va_46 = wb_bd_va_28 + 8;
  scanning: ii_47 = ii_30 + 1;
  scanning: _23 = ring_35(D)->length;
    Indirect ref read is not const
  scanning: if (_23 > ii_30)
  scanning: _24 = ring_35(D)->wb_tbl_base_pa;
    Indirect ref read is not const
  scanning: _25 = _19 * 8;
  scanning: oal_mm_cache_flush (wb_bd_va_42, _24, _25);
  scanning: _26 = ring_35(D)->base_va;
    Indirect ref read is not const
  scanning: _27 = ring_35(D)->base_pa;
    Indirect ref read is not const
  scanning: oal_mm_cache_inval (_26, _27, 8);
  scanning: return;


 local analysis of pfe_hif_ring_attach_std
   scanning: ring_va.1_1 = (unsigned int) ring_va_12(D);
  scanning: _2 = ring_va.1_1 & 15;
  scanning: if (_2 != 0)
  scanning: wb_ring_va.2_3 = (unsigned int) wb_ring_va_13(D);
  scanning: _4 = wb_ring_va.2_3 & 7;
  scanning: if (_4 != 0)
  scanning: _5 = ring_15(D) + 4;
  scanning: memset (_5, 0, 60);
  scanning: ring_15(D)->base_va = ring_va_12(D);
    Indirect ref write is not const/pure
  scanning: _6 = oal_mm_virt_to_phys_contig (ring_va_12(D));
  scanning: ring_15(D)->base_pa = _6;
    Indirect ref write is not const/pure
  scanning: ring_15(D)->wb_tbl_base_va = wb_ring_va_13(D);
    Indirect ref write is not const/pure
  scanning: _7 = oal_mm_virt_to_phys_contig (wb_ring_va_13(D));
  scanning: ring_15(D)->wb_tbl_base_pa = _7;
    Indirect ref write is not const/pure
  scanning: ring_15(D)->length = length_23(D);
    Indirect ref write is not const/pure
  scanning: ring_15(D)->write_idx = 0;
    Indirect ref write is not const/pure
  scanning: ring_15(D)->read_idx = 0;
    Indirect ref write is not const/pure
  scanning: ring_15(D)->is_rx = is_rx_27(D);
    Indirect ref write is not const/pure
  scanning: _8 = ring_15(D)->base_va;
    Indirect ref read is not const
  scanning: ring_15(D)->bd_read.rd_bd = _8;
    Indirect ref write is not const/pure
  scanning: ring_15(D)->bd_write.wr_bd = _8;
    Indirect ref write is not const/pure
  scanning: _9 = ring_15(D)->wb_tbl_base_va;
    Indirect ref read is not const
  scanning: ring_15(D)->rd_wb_bd = _9;
    Indirect ref write is not const/pure
  scanning: ring_15(D)->wr_wb_bd = _9;
    Indirect ref write is not const/pure
  scanning: return ret_10;


 local analysis of pfe_hif_ring_attach
   scanning: if (nocpy_3(D) == 1)
  scanning: ret_val_11 = pfe_hif_ring_attach_std (ring_5(D), ring_va_6(D), wb_ring_va_7(D), length_8(D), is_rx_9(D));
  scanning: if (ret_val_11 == 0)
  scanning: if (init_bd_12(D) == 1)
  scanning: pfe_hif_ring_init_bd_std (ring_5(D));
  scanning: return ret_val_1;
Function is locally const.


 local analysis of pfe_hif_ring_create_std
   scanning: if (rx_14(D) == 1)
  scanning: _1 = length_15(D) <= 83;
  scanning: _2 = (long int) _1;
  scanning: _3 = __builtin_expect (_2, 1);
  scanning: if (_3 != 0)
  scanning: _4 = length_15(D) <= 25;
  scanning: _5 = (long int) _4;
  scanning: _6 = __builtin_expect (_5, 1);
  scanning: if (_6 != 0)
  scanning: _7 = length_15(D) * 16;
  scanning: memset (ring_va_10, 0, _7);
  scanning: _8 = length_15(D) * 8;
  scanning: memset (wb_ring_va_11, 0, _8);
  scanning: ret_val_22 = pfe_hif_ring_attach_std (ring_20(D), ring_va_10, wb_ring_va_11, length_15(D), rx_14(D));
  scanning: if (ret_val_9 != 0)
  scanning: pfe_hif_ring_init_bd_std (ring_20(D));
  scanning: return ret_val_24;
Function is locally const.


 local analysis of pfe_hif_ring_create
   scanning: if (nocpy_3(D) == 0)
  scanning: ret_val_9 = pfe_hif_ring_create_std (ring_5(D), length_6(D), rx_7(D));
  scanning: return ret_val_1;
Function is locally const.


 local analysis of pfe_hif_ring_dump
   scanning: return;
Function is locally const.


 local analysis of pfe_hif_ring_invalidate_std
   scanning: _1 = ring_11(D)->base_va;
    Indirect ref read is not const
  scanning: _2 = ii_8 * 16;
  scanning: _3 = _1 + _2;
  scanning: _3->control.info.desc_en ={v} 0;
    Volatile stmt is not const/pure
    Indirect ref write is not const/pure
  scanning: _4 = ring_11(D)->wb_tbl_base_va;
    Indirect ref read is not const
  scanning: _5 = ii_8 * 8;
  scanning: _6 = _4 + _5;
  scanning: _6->control.info.desc_en ={v} 1;
    Volatile stmt is not const/pure
    Indirect ref write is not const/pure
  scanning: ii_14 = ii_8 + 1;
  scanning: _7 = ring_11(D)->length;
    Indirect ref read is not const
  scanning: if (_7 > ii_8)
  scanning: return;


 local analysis of pfe_hif_ring_invalidate
   scanning: pfe_hif_ring_invalidate_std (ring_2(D));
  scanning: return;
Function is locally const.


 local analysis of pfe_hif_ring_drain_buf
   scanning: _1 = pfe_hif_ring_get_fill_level (ring_17(D));
  scanning: if (_1 != 0)
  scanning: _2 = ring_17(D)->wr_wb_bd;
    Indirect ref read is not const
  scanning: _3 ={v} _2->control.info.desc_en;
    Volatile stmt is not const/pure
    Indirect ref read is not const
  scanning: if (_3 != 0)
  scanning: _4 = ring_17(D)->bd_write.wr_bd;
    Indirect ref read is not const
  scanning: _5 ={v} _4->data;
    Volatile stmt is not const/pure
    Indirect ref read is not const
  scanning: _6 = (void *) _5;
  scanning: *buf_pa_18(D) = _6;
    Indirect ref write is not const/pure
  scanning: _7 = ring_17(D)->bd_write.wr_bd;
    Indirect ref read is not const
  scanning: _7->control.info.desc_en ={v} 0;
    Volatile stmt is not const/pure
    Indirect ref write is not const/pure
  scanning: _8 = ring_17(D)->wr_wb_bd;
    Indirect ref read is not const
  scanning: _8->control.info.desc_en ={v} 1;
    Volatile stmt is not const/pure
    Indirect ref write is not const/pure
  scanning: dec_write_index_std (ring_17(D));
  scanning: _9 = ring_17(D)->bd_read.rd_bd;
    Indirect ref read is not const
  scanning: _10 ={v} _9->data;
    Volatile stmt is not const/pure
    Indirect ref read is not const
  scanning: _11 = (void *) _10;
  scanning: *buf_pa_18(D) = _11;
    Indirect ref write is not const/pure
  scanning: _12 = ring_17(D)->bd_read.rd_bd;
    Indirect ref read is not const
  scanning: _12->control.info.desc_en ={v} 0;
    Volatile stmt is not const/pure
    Indirect ref write is not const/pure
  scanning: _13 = ring_17(D)->rd_wb_bd;
    Indirect ref read is not const
  scanning: _13->control.info.desc_en ={v} 1;
    Volatile stmt is not const/pure
    Indirect ref write is not const/pure
  scanning: inc_read_index (ring_17(D));
  scanning: return ret_14;


 local analysis of pfe_hif_ring_dequeue_plain_std
   scanning: _1 = ring_12(D)->bd_read.rd_bd;
    Indirect ref read is not const
  scanning: _2 ={v} _1->control.info.desc_en;
    Volatile stmt is not const/pure
    Indirect ref read is not const
  scanning: if (_2 != 0)
  scanning: _3 = ring_12(D)->rd_wb_bd;
    Indirect ref read is not const
  scanning: _4 ={v} _3->control.info.desc_en;
    Volatile stmt is not const/pure
    Indirect ref read is not const
  scanning: if (_4 != 0)
  scanning: _5 ={v} _1->control.info.lifm;
    Volatile stmt is not const/pure
    Indirect ref read is not const
  scanning: _6 = (unsigned char) _5;
  scanning: *lifm_13(D) = _6;
    Indirect ref write is not const/pure
  scanning: _7 = ring_12(D)->bd_read.rd_bd;
    Indirect ref read is not const
  scanning: _7->control.info.desc_en ={v} 0;
    Volatile stmt is not const/pure
    Indirect ref write is not const/pure
  scanning: _8 = ring_12(D)->rd_wb_bd;
    Indirect ref read is not const
  scanning: _8->control.info.desc_en ={v} 1;
    Volatile stmt is not const/pure
    Indirect ref write is not const/pure
  scanning: __asm__ __volatile__(" dmb" :  :  : "memory");
    memory asm clobber is not const/pure
    volatile is not const/pure
  scanning: inc_read_index (ring_12(D));
  scanning: return ret_9;
Function is locally looping.
Function can locally free.


 local analysis of pfe_hif_ring_dequeue_plain
   scanning: ret_5 = pfe_hif_ring_dequeue_plain_std (ring_2(D), lifm_3(D));
  scanning: return ret_5;
Function is locally const.


 local analysis of pfe_hif_ring_dequeue_buf_std
   scanning: _1 = ring_16(D)->bd_read.rd_bd;
    Indirect ref read is not const
  scanning: _2 ={v} _1->control.info.desc_en;
    Volatile stmt is not const/pure
    Indirect ref read is not const
  scanning: if (_2 != 0)
  scanning: _3 = ring_16(D)->rd_wb_bd;
    Indirect ref read is not const
  scanning: _4 ={v} _3->control.info.desc_en;
    Volatile stmt is not const/pure
    Indirect ref read is not const
  scanning: if (_4 != 0)
  scanning: _1->control.info.desc_en ={v} 0;
    Volatile stmt is not const/pure
    Indirect ref write is not const/pure
  scanning: _3->control.info.desc_en ={v} 1;
    Volatile stmt is not const/pure
    Indirect ref write is not const/pure
  scanning: __asm__ __volatile__(" dmb" :  :  : "memory");
    memory asm clobber is not const/pure
    volatile is not const/pure
  scanning: _5 = ring_16(D)->bd_read.rd_bd;
    Indirect ref read is not const
  scanning: _6 ={v} _5->data;
    Volatile stmt is not const/pure
    Indirect ref read is not const
  scanning: _7 = (void *) _6;
  scanning: *buf_pa_20(D) = _7;
    Indirect ref write is not const/pure
  scanning: _8 = ring_16(D)->rd_wb_bd;
    Indirect ref read is not const
  scanning: _9 ={v} _8->buflen;
    Volatile stmt is not const/pure
    Indirect ref read is not const
  scanning: _10 = (long unsigned int) _9;
  scanning: *length_22(D) = _10;
    Indirect ref write is not const/pure
  scanning: _11 ={v} _8->control.info.lifm;
    Volatile stmt is not const/pure
    Indirect ref read is not const
  scanning: _12 = (unsigned char) _11;
  scanning: *lifm_24(D) = _12;
    Indirect ref write is not const/pure
  scanning: inc_read_index (ring_16(D));
  scanning: return ret_13;
Function is locally looping.
Function can locally free.


 local analysis of pfe_hif_ring_dequeue_buf
   scanning: ret_7 = pfe_hif_ring_dequeue_buf_std (ring_2(D), buf_pa_3(D), length_4(D), lifm_5(D));
  scanning: return ret_7;
Function is locally const.


 local analysis of pfe_hif_ring_enqueue_buf_std
   scanning: _1 = ring_13(D)->bd_write.wr_bd;
    Indirect ref read is not const
  scanning: _2 ={v} _1->control.info.desc_en;
    Volatile stmt is not const/pure
    Indirect ref read is not const
  scanning: _3 = (long int) _2;
  scanning: _4 = __builtin_expect (_3, 0);
  scanning: if (_4 != 0)
  scanning: buf_pa.0_5 = (long unsigned int) buf_pa_14(D);
  scanning: _1->data ={v} buf_pa.0_5;
    Volatile stmt is not const/pure
    Indirect ref write is not const/pure
  scanning: _6 = (short unsigned int) length_16(D);
  scanning: _1->buflen ={v} _6;
    Volatile stmt is not const/pure
    Indirect ref write is not const/pure
  scanning: _1->check.status ={v} 0;
    Volatile stmt is not const/pure
    Indirect ref write is not const/pure
  scanning: if (lifm_19(D) != 0)
  scanning: _1->control.info.lifm ={v} 1;
    Volatile stmt is not const/pure
    Indirect ref write is not const/pure
  scanning: _1->control.info.lifm ={v} 0;
    Volatile stmt is not const/pure
    Indirect ref write is not const/pure
  scanning: _7 = ring_13(D)->wr_wb_bd;
    Indirect ref read is not const
  scanning: _7->control.info.desc_en ={v} 1;
    Volatile stmt is not const/pure
    Indirect ref write is not const/pure
  scanning: __asm__ __volatile__(" dmb" :  :  : "memory");
    memory asm clobber is not const/pure
    volatile is not const/pure
  scanning: _8 = ring_13(D)->bd_write.wr_bd;
    Indirect ref read is not const
  scanning: _8->control.info.desc_en ={v} 1;
    Volatile stmt is not const/pure
    Indirect ref write is not const/pure
  scanning: inc_write_index (ring_13(D));
  scanning: return ret_9;
Function is locally looping.
Function can locally free.


 local analysis of pfe_hif_ring_enqueue_buf
   scanning: ret_7 = pfe_hif_ring_enqueue_buf_std (ring_2(D), buf_pa_3(D), length_4(D), lifm_5(D));
  scanning: return ret_7;
Function is locally const.


 local analysis of pfe_hif_ring_get_len
   scanning: ring_len_3 = ring_2(D)->length;
    Indirect ref read is not const
  scanning: return ring_len_3;
Function is locally pure.


 local analysis of pfe_hif_ring_get_wb_tbl_len
   scanning: wb_tbl_len_3 = ring_2(D)->length;
    Indirect ref read is not const
  scanning: return wb_tbl_len_3;
Function is locally pure.


 local analysis of pfe_hif_ring_get_wb_tbl_pa
   scanning: wb_tbl_pa_3 = ring_2(D)->wb_tbl_base_pa;
    Indirect ref read is not const
  scanning: return wb_tbl_pa_3;
Function is locally pure.


 local analysis of pfe_hif_ring_get_base_pa
   scanning: base_pa_3 = ring_2(D)->base_pa;
    Indirect ref read is not const
  scanning: return base_pa_3;
Function is locally pure.


 local analysis of pfe_hif_ring_get_fill_level
   scanning: _1 = ring_10(D)->write_idx;
    Indirect ref read is not const
  scanning: _2 = (long int) _1;
  scanning: _3 = ring_10(D)->read_idx;
    Indirect ref read is not const
  scanning: _4 = (long int) _3;
  scanning: fill_level_11 = _2 - _4;
  scanning: if (fill_level_11 < 0)
  scanning: _5 = ring_10(D)->length;
    Indirect ref read is not const
  scanning: _6 = (long int) _5;
  scanning: _7 = _6 * 2;
  scanning: fill_level_12 = _7 + fill_level_11;
  scanning: _13 = (uint32_t) fill_level_8;
  scanning: return _13;
Function is locally pure.


 local analysis of pfe_hif_ring_is_below_wm
   scanning: _1 = pfe_hif_ring_get_fill_level (ring_6(D));
  scanning: _2 = ring_6(D)->length;
    Indirect ref read is not const
  scanning: _3 = _2 >> 1;
  scanning: if (_1 >= _3)
  scanning: return is_below_wm_4;
Function is locally pure.


 local analysis of inc_read_index
   scanning: idx_13 = ring_12(D)->read_idx;
    Indirect ref read is not const
  scanning: idx_14 = idx_13 + 1;
  scanning: _1 = ring_12(D)->length;
    Indirect ref read is not const
  scanning: _2 = _1 * 2;
  scanning: if (_2 <= idx_14)
  scanning: ring_12(D)->read_idx = idx_9;
    Indirect ref write is not const/pure
  scanning: if (_1 <= idx_9)
  scanning: idx_16 = idx_9 - _1;
  scanning: _3 = ring_12(D)->base_va;
    Indirect ref read is not const
  scanning: _4 = idx_10 * 16;
  scanning: _5 = _3 + _4;
  scanning: ring_12(D)->bd_read.rd_bd = _5;
    Indirect ref write is not const/pure
  scanning: _6 = ring_12(D)->wb_tbl_base_va;
    Indirect ref read is not const
  scanning: _7 = idx_10 * 8;
  scanning: _8 = _6 + _7;
  scanning: ring_12(D)->rd_wb_bd = _8;
    Indirect ref write is not const/pure
  scanning: return;


 local analysis of dec_write_index_std
   scanning: idx_14 = ring_13(D)->write_idx;
    Indirect ref read is not const
  scanning: if (idx_14 == 0)
  scanning: _1 = ring_13(D)->length;
    Indirect ref read is not const
  scanning: _2 = _1 * 2;
  scanning: idx_16 = _2 + 4294967295;
  scanning: idx_15 = idx_14 + 4294967295;
  scanning: ring_13(D)->write_idx = idx_10;
    Indirect ref write is not const/pure
  scanning: _3 = ring_13(D)->length;
    Indirect ref read is not const
  scanning: if (_3 <= idx_10)
  scanning: idx_18 = idx_10 - _3;
  scanning: _4 = ring_13(D)->base_va;
    Indirect ref read is not const
  scanning: _5 = idx_11 * 16;
  scanning: _6 = _4 + _5;
  scanning: ring_13(D)->bd_write.wr_bd = _6;
    Indirect ref write is not const/pure
  scanning: _7 = ring_13(D)->wb_tbl_base_va;
    Indirect ref read is not const
  scanning: _8 = idx_11 * 8;
  scanning: _9 = _7 + _8;
  scanning: ring_13(D)->wr_wb_bd = _9;
    Indirect ref write is not const/pure
  scanning: return;


 local analysis of inc_write_index
   scanning: idx_13 = ring_12(D)->write_idx;
    Indirect ref read is not const
  scanning: idx_14 = idx_13 + 1;
  scanning: _1 = ring_12(D)->length;
    Indirect ref read is not const
  scanning: _2 = _1 * 2;
  scanning: if (_2 <= idx_14)
  scanning: ring_12(D)->write_idx = idx_9;
    Indirect ref write is not const/pure
  scanning: if (_1 <= idx_9)
  scanning: idx_16 = idx_9 - _1;
  scanning: _3 = ring_12(D)->base_va;
    Indirect ref read is not const
  scanning: _4 = idx_10 * 16;
  scanning: _5 = _3 + _4;
  scanning: ring_12(D)->bd_write.wr_bd = _5;
    Indirect ref write is not const/pure
  scanning: _6 = ring_12(D)->wb_tbl_base_va;
    Indirect ref read is not const
  scanning: _7 = idx_10 * 8;
  scanning: _8 = _6 + _7;
  scanning: ring_12(D)->wr_wb_bd = _8;
    Indirect ref write is not const/pure
  scanning: return;
callgraph:

pfe_hif_ring_attach_std/59 (pfe_hif_ring_attach_std) @06b0d0e0
  Type: function definition analyzed
  Visibility:
  next sharing asm name: 49
  Aux: @06b9b120
  References: 
  Referring: 
  Function pfe_hif_ring_attach_std/59 is inline copy in pfe_hif_ring_attach/48
  Clone of pfe_hif_ring_attach_std/49
  Availability: local
  Function flags: count:0 (precise) body local unlikely_executed optimize_size
  Called by: pfe_hif_ring_attach/48 (inlined) (0 (precise),0.00 per call) 
  Calls: memset/54 (0 (precise),0.00 per call) oal_mm_virt_to_phys_contig/55 (0 (precise),0.00 per call) oal_mm_virt_to_phys_contig/55 (0 (precise),0.00 per call) 
oal_mm_cache_inval/57 (oal_mm_cache_inval) @0d7258c0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: pfe_hif_ring_init_bd_std/50 (118111601 (estimated locally),1.00 per call) 
  Calls: 
oal_mm_cache_flush/56 (oal_mm_cache_flush) @0d7257e0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: pfe_hif_ring_init_bd_std/50 (118111601 (estimated locally),1.00 per call) 
  Calls: 
oal_mm_virt_to_phys_contig/55 (oal_mm_virt_to_phys_contig) @0d725620
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: pfe_hif_ring_attach_std/59 (0 (precise),0.00 per call) pfe_hif_ring_attach_std/59 (0 (precise),0.00 per call) pfe_hif_ring_attach_std/49 (0 (precise),0.00 per call) pfe_hif_ring_attach_std/49 (0 (precise),0.00 per call) 
  Calls: 
memset/54 (memset) @0d725460
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: pfe_hif_ring_attach_std/59 (0 (precise),0.00 per call) pfe_hif_ring_create_std/47 (0 (precise),0.00 per call) pfe_hif_ring_create_std/47 (0 (precise),0.00 per call) pfe_hif_ring_init_bd_std/50 (118111600 (estimated locally),1.00 per call) pfe_hif_ring_init_bd_std/50 (118111600 (estimated locally),1.00 per call) pfe_hif_ring_attach_std/49 (0 (precise),0.00 per call) 
  Calls: 
__builtin_expect/53 (__builtin_expect) @0d6f07e0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: pfe_hif_ring_create_std/47 (0 (precise),0.00 per call) pfe_hif_ring_create_std/47 (0 (precise),0.00 per call) pfe_hif_ring_enqueue_buf_std/37 (1073741824 (estimated locally),1.00 per call) 
  Calls: 
pfe_hif_ring_rd_wb_bd_enabled/52 (pfe_hif_ring_rd_wb_bd_enabled) @0d60f9a0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06b9afc0
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: 
pfe_hif_ring_destroy/51 (pfe_hif_ring_destroy) @0d60f2a0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06b9b1e0
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body unlikely_executed optimize_size
  Called by: 
  Calls: pfe_hif_ring_invalidate_std/44 (0 (precise),0.00 per call) 
pfe_hif_ring_init_bd_std/50 (pfe_hif_ring_init_bd_std) @0d60fe00
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Aux: @06b9b0a0
  References: 
  Referring: 
  Availability: local
  Function flags: count:118111600 (estimated locally) body local unlikely_executed optimize_size
  Called by: pfe_hif_ring_attach/48 (0 (precise),0.00 per call) pfe_hif_ring_create_std/47 (0 (precise),0.00 per call) 
  Calls: oal_mm_cache_inval/57 (118111601 (estimated locally),1.00 per call) oal_mm_cache_flush/56 (118111601 (estimated locally),1.00 per call) memset/54 (118111600 (estimated locally),1.00 per call) memset/54 (118111600 (estimated locally),1.00 per call) 
pfe_hif_ring_attach_std/49 (pfe_hif_ring_attach_std) @0d60fb60
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  previous sharing asm name: 59
  Aux: @06b9af00
  References: 
  Referring: 
  Function pfe_hif_ring_attach_std/49 is inline copy in pfe_hif_ring_create/46
  Availability: local
  Function flags: count:0 (precise) body local unlikely_executed optimize_size
  Called by: pfe_hif_ring_create_std/47 (inlined) (0 (precise),0.00 per call) 
  Calls: oal_mm_virt_to_phys_contig/55 (0 (precise),0.00 per call) oal_mm_virt_to_phys_contig/55 (0 (precise),0.00 per call) memset/54 (0 (precise),0.00 per call) 
pfe_hif_ring_attach/48 (pfe_hif_ring_attach) @0d60f8c0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06b9b180
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body unlikely_executed optimize_size
  Called by: 
  Calls: pfe_hif_ring_init_bd_std/50 (0 (precise),0.00 per call) pfe_hif_ring_attach_std/59 (inlined) (0 (precise),0.00 per call) 
pfe_hif_ring_create_std/47 (pfe_hif_ring_create_std) @0d60f620
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Aux: @06b9b0e0
  References: arRxBdRing/23 (addr)arTxBdRing/25 (addr)arRxBdWbRing/24 (addr)arTxBdWbRing/26 (addr)
  Referring: 
  Function pfe_hif_ring_create_std/47 is inline copy in pfe_hif_ring_create/46
  Availability: local
  Function flags: count:0 (precise) body local unlikely_executed optimize_size
  Called by: pfe_hif_ring_create/46 (inlined) (0 (precise),0.00 per call) 
  Calls: pfe_hif_ring_init_bd_std/50 (0 (precise),0.00 per call) pfe_hif_ring_attach_std/49 (inlined) (0 (precise),0.00 per call) memset/54 (0 (precise),0.00 per call) memset/54 (0 (precise),0.00 per call) __builtin_expect/53 (0 (precise),0.00 per call) __builtin_expect/53 (0 (precise),0.00 per call) 
pfe_hif_ring_create/46 (pfe_hif_ring_create) @0d60f1c0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06b9aea0
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body unlikely_executed optimize_size
  Called by: 
  Calls: pfe_hif_ring_create_std/47 (inlined) (0 (precise),0.00 per call) 
pfe_hif_ring_dump/45 (pfe_hif_ring_dump) @0d606ee0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06b9b000
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body unlikely_executed optimize_size
  Called by: 
  Calls: 
pfe_hif_ring_invalidate_std/44 (pfe_hif_ring_invalidate_std) @0d6069a0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Aux: @06b9ae40
  References: 
  Referring: 
  Availability: local
  Function flags: count:118111600 (estimated locally) body local unlikely_executed optimize_size
  Called by: pfe_hif_ring_destroy/51 (0 (precise),0.00 per call) pfe_hif_ring_invalidate/43 (0 (precise),0.00 per call) 
  Calls: 
pfe_hif_ring_invalidate/43 (pfe_hif_ring_invalidate) @0d606460
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06b9af60
  References: 
  Referring: 
  Availability: available
  Function flags: count:0 (precise) body unlikely_executed optimize_size
  Called by: 
  Calls: pfe_hif_ring_invalidate_std/44 (0 (precise),0.00 per call) 
pfe_hif_ring_drain_buf/42 (pfe_hif_ring_drain_buf) @0d606e00
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06b9b140
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body unlikely_executed optimize_size
  Called by: 
  Calls: inc_read_index/29 (348966093 (estimated locally),0.33 per call) dec_write_index_std/28 (inlined) (348966093 (estimated locally),0.33 per call) pfe_hif_ring_get_fill_level/31 (1073741824 (estimated locally),1.00 per call) 
pfe_hif_ring_dequeue_plain_std/41 (pfe_hif_ring_dequeue_plain_std) @0d606b60
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Aux: @06b9aec0
  References: 
  Referring: 
  Function pfe_hif_ring_dequeue_plain_std/41 is inline copy in pfe_hif_ring_dequeue_plain/40
  Availability: local
  Function flags: count:1073741824 (estimated locally) body local optimize_size
  Called by: pfe_hif_ring_dequeue_plain/40 (inlined) (1073741824 (estimated locally),1.00 per call) 
  Calls: inc_read_index/29 (333402205 (estimated locally),0.31 per call) 
pfe_hif_ring_dequeue_plain/40 (pfe_hif_ring_dequeue_plain) @0d6068c0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06b9af40
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body hot optimize_size
  Called by: 
  Calls: pfe_hif_ring_dequeue_plain_std/41 (inlined) (1073741824 (estimated locally),1.00 per call) 
pfe_hif_ring_dequeue_buf_std/39 (pfe_hif_ring_dequeue_buf_std) @0d606620
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Aux: @06b9b080
  References: 
  Referring: 
  Function pfe_hif_ring_dequeue_buf_std/39 is inline copy in pfe_hif_ring_dequeue_buf/38
  Availability: local
  Function flags: count:1073741824 (estimated locally) body local hot optimize_size
  Called by: pfe_hif_ring_dequeue_buf/38 (inlined) (1073741824 (estimated locally),1.00 per call) 
  Calls: inc_read_index/29 (333402205 (estimated locally),0.31 per call) 
pfe_hif_ring_dequeue_buf/38 (pfe_hif_ring_dequeue_buf) @0d606380
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06b9b1c0
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body hot optimize_size
  Called by: 
  Calls: pfe_hif_ring_dequeue_buf_std/39 (inlined) (1073741824 (estimated locally),1.00 per call) 
pfe_hif_ring_enqueue_buf_std/37 (pfe_hif_ring_enqueue_buf_std) @0d6060e0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Aux: @06b9afe0
  References: 
  Referring: 
  Function pfe_hif_ring_enqueue_buf_std/37 is inline copy in pfe_hif_ring_enqueue_buf/36
  Availability: local
  Function flags: count:1073741824 (estimated locally) body local hot optimize_size
  Called by: pfe_hif_ring_enqueue_buf/36 (inlined) (1073741824 (estimated locally),1.00 per call) 
  Calls: inc_write_index/27 (inlined) (966367642 (estimated locally),0.90 per call) __builtin_expect/53 (1073741824 (estimated locally),1.00 per call) 
pfe_hif_ring_enqueue_buf/36 (pfe_hif_ring_enqueue_buf) @077a7b60
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06b9b020
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body hot optimize_size
  Called by: 
  Calls: pfe_hif_ring_enqueue_buf_std/37 (inlined) (1073741824 (estimated locally),1.00 per call) 
pfe_hif_ring_get_len/35 (pfe_hif_ring_get_len) @077a7620
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06b9b040
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body hot optimize_size
  Called by: 
  Calls: 
pfe_hif_ring_get_wb_tbl_len/34 (pfe_hif_ring_get_wb_tbl_len) @077a70e0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06b9aba0
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body unlikely_executed optimize_size
  Called by: 
  Calls: 
pfe_hif_ring_get_wb_tbl_pa/33 (pfe_hif_ring_get_wb_tbl_pa) @077a7d20
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06b9abc0
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body unlikely_executed optimize_size
  Called by: 
  Calls: 
pfe_hif_ring_get_base_pa/32 (pfe_hif_ring_get_base_pa) @077a7a80
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06b9ac00
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body unlikely_executed optimize_size
  Called by: 
  Calls: 
pfe_hif_ring_get_fill_level/31 (pfe_hif_ring_get_fill_level) @077a77e0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06b9ad20
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body hot optimize_size
  Called by: pfe_hif_ring_drain_buf/42 (1073741824 (estimated locally),1.00 per call) pfe_hif_ring_is_below_wm/30 (1073741824 (estimated locally),1.00 per call) 
  Calls: 
pfe_hif_ring_is_below_wm/30 (pfe_hif_ring_is_below_wm) @077a7540
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @0715e0d8
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body hot optimize_size
  Called by: 
  Calls: pfe_hif_ring_get_fill_level/31 (1073741824 (estimated locally),1.00 per call) 
inc_read_index/29 (inc_read_index) @077a72a0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Aux: @0715de98
  References: 
  Referring: 
  Availability: local
  Function flags: count:1073741824 (estimated locally) body local hot optimize_size
  Called by: pfe_hif_ring_drain_buf/42 (348966093 (estimated locally),0.33 per call) pfe_hif_ring_dequeue_plain_std/41 (333402205 (estimated locally),0.31 per call) pfe_hif_ring_dequeue_buf_std/39 (333402205 (estimated locally),0.31 per call) 
  Calls: 
dec_write_index_std/28 (dec_write_index_std) @077a7000
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Aux: @0715e018
  References: 
  Referring: 
  Function dec_write_index_std/28 is inline copy in pfe_hif_ring_drain_buf/42
  Availability: local
  Function flags: count:348966093 (estimated locally) body local hot optimize_size
  Called by: pfe_hif_ring_drain_buf/42 (inlined) (348966093 (estimated locally),0.33 per call) 
  Calls: 
inc_write_index/27 (inc_write_index) @0779f380
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Aux: @0715e0f8
  References: 
  Referring: 
  Function inc_write_index/27 is inline copy in pfe_hif_ring_enqueue_buf/36
  Availability: local
  Function flags: count:966367642 (estimated locally) body local hot optimize_size
  Called by: pfe_hif_ring_enqueue_buf_std/37 (inlined) (966367642 (estimated locally),0.90 per call) 
  Calls: 


 ordered call graph: reduced for nothrow
pfe_hif_ring_attach_std/59 (pfe_hif_ring_attach_std) @06b0d0e0
  Type: function definition analyzed
  Visibility:
  next sharing asm name: 49
  Aux: @06b9b120
  References: 
  Referring: 
  Function pfe_hif_ring_attach_std/59 is inline copy in pfe_hif_ring_attach/48
  Clone of pfe_hif_ring_attach_std/49
  Availability: local
  Function flags: count:0 (precise) body local unlikely_executed optimize_size
  Called by: pfe_hif_ring_attach/48 (inlined) (0 (precise),0.00 per call) 
  Calls: memset/54 (0 (precise),0.00 per call) oal_mm_virt_to_phys_contig/55 (0 (precise),0.00 per call) oal_mm_virt_to_phys_contig/55 (0 (precise),0.00 per call) 
pfe_hif_ring_rd_wb_bd_enabled/52 (pfe_hif_ring_rd_wb_bd_enabled) @0d60f9a0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06b9afc0
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: 
pfe_hif_ring_destroy/51 (pfe_hif_ring_destroy) @0d60f2a0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06b9b1e0
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body unlikely_executed optimize_size
  Called by: 
  Calls: pfe_hif_ring_invalidate_std/44 (0 (precise),0.00 per call) 
pfe_hif_ring_init_bd_std/50 (pfe_hif_ring_init_bd_std) @0d60fe00
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Aux: @06b9b0a0
  References: 
  Referring: 
  Availability: local
  Function flags: count:118111600 (estimated locally) body local unlikely_executed optimize_size
  Called by: pfe_hif_ring_attach/48 (0 (precise),0.00 per call) pfe_hif_ring_create_std/47 (0 (precise),0.00 per call) 
  Calls: oal_mm_cache_inval/57 (118111601 (estimated locally),1.00 per call) oal_mm_cache_flush/56 (118111601 (estimated locally),1.00 per call) memset/54 (118111600 (estimated locally),1.00 per call) memset/54 (118111600 (estimated locally),1.00 per call) 
pfe_hif_ring_attach_std/49 (pfe_hif_ring_attach_std) @0d60fb60
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  previous sharing asm name: 59
  Aux: @06b9af00
  References: 
  Referring: 
  Function pfe_hif_ring_attach_std/49 is inline copy in pfe_hif_ring_create/46
  Availability: local
  Function flags: count:0 (precise) body local unlikely_executed optimize_size
  Called by: pfe_hif_ring_create_std/47 (inlined) (0 (precise),0.00 per call) 
  Calls: oal_mm_virt_to_phys_contig/55 (0 (precise),0.00 per call) oal_mm_virt_to_phys_contig/55 (0 (precise),0.00 per call) memset/54 (0 (precise),0.00 per call) 
pfe_hif_ring_attach/48 (pfe_hif_ring_attach) @0d60f8c0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06b9b180
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body unlikely_executed optimize_size
  Called by: 
  Calls: pfe_hif_ring_init_bd_std/50 (0 (precise),0.00 per call) pfe_hif_ring_attach_std/59 (inlined) (0 (precise),0.00 per call) 
pfe_hif_ring_create_std/47 (pfe_hif_ring_create_std) @0d60f620
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Aux: @06b9b0e0
  References: arRxBdRing/23 (addr)arTxBdRing/25 (addr)arRxBdWbRing/24 (addr)arTxBdWbRing/26 (addr)
  Referring: 
  Function pfe_hif_ring_create_std/47 is inline copy in pfe_hif_ring_create/46
  Availability: local
  Function flags: count:0 (precise) body local unlikely_executed optimize_size
  Called by: pfe_hif_ring_create/46 (inlined) (0 (precise),0.00 per call) 
  Calls: pfe_hif_ring_init_bd_std/50 (0 (precise),0.00 per call) pfe_hif_ring_attach_std/49 (inlined) (0 (precise),0.00 per call) memset/54 (0 (precise),0.00 per call) memset/54 (0 (precise),0.00 per call) __builtin_expect/53 (0 (precise),0.00 per call) __builtin_expect/53 (0 (precise),0.00 per call) 
pfe_hif_ring_create/46 (pfe_hif_ring_create) @0d60f1c0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06b9aea0
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body unlikely_executed optimize_size
  Called by: 
  Calls: pfe_hif_ring_create_std/47 (inlined) (0 (precise),0.00 per call) 
pfe_hif_ring_dump/45 (pfe_hif_ring_dump) @0d606ee0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06b9b000
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body unlikely_executed optimize_size
  Called by: 
  Calls: 
pfe_hif_ring_invalidate_std/44 (pfe_hif_ring_invalidate_std) @0d6069a0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Aux: @06b9ae40
  References: 
  Referring: 
  Availability: local
  Function flags: count:118111600 (estimated locally) body local unlikely_executed optimize_size
  Called by: pfe_hif_ring_destroy/51 (0 (precise),0.00 per call) pfe_hif_ring_invalidate/43 (0 (precise),0.00 per call) 
  Calls: 
pfe_hif_ring_invalidate/43 (pfe_hif_ring_invalidate) @0d606460
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06b9af60
  References: 
  Referring: 
  Availability: available
  Function flags: count:0 (precise) body unlikely_executed optimize_size
  Called by: 
  Calls: pfe_hif_ring_invalidate_std/44 (0 (precise),0.00 per call) 
pfe_hif_ring_drain_buf/42 (pfe_hif_ring_drain_buf) @0d606e00
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06b9b140
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body unlikely_executed optimize_size
  Called by: 
  Calls: inc_read_index/29 (348966093 (estimated locally),0.33 per call) dec_write_index_std/28 (inlined) (348966093 (estimated locally),0.33 per call) pfe_hif_ring_get_fill_level/31 (1073741824 (estimated locally),1.00 per call) 
pfe_hif_ring_dequeue_plain_std/41 (pfe_hif_ring_dequeue_plain_std) @0d606b60
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Aux: @06b9aec0
  References: 
  Referring: 
  Function pfe_hif_ring_dequeue_plain_std/41 is inline copy in pfe_hif_ring_dequeue_plain/40
  Availability: local
  Function flags: count:1073741824 (estimated locally) body local optimize_size
  Called by: pfe_hif_ring_dequeue_plain/40 (inlined) (1073741824 (estimated locally),1.00 per call) 
  Calls: inc_read_index/29 (333402205 (estimated locally),0.31 per call) 
pfe_hif_ring_dequeue_plain/40 (pfe_hif_ring_dequeue_plain) @0d6068c0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06b9af40
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body hot optimize_size
  Called by: 
  Calls: pfe_hif_ring_dequeue_plain_std/41 (inlined) (1073741824 (estimated locally),1.00 per call) 
pfe_hif_ring_dequeue_buf_std/39 (pfe_hif_ring_dequeue_buf_std) @0d606620
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Aux: @06b9b080
  References: 
  Referring: 
  Function pfe_hif_ring_dequeue_buf_std/39 is inline copy in pfe_hif_ring_dequeue_buf/38
  Availability: local
  Function flags: count:1073741824 (estimated locally) body local hot optimize_size
  Called by: pfe_hif_ring_dequeue_buf/38 (inlined) (1073741824 (estimated locally),1.00 per call) 
  Calls: inc_read_index/29 (333402205 (estimated locally),0.31 per call) 
pfe_hif_ring_dequeue_buf/38 (pfe_hif_ring_dequeue_buf) @0d606380
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06b9b1c0
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body hot optimize_size
  Called by: 
  Calls: pfe_hif_ring_dequeue_buf_std/39 (inlined) (1073741824 (estimated locally),1.00 per call) 
pfe_hif_ring_enqueue_buf_std/37 (pfe_hif_ring_enqueue_buf_std) @0d6060e0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Aux: @06b9afe0
  References: 
  Referring: 
  Function pfe_hif_ring_enqueue_buf_std/37 is inline copy in pfe_hif_ring_enqueue_buf/36
  Availability: local
  Function flags: count:1073741824 (estimated locally) body local hot optimize_size
  Called by: pfe_hif_ring_enqueue_buf/36 (inlined) (1073741824 (estimated locally),1.00 per call) 
  Calls: inc_write_index/27 (inlined) (966367642 (estimated locally),0.90 per call) __builtin_expect/53 (1073741824 (estimated locally),1.00 per call) 
pfe_hif_ring_enqueue_buf/36 (pfe_hif_ring_enqueue_buf) @077a7b60
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06b9b020
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body hot optimize_size
  Called by: 
  Calls: pfe_hif_ring_enqueue_buf_std/37 (inlined) (1073741824 (estimated locally),1.00 per call) 
pfe_hif_ring_get_len/35 (pfe_hif_ring_get_len) @077a7620
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06b9b040
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body hot optimize_size
  Called by: 
  Calls: 
pfe_hif_ring_get_wb_tbl_len/34 (pfe_hif_ring_get_wb_tbl_len) @077a70e0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06b9aba0
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body unlikely_executed optimize_size
  Called by: 
  Calls: 
pfe_hif_ring_get_wb_tbl_pa/33 (pfe_hif_ring_get_wb_tbl_pa) @077a7d20
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06b9abc0
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body unlikely_executed optimize_size
  Called by: 
  Calls: 
pfe_hif_ring_get_base_pa/32 (pfe_hif_ring_get_base_pa) @077a7a80
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06b9ac00
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body unlikely_executed optimize_size
  Called by: 
  Calls: 
pfe_hif_ring_get_fill_level/31 (pfe_hif_ring_get_fill_level) @077a77e0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06b9ad20
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body hot optimize_size
  Called by: pfe_hif_ring_drain_buf/42 (1073741824 (estimated locally),1.00 per call) pfe_hif_ring_is_below_wm/30 (1073741824 (estimated locally),1.00 per call) 
  Calls: 
pfe_hif_ring_is_below_wm/30 (pfe_hif_ring_is_below_wm) @077a7540
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @0715e0d8
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body hot optimize_size
  Called by: 
  Calls: pfe_hif_ring_get_fill_level/31 (1073741824 (estimated locally),1.00 per call) 
inc_read_index/29 (inc_read_index) @077a72a0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Aux: @0715de98
  References: 
  Referring: 
  Availability: local
  Function flags: count:1073741824 (estimated locally) body local hot optimize_size
  Called by: pfe_hif_ring_drain_buf/42 (348966093 (estimated locally),0.33 per call) pfe_hif_ring_dequeue_plain_std/41 (333402205 (estimated locally),0.31 per call) pfe_hif_ring_dequeue_buf_std/39 (333402205 (estimated locally),0.31 per call) 
  Calls: 
dec_write_index_std/28 (dec_write_index_std) @077a7000
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Aux: @0715e018
  References: 
  Referring: 
  Function dec_write_index_std/28 is inline copy in pfe_hif_ring_drain_buf/42
  Availability: local
  Function flags: count:348966093 (estimated locally) body local hot optimize_size
  Called by: pfe_hif_ring_drain_buf/42 (inlined) (348966093 (estimated locally),0.33 per call) 
  Calls: 
inc_write_index/27 (inc_write_index) @0779f380
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Aux: @0715e0f8
  References: 
  Referring: 
  Function inc_write_index/27 is inline copy in pfe_hif_ring_enqueue_buf/36
  Availability: local
  Function flags: count:966367642 (estimated locally) body local hot optimize_size
  Called by: pfe_hif_ring_enqueue_buf_std/37 (inlined) (966367642 (estimated locally),0.90 per call) 
  Calls: 



MALLOC LATTICE Initial:
pfe_hif_ring_attach_std: malloc_bottom
pfe_hif_ring_rd_wb_bd_enabled: malloc_bottom
pfe_hif_ring_destroy: malloc_bottom
pfe_hif_ring_init_bd_std: malloc_bottom
pfe_hif_ring_attach_std: malloc_bottom
pfe_hif_ring_attach: malloc_bottom
pfe_hif_ring_create_std: malloc_bottom
pfe_hif_ring_create: malloc_bottom
pfe_hif_ring_dump: malloc_bottom
pfe_hif_ring_invalidate_std: malloc_bottom
pfe_hif_ring_invalidate: malloc_bottom
pfe_hif_ring_drain_buf: malloc_bottom
pfe_hif_ring_dequeue_plain_std: malloc_bottom
pfe_hif_ring_dequeue_plain: malloc_bottom
pfe_hif_ring_dequeue_buf_std: malloc_bottom
pfe_hif_ring_dequeue_buf: malloc_bottom
pfe_hif_ring_enqueue_buf_std: malloc_bottom
pfe_hif_ring_enqueue_buf: malloc_bottom
pfe_hif_ring_get_len: malloc_bottom
pfe_hif_ring_get_wb_tbl_len: malloc_bottom
pfe_hif_ring_get_wb_tbl_pa: malloc_bottom
pfe_hif_ring_get_base_pa: malloc_bottom
pfe_hif_ring_get_fill_level: malloc_bottom
pfe_hif_ring_is_below_wm: malloc_bottom
inc_read_index: malloc_bottom
dec_write_index_std: malloc_bottom
inc_write_index: malloc_bottom


MALLOC LATTICE after propagation:
pfe_hif_ring_attach_std: malloc_bottom
pfe_hif_ring_rd_wb_bd_enabled: malloc_bottom
pfe_hif_ring_destroy: malloc_bottom
pfe_hif_ring_init_bd_std: malloc_bottom
pfe_hif_ring_attach_std: malloc_bottom
pfe_hif_ring_attach: malloc_bottom
pfe_hif_ring_create_std: malloc_bottom
pfe_hif_ring_create: malloc_bottom
pfe_hif_ring_dump: malloc_bottom
pfe_hif_ring_invalidate_std: malloc_bottom
pfe_hif_ring_invalidate: malloc_bottom
pfe_hif_ring_drain_buf: malloc_bottom
pfe_hif_ring_dequeue_plain_std: malloc_bottom
pfe_hif_ring_dequeue_plain: malloc_bottom
pfe_hif_ring_dequeue_buf_std: malloc_bottom
pfe_hif_ring_dequeue_buf: malloc_bottom
pfe_hif_ring_enqueue_buf_std: malloc_bottom
pfe_hif_ring_enqueue_buf: malloc_bottom
pfe_hif_ring_get_len: malloc_bottom
pfe_hif_ring_get_wb_tbl_len: malloc_bottom
pfe_hif_ring_get_wb_tbl_pa: malloc_bottom
pfe_hif_ring_get_base_pa: malloc_bottom
pfe_hif_ring_get_fill_level: malloc_bottom
pfe_hif_ring_is_below_wm: malloc_bottom
inc_read_index: malloc_bottom
dec_write_index_std: malloc_bottom
inc_write_index: malloc_bottom
callgraph:

pfe_hif_ring_attach_std/59 (pfe_hif_ring_attach_std) @06b0d0e0
  Type: function definition analyzed
  Visibility:
  next sharing asm name: 49
  Aux: @0715e118
  References: 
  Referring: 
  Function pfe_hif_ring_attach_std/59 is inline copy in pfe_hif_ring_attach/48
  Clone of pfe_hif_ring_attach_std/49
  Availability: local
  Function flags: count:0 (precise) body local unlikely_executed optimize_size
  Called by: pfe_hif_ring_attach/48 (inlined) (0 (precise),0.00 per call) 
  Calls: memset/54 (0 (precise),0.00 per call) oal_mm_virt_to_phys_contig/55 (0 (precise),0.00 per call) oal_mm_virt_to_phys_contig/55 (0 (precise),0.00 per call) 
oal_mm_cache_inval/57 (oal_mm_cache_inval) @0d7258c0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: pfe_hif_ring_init_bd_std/50 (118111601 (estimated locally),1.00 per call) 
  Calls: 
oal_mm_cache_flush/56 (oal_mm_cache_flush) @0d7257e0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: pfe_hif_ring_init_bd_std/50 (118111601 (estimated locally),1.00 per call) 
  Calls: 
oal_mm_virt_to_phys_contig/55 (oal_mm_virt_to_phys_contig) @0d725620
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: pfe_hif_ring_attach_std/59 (0 (precise),0.00 per call) pfe_hif_ring_attach_std/59 (0 (precise),0.00 per call) pfe_hif_ring_attach_std/49 (0 (precise),0.00 per call) pfe_hif_ring_attach_std/49 (0 (precise),0.00 per call) 
  Calls: 
memset/54 (memset) @0d725460
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: pfe_hif_ring_attach_std/59 (0 (precise),0.00 per call) pfe_hif_ring_create_std/47 (0 (precise),0.00 per call) pfe_hif_ring_create_std/47 (0 (precise),0.00 per call) pfe_hif_ring_init_bd_std/50 (118111600 (estimated locally),1.00 per call) pfe_hif_ring_init_bd_std/50 (118111600 (estimated locally),1.00 per call) pfe_hif_ring_attach_std/49 (0 (precise),0.00 per call) 
  Calls: 
__builtin_expect/53 (__builtin_expect) @0d6f07e0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: pfe_hif_ring_create_std/47 (0 (precise),0.00 per call) pfe_hif_ring_create_std/47 (0 (precise),0.00 per call) pfe_hif_ring_enqueue_buf_std/37 (1073741824 (estimated locally),1.00 per call) 
  Calls: 
pfe_hif_ring_rd_wb_bd_enabled/52 (pfe_hif_ring_rd_wb_bd_enabled) @0d60f9a0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @0715dff8
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: 
pfe_hif_ring_destroy/51 (pfe_hif_ring_destroy) @0d60f2a0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @0715e0d8
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body unlikely_executed optimize_size
  Called by: 
  Calls: pfe_hif_ring_invalidate_std/44 (0 (precise),0.00 per call) 
pfe_hif_ring_init_bd_std/50 (pfe_hif_ring_init_bd_std) @0d60fe00
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Aux: @0715de38
  References: 
  Referring: 
  Availability: local
  Function flags: count:118111600 (estimated locally) body local unlikely_executed optimize_size
  Called by: pfe_hif_ring_attach/48 (0 (precise),0.00 per call) pfe_hif_ring_create_std/47 (0 (precise),0.00 per call) 
  Calls: oal_mm_cache_inval/57 (118111601 (estimated locally),1.00 per call) oal_mm_cache_flush/56 (118111601 (estimated locally),1.00 per call) memset/54 (118111600 (estimated locally),1.00 per call) memset/54 (118111600 (estimated locally),1.00 per call) 
pfe_hif_ring_attach_std/49 (pfe_hif_ring_attach_std) @0d60fb60
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  previous sharing asm name: 59
  Aux: @0715dfb8
  References: 
  Referring: 
  Function pfe_hif_ring_attach_std/49 is inline copy in pfe_hif_ring_create/46
  Availability: local
  Function flags: count:0 (precise) body local unlikely_executed optimize_size
  Called by: pfe_hif_ring_create_std/47 (inlined) (0 (precise),0.00 per call) 
  Calls: oal_mm_virt_to_phys_contig/55 (0 (precise),0.00 per call) oal_mm_virt_to_phys_contig/55 (0 (precise),0.00 per call) memset/54 (0 (precise),0.00 per call) 
pfe_hif_ring_attach/48 (pfe_hif_ring_attach) @0d60f8c0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @0715ddf8
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body unlikely_executed optimize_size
  Called by: 
  Calls: pfe_hif_ring_init_bd_std/50 (0 (precise),0.00 per call) pfe_hif_ring_attach_std/59 (inlined) (0 (precise),0.00 per call) 
pfe_hif_ring_create_std/47 (pfe_hif_ring_create_std) @0d60f620
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Aux: @0715df58
  References: arRxBdRing/23 (addr)arTxBdRing/25 (addr)arRxBdWbRing/24 (addr)arTxBdWbRing/26 (addr)
  Referring: 
  Function pfe_hif_ring_create_std/47 is inline copy in pfe_hif_ring_create/46
  Availability: local
  Function flags: count:0 (precise) body local unlikely_executed optimize_size
  Called by: pfe_hif_ring_create/46 (inlined) (0 (precise),0.00 per call) 
  Calls: pfe_hif_ring_init_bd_std/50 (0 (precise),0.00 per call) pfe_hif_ring_attach_std/49 (inlined) (0 (precise),0.00 per call) memset/54 (0 (precise),0.00 per call) memset/54 (0 (precise),0.00 per call) __builtin_expect/53 (0 (precise),0.00 per call) __builtin_expect/53 (0 (precise),0.00 per call) 
pfe_hif_ring_create/46 (pfe_hif_ring_create) @0d60f1c0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @0715e158
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body unlikely_executed optimize_size
  Called by: 
  Calls: pfe_hif_ring_create_std/47 (inlined) (0 (precise),0.00 per call) 
pfe_hif_ring_dump/45 (pfe_hif_ring_dump) @0d606ee0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @0715e0f8
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body unlikely_executed optimize_size
  Called by: 
  Calls: 
pfe_hif_ring_invalidate_std/44 (pfe_hif_ring_invalidate_std) @0d6069a0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Aux: @0715e018
  References: 
  Referring: 
  Availability: local
  Function flags: count:118111600 (estimated locally) body local unlikely_executed optimize_size
  Called by: pfe_hif_ring_destroy/51 (0 (precise),0.00 per call) pfe_hif_ring_invalidate/43 (0 (precise),0.00 per call) 
  Calls: 
pfe_hif_ring_invalidate/43 (pfe_hif_ring_invalidate) @0d606460
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @0715ddd8
  References: 
  Referring: 
  Availability: available
  Function flags: count:0 (precise) body unlikely_executed optimize_size
  Called by: 
  Calls: pfe_hif_ring_invalidate_std/44 (0 (precise),0.00 per call) 
pfe_hif_ring_drain_buf/42 (pfe_hif_ring_drain_buf) @0d606e00
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @0715e038
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body unlikely_executed optimize_size
  Called by: 
  Calls: inc_read_index/29 (348966093 (estimated locally),0.33 per call) dec_write_index_std/28 (inlined) (348966093 (estimated locally),0.33 per call) pfe_hif_ring_get_fill_level/31 (1073741824 (estimated locally),1.00 per call) 
pfe_hif_ring_dequeue_plain_std/41 (pfe_hif_ring_dequeue_plain_std) @0d606b60
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Aux: @0715de78
  References: 
  Referring: 
  Function pfe_hif_ring_dequeue_plain_std/41 is inline copy in pfe_hif_ring_dequeue_plain/40
  Availability: local
  Function flags: count:1073741824 (estimated locally) body local optimize_size
  Called by: pfe_hif_ring_dequeue_plain/40 (inlined) (1073741824 (estimated locally),1.00 per call) 
  Calls: inc_read_index/29 (333402205 (estimated locally),0.31 per call) 
pfe_hif_ring_dequeue_plain/40 (pfe_hif_ring_dequeue_plain) @0d6068c0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @0715df78
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body hot optimize_size
  Called by: 
  Calls: pfe_hif_ring_dequeue_plain_std/41 (inlined) (1073741824 (estimated locally),1.00 per call) 
pfe_hif_ring_dequeue_buf_std/39 (pfe_hif_ring_dequeue_buf_std) @0d606620
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Aux: @0715de18
  References: 
  Referring: 
  Function pfe_hif_ring_dequeue_buf_std/39 is inline copy in pfe_hif_ring_dequeue_buf/38
  Availability: local
  Function flags: count:1073741824 (estimated locally) body local hot optimize_size
  Called by: pfe_hif_ring_dequeue_buf/38 (inlined) (1073741824 (estimated locally),1.00 per call) 
  Calls: inc_read_index/29 (333402205 (estimated locally),0.31 per call) 
pfe_hif_ring_dequeue_buf/38 (pfe_hif_ring_dequeue_buf) @0d606380
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @0715df98
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body hot optimize_size
  Called by: 
  Calls: pfe_hif_ring_dequeue_buf_std/39 (inlined) (1073741824 (estimated locally),1.00 per call) 
pfe_hif_ring_enqueue_buf_std/37 (pfe_hif_ring_enqueue_buf_std) @0d6060e0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Aux: @0715e138
  References: 
  Referring: 
  Function pfe_hif_ring_enqueue_buf_std/37 is inline copy in pfe_hif_ring_enqueue_buf/36
  Availability: local
  Function flags: count:1073741824 (estimated locally) body local hot optimize_size
  Called by: pfe_hif_ring_enqueue_buf/36 (inlined) (1073741824 (estimated locally),1.00 per call) 
  Calls: inc_write_index/27 (inlined) (966367642 (estimated locally),0.90 per call) __builtin_expect/53 (1073741824 (estimated locally),1.00 per call) 
pfe_hif_ring_enqueue_buf/36 (pfe_hif_ring_enqueue_buf) @077a7b60
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @0715e178
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body hot optimize_size
  Called by: 
  Calls: pfe_hif_ring_enqueue_buf_std/37 (inlined) (1073741824 (estimated locally),1.00 per call) 
pfe_hif_ring_get_len/35 (pfe_hif_ring_get_len) @077a7620
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @0715de58
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body hot optimize_size
  Called by: 
  Calls: 
pfe_hif_ring_get_wb_tbl_len/34 (pfe_hif_ring_get_wb_tbl_len) @077a70e0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @0715e198
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body unlikely_executed optimize_size
  Called by: 
  Calls: 
pfe_hif_ring_get_wb_tbl_pa/33 (pfe_hif_ring_get_wb_tbl_pa) @077a7d20
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @0715de98
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body unlikely_executed optimize_size
  Called by: 
  Calls: 
pfe_hif_ring_get_base_pa/32 (pfe_hif_ring_get_base_pa) @077a7a80
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @0715dfd8
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body unlikely_executed optimize_size
  Called by: 
  Calls: 
pfe_hif_ring_get_fill_level/31 (pfe_hif_ring_get_fill_level) @077a77e0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @0715e078
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body hot optimize_size
  Called by: pfe_hif_ring_drain_buf/42 (1073741824 (estimated locally),1.00 per call) pfe_hif_ring_is_below_wm/30 (1073741824 (estimated locally),1.00 per call) 
  Calls: 
pfe_hif_ring_is_below_wm/30 (pfe_hif_ring_is_below_wm) @077a7540
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @0715e098
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body hot optimize_size
  Called by: 
  Calls: pfe_hif_ring_get_fill_level/31 (1073741824 (estimated locally),1.00 per call) 
inc_read_index/29 (inc_read_index) @077a72a0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Aux: @0715deb8
  References: 
  Referring: 
  Availability: local
  Function flags: count:1073741824 (estimated locally) body local hot optimize_size
  Called by: pfe_hif_ring_drain_buf/42 (348966093 (estimated locally),0.33 per call) pfe_hif_ring_dequeue_plain_std/41 (333402205 (estimated locally),0.31 per call) pfe_hif_ring_dequeue_buf_std/39 (333402205 (estimated locally),0.31 per call) 
  Calls: 
dec_write_index_std/28 (dec_write_index_std) @077a7000
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Aux: @0715ded8
  References: 
  Referring: 
  Function dec_write_index_std/28 is inline copy in pfe_hif_ring_drain_buf/42
  Availability: local
  Function flags: count:348966093 (estimated locally) body local hot optimize_size
  Called by: pfe_hif_ring_drain_buf/42 (inlined) (348966093 (estimated locally),0.33 per call) 
  Calls: 
inc_write_index/27 (inc_write_index) @0779f380
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Aux: @0715ddb8
  References: 
  Referring: 
  Function inc_write_index/27 is inline copy in pfe_hif_ring_enqueue_buf/36
  Availability: local
  Function flags: count:966367642 (estimated locally) body local hot optimize_size
  Called by: pfe_hif_ring_enqueue_buf_std/37 (inlined) (966367642 (estimated locally),0.90 per call) 
  Calls: 


 ordered call graph: reduced
pfe_hif_ring_rd_wb_bd_enabled/52 (pfe_hif_ring_rd_wb_bd_enabled) @0d60f9a0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @0715dff8
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: 
pfe_hif_ring_destroy/51 (pfe_hif_ring_destroy) @0d60f2a0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @0715e0d8
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body unlikely_executed optimize_size
  Called by: 
  Calls: pfe_hif_ring_invalidate_std/44 (0 (precise),0.00 per call) 
pfe_hif_ring_attach/48 (pfe_hif_ring_attach) @0d60f8c0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @0715ddf8
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body unlikely_executed optimize_size
  Called by: 
  Calls: pfe_hif_ring_init_bd_std/50 (0 (precise),0.00 per call) pfe_hif_ring_attach_std/59 (inlined) (0 (precise),0.00 per call) 
pfe_hif_ring_attach_std/59 (pfe_hif_ring_attach_std) @06b0d0e0
  Type: function definition analyzed
  Visibility:
  next sharing asm name: 49
  Aux: @0715e118
  References: 
  Referring: 
  Function pfe_hif_ring_attach_std/59 is inline copy in pfe_hif_ring_attach/48
  Clone of pfe_hif_ring_attach_std/49
  Availability: local
  Function flags: count:0 (precise) body local unlikely_executed optimize_size
  Called by: pfe_hif_ring_attach/48 (inlined) (0 (precise),0.00 per call) 
  Calls: memset/54 (0 (precise),0.00 per call) oal_mm_virt_to_phys_contig/55 (0 (precise),0.00 per call) oal_mm_virt_to_phys_contig/55 (0 (precise),0.00 per call) 
pfe_hif_ring_create/46 (pfe_hif_ring_create) @0d60f1c0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @0715e158
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body unlikely_executed optimize_size
  Called by: 
  Calls: pfe_hif_ring_create_std/47 (inlined) (0 (precise),0.00 per call) 
pfe_hif_ring_create_std/47 (pfe_hif_ring_create_std) @0d60f620
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Aux: @0715df58
  References: arRxBdRing/23 (addr)arTxBdRing/25 (addr)arRxBdWbRing/24 (addr)arTxBdWbRing/26 (addr)
  Referring: 
  Function pfe_hif_ring_create_std/47 is inline copy in pfe_hif_ring_create/46
  Availability: local
  Function flags: count:0 (precise) body local unlikely_executed optimize_size
  Called by: pfe_hif_ring_create/46 (inlined) (0 (precise),0.00 per call) 
  Calls: pfe_hif_ring_init_bd_std/50 (0 (precise),0.00 per call) pfe_hif_ring_attach_std/49 (inlined) (0 (precise),0.00 per call) memset/54 (0 (precise),0.00 per call) memset/54 (0 (precise),0.00 per call) __builtin_expect/53 (0 (precise),0.00 per call) __builtin_expect/53 (0 (precise),0.00 per call) 
pfe_hif_ring_attach_std/49 (pfe_hif_ring_attach_std) @0d60fb60
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  previous sharing asm name: 59
  Aux: @0715dfb8
  References: 
  Referring: 
  Function pfe_hif_ring_attach_std/49 is inline copy in pfe_hif_ring_create/46
  Availability: local
  Function flags: count:0 (precise) body local unlikely_executed optimize_size
  Called by: pfe_hif_ring_create_std/47 (inlined) (0 (precise),0.00 per call) 
  Calls: oal_mm_virt_to_phys_contig/55 (0 (precise),0.00 per call) oal_mm_virt_to_phys_contig/55 (0 (precise),0.00 per call) memset/54 (0 (precise),0.00 per call) 
pfe_hif_ring_init_bd_std/50 (pfe_hif_ring_init_bd_std) @0d60fe00
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Aux: @0715de38
  References: 
  Referring: 
  Availability: local
  Function flags: count:118111600 (estimated locally) body local unlikely_executed optimize_size
  Called by: pfe_hif_ring_attach/48 (0 (precise),0.00 per call) pfe_hif_ring_create_std/47 (0 (precise),0.00 per call) 
  Calls: oal_mm_cache_inval/57 (118111601 (estimated locally),1.00 per call) oal_mm_cache_flush/56 (118111601 (estimated locally),1.00 per call) memset/54 (118111600 (estimated locally),1.00 per call) memset/54 (118111600 (estimated locally),1.00 per call) 
pfe_hif_ring_dump/45 (pfe_hif_ring_dump) @0d606ee0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @0715e0f8
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body unlikely_executed optimize_size
  Called by: 
  Calls: 
pfe_hif_ring_invalidate/43 (pfe_hif_ring_invalidate) @0d606460
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @0715ddd8
  References: 
  Referring: 
  Availability: available
  Function flags: count:0 (precise) body unlikely_executed optimize_size
  Called by: 
  Calls: pfe_hif_ring_invalidate_std/44 (0 (precise),0.00 per call) 
pfe_hif_ring_invalidate_std/44 (pfe_hif_ring_invalidate_std) @0d6069a0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Aux: @0715e018
  References: 
  Referring: 
  Availability: local
  Function flags: count:118111600 (estimated locally) body local unlikely_executed optimize_size
  Called by: pfe_hif_ring_destroy/51 (0 (precise),0.00 per call) pfe_hif_ring_invalidate/43 (0 (precise),0.00 per call) 
  Calls: 
pfe_hif_ring_drain_buf/42 (pfe_hif_ring_drain_buf) @0d606e00
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @0715e038
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body unlikely_executed optimize_size
  Called by: 
  Calls: inc_read_index/29 (348966093 (estimated locally),0.33 per call) dec_write_index_std/28 (inlined) (348966093 (estimated locally),0.33 per call) pfe_hif_ring_get_fill_level/31 (1073741824 (estimated locally),1.00 per call) 
pfe_hif_ring_dequeue_plain/40 (pfe_hif_ring_dequeue_plain) @0d6068c0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @0715df78
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body hot optimize_size
  Called by: 
  Calls: pfe_hif_ring_dequeue_plain_std/41 (inlined) (1073741824 (estimated locally),1.00 per call) 
pfe_hif_ring_dequeue_plain_std/41 (pfe_hif_ring_dequeue_plain_std) @0d606b60
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Aux: @0715de78
  References: 
  Referring: 
  Function pfe_hif_ring_dequeue_plain_std/41 is inline copy in pfe_hif_ring_dequeue_plain/40
  Availability: local
  Function flags: count:1073741824 (estimated locally) body local optimize_size
  Called by: pfe_hif_ring_dequeue_plain/40 (inlined) (1073741824 (estimated locally),1.00 per call) 
  Calls: inc_read_index/29 (333402205 (estimated locally),0.31 per call) 
pfe_hif_ring_dequeue_buf/38 (pfe_hif_ring_dequeue_buf) @0d606380
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @0715df98
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body hot optimize_size
  Called by: 
  Calls: pfe_hif_ring_dequeue_buf_std/39 (inlined) (1073741824 (estimated locally),1.00 per call) 
pfe_hif_ring_dequeue_buf_std/39 (pfe_hif_ring_dequeue_buf_std) @0d606620
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Aux: @0715de18
  References: 
  Referring: 
  Function pfe_hif_ring_dequeue_buf_std/39 is inline copy in pfe_hif_ring_dequeue_buf/38
  Availability: local
  Function flags: count:1073741824 (estimated locally) body local hot optimize_size
  Called by: pfe_hif_ring_dequeue_buf/38 (inlined) (1073741824 (estimated locally),1.00 per call) 
  Calls: inc_read_index/29 (333402205 (estimated locally),0.31 per call) 
pfe_hif_ring_enqueue_buf/36 (pfe_hif_ring_enqueue_buf) @077a7b60
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @0715e178
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body hot optimize_size
  Called by: 
  Calls: pfe_hif_ring_enqueue_buf_std/37 (inlined) (1073741824 (estimated locally),1.00 per call) 
pfe_hif_ring_enqueue_buf_std/37 (pfe_hif_ring_enqueue_buf_std) @0d6060e0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Aux: @0715e138
  References: 
  Referring: 
  Function pfe_hif_ring_enqueue_buf_std/37 is inline copy in pfe_hif_ring_enqueue_buf/36
  Availability: local
  Function flags: count:1073741824 (estimated locally) body local hot optimize_size
  Called by: pfe_hif_ring_enqueue_buf/36 (inlined) (1073741824 (estimated locally),1.00 per call) 
  Calls: inc_write_index/27 (inlined) (966367642 (estimated locally),0.90 per call) __builtin_expect/53 (1073741824 (estimated locally),1.00 per call) 
pfe_hif_ring_get_len/35 (pfe_hif_ring_get_len) @077a7620
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @0715de58
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body hot optimize_size
  Called by: 
  Calls: 
pfe_hif_ring_get_wb_tbl_len/34 (pfe_hif_ring_get_wb_tbl_len) @077a70e0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @0715e198
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body unlikely_executed optimize_size
  Called by: 
  Calls: 
pfe_hif_ring_get_wb_tbl_pa/33 (pfe_hif_ring_get_wb_tbl_pa) @077a7d20
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @0715de98
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body unlikely_executed optimize_size
  Called by: 
  Calls: 
pfe_hif_ring_get_base_pa/32 (pfe_hif_ring_get_base_pa) @077a7a80
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @0715dfd8
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body unlikely_executed optimize_size
  Called by: 
  Calls: 
pfe_hif_ring_is_below_wm/30 (pfe_hif_ring_is_below_wm) @077a7540
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @0715e098
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body hot optimize_size
  Called by: 
  Calls: pfe_hif_ring_get_fill_level/31 (1073741824 (estimated locally),1.00 per call) 
pfe_hif_ring_get_fill_level/31 (pfe_hif_ring_get_fill_level) @077a77e0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @0715e078
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body hot optimize_size
  Called by: pfe_hif_ring_drain_buf/42 (1073741824 (estimated locally),1.00 per call) pfe_hif_ring_is_below_wm/30 (1073741824 (estimated locally),1.00 per call) 
  Calls: 
inc_read_index/29 (inc_read_index) @077a72a0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Aux: @0715deb8
  References: 
  Referring: 
  Availability: local
  Function flags: count:1073741824 (estimated locally) body local hot optimize_size
  Called by: pfe_hif_ring_drain_buf/42 (348966093 (estimated locally),0.33 per call) pfe_hif_ring_dequeue_plain_std/41 (333402205 (estimated locally),0.31 per call) pfe_hif_ring_dequeue_buf_std/39 (333402205 (estimated locally),0.31 per call) 
  Calls: 
dec_write_index_std/28 (dec_write_index_std) @077a7000
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Aux: @0715ded8
  References: 
  Referring: 
  Function dec_write_index_std/28 is inline copy in pfe_hif_ring_drain_buf/42
  Availability: local
  Function flags: count:348966093 (estimated locally) body local hot optimize_size
  Called by: pfe_hif_ring_drain_buf/42 (inlined) (348966093 (estimated locally),0.33 per call) 
  Calls: 
inc_write_index/27 (inc_write_index) @0779f380
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Aux: @0715ddb8
  References: 
  Referring: 
  Function inc_write_index/27 is inline copy in pfe_hif_ring_enqueue_buf/36
  Availability: local
  Function flags: count:966367642 (estimated locally) body local hot optimize_size
  Called by: pfe_hif_ring_enqueue_buf_std/37 (inlined) (966367642 (estimated locally),0.90 per call) 
  Calls: 

Function found not to call free: inc_write_index
Function found not to call free: dec_write_index_std
Function found not to call free: inc_read_index
Function found not to call free: pfe_hif_ring_get_fill_level
Function found not to call free: pfe_hif_ring_is_below_wm
Function found not to call free: pfe_hif_ring_get_base_pa
Function found not to call free: pfe_hif_ring_get_wb_tbl_pa
Function found not to call free: pfe_hif_ring_get_wb_tbl_len
Function found not to call free: pfe_hif_ring_get_len
Function found not to call free: pfe_hif_ring_drain_buf
Function found not to call free: pfe_hif_ring_invalidate_std
Function found not to call free: pfe_hif_ring_invalidate
Function found not to call free: pfe_hif_ring_dump
Function found not to call free: pfe_hif_ring_destroy
Function found not to call free: pfe_hif_ring_rd_wb_bd_enabled
pfe_hif_ring_rd_wb_bd_enabled (const struct pfe_hif_ring_t * ring)
{
  struct pfe_hif_wb_bd_t * _1;
  <unnamed-unsigned:1> _2;
  bool_t _5;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = ring_4(D)->rd_wb_bd;
  _2 ={v} _1->control.info.desc_en;
  # DEBUG desc_en_value => (uint32_t) _2
  # DEBUG BEGIN_STMT
  _5 = (bool_t) _2;
  return _5;

}


__attribute__((cold))
pfe_hif_ring_destroy (struct pfe_hif_ring_t * ring)
{
  void * _1;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  if (ring_3(D) != 0B)
    goto <bb 3>; [70.00%]
  else
    goto <bb 5>; [30.00%]

  <bb 3> [local count: 751619278]:
  _1 = ring_3(D)->base_va;
  if (_1 != 0B)
    goto <bb 4>; [0.00%]
  else
    goto <bb 5>; [100.00%]

  <bb 4> [count: 0]:
  # DEBUG BEGIN_STMT
  // predicted unlikely by cold function call predictor.
  # DEBUG ring => ring_3(D)
  # DEBUG INLINE_ENTRY pfe_hif_ring_invalidate
  # DEBUG BEGIN_STMT
  pfe_hif_ring_invalidate_std (ring_3(D));
  # DEBUG ring => NULL
  # DEBUG BEGIN_STMT
  ring_3(D)->base_va = 0B;
  # DEBUG BEGIN_STMT
  ring_3(D)->wb_tbl_base_va = 0B;

  <bb 5> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  return 0;

}


__attribute__((cold))
pfe_hif_ring_init_bd_std (const struct pfe_hif_ring_t * ring)
{
  uint32_t ii;
  struct pfe_hif_wb_bd_t * wb_bd_va;
  const struct pfe_hif_bd_t * hw_desc_pa;
  struct pfe_hif_bd_t * hw_desc_va;
  void * _1;
  long unsigned int _2;
  long unsigned int _3;
  unsigned char _4;
  long unsigned int _5;
  struct pfe_hif_bd_t * _6;
  long unsigned int _7;
  struct pfe_hif_bd_t * _8;
  sizetype _9;
  sizetype _10;
  const struct pfe_hif_bd_t * _11;
  long unsigned int _12;
  long unsigned int _13;
  sizetype _14;
  sizetype _15;
  struct pfe_hif_bd_t * _16;
  long unsigned int hw_desc_pa.3_17;
  long unsigned int _18;
  long unsigned int _19;
  void * _21;
  long unsigned int _22;
  long unsigned int _23;
  void * _24;
  long unsigned int _25;
  void * _26;
  void * _27;

  <bb 2> [local count: 118111600]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = ring_35(D)->base_va;
  _2 = ring_35(D)->length;
  _3 = _2 * 16;
  memset (_1, 0, _3);
  # DEBUG BEGIN_STMT
  hw_desc_va_37 = ring_35(D)->base_va;
  # DEBUG hw_desc_va => hw_desc_va_37
  # DEBUG BEGIN_STMT
  hw_desc_pa_38 = ring_35(D)->base_pa;
  # DEBUG hw_desc_pa => hw_desc_pa_38
  # DEBUG BEGIN_STMT
  # DEBUG ii => 0
  goto <bb 6>; [100.00%]

  <bb 3> [local count: 955630220]:
  # DEBUG BEGIN_STMT
  _4 = ring_35(D)->is_rx;
  if (_4 == 1)
    goto <bb 4>; [34.00%]
  else
    goto <bb 5>; [66.00%]

  <bb 4> [local count: 324914275]:
  # DEBUG BEGIN_STMT
  _5 = ii_29 * 16;
  _6 = hw_desc_va_37 + _5;
  _6->control.info.dir ={v} 1;

  <bb 5> [local count: 955630222]:
  # DEBUG BEGIN_STMT
  _7 = ii_29 * 16;
  _8 = hw_desc_va_37 + _7;
  _8->control.info.cbd_int_en ={v} 1;
  # DEBUG BEGIN_STMT
  _9 = ii_29 + 1;
  _10 = _9 * 16;
  _11 = hw_desc_pa_38 + _10;
  _12 = (long unsigned int) _11;
  _8->next ={v} _12;
  # DEBUG BEGIN_STMT
  # DEBUG ii => _9

  <bb 6> [local count: 1073741821]:
  # ii_29 = PHI <0(2), _9(5)>
  # DEBUG ii => ii_29
  # DEBUG BEGIN_STMT
  _13 = ring_35(D)->length;
  if (_13 > ii_29)
    goto <bb 3>; [89.00%]
  else
    goto <bb 7>; [11.00%]

  <bb 7> [local count: 118111600]:
  # _18 = PHI <_13(6)>
  # ii_20 = PHI <ii_29(6)>
  # DEBUG BEGIN_STMT
  _14 = ii_20 + 268435455;
  _15 = _14 * 16;
  _16 = hw_desc_va_37 + _15;
  hw_desc_pa.3_17 = (long unsigned int) hw_desc_pa_38;
  _16->next ={v} hw_desc_pa.3_17;
  # DEBUG BEGIN_STMT
  _16->control.info.last_bd ={v} 1;
  # DEBUG BEGIN_STMT
  _21 = ring_35(D)->wb_tbl_base_va;
  _22 = _18 * 8;
  memset (_21, 0, _22);
  # DEBUG BEGIN_STMT
  wb_bd_va_42 = ring_35(D)->wb_tbl_base_va;
  # DEBUG wb_bd_va => wb_bd_va_42
  # DEBUG BEGIN_STMT
  # DEBUG ii => 0
  goto <bb 9>; [100.00%]

  <bb 8> [local count: 955630224]:
  # DEBUG BEGIN_STMT
  wb_bd_va_28->control.info.desc_en ={v} 1;
  # DEBUG BEGIN_STMT
  wb_bd_va_46 = wb_bd_va_28 + 8;
  # DEBUG wb_bd_va => wb_bd_va_46
  # DEBUG BEGIN_STMT
  ii_47 = ii_30 + 1;
  # DEBUG ii => ii_47

  <bb 9> [local count: 1073741824]:
  # wb_bd_va_28 = PHI <wb_bd_va_42(7), wb_bd_va_46(8)>
  # ii_30 = PHI <0(7), ii_47(8)>
  # DEBUG ii => ii_30
  # DEBUG wb_bd_va => wb_bd_va_28
  # DEBUG BEGIN_STMT
  _23 = ring_35(D)->length;
  if (_23 > ii_30)
    goto <bb 8>; [89.00%]
  else
    goto <bb 10>; [11.00%]

  <bb 10> [local count: 118111601]:
  # _19 = PHI <_23(9)>
  # DEBUG BEGIN_STMT
  _24 = ring_35(D)->wb_tbl_base_pa;
  _25 = _19 * 8;
  oal_mm_cache_flush (wb_bd_va_42, _24, _25);
  # DEBUG BEGIN_STMT
  _26 = ring_35(D)->base_va;
  _27 = ring_35(D)->base_pa;
  oal_mm_cache_inval (_26, _27, 8);
  return;

}


__attribute__((cold))
pfe_hif_ring_attach_std (struct pfe_hif_ring_t * ring, void * ring_va, void * wb_ring_va, uint32_t length, bool_t is_rx)
{
  errno_t ret;
  unsigned int ring_va.1_1;
  unsigned int _2;
  unsigned int wb_ring_va.2_3;
  unsigned int _4;
  struct pfe_hif_ring_t * _5;
  void * _6;
  void * _7;
  void * _8;
  void * _9;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  ring_va.1_1 = (unsigned int) ring_va_12(D);
  _2 = ring_va.1_1 & 15;
  if (_2 != 0)
    goto <bb 5>; [35.00%]
  else
    goto <bb 3>; [65.00%]

  <bb 3> [local count: 697932186]:
  # DEBUG BEGIN_STMT
  wb_ring_va.2_3 = (unsigned int) wb_ring_va_13(D);
  _4 = wb_ring_va.2_3 & 7;
  if (_4 != 0)
    goto <bb 5>; [52.23%]
  else
    goto <bb 4>; [47.77%]

  <bb 4> [local count: 333402205]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _5 = ring_15(D) + 4;
  memset (_5, 0, 60);
  # DEBUG BEGIN_STMT
  ring_15(D)->base_va = ring_va_12(D);
  # DEBUG BEGIN_STMT
  _6 = oal_mm_virt_to_phys_contig (ring_va_12(D));
  ring_15(D)->base_pa = _6;
  # DEBUG BEGIN_STMT
  ring_15(D)->wb_tbl_base_va = wb_ring_va_13(D);
  # DEBUG BEGIN_STMT
  _7 = oal_mm_virt_to_phys_contig (wb_ring_va_13(D));
  ring_15(D)->wb_tbl_base_pa = _7;
  # DEBUG BEGIN_STMT
  ring_15(D)->length = length_23(D);
  # DEBUG BEGIN_STMT
  ring_15(D)->write_idx = 0;
  # DEBUG BEGIN_STMT
  ring_15(D)->read_idx = 0;
  # DEBUG BEGIN_STMT
  ring_15(D)->is_rx = is_rx_27(D);
  # DEBUG BEGIN_STMT
  _8 = ring_15(D)->base_va;
  ring_15(D)->bd_read.rd_bd = _8;
  # DEBUG BEGIN_STMT
  ring_15(D)->bd_write.wr_bd = _8;
  # DEBUG BEGIN_STMT
  _9 = ring_15(D)->wb_tbl_base_va;
  ring_15(D)->rd_wb_bd = _9;
  # DEBUG BEGIN_STMT
  ring_15(D)->wr_wb_bd = _9;
  # DEBUG BEGIN_STMT
  # DEBUG ret => 0

  <bb 5> [local count: 1073741824]:
  # ret_10 = PHI <22(2), 22(3), 0(4)>
  # DEBUG ret => ret_10
  # DEBUG BEGIN_STMT
  return ret_10;

}


__attribute__((cold))
pfe_hif_ring_attach (struct pfe_hif_ring_t * ring, void * ring_va, void * wb_ring_va, uint32_t length, bool_t is_rx, bool_t nocpy, bool_t init_bd)
{
  errno_t ret_val;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG ret_val => 0
  # DEBUG BEGIN_STMT
  if (nocpy_3(D) == 1)
    goto <bb 6>; [100.00%]
  else
    goto <bb 3>; [0.00%]

  <bb 3> [count: 0]:
  # DEBUG BEGIN_STMT
  ret_val_11 = pfe_hif_ring_attach_std (ring_5(D), ring_va_6(D), wb_ring_va_7(D), length_8(D), is_rx_9(D));
  # DEBUG ret_val => ret_val_11
  # DEBUG BEGIN_STMT
  if (ret_val_11 == 0)
    goto <bb 4>; [0.00%]
  else
    goto <bb 6>; [0.00%]

  <bb 4> [count: 0]:
  if (init_bd_12(D) == 1)
    goto <bb 5>; [0.00%]
  else
    goto <bb 6>; [0.00%]

  <bb 5> [count: 0]:
  # DEBUG BEGIN_STMT
  pfe_hif_ring_init_bd_std (ring_5(D));

  <bb 6> [local count: 1073741824]:
  # ret_val_1 = PHI <22(2), ret_val_11(3), 0(4), 0(5)>
  # DEBUG ret_val => ret_val_1
  # DEBUG BEGIN_STMT
  return ret_val_1;

}


__attribute__((cold))
pfe_hif_ring_create_std (struct pfe_hif_ring_t * ring, uint32_t length, bool_t rx)
{
  void * wb_ring_va;
  void * ring_va;
  errno_t ret_val;
  _Bool _1;
  long int _2;
  long int _3;
  _Bool _4;
  long int _5;
  long int _6;
  long unsigned int _7;
  long unsigned int _8;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG ret_val => 22
  # DEBUG BEGIN_STMT
  # DEBUG ring_va => 0B
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  if (rx_14(D) == 1)
    goto <bb 3>; [34.00%]
  else
    goto <bb 4>; [66.00%]

  <bb 3> [local count: 365072220]:
  # DEBUG BEGIN_STMT
  _1 = length_15(D) <= 83;
  _2 = (long int) _1;
  _3 = __builtin_expect (_2, 1);
  if (_3 != 0)
    goto <bb 5>; [0.00%]
  else
    goto <bb 9>; [100.00%]

  <bb 4> [local count: 708669605]:
  # DEBUG BEGIN_STMT
  _4 = length_15(D) <= 25;
  _5 = (long int) _4;
  _6 = __builtin_expect (_5, 1);
  if (_6 != 0)
    goto <bb 5>; [0.00%]
  else
    goto <bb 7>; [100.00%]

  <bb 5> [count: 0]:
  # ring_va_10 = PHI <&arRxBdRing(3), &arTxBdRing(4)>
  # wb_ring_va_11 = PHI <&arRxBdWbRing(3), &arTxBdWbRing(4)>
  # DEBUG wb_ring_va => wb_ring_va_11
  # DEBUG ring_va => ring_va_10
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _7 = length_15(D) * 16;
  memset (ring_va_10, 0, _7);
  # DEBUG BEGIN_STMT
  _8 = length_15(D) * 8;
  memset (wb_ring_va_11, 0, _8);
  # DEBUG BEGIN_STMT
  ret_val_22 = pfe_hif_ring_attach_std (ring_20(D), ring_va_10, wb_ring_va_11, length_15(D), rx_14(D));
  # DEBUG ret_val => ret_val_22

  <bb 7> [local count: 708669605]:
  # ret_val_9 = PHI <22(4), ret_val_22(5)>
  # DEBUG wb_ring_va => NULL
  # DEBUG ring_va => NULL
  # DEBUG ret_val => ret_val_9
  # DEBUG BEGIN_STMT
  if (ret_val_9 != 0)
    goto <bb 9>; [100.00%]
  else
    goto <bb 8>; [0.00%]

  <bb 8> [count: 0]:
  # DEBUG BEGIN_STMT
  pfe_hif_ring_init_bd_std (ring_20(D));

  <bb 9> [local count: 1073741824]:
  # ret_val_24 = PHI <ret_val_9(7), 0(8), 22(3)>
  # DEBUG wb_ring_va => NULL
  # DEBUG ring_va => NULL
  # DEBUG ret_val => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  return ret_val_24;

}


__attribute__((cold))
pfe_hif_ring_create (struct pfe_hif_ring_t * ring, uint32_t length, bool_t rx, bool_t nocpy)
{
  errno_t ret_val;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  if (nocpy_3(D) == 0)
    goto <bb 3>; [0.00%]
  else
    goto <bb 4>; [100.00%]

  <bb 3> [count: 0]:
  # DEBUG BEGIN_STMT
  ret_val_9 = pfe_hif_ring_create_std (ring_5(D), length_6(D), rx_7(D));
  # DEBUG ret_val => ret_val_9

  <bb 4> [local count: 1073741824]:
  # ret_val_1 = PHI <ret_val_9(3), 13(2)>
  # DEBUG ret_val => ret_val_1
  # DEBUG BEGIN_STMT
  return ret_val_1;

}


__attribute__((cold))
pfe_hif_ring_dump (const struct pfe_hif_ring_t * ring, const char_t * name)
{
  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  return;

}


__attribute__((cold))
pfe_hif_ring_invalidate_std (const struct pfe_hif_ring_t * ring)
{
  uint32_t ii;
  void * _1;
  long unsigned int _2;
  struct pfe_hif_bd_t * _3;
  void * _4;
  long unsigned int _5;
  struct pfe_hif_wb_bd_t * _6;
  long unsigned int _7;

  <bb 2> [local count: 118111600]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG ii => 0
  goto <bb 4>; [100.00%]

  <bb 3> [local count: 955630223]:
  # DEBUG BEGIN_STMT
  _1 = ring_11(D)->base_va;
  _2 = ii_8 * 16;
  _3 = _1 + _2;
  _3->control.info.desc_en ={v} 0;
  # DEBUG BEGIN_STMT
  _4 = ring_11(D)->wb_tbl_base_va;
  _5 = ii_8 * 8;
  _6 = _4 + _5;
  _6->control.info.desc_en ={v} 1;
  # DEBUG BEGIN_STMT
  ii_14 = ii_8 + 1;
  # DEBUG ii => ii_14

  <bb 4> [local count: 1073741824]:
  # ii_8 = PHI <0(2), ii_14(3)>
  # DEBUG ii => ii_8
  # DEBUG BEGIN_STMT
  _7 = ring_11(D)->length;
  if (_7 > ii_8)
    goto <bb 3>; [89.00%]
  else
    goto <bb 5>; [11.00%]

  <bb 5> [local count: 118111601]:
  return;

}


__attribute__((cold))
pfe_hif_ring_invalidate (const struct pfe_hif_ring_t * ring)
{
  <bb 2> [count: 0]:
  # DEBUG BEGIN_STMT
  pfe_hif_ring_invalidate_std (ring_2(D));
  return;

}


__attribute__((cold))
pfe_hif_ring_drain_buf (struct pfe_hif_ring_t * ring, void * * buf_pa)
{
  errno_t ret;
  long unsigned int _1;
  struct pfe_hif_wb_bd_t * _2;
  <unnamed-unsigned:1> _3;
  struct pfe_hif_bd_t * _4;
  long unsigned int _5;
  void * _6;
  struct pfe_hif_bd_t * _7;
  struct pfe_hif_wb_bd_t * _8;
  struct pfe_hif_bd_t * _9;
  long unsigned int _10;
  void * _11;
  struct pfe_hif_bd_t * _12;
  struct pfe_hif_wb_bd_t * _13;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = pfe_hif_ring_get_fill_level (ring_17(D));
  if (_1 != 0)
    goto <bb 3>; [65.00%]
  else
    goto <bb 7>; [35.00%]

  <bb 3> [local count: 697932186]:
  # DEBUG BEGIN_STMT
  _2 = ring_17(D)->wr_wb_bd;
  _3 ={v} _2->control.info.desc_en;
  if (_3 != 0)
    goto <bb 4>; [50.00%]
  else
    goto <bb 5>; [50.00%]

  <bb 4> [local count: 348966093]:
  # DEBUG BEGIN_STMT
  _4 = ring_17(D)->bd_write.wr_bd;
  _5 ={v} _4->data;
  _6 = (void *) _5;
  *buf_pa_18(D) = _6;
  # DEBUG BEGIN_STMT
  _7 = ring_17(D)->bd_write.wr_bd;
  _7->control.info.desc_en ={v} 0;
  # DEBUG BEGIN_STMT
  _8 = ring_17(D)->wr_wb_bd;
  _8->control.info.desc_en ={v} 1;
  # DEBUG BEGIN_STMT
  dec_write_index_std (ring_17(D));
  goto <bb 7>; [100.00%]

  <bb 5> [local count: 348966093]:
  # DEBUG BEGIN_STMT
  _9 = ring_17(D)->bd_read.rd_bd;
  _10 ={v} _9->data;
  _11 = (void *) _10;
  *buf_pa_18(D) = _11;
  # DEBUG BEGIN_STMT
  _12 = ring_17(D)->bd_read.rd_bd;
  _12->control.info.desc_en ={v} 0;
  # DEBUG BEGIN_STMT
  _13 = ring_17(D)->rd_wb_bd;
  _13->control.info.desc_en ={v} 1;
  # DEBUG BEGIN_STMT
  inc_read_index (ring_17(D));

  <bb 7> [local count: 1073741824]:
  # ret_14 = PHI <0(5), 2(2), 0(4)>
  # DEBUG ret => ret_14
  # DEBUG BEGIN_STMT
  return ret_14;

}


pfe_hif_ring_dequeue_plain_std (struct pfe_hif_ring_t * ring, bool_t * lifm)
{
  errno_t ret;
  struct pfe_hif_bd_t * _1;
  <unnamed-unsigned:1> _2;
  struct pfe_hif_wb_bd_t * _3;
  <unnamed-unsigned:1> _4;
  <unnamed-unsigned:1> _5;
  unsigned char _6;
  struct pfe_hif_bd_t * _7;
  struct pfe_hif_wb_bd_t * _8;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = ring_12(D)->bd_read.rd_bd;
  _2 ={v} _1->control.info.desc_en;
  if (_2 != 0)
    goto <bb 3>; [65.00%]
  else
    goto <bb 5>; [35.00%]

  <bb 3> [local count: 697932186]:
  _3 = ring_12(D)->rd_wb_bd;
  _4 ={v} _3->control.info.desc_en;
  if (_4 != 0)
    goto <bb 5>; [52.23%]
  else
    goto <bb 4>; [47.77%]

  <bb 4> [local count: 333402205]:
  # DEBUG BEGIN_STMT
  _5 ={v} _1->control.info.lifm;
  _6 = (unsigned char) _5;
  *lifm_13(D) = _6;
  # DEBUG BEGIN_STMT
  _7 = ring_12(D)->bd_read.rd_bd;
  _7->control.info.desc_en ={v} 0;
  # DEBUG BEGIN_STMT
  _8 = ring_12(D)->rd_wb_bd;
  _8->control.info.desc_en ={v} 1;
  # DEBUG BEGIN_STMT
  __asm__ __volatile__(" dmb" :  :  : "memory");
  # DEBUG BEGIN_STMT
  inc_read_index (ring_12(D));
  # DEBUG BEGIN_STMT
  # DEBUG ret => 0

  <bb 5> [local count: 1073741824]:
  # ret_9 = PHI <118(3), 0(4), 118(2)>
  # DEBUG ret => ret_9
  # DEBUG BEGIN_STMT
  return ret_9;

}


__attribute__((hot))
pfe_hif_ring_dequeue_plain (struct pfe_hif_ring_t * ring, bool_t * lifm)
{
  errno_t ret;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  ret_5 = pfe_hif_ring_dequeue_plain_std (ring_2(D), lifm_3(D));
  # DEBUG ret => ret_5
  # DEBUG BEGIN_STMT
  return ret_5;

}


__attribute__((hot))
pfe_hif_ring_dequeue_buf_std (struct pfe_hif_ring_t * ring, void * * buf_pa, uint32_t * length, bool_t * lifm)
{
  errno_t ret;
  struct pfe_hif_bd_t * _1;
  <unnamed-unsigned:1> _2;
  struct pfe_hif_wb_bd_t * _3;
  <unnamed-unsigned:1> _4;
  struct pfe_hif_bd_t * _5;
  long unsigned int _6;
  void * _7;
  struct pfe_hif_wb_bd_t * _8;
  short unsigned int _9;
  long unsigned int _10;
  <unnamed-unsigned:1> _11;
  unsigned char _12;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = ring_16(D)->bd_read.rd_bd;
  _2 ={v} _1->control.info.desc_en;
  if (_2 != 0)
    goto <bb 3>; [65.00%]
  else
    goto <bb 5>; [35.00%]

  <bb 3> [local count: 697932186]:
  _3 = ring_16(D)->rd_wb_bd;
  _4 ={v} _3->control.info.desc_en;
  if (_4 != 0)
    goto <bb 5>; [52.23%]
  else
    goto <bb 4>; [47.77%]

  <bb 4> [local count: 333402205]:
  # DEBUG BEGIN_STMT
  _1->control.info.desc_en ={v} 0;
  # DEBUG BEGIN_STMT
  _3->control.info.desc_en ={v} 1;
  # DEBUG BEGIN_STMT
  __asm__ __volatile__(" dmb" :  :  : "memory");
  # DEBUG BEGIN_STMT
  _5 = ring_16(D)->bd_read.rd_bd;
  _6 ={v} _5->data;
  _7 = (void *) _6;
  *buf_pa_20(D) = _7;
  # DEBUG BEGIN_STMT
  _8 = ring_16(D)->rd_wb_bd;
  _9 ={v} _8->buflen;
  _10 = (long unsigned int) _9;
  *length_22(D) = _10;
  # DEBUG BEGIN_STMT
  _11 ={v} _8->control.info.lifm;
  _12 = (unsigned char) _11;
  *lifm_24(D) = _12;
  # DEBUG BEGIN_STMT
  inc_read_index (ring_16(D));
  # DEBUG BEGIN_STMT
  # DEBUG ret => 0

  <bb 5> [local count: 1073741824]:
  # ret_13 = PHI <118(3), 0(4), 118(2)>
  # DEBUG ret => ret_13
  # DEBUG BEGIN_STMT
  return ret_13;

}


__attribute__((hot))
pfe_hif_ring_dequeue_buf (struct pfe_hif_ring_t * ring, void * * buf_pa, uint32_t * length, bool_t * lifm)
{
  errno_t ret;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  ret_7 = pfe_hif_ring_dequeue_buf_std (ring_2(D), buf_pa_3(D), length_4(D), lifm_5(D));
  # DEBUG ret => ret_7
  # DEBUG BEGIN_STMT
  return ret_7;

}


__attribute__((hot))
pfe_hif_ring_enqueue_buf_std (struct pfe_hif_ring_t * ring, const void * buf_pa, uint32_t length, bool_t lifm)
{
  errno_t ret;
  struct pfe_hif_bd_t * _1;
  <unnamed-unsigned:1> _2;
  long int _3;
  long int _4;
  long unsigned int buf_pa.0_5;
  short unsigned int _6;
  struct pfe_hif_wb_bd_t * _7;
  struct pfe_hif_bd_t * _8;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = ring_13(D)->bd_write.wr_bd;
  _2 ={v} _1->control.info.desc_en;
  _3 = (long int) _2;
  _4 = __builtin_expect (_3, 0);
  if (_4 != 0)
    goto <bb 7>; [10.00%]
  else
    goto <bb 3>; [90.00%]

  <bb 3> [local count: 966367642]:
  # DEBUG BEGIN_STMT
  buf_pa.0_5 = (long unsigned int) buf_pa_14(D);
  _1->data ={v} buf_pa.0_5;
  # DEBUG BEGIN_STMT
  _6 = (short unsigned int) length_16(D);
  _1->buflen ={v} _6;
  # DEBUG BEGIN_STMT
  _1->check.status ={v} 0;
  # DEBUG BEGIN_STMT
  if (lifm_19(D) != 0)
    goto <bb 4>; [50.00%]
  else
    goto <bb 5>; [50.00%]

  <bb 4> [local count: 483183821]:
  # DEBUG BEGIN_STMT
  _1->control.info.lifm ={v} 1;
  goto <bb 6>; [100.00%]

  <bb 5> [local count: 483183821]:
  # DEBUG BEGIN_STMT
  _1->control.info.lifm ={v} 0;

  <bb 6> [local count: 966367642]:
  # DEBUG BEGIN_STMT
  _7 = ring_13(D)->wr_wb_bd;
  _7->control.info.desc_en ={v} 1;
  # DEBUG BEGIN_STMT
  __asm__ __volatile__(" dmb" :  :  : "memory");
  # DEBUG BEGIN_STMT
  _8 = ring_13(D)->bd_write.wr_bd;
  _8->control.info.desc_en ={v} 1;
  # DEBUG BEGIN_STMT
  inc_write_index (ring_13(D));
  # DEBUG BEGIN_STMT
  # DEBUG ret => 0

  <bb 7> [local count: 1073741824]:
  # ret_9 = PHI <5(2), 0(6)>
  # DEBUG ret => ret_9
  # DEBUG BEGIN_STMT
  return ret_9;

}


__attribute__((hot))
pfe_hif_ring_enqueue_buf (struct pfe_hif_ring_t * ring, const void * buf_pa, uint32_t length, uint32_t lmem_header_size, bool_t lifm)
{
  errno_t ret;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  ret_7 = pfe_hif_ring_enqueue_buf_std (ring_2(D), buf_pa_3(D), length_4(D), lifm_5(D));
  # DEBUG ret => ret_7
  # DEBUG BEGIN_STMT
  return ret_7;

}


__attribute__((hot, pure))
pfe_hif_ring_get_len (const struct pfe_hif_ring_t * ring)
{
  uint32_t ring_len;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG ring_len => 0
  # DEBUG BEGIN_STMT
  ring_len_3 = ring_2(D)->length;
  # DEBUG ring_len => ring_len_3
  # DEBUG BEGIN_STMT
  return ring_len_3;

}


__attribute__((cold, pure))
pfe_hif_ring_get_wb_tbl_len (const struct pfe_hif_ring_t * ring)
{
  uint32_t wb_tbl_len;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  wb_tbl_len_3 = ring_2(D)->length;
  # DEBUG wb_tbl_len => wb_tbl_len_3
  # DEBUG BEGIN_STMT
  return wb_tbl_len_3;

}


__attribute__((cold, pure))
pfe_hif_ring_get_wb_tbl_pa (const struct pfe_hif_ring_t * ring)
{
  void * wb_tbl_pa;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG wb_tbl_pa => 0B
  # DEBUG BEGIN_STMT
  wb_tbl_pa_3 = ring_2(D)->wb_tbl_base_pa;
  # DEBUG wb_tbl_pa => wb_tbl_pa_3
  # DEBUG BEGIN_STMT
  return wb_tbl_pa_3;

}


__attribute__((cold, pure))
pfe_hif_ring_get_base_pa (const struct pfe_hif_ring_t * ring)
{
  void * base_pa;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG base_pa => 0B
  # DEBUG BEGIN_STMT
  base_pa_3 = ring_2(D)->base_pa;
  # DEBUG base_pa => base_pa_3
  # DEBUG BEGIN_STMT
  return base_pa_3;

}


__attribute__((hot, pure))
pfe_hif_ring_get_fill_level (const struct pfe_hif_ring_t * ring)
{
  int32_t fill_level;
  long unsigned int _1;
  long int _2;
  long unsigned int _3;
  long int _4;
  long unsigned int _5;
  long int _6;
  long int _7;
  uint32_t _13;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = ring_10(D)->write_idx;
  _2 = (long int) _1;
  _3 = ring_10(D)->read_idx;
  _4 = (long int) _3;
  fill_level_11 = _2 - _4;
  # DEBUG fill_level => fill_level_11
  # DEBUG BEGIN_STMT
  if (fill_level_11 < 0)
    goto <bb 3>; [41.00%]
  else
    goto <bb 4>; [59.00%]

  <bb 3> [local count: 440234148]:
  # DEBUG BEGIN_STMT
  _5 = ring_10(D)->length;
  _6 = (long int) _5;
  _7 = _6 * 2;
  fill_level_12 = _7 + fill_level_11;
  # DEBUG fill_level => fill_level_12

  <bb 4> [local count: 1073741824]:
  # fill_level_8 = PHI <fill_level_11(2), fill_level_12(3)>
  # DEBUG fill_level => fill_level_8
  # DEBUG BEGIN_STMT
  _13 = (uint32_t) fill_level_8;
  return _13;

}


__attribute__((hot, pure))
pfe_hif_ring_is_below_wm (const struct pfe_hif_ring_t * ring)
{
  bool_t is_below_wm;
  long unsigned int _1;
  long unsigned int _2;
  long unsigned int _3;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = pfe_hif_ring_get_fill_level (ring_6(D));
  _2 = ring_6(D)->length;
  _3 = _2 >> 1;
  if (_1 >= _3)
    goto <bb 4>; [50.00%]
  else
    goto <bb 3>; [50.00%]

  <bb 3> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  # DEBUG is_below_wm => 0

  <bb 4> [local count: 1073741824]:
  # is_below_wm_4 = PHI <1(2), 0(3)>
  # DEBUG is_below_wm => is_below_wm_4
  # DEBUG BEGIN_STMT
  return is_below_wm_4;

}


__attribute__((hot))
inc_read_index (struct pfe_hif_ring_t * ring)
{
  uint32_t idx;
  long unsigned int _1;
  long unsigned int _2;
  void * _3;
  long unsigned int _4;
  struct pfe_hif_bd_t * _5;
  void * _6;
  long unsigned int _7;
  struct pfe_hif_wb_bd_t * _8;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  idx_13 = ring_12(D)->read_idx;
  # DEBUG idx => idx_13
  # DEBUG BEGIN_STMT
  idx_14 = idx_13 + 1;
  # DEBUG idx => idx_14
  # DEBUG BEGIN_STMT
  _1 = ring_12(D)->length;
  _2 = _1 * 2;
  if (_2 <= idx_14)
    goto <bb 3>; [50.00%]
  else
    goto <bb 4>; [50.00%]

  <bb 3> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  # DEBUG idx => 0

  <bb 4> [local count: 1073741824]:
  # idx_9 = PHI <idx_14(2), 0(3)>
  # DEBUG idx => idx_9
  # DEBUG BEGIN_STMT
  ring_12(D)->read_idx = idx_9;
  # DEBUG BEGIN_STMT
  if (_1 <= idx_9)
    goto <bb 5>; [50.00%]
  else
    goto <bb 6>; [50.00%]

  <bb 5> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  idx_16 = idx_9 - _1;
  # DEBUG idx => idx_16

  <bb 6> [local count: 1073741824]:
  # idx_10 = PHI <idx_9(4), idx_16(5)>
  # DEBUG idx => idx_10
  # DEBUG BEGIN_STMT
  _3 = ring_12(D)->base_va;
  _4 = idx_10 * 16;
  _5 = _3 + _4;
  ring_12(D)->bd_read.rd_bd = _5;
  # DEBUG BEGIN_STMT
  _6 = ring_12(D)->wb_tbl_base_va;
  _7 = idx_10 * 8;
  _8 = _6 + _7;
  ring_12(D)->rd_wb_bd = _8;
  return;

}


__attribute__((hot))
dec_write_index_std (struct pfe_hif_ring_t * ring)
{
  uint32_t idx;
  long unsigned int _1;
  long unsigned int _2;
  long unsigned int _3;
  void * _4;
  long unsigned int _5;
  struct pfe_hif_bd_t * _6;
  void * _7;
  long unsigned int _8;
  struct pfe_hif_wb_bd_t * _9;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  idx_14 = ring_13(D)->write_idx;
  # DEBUG idx => idx_14
  # DEBUG BEGIN_STMT
  if (idx_14 == 0)
    goto <bb 3>; [50.00%]
  else
    goto <bb 4>; [50.00%]

  <bb 3> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  _1 = ring_13(D)->length;
  _2 = _1 * 2;
  idx_16 = _2 + 4294967295;
  # DEBUG idx => idx_16
  goto <bb 5>; [100.00%]

  <bb 4> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  idx_15 = idx_14 + 4294967295;
  # DEBUG idx => idx_15

  <bb 5> [local count: 1073741824]:
  # idx_10 = PHI <idx_16(3), idx_15(4)>
  # DEBUG idx => idx_10
  # DEBUG BEGIN_STMT
  ring_13(D)->write_idx = idx_10;
  # DEBUG BEGIN_STMT
  _3 = ring_13(D)->length;
  if (_3 <= idx_10)
    goto <bb 6>; [50.00%]
  else
    goto <bb 7>; [50.00%]

  <bb 6> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  idx_18 = idx_10 - _3;
  # DEBUG idx => idx_18

  <bb 7> [local count: 1073741824]:
  # idx_11 = PHI <idx_10(5), idx_18(6)>
  # DEBUG idx => idx_11
  # DEBUG BEGIN_STMT
  _4 = ring_13(D)->base_va;
  _5 = idx_11 * 16;
  _6 = _4 + _5;
  ring_13(D)->bd_write.wr_bd = _6;
  # DEBUG BEGIN_STMT
  _7 = ring_13(D)->wb_tbl_base_va;
  _8 = idx_11 * 8;
  _9 = _7 + _8;
  ring_13(D)->wr_wb_bd = _9;
  return;

}


__attribute__((hot))
inc_write_index (struct pfe_hif_ring_t * ring)
{
  uint32_t idx;
  long unsigned int _1;
  long unsigned int _2;
  void * _3;
  long unsigned int _4;
  struct pfe_hif_bd_t * _5;
  void * _6;
  long unsigned int _7;
  struct pfe_hif_wb_bd_t * _8;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  idx_13 = ring_12(D)->write_idx;
  # DEBUG idx => idx_13
  # DEBUG BEGIN_STMT
  idx_14 = idx_13 + 1;
  # DEBUG idx => idx_14
  # DEBUG BEGIN_STMT
  _1 = ring_12(D)->length;
  _2 = _1 * 2;
  if (_2 <= idx_14)
    goto <bb 3>; [50.00%]
  else
    goto <bb 4>; [50.00%]

  <bb 3> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  # DEBUG idx => 0

  <bb 4> [local count: 1073741824]:
  # idx_9 = PHI <idx_14(2), 0(3)>
  # DEBUG idx => idx_9
  # DEBUG BEGIN_STMT
  ring_12(D)->write_idx = idx_9;
  # DEBUG BEGIN_STMT
  if (_1 <= idx_9)
    goto <bb 5>; [50.00%]
  else
    goto <bb 6>; [50.00%]

  <bb 5> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  idx_16 = idx_9 - _1;
  # DEBUG idx => idx_16

  <bb 6> [local count: 1073741824]:
  # idx_10 = PHI <idx_9(4), idx_16(5)>
  # DEBUG idx => idx_10
  # DEBUG BEGIN_STMT
  _3 = ring_12(D)->base_va;
  _4 = idx_10 * 16;
  _5 = _3 + _4;
  ring_12(D)->bd_write.wr_bd = _5;
  # DEBUG BEGIN_STMT
  _6 = ring_12(D)->wb_tbl_base_va;
  _7 = idx_10 * 8;
  _8 = _6 + _7;
  ring_12(D)->wr_wb_bd = _8;
  return;

}


