callgraph:

pfe_class_destroy/102 (pfe_class_destroy) @06d510e0
  Type: function definition analyzed
  Visibility: public
  next sharing asm name: 42
  References: 
  Referring: 
  Function pfe_class_destroy/102 is inline copy in pfe_class_create/28
  Clone of pfe_class_destroy/42
  Availability: local
  Function flags: count:170234250 (estimated locally) body local optimize_size
  Called by: pfe_class_create/28 (inlined) (170234250 (estimated locally),0.16 per call) 
  Calls: pfe_class_destroy.part.0/99 (91024253 (estimated locally),0.08 per call) 
pfe_class_irq_mask/101 (pfe_class_irq_mask) @06d28620
  Type: function definition analyzed
  Visibility: public
  next sharing asm name: 25
  References: 
  Referring: 
  Function pfe_class_irq_mask/101 is inline copy in pfe_class_irq_unmask/26
  Clone of pfe_class_irq_mask/25
  Availability: local
  Function flags: count:1073741824 (estimated locally) body local icf_merged nonfreeing_fn optimize_size
  Called by: pfe_class_irq_unmask/26 (inlined) (1073741824 (estimated locally),1.00 per call) 
  Calls: 
pfe_class_create_pe.constprop.0/100 (pfe_class_create_pe.constprop) @0d6f31c0
  Type: function definition analyzed
  Visibility:
  References: classifier_instance/23 (addr)
  Referring: 
  Function pfe_class_create_pe.constprop/100 is inline copy in pfe_class_create/28
  Clone of pfe_class_create_pe/27
  Availability: local
  Function flags: count:587014656 (estimated locally) local optimize_size
  Called by: pfe_class_create/28 (inlined) (587014656 (estimated locally),0.55 per call) 
  Calls: pfe_pe_create/63 (5185593352 (estimated locally),4.83 per call) pfe_pe_set_iaccess/64 (4900385714 (estimated locally),4.56 per call) pfe_pe_set_dmem/65 (4900385714 (estimated locally),4.56 per call) pfe_pe_set_imem/66 (4900385714 (estimated locally),4.56 per call) pfe_pe_set_lmem/67 (4900385714 (estimated locally),4.56 per call) 
pfe_class_destroy.part.0/99 (pfe_class_destroy.part.0) @06d28ee0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly artificial
  References: 
  Referring: 
  Availability: local
  Function flags: count:118111600 (estimated locally) first_run:1 body local split_part optimize_size
  Called by: pfe_class_destroy/102 (91024253 (estimated locally),0.08 per call) pfe_class_destroy/42 (118111600 (estimated locally),0.53 per call) 
  Calls: pfe_class_disable/34 (118111600 (estimated locally),1.00 per call) pfe_pe_destroy/89 (118111600 (estimated locally),1.00 per call) pfe_fw_feature_destroy/80 (955630223 (estimated locally),8.09 per call) blalloc_destroy/90 (63154273 (estimated locally),0.53 per call) 
pfe_class_write_dmem.part.0/98 (pfe_class_write_dmem.part.0) @06ade0e0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly artificial
  References: 
  Referring: 
  Function pfe_class_write_dmem.part.0/98 is inline copy in pfe_class_write_dmem/39
  Availability: local
  Function flags: count:118111599 (estimated locally) first_run:1 body local split_part optimize_size
  Called by: pfe_class_write_dmem/39 (inlined) (118111599 (estimated locally),0.38 per call) 
  Calls: pfe_pe_memcpy_from_host_to_dmem_32/86 (955630215 (estimated locally),3.08 per call) 
pfe_class_cfg_rtable_lookup_disable/97 (pfe_class_cfg_rtable_lookup_disable) @0d70ac40
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: pfe_class_rtable_lookup_disable/52 (1073741824 (estimated locally),1.00 per call) 
  Calls: 
pfe_class_cfg_rtable_lookup_enable/96 (pfe_class_cfg_rtable_lookup_enable) @0d70aa80
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: pfe_class_rtable_lookup_enable/51 (1073741824 (estimated locally),1.00 per call) 
  Calls: 
pfe_pe_put_data_nolock/95 (pfe_pe_put_data_nolock) @0d70a7e0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: pfe_class_put_data/49 (1073741824 (estimated locally),82.58 per call) 
  Calls: 
strcmp/94 (strcmp) @0d70a460
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: pfe_class_get_feature/46 (507343012 (estimated locally),5.83 per call) 
  Calls: 
pfe_fw_feature_get_name/93 (pfe_fw_feature_get_name) @0d70a380
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: pfe_class_get_feature/46 (1014686025 (estimated locally),11.67 per call) 
  Calls: 
pfe_class_cfg_set_def_vlan/92 (pfe_class_cfg_set_def_vlan) @0d70a0e0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: pfe_class_set_default_vlan/44 (1073741824 (estimated locally),1.00 per call) 
  Calls: 
pfe_class_cfg_set_rtable/91 (pfe_class_cfg_set_rtable) @0d700ee0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: pfe_class_set_rtable/43 (512926469 (estimated locally),0.48 per call) 
  Calls: 
blalloc_destroy/90 (blalloc_destroy) @0d700d20
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: pfe_class_destroy.part.0/99 (63154273 (estimated locally),0.53 per call) 
  Calls: 
pfe_pe_destroy/89 (pfe_pe_destroy) @0d700c40
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: pfe_class_destroy.part.0/99 (118111600 (estimated locally),1.00 per call) 
  Calls: 
pfe_pe_gather_memcpy_from_dmem_to_host_32/88 (pfe_pe_gather_memcpy_from_dmem_to_host_32) @0d700a80
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: pfe_class_gather_read_dmem/41 (1073741824 (estimated locally),1.00 per call) 
  Calls: 
pfe_pe_memcpy_from_dmem_to_host_32/87 (pfe_pe_memcpy_from_dmem_to_host_32) @0d7008c0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: pfe_class_read_dmem/40 (512926469 (estimated locally),0.48 per call) 
  Calls: 
pfe_pe_memcpy_from_host_to_dmem_32/86 (pfe_pe_memcpy_from_host_to_dmem_32) @0d700700
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: pfe_class_write_dmem/39 (83719569 (estimated locally),0.27 per call) pfe_class_write_dmem.part.0/98 (955630215 (estimated locally),3.08 per call) 
  Calls: 
pfe_fw_feature_set_dmem_funcs/85 (pfe_fw_feature_set_dmem_funcs) @0d700460
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: pfe_class_load_fw_process/36 (92234167 (estimated locally),0.09 per call) 
  Calls: 
pfe_fw_feature_set_string_base/84 (pfe_fw_feature_set_string_base) @0d700380
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: pfe_class_load_fw_process/36 (161502657 (estimated locally),0.15 per call) 
  Calls: 
pfe_pe_get_fw_feature_str_base/83 (pfe_pe_get_fw_feature_str_base) @0d7002a0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: pfe_class_load_fw_process/36 (161502657 (estimated locally),0.15 per call) 
  Calls: 
pfe_fw_feature_set_ll_data/82 (pfe_fw_feature_set_ll_data) @0d7001c0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: pfe_class_load_fw_process/36 (161502657 (estimated locally),0.15 per call) 
  Calls: 
pfe_pe_get_fw_feature_entry/81 (pfe_pe_get_fw_feature_entry) @0d7000e0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: pfe_class_load_fw_process/36 (282792255 (estimated locally),0.26 per call) 
  Calls: 
pfe_fw_feature_destroy/80 (pfe_fw_feature_destroy) @0d700000
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: pfe_class_destroy.part.0/99 (955630223 (estimated locally),8.09 per call) pfe_class_load_fw_process/36 (560445055 (estimated locally),0.52 per call) pfe_class_load_fw_process/36 (981343115 (estimated locally),0.91 per call) pfe_class_load_fw_process/36 (736469673 (estimated locally),0.69 per call) 
  Calls: 
pfe_fw_feature_create/79 (pfe_fw_feature_create) @0d6f3ee0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: pfe_class_load_fw_process/36 (373816595 (estimated locally),0.35 per call) 
  Calls: 
blalloc_create/78 (blalloc_create) @0d6f3a80
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: pfe_class_dmem_heap_init/29 (38587060 (estimated locally),0.04 per call) 
  Calls: 
pfe_pe_get_mmap/77 (pfe_pe_get_mmap) @0d6f39a0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: pfe_class_get_fw_version/50 (512926469 (estimated locally),0.48 per call) pfe_class_get_mmap/38 (512926469 (estimated locally),0.48 per call) pfe_class_load_fw_features/37 (354334802 (estimated locally),0.33 per call) pfe_class_dmem_heap_init/29 (116930485 (estimated locally),0.11 per call) 
  Calls: 
pfe_pe_check_mmap/76 (pfe_pe_check_mmap) @0d6f37e0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: pfe_class_load_firmware/35 (354334802 (estimated locally),0.33 per call) 
  Calls: 
pfe_pe_load_firmware/75 (pfe_pe_load_firmware) @0d6f3700
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: pfe_class_load_firmware/35 (1073741824 (estimated locally),1.00 per call) 
  Calls: 
pfe_class_cfg_disable/74 (pfe_class_cfg_disable) @0d6f3540
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: pfe_class_disable/34 (1073741824 (estimated locally),1.00 per call) 
  Calls: 
pfe_pe_get_fw_state/73 (pfe_pe_get_fw_state) @0d6f3380
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: pfe_class_enable/33 (1073741824 (estimated locally),13.53 per call) 
  Calls: 
pfe_class_cfg_enable/72 (pfe_class_cfg_enable) @0d6f32a0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: pfe_class_enable/33 (79349520 (estimated locally),1.00 per call) 
  Calls: 
pfe_class_cfg_reset/70 (pfe_class_cfg_reset) @0d6f3000
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: pfe_class_reset/32 (1073741824 (estimated locally),1.00 per call) 
  Calls: 
blalloc_free_offs/69 (blalloc_free_offs) @0d5e7e00
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: pfe_class_dmem_heap_free/31 (177167401 (estimated locally),0.17 per call) 
  Calls: 
blalloc_alloc_offs/68 (blalloc_alloc_offs) @0d5e7c40
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: pfe_class_dmem_heap_alloc/30 (1073741824 (estimated locally),1.00 per call) 
  Calls: 
pfe_pe_set_lmem/67 (pfe_pe_set_lmem) @0d5e7a80
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: pfe_class_create_pe.constprop/100 (4900385714 (estimated locally),4.56 per call) 
  Calls: 
pfe_pe_set_imem/66 (pfe_pe_set_imem) @0d5e79a0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: pfe_class_create_pe.constprop/100 (4900385714 (estimated locally),4.56 per call) 
  Calls: 
pfe_pe_set_dmem/65 (pfe_pe_set_dmem) @0d5e78c0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: pfe_class_create_pe.constprop/100 (4900385714 (estimated locally),4.56 per call) 
  Calls: 
pfe_pe_set_iaccess/64 (pfe_pe_set_iaccess) @0d5e77e0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: pfe_class_create_pe.constprop/100 (4900385714 (estimated locally),4.56 per call) 
  Calls: 
pfe_pe_create/63 (pfe_pe_create) @0d5e7700
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: pfe_class_create_pe.constprop/100 (5185593352 (estimated locally),4.83 per call) 
  Calls: 
pfe_class_cfg_set_config/62 (pfe_class_cfg_set_config) @0d5e7540
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: pfe_class_create/28 (416780405 (estimated locally),0.39 per call) 
  Calls: 
oal_time_usleep/61 (oal_time_usleep) @0d5e7460
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: pfe_class_put_data/49 (217325345 (estimated locally),16.71 per call) pfe_class_create/28 (416780405 (estimated locally),0.39 per call) pfe_class_enable/33 (1073741824 (estimated locally),13.53 per call) 
  Calls: 
memset/60 (memset) @0d5e7380
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: pfe_class_create/28 (1073741824 (estimated locally),1.00 per call) 
  Calls: 
pfe_pe_unlock/59 (pfe_pe_unlock) @0d5e7000
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: pfe_class_put_data/49 (114863532 (estimated locally),8.83 per call) pfe_class_isr/24 (955630223 (estimated locally),8.09 per call) 
  Calls: 
fci_core_client_send_broadcast/58 (fci_core_client_send_broadcast) @0d6df7e0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: pfe_class_isr/24 (315357973 (estimated locally),2.67 per call) 
  Calls: 
memcpy/57 (memcpy) @0d6df540
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: pfe_class_get_mmap/38 (512926469 (estimated locally),0.48 per call) pfe_class_isr/24 (315357973 (estimated locally),2.67 per call) 
  Calls: 
pfe_pe_get_data_nolock/56 (pfe_pe_get_data_nolock) @0d6df2a0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: pfe_class_isr/24 (955630223 (estimated locally),8.09 per call) 
  Calls: 
pfe_pe_check_stalled_nolock/55 (pfe_pe_check_stalled_nolock) @0d6df000
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: pfe_class_isr/24 (955630223 (estimated locally),8.09 per call) 
  Calls: 
pfe_pe_get_fw_messages_nolock/54 (pfe_pe_get_fw_messages_nolock) @0d6dfee0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: pfe_class_isr/24 (955630223 (estimated locally),8.09 per call) 
  Calls: 
pfe_pe_lock/53 (pfe_pe_lock) @0d6dfe00
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: pfe_class_put_data/49 (114863532 (estimated locally),8.83 per call) pfe_class_isr/24 (955630223 (estimated locally),8.09 per call) 
  Calls: 
pfe_class_rtable_lookup_disable/52 (pfe_class_rtable_lookup_disable) @0d6df9a0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: pfe_class_cfg_rtable_lookup_disable/97 (1073741824 (estimated locally),1.00 per call) 
pfe_class_rtable_lookup_enable/51 (pfe_class_rtable_lookup_enable) @0d6df700
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: pfe_class_cfg_rtable_lookup_enable/96 (1073741824 (estimated locally),1.00 per call) 
pfe_class_get_fw_version/50 (pfe_class_get_fw_version) @0d6df460
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: pfe_pe_get_mmap/77 (512926469 (estimated locally),0.48 per call) 
pfe_class_put_data/49 (pfe_class_put_data) @0d6df1c0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:13002674 (estimated locally) body optimize_size
  Called by: 
  Calls: pfe_pe_unlock/59 (114863532 (estimated locally),8.83 per call) oal_time_usleep/61 (217325345 (estimated locally),16.71 per call) pfe_pe_put_data_nolock/95 (1073741824 (estimated locally),82.58 per call) pfe_pe_lock/53 (114863532 (estimated locally),8.83 per call) 
pfe_class_get_feature_next/48 (pfe_class_get_feature_next) @0d6d9d20
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body nonfreeing_fn optimize_size
  Called by: 
  Calls: 
pfe_class_get_feature_first/47 (pfe_class_get_feature_first) @0d6d97e0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body nonfreeing_fn optimize_size
  Called by: 
  Calls: 
pfe_class_get_feature/46 (pfe_class_get_feature) @0d6d92a0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:86959666 (estimated locally) body optimize_size
  Called by: 
  Calls: strcmp/94 (507343012 (estimated locally),5.83 per call) pfe_fw_feature_get_name/93 (1014686025 (estimated locally),11.67 per call) 
pfe_class_get_num_of_pes/45 (pfe_class_get_num_of_pes) @0d6d9ee0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body nonfreeing_fn optimize_size
  Called by: 
  Calls: 
pfe_class_set_default_vlan/44 (pfe_class_set_default_vlan) @0d6d9c40
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: pfe_class_cfg_set_def_vlan/92 (1073741824 (estimated locally),1.00 per call) 
pfe_class_set_rtable/43 (pfe_class_set_rtable) @0d6d99a0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: pfe_class_cfg_set_rtable/91 (512926469 (estimated locally),0.48 per call) 
pfe_class_destroy/42 (pfe_class_destroy) @0d6d9700
  Type: function definition analyzed
  Visibility: externally_visible public
  previous sharing asm name: 102
  References: 
  Referring: 
  Availability: available
  Function flags: count:220893212 (estimated locally) body optimize_size
  Called by: 
  Calls: pfe_class_destroy.part.0/99 (118111600 (estimated locally),0.53 per call) 
pfe_class_gather_read_dmem/41 (pfe_class_gather_read_dmem) @0d6d9460
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: pfe_pe_gather_memcpy_from_dmem_to_host_32/88 (1073741824 (estimated locally),1.00 per call) 
pfe_class_read_dmem/40 (pfe_class_read_dmem) @0d6d91c0
  Type: function definition analyzed
  Visibility: externally_visible public
  Address is taken.
  References: 
  Referring: pfe_class_load_fw_process/36 (addr)
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: pfe_pe_memcpy_from_dmem_to_host_32/87 (512926469 (estimated locally),0.48 per call) 
pfe_class_write_dmem/39 (pfe_class_write_dmem) @0d6c8ee0
  Type: function definition analyzed
  Visibility: externally_visible public
  Address is taken.
  References: 
  Referring: pfe_class_load_fw_process/36 (addr)
  Availability: available
  Function flags: count:310509491 (estimated locally) body optimize_size
  Called by: 
  Calls: pfe_pe_memcpy_from_host_to_dmem_32/86 (83719569 (estimated locally),0.27 per call) pfe_class_write_dmem.part.0/98 (inlined) (118111599 (estimated locally),0.38 per call) 
pfe_class_get_mmap/38 (pfe_class_get_mmap) @0d6c89a0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: memcpy/57 (512926469 (estimated locally),0.48 per call) pfe_pe_get_mmap/77 (512926469 (estimated locally),0.48 per call) 
pfe_class_load_fw_features/37 (pfe_class_load_fw_features) @0d6c8380
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: 
  Function pfe_class_load_fw_features/37 is inline copy in pfe_class_load_firmware/35
  Availability: local
  Function flags: count:354334802 (estimated locally) body local optimize_size
  Called by: pfe_class_load_firmware/35 (inlined) (354334802 (estimated locally),0.33 per call) 
  Calls: pfe_class_load_fw_process/36 (inlined) (42316434 (estimated locally),0.04 per call) pfe_pe_get_mmap/77 (354334802 (estimated locally),0.33 per call) 
pfe_class_load_fw_process/36 (pfe_class_load_fw_process) @0d6c8e00
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: pfe_class_read_dmem/40 (addr)pfe_class_write_dmem/39 (addr)
  Referring: 
  Function pfe_class_load_fw_process/36 is inline copy in pfe_class_load_firmware/35
  Availability: local
  Function flags: count:42316434 (estimated locally) body local optimize_size
  Called by: pfe_class_load_fw_features/37 (inlined) (42316434 (estimated locally),0.04 per call) 
  Calls: pfe_fw_feature_set_dmem_funcs/85 (92234167 (estimated locally),0.09 per call) pfe_fw_feature_destroy/80 (560445055 (estimated locally),0.52 per call) pfe_fw_feature_set_string_base/84 (161502657 (estimated locally),0.15 per call) pfe_pe_get_fw_feature_str_base/83 (161502657 (estimated locally),0.15 per call) pfe_fw_feature_set_ll_data/82 (161502657 (estimated locally),0.15 per call) pfe_fw_feature_destroy/80 (981343115 (estimated locally),0.91 per call) pfe_pe_get_fw_feature_entry/81 (282792255 (estimated locally),0.26 per call) pfe_fw_feature_destroy/80 (736469673 (estimated locally),0.69 per call) pfe_fw_feature_create/79 (373816595 (estimated locally),0.35 per call) 
pfe_class_load_firmware/35 (pfe_class_load_firmware) @0d6c8b60
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: pfe_class_load_fw_features/37 (inlined) (354334802 (estimated locally),0.33 per call) pfe_class_dmem_heap_init/29 (inlined) (116930485 (estimated locally),0.11 per call) pfe_pe_check_mmap/76 (354334802 (estimated locally),0.33 per call) pfe_pe_load_firmware/75 (1073741824 (estimated locally),1.00 per call) 
pfe_class_disable/34 (pfe_class_disable) @0d6c88c0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: pfe_class_create/28 (416780405 (estimated locally),0.39 per call) pfe_class_destroy.part.0/99 (118111600 (estimated locally),1.00 per call) pfe_class_reset/32 (1073741824 (estimated locally),1.00 per call) 
  Calls: pfe_class_cfg_disable/74 (1073741824 (estimated locally),1.00 per call) 
pfe_class_enable/33 (pfe_class_enable) @0d6c8620
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:79349520 (estimated locally) body optimize_size
  Called by: 
  Calls: pfe_pe_get_fw_state/73 (1073741824 (estimated locally),13.53 per call) oal_time_usleep/61 (1073741824 (estimated locally),13.53 per call) pfe_class_cfg_enable/72 (79349520 (estimated locally),1.00 per call) 
pfe_class_reset/32 (pfe_class_reset) @0d6c82a0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: pfe_class_create/28 (416780405 (estimated locally),0.39 per call) 
  Calls: pfe_class_cfg_reset/70 (1073741824 (estimated locally),1.00 per call) pfe_class_disable/34 (1073741824 (estimated locally),1.00 per call) 
pfe_class_dmem_heap_free/31 (pfe_class_dmem_heap_free) @0d6c8000
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: blalloc_free_offs/69 (177167401 (estimated locally),0.17 per call) 
pfe_class_dmem_heap_alloc/30 (pfe_class_dmem_heap_alloc) @0d62bc40
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: blalloc_alloc_offs/68 (1073741824 (estimated locally),1.00 per call) 
pfe_class_dmem_heap_init/29 (pfe_class_dmem_heap_init) @0d62b460
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: 
  Function pfe_class_dmem_heap_init/29 is inline copy in pfe_class_load_firmware/35
  Availability: local
  Function flags: count:116930485 (estimated locally) body local optimize_size
  Called by: pfe_class_load_firmware/35 (inlined) (116930485 (estimated locally),0.11 per call) 
  Calls: blalloc_create/78 (38587060 (estimated locally),0.04 per call) pfe_pe_get_mmap/77 (116930485 (estimated locally),0.11 per call) 
pfe_class_create/28 (pfe_class_create) @0d62be00
  Type: function definition analyzed
  Visibility: externally_visible public
  References: classifier_instance/23 (addr)classifier_instance/23 (write)classifier_instance/23 (addr)classifier_instance/23 (addr)classifier_instance/23 (addr)classifier_instance/23 (addr)classifier_instance/23 (read)classifier_instance/23 (addr)
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: pfe_class_cfg_set_config/62 (416780405 (estimated locally),0.39 per call) pfe_class_disable/34 (416780405 (estimated locally),0.39 per call) oal_time_usleep/61 (416780405 (estimated locally),0.39 per call) pfe_class_reset/32 (416780405 (estimated locally),0.39 per call) pfe_class_destroy/102 (inlined) (170234250 (estimated locally),0.16 per call) pfe_class_create_pe.constprop/100 (inlined) (587014656 (estimated locally),0.55 per call) memset/60 (1073741824 (estimated locally),1.00 per call) 
pfe_class_create_pe/27 (pfe_class_create_pe) @0d62bb60
  Type: function
  Body removed by symtab_remove_unreachable_nodes
  Visibility: prevailing_def_ironly
  References: 
  Referring: 
  Availability: not_available
  Function flags: count:114863532 (estimated locally) body optimize_size
  Called by: 
  Calls: 
pfe_class_irq_unmask/26 (pfe_class_irq_unmask) @0d62b8c0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body icf_merged nonfreeing_fn optimize_size
  Called by: 
  Calls: pfe_class_irq_mask/101 (inlined) (1073741824 (estimated locally),1.00 per call) 
pfe_class_irq_mask/25 (pfe_class_irq_mask) @0d62b620
  Type: function definition analyzed
  Visibility: externally_visible public
  previous sharing asm name: 101
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body icf_merged nonfreeing_fn optimize_size
  Called by: 
  Calls: 
pfe_class_isr/24 (pfe_class_isr) @0d62b380
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:118111602 (estimated locally) body optimize_size
  Called by: 
  Calls: pfe_pe_unlock/59 (955630223 (estimated locally),8.09 per call) fci_core_client_send_broadcast/58 (315357973 (estimated locally),2.67 per call) memcpy/57 (315357973 (estimated locally),2.67 per call) pfe_pe_get_data_nolock/56 (955630223 (estimated locally),8.09 per call) pfe_pe_check_stalled_nolock/55 (955630223 (estimated locally),8.09 per call) pfe_pe_get_fw_messages_nolock/54 (955630223 (estimated locally),8.09 per call) pfe_pe_lock/53 (955630223 (estimated locally),8.09 per call) 
Clearing variable flags:

Function name:pfe_class_destroy/102:
  locals read: 
  locals written: 
Function name:pfe_class_irq_mask/101:
  locals read: 
  locals written: 
Function name:pfe_class_create_pe.constprop/100:
  locals read: 
  locals written: 
Function name:pfe_class_destroy.part.0/99:
  locals read: 
  locals written: 
Function name:pfe_class_write_dmem.part.0/98:
  locals read: 
  locals written: 
Function name:pfe_class_rtable_lookup_disable/52:
  locals read: 
  locals written: 
Function name:pfe_class_rtable_lookup_enable/51:
  locals read: 
  locals written: 
Function name:pfe_class_get_fw_version/50:
  locals read: 
  locals written: 
Function name:pfe_class_put_data/49:
  locals read: 
  locals written: 
Function name:pfe_class_get_feature_next/48:
  locals read: 
  locals written: 
Function name:pfe_class_get_feature_first/47:
  locals read: 
  locals written: 
Function name:pfe_class_get_feature/46:
  locals read: 
  locals written: 
Function name:pfe_class_get_num_of_pes/45:
  locals read: 
  locals written: 
Function name:pfe_class_set_default_vlan/44:
  locals read: 
  locals written: 
Function name:pfe_class_set_rtable/43:
  locals read: 
  locals written: 
Function name:pfe_class_destroy/42:
  locals read: 
  locals written: 
Function name:pfe_class_gather_read_dmem/41:
  locals read: 
  locals written: 
Function name:pfe_class_read_dmem/40:
  locals read: 
  locals written: 
Function name:pfe_class_write_dmem/39:
  locals read: 
  locals written: 
Function name:pfe_class_get_mmap/38:
  locals read: 
  locals written: 
Function name:pfe_class_load_fw_features/37:
  locals read: 
  locals written: 
Function name:pfe_class_load_fw_process/36:
  locals read: 
  locals written: 
Function name:pfe_class_load_firmware/35:
  locals read: 
  locals written: 
Function name:pfe_class_disable/34:
  locals read: 
  locals written: 
Function name:pfe_class_enable/33:
  locals read: 
  locals written: 
Function name:pfe_class_reset/32:
  locals read: 
  locals written: 
Function name:pfe_class_dmem_heap_free/31:
  locals read: 
  locals written: 
Function name:pfe_class_dmem_heap_alloc/30:
  locals read: 
  locals written: 
Function name:pfe_class_dmem_heap_init/29:
  locals read: 
  locals written: 
Function name:pfe_class_create/28:
  locals read: 
  locals written: 
Function name:pfe_class_irq_unmask/26:
  locals read: 
  locals written: 
Function name:pfe_class_irq_mask/25:
  locals read: 
  locals written: 
Function name:pfe_class_isr/24:
  locals read: 
  locals written: 

 ordered call graph: reduced
pfe_class_rtable_lookup_disable/52 (pfe_class_rtable_lookup_disable) @0d6df9a0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @0d603268
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: pfe_class_cfg_rtable_lookup_disable/97 (1073741824 (estimated locally),1.00 per call) 
pfe_class_rtable_lookup_enable/51 (pfe_class_rtable_lookup_enable) @0d6df700
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @0d603288
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: pfe_class_cfg_rtable_lookup_enable/96 (1073741824 (estimated locally),1.00 per call) 
pfe_class_get_fw_version/50 (pfe_class_get_fw_version) @0d6df460
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @0d6032e8
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: pfe_pe_get_mmap/77 (512926469 (estimated locally),0.48 per call) 
pfe_class_put_data/49 (pfe_class_put_data) @0d6df1c0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @0d603208
  References: 
  Referring: 
  Availability: available
  Function flags: count:13002674 (estimated locally) body optimize_size
  Called by: 
  Calls: pfe_pe_unlock/59 (114863532 (estimated locally),8.83 per call) oal_time_usleep/61 (217325345 (estimated locally),16.71 per call) pfe_pe_put_data_nolock/95 (1073741824 (estimated locally),82.58 per call) pfe_pe_lock/53 (114863532 (estimated locally),8.83 per call) 
pfe_class_get_feature_next/48 (pfe_class_get_feature_next) @0d6d9d20
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @0d603188
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body nonfreeing_fn optimize_size
  Called by: 
  Calls: 
pfe_class_get_feature_first/47 (pfe_class_get_feature_first) @0d6d97e0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @0d603448
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body nonfreeing_fn optimize_size
  Called by: 
  Calls: 
pfe_class_get_feature/46 (pfe_class_get_feature) @0d6d92a0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @0d6031a8
  References: 
  Referring: 
  Availability: available
  Function flags: count:86959666 (estimated locally) body optimize_size
  Called by: 
  Calls: strcmp/94 (507343012 (estimated locally),5.83 per call) pfe_fw_feature_get_name/93 (1014686025 (estimated locally),11.67 per call) 
pfe_class_get_num_of_pes/45 (pfe_class_get_num_of_pes) @0d6d9ee0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @0d603348
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body nonfreeing_fn optimize_size
  Called by: 
  Calls: 
pfe_class_set_default_vlan/44 (pfe_class_set_default_vlan) @0d6d9c40
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @0d6032a8
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: pfe_class_cfg_set_def_vlan/92 (1073741824 (estimated locally),1.00 per call) 
pfe_class_set_rtable/43 (pfe_class_set_rtable) @0d6d99a0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @0d6030c8
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: pfe_class_cfg_set_rtable/91 (512926469 (estimated locally),0.48 per call) 
pfe_class_destroy/42 (pfe_class_destroy) @0d6d9700
  Type: function definition analyzed
  Visibility: externally_visible public
  previous sharing asm name: 102
  Aux: @0d603428
  References: 
  Referring: 
  Availability: available
  Function flags: count:220893212 (estimated locally) body optimize_size
  Called by: 
  Calls: pfe_class_destroy.part.0/99 (118111600 (estimated locally),0.53 per call) 
pfe_class_gather_read_dmem/41 (pfe_class_gather_read_dmem) @0d6d9460
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @0d603068
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: pfe_pe_gather_memcpy_from_dmem_to_host_32/88 (1073741824 (estimated locally),1.00 per call) 
pfe_class_read_dmem/40 (pfe_class_read_dmem) @0d6d91c0
  Type: function definition analyzed
  Visibility: externally_visible public
  Address is taken.
  Aux: @0d6030a8
  References: 
  Referring: pfe_class_load_fw_process/36 (addr)
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: pfe_pe_memcpy_from_dmem_to_host_32/87 (512926469 (estimated locally),0.48 per call) 
pfe_class_write_dmem/39 (pfe_class_write_dmem) @0d6c8ee0
  Type: function definition analyzed
  Visibility: externally_visible public
  Address is taken.
  Aux: @0d603368
  References: 
  Referring: pfe_class_load_fw_process/36 (addr)
  Availability: available
  Function flags: count:310509491 (estimated locally) body optimize_size
  Called by: 
  Calls: pfe_pe_memcpy_from_host_to_dmem_32/86 (83719569 (estimated locally),0.27 per call) pfe_class_write_dmem.part.0/98 (inlined) (118111599 (estimated locally),0.38 per call) 
pfe_class_write_dmem.part.0/98 (pfe_class_write_dmem.part.0) @06ade0e0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly artificial
  Aux: @0d603168
  References: 
  Referring: 
  Function pfe_class_write_dmem.part.0/98 is inline copy in pfe_class_write_dmem/39
  Availability: local
  Function flags: count:118111599 (estimated locally) first_run:1 body local split_part optimize_size
  Called by: pfe_class_write_dmem/39 (inlined) (118111599 (estimated locally),0.38 per call) 
  Calls: pfe_pe_memcpy_from_host_to_dmem_32/86 (955630215 (estimated locally),3.08 per call) 
pfe_class_get_mmap/38 (pfe_class_get_mmap) @0d6c89a0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @0d603228
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: memcpy/57 (512926469 (estimated locally),0.48 per call) pfe_pe_get_mmap/77 (512926469 (estimated locally),0.48 per call) 
pfe_class_load_firmware/35 (pfe_class_load_firmware) @0d6c8b60
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @0d603108
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: pfe_class_load_fw_features/37 (inlined) (354334802 (estimated locally),0.33 per call) pfe_class_dmem_heap_init/29 (inlined) (116930485 (estimated locally),0.11 per call) pfe_pe_check_mmap/76 (354334802 (estimated locally),0.33 per call) pfe_pe_load_firmware/75 (1073741824 (estimated locally),1.00 per call) 
pfe_class_load_fw_features/37 (pfe_class_load_fw_features) @0d6c8380
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Aux: @0d603248
  References: 
  Referring: 
  Function pfe_class_load_fw_features/37 is inline copy in pfe_class_load_firmware/35
  Availability: local
  Function flags: count:354334802 (estimated locally) body local optimize_size
  Called by: pfe_class_load_firmware/35 (inlined) (354334802 (estimated locally),0.33 per call) 
  Calls: pfe_class_load_fw_process/36 (inlined) (42316434 (estimated locally),0.04 per call) pfe_pe_get_mmap/77 (354334802 (estimated locally),0.33 per call) 
pfe_class_load_fw_process/36 (pfe_class_load_fw_process) @0d6c8e00
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Aux: @0d603088
  References: pfe_class_read_dmem/40 (addr)pfe_class_write_dmem/39 (addr)
  Referring: 
  Function pfe_class_load_fw_process/36 is inline copy in pfe_class_load_firmware/35
  Availability: local
  Function flags: count:42316434 (estimated locally) body local optimize_size
  Called by: pfe_class_load_fw_features/37 (inlined) (42316434 (estimated locally),0.04 per call) 
  Calls: pfe_fw_feature_set_dmem_funcs/85 (92234167 (estimated locally),0.09 per call) pfe_fw_feature_destroy/80 (560445055 (estimated locally),0.52 per call) pfe_fw_feature_set_string_base/84 (161502657 (estimated locally),0.15 per call) pfe_pe_get_fw_feature_str_base/83 (161502657 (estimated locally),0.15 per call) pfe_fw_feature_set_ll_data/82 (161502657 (estimated locally),0.15 per call) pfe_fw_feature_destroy/80 (981343115 (estimated locally),0.91 per call) pfe_pe_get_fw_feature_entry/81 (282792255 (estimated locally),0.26 per call) pfe_fw_feature_destroy/80 (736469673 (estimated locally),0.69 per call) pfe_fw_feature_create/79 (373816595 (estimated locally),0.35 per call) 
pfe_class_enable/33 (pfe_class_enable) @0d6c8620
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @0d603128
  References: 
  Referring: 
  Availability: available
  Function flags: count:79349520 (estimated locally) body optimize_size
  Called by: 
  Calls: pfe_pe_get_fw_state/73 (1073741824 (estimated locally),13.53 per call) oal_time_usleep/61 (1073741824 (estimated locally),13.53 per call) pfe_class_cfg_enable/72 (79349520 (estimated locally),1.00 per call) 
pfe_class_dmem_heap_free/31 (pfe_class_dmem_heap_free) @0d6c8000
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @0d6033a8
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: blalloc_free_offs/69 (177167401 (estimated locally),0.17 per call) 
pfe_class_dmem_heap_alloc/30 (pfe_class_dmem_heap_alloc) @0d62bc40
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @0d6033c8
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: blalloc_alloc_offs/68 (1073741824 (estimated locally),1.00 per call) 
pfe_class_dmem_heap_init/29 (pfe_class_dmem_heap_init) @0d62b460
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Aux: @0d603408
  References: 
  Referring: 
  Function pfe_class_dmem_heap_init/29 is inline copy in pfe_class_load_firmware/35
  Availability: local
  Function flags: count:116930485 (estimated locally) body local optimize_size
  Called by: pfe_class_load_firmware/35 (inlined) (116930485 (estimated locally),0.11 per call) 
  Calls: blalloc_create/78 (38587060 (estimated locally),0.04 per call) pfe_pe_get_mmap/77 (116930485 (estimated locally),0.11 per call) 
pfe_class_create/28 (pfe_class_create) @0d62be00
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @0d603308
  References: classifier_instance/23 (addr)classifier_instance/23 (write)classifier_instance/23 (addr)classifier_instance/23 (addr)classifier_instance/23 (addr)classifier_instance/23 (addr)classifier_instance/23 (read)classifier_instance/23 (addr)
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: pfe_class_cfg_set_config/62 (416780405 (estimated locally),0.39 per call) pfe_class_disable/34 (416780405 (estimated locally),0.39 per call) oal_time_usleep/61 (416780405 (estimated locally),0.39 per call) pfe_class_reset/32 (416780405 (estimated locally),0.39 per call) pfe_class_destroy/102 (inlined) (170234250 (estimated locally),0.16 per call) pfe_class_create_pe.constprop/100 (inlined) (587014656 (estimated locally),0.55 per call) memset/60 (1073741824 (estimated locally),1.00 per call) 
pfe_class_create_pe.constprop.0/100 (pfe_class_create_pe.constprop) @0d6f31c0
  Type: function definition analyzed
  Visibility:
  Aux: @0d6031c8
  References: classifier_instance/23 (addr)
  Referring: 
  Function pfe_class_create_pe.constprop/100 is inline copy in pfe_class_create/28
  Clone of pfe_class_create_pe/27
  Availability: local
  Function flags: count:587014656 (estimated locally) local optimize_size
  Called by: pfe_class_create/28 (inlined) (587014656 (estimated locally),0.55 per call) 
  Calls: pfe_pe_create/63 (5185593352 (estimated locally),4.83 per call) pfe_pe_set_iaccess/64 (4900385714 (estimated locally),4.56 per call) pfe_pe_set_dmem/65 (4900385714 (estimated locally),4.56 per call) pfe_pe_set_imem/66 (4900385714 (estimated locally),4.56 per call) pfe_pe_set_lmem/67 (4900385714 (estimated locally),4.56 per call) 
pfe_class_destroy/102 (pfe_class_destroy) @06d510e0
  Type: function definition analyzed
  Visibility: public
  next sharing asm name: 42
  Aux: @0d6032c8
  References: 
  Referring: 
  Function pfe_class_destroy/102 is inline copy in pfe_class_create/28
  Clone of pfe_class_destroy/42
  Availability: local
  Function flags: count:170234250 (estimated locally) body local optimize_size
  Called by: pfe_class_create/28 (inlined) (170234250 (estimated locally),0.16 per call) 
  Calls: pfe_class_destroy.part.0/99 (91024253 (estimated locally),0.08 per call) 
pfe_class_destroy.part.0/99 (pfe_class_destroy.part.0) @06d28ee0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly artificial
  Aux: @0d6031e8
  References: 
  Referring: 
  Availability: local
  Function flags: count:118111600 (estimated locally) first_run:1 body local split_part optimize_size
  Called by: pfe_class_destroy/102 (91024253 (estimated locally),0.08 per call) pfe_class_destroy/42 (118111600 (estimated locally),0.53 per call) 
  Calls: pfe_class_disable/34 (118111600 (estimated locally),1.00 per call) pfe_pe_destroy/89 (118111600 (estimated locally),1.00 per call) pfe_fw_feature_destroy/80 (955630223 (estimated locally),8.09 per call) blalloc_destroy/90 (63154273 (estimated locally),0.53 per call) 
pfe_class_reset/32 (pfe_class_reset) @0d6c82a0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @0d603148
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: pfe_class_create/28 (416780405 (estimated locally),0.39 per call) 
  Calls: pfe_class_cfg_reset/70 (1073741824 (estimated locally),1.00 per call) pfe_class_disable/34 (1073741824 (estimated locally),1.00 per call) 
pfe_class_disable/34 (pfe_class_disable) @0d6c88c0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @0d603388
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: pfe_class_create/28 (416780405 (estimated locally),0.39 per call) pfe_class_destroy.part.0/99 (118111600 (estimated locally),1.00 per call) pfe_class_reset/32 (1073741824 (estimated locally),1.00 per call) 
  Calls: pfe_class_cfg_disable/74 (1073741824 (estimated locally),1.00 per call) 
pfe_class_irq_unmask/26 (pfe_class_irq_unmask) @0d62b8c0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @0d603328
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body icf_merged nonfreeing_fn optimize_size
  Called by: 
  Calls: pfe_class_irq_mask/101 (inlined) (1073741824 (estimated locally),1.00 per call) 
pfe_class_irq_mask/101 (pfe_class_irq_mask) @06d28620
  Type: function definition analyzed
  Visibility: public
  next sharing asm name: 25
  Aux: @0d6030e8
  References: 
  Referring: 
  Function pfe_class_irq_mask/101 is inline copy in pfe_class_irq_unmask/26
  Clone of pfe_class_irq_mask/25
  Availability: local
  Function flags: count:1073741824 (estimated locally) body local icf_merged nonfreeing_fn optimize_size
  Called by: pfe_class_irq_unmask/26 (inlined) (1073741824 (estimated locally),1.00 per call) 
  Calls: 
pfe_class_irq_mask/25 (pfe_class_irq_mask) @0d62b620
  Type: function definition analyzed
  Visibility: externally_visible public
  previous sharing asm name: 101
  Aux: @0d6033e8
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body icf_merged nonfreeing_fn optimize_size
  Called by: 
  Calls: 
pfe_class_isr/24 (pfe_class_isr) @0d62b380
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @0d603528
  References: 
  Referring: 
  Availability: available
  Function flags: count:118111602 (estimated locally) body optimize_size
  Called by: 
  Calls: pfe_pe_unlock/59 (955630223 (estimated locally),8.09 per call) fci_core_client_send_broadcast/58 (315357973 (estimated locally),2.67 per call) memcpy/57 (315357973 (estimated locally),2.67 per call) pfe_pe_get_data_nolock/56 (955630223 (estimated locally),8.09 per call) pfe_pe_check_stalled_nolock/55 (955630223 (estimated locally),8.09 per call) pfe_pe_get_fw_messages_nolock/54 (955630223 (estimated locally),8.09 per call) pfe_pe_lock/53 (955630223 (estimated locally),8.09 per call) 


Function name:pfe_class_isr/24:
    locals read: 
    locals written: 
  globals read: ALL
  globals written: ALL

Function name:pfe_class_irq_mask/25:
    locals read: 
    locals written: 
  globals read: 
  globals written: 

Function name:pfe_class_irq_mask/101:
    locals read: 
    locals written: 
  globals read: 
  globals written: 

Function name:pfe_class_irq_unmask/26:
    locals read: 
    locals written: 
  globals read: 
  globals written: 

Function name:pfe_class_disable/34:
    locals read: 
    locals written: 
  globals read: ALL
  globals written: ALL

Function name:pfe_class_reset/32:
    locals read: 
    locals written: 
  globals read: ALL
  globals written: ALL

Function name:pfe_class_destroy.part.0/99:
    locals read: 
    locals written: 
  globals read: ALL
  globals written: ALL

Function name:pfe_class_destroy/102:
    locals read: 
    locals written: 
  globals read: ALL
  globals written: ALL

Function name:pfe_class_create_pe.constprop.0/100:
    locals read: 
    locals written: 
  globals read: ALL
  globals written: ALL

Function name:pfe_class_create/28:
    locals read: 
    locals written: 
  globals read: ALL
  globals written: ALL

Function name:pfe_class_dmem_heap_init/29:
    locals read: 
    locals written: 
  globals read: ALL
  globals written: ALL

Function name:pfe_class_dmem_heap_alloc/30:
    locals read: 
    locals written: 
  globals read: ALL
  globals written: ALL

Function name:pfe_class_dmem_heap_free/31:
    locals read: 
    locals written: 
  globals read: ALL
  globals written: ALL

Function name:pfe_class_enable/33:
    locals read: 
    locals written: 
  globals read: ALL
  globals written: ALL

Function name:pfe_class_load_fw_process/36:
    locals read: 
    locals written: 
  globals read: ALL
  globals written: ALL

Function name:pfe_class_load_fw_features/37:
    locals read: 
    locals written: 
  globals read: ALL
  globals written: ALL

Function name:pfe_class_load_firmware/35:
    locals read: 
    locals written: 
  globals read: ALL
  globals written: ALL

Function name:pfe_class_get_mmap/38:
    locals read: 
    locals written: 
  globals read: ALL
  globals written: ALL

Function name:pfe_class_write_dmem.part.0/98:
    locals read: 
    locals written: 
  globals read: ALL
  globals written: ALL

Function name:pfe_class_write_dmem/39:
    locals read: 
    locals written: 
  globals read: ALL
  globals written: ALL

Function name:pfe_class_read_dmem/40:
    locals read: 
    locals written: 
  globals read: ALL
  globals written: ALL

Function name:pfe_class_gather_read_dmem/41:
    locals read: 
    locals written: 
  globals read: ALL
  globals written: ALL

Function name:pfe_class_destroy/42:
    locals read: 
    locals written: 
  globals read: ALL
  globals written: ALL

Function name:pfe_class_set_rtable/43:
    locals read: 
    locals written: 
  globals read: ALL
  globals written: ALL

Function name:pfe_class_set_default_vlan/44:
    locals read: 
    locals written: 
  globals read: ALL
  globals written: ALL

Function name:pfe_class_get_num_of_pes/45:
    locals read: 
    locals written: 
  globals read: 
  globals written: 

Function name:pfe_class_get_feature/46:
    locals read: 
    locals written: 
  globals read: ALL
  globals written: ALL

Function name:pfe_class_get_feature_first/47:
    locals read: 
    locals written: 
  globals read: 
  globals written: 

Function name:pfe_class_get_feature_next/48:
    locals read: 
    locals written: 
  globals read: 
  globals written: 

Function name:pfe_class_put_data/49:
    locals read: 
    locals written: 
  globals read: ALL
  globals written: ALL

Function name:pfe_class_get_fw_version/50:
    locals read: 
    locals written: 
  globals read: ALL
  globals written: ALL

Function name:pfe_class_rtable_lookup_enable/51:
    locals read: 
    locals written: 
  globals read: ALL
  globals written: ALL

Function name:pfe_class_rtable_lookup_disable/52:
    locals read: 
    locals written: 
  globals read: ALL
  globals written: ALL
pfe_class_destroy.part.0 (struct pfe_class_t * class)
{
  uint32_t ii;
  struct pfe_pe_t[8] * _2;
  long unsigned int _3;
  struct pfe_fw_feature_t * _5;
  long unsigned int _7;
  struct blalloc_t * _8;

  <bb 8> [local count: 118111600]:

  <bb 2> [local count: 118111600]:
  # DEBUG BEGIN_STMT
  pfe_class_disable (class_1(D));
  # DEBUG BEGIN_STMT
  _2 = &class_1(D)->pe;
  _3 = class_1(D)->pe_num;
  pfe_pe_destroy (_2, _3);
  # DEBUG BEGIN_STMT
  # DEBUG ii => 0
  goto <bb 4>; [100.00%]

  <bb 3> [local count: 955630223]:
  # DEBUG BEGIN_STMT
  _5 = &class_1(D)->fw_features[ii_4];
  pfe_fw_feature_destroy (_5);
  # DEBUG BEGIN_STMT
  ii_6 = ii_4 + 1;
  # DEBUG ii => ii_6

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

  <bb 5> [local count: 118111601]:
  # DEBUG BEGIN_STMT
  class_1(D)->fw_features_count = 0;
  # DEBUG BEGIN_STMT
  class_1(D)->pe_num = 0;
  # DEBUG BEGIN_STMT
  _8 = class_1(D)->heap_context;
  if (_8 != 0B)
    goto <bb 6>; [53.47%]
  else
    goto <bb 7>; [46.53%]

  <bb 6> [local count: 63154273]:
  # DEBUG BEGIN_STMT
  blalloc_destroy (_8);
  # DEBUG BEGIN_STMT
  class_1(D)->heap_context = 0B;

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

}


pfe_class_write_dmem.part.0 (void * class_p, addr_t dst_addr, const void * src_ptr, uint32_t len)
{
  uint32_t ii;
  struct pfe_class_t * class;
  errno_t ret;
  int32_t pe_idx;
  struct pfe_pe_t * _3;
  long unsigned int _8;

  <bb 6> [local count: 118111600]:
  # DEBUG D#2 s=> pe_idx
  # DEBUG pe_idx => D#2

  <bb 2> [local count: 118111600]:
  goto <bb 4>; [100.00%]

  <bb 3> [local count: 955630223]:
  # DEBUG BEGIN_STMT
  _3 = &MEM[(struct pfe_class_t *)class_p_1(D)].pe[ii_2];
  pfe_pe_memcpy_from_host_to_dmem_32 (_3, dst_addr_4(D), src_ptr_5(D), len_6(D));
  # DEBUG BEGIN_STMT
  ii_7 = ii_2 + 1;
  # DEBUG ii => ii_7

  <bb 4> [local count: 1073741824]:
  # ii_2 = PHI <0(2), ii_7(3)>
  # DEBUG ii => ii_2
  # DEBUG BEGIN_STMT
  _8 = MEM[(struct pfe_class_t *)class_p_1(D)].pe_num;
  if (ii_2 < _8)
    goto <bb 3>; [89.00%]
  else
    goto <bb 5>; [11.00%]

  <bb 5> [local count: 118111601]:
  # ret_9 = PHI <0(4)>
  # DEBUG ret => ret_9
  # DEBUG BEGIN_STMT
  return ret_9;

}


pfe_class_rtable_lookup_disable (const struct pfe_class_t * class)
{
  unsigned int _1;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _1 = class_3(D)->cbus_base_va;
  pfe_class_cfg_rtable_lookup_disable (_1);
  return;

}


pfe_class_rtable_lookup_enable (const struct pfe_class_t * class)
{
  unsigned int _1;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _1 = class_3(D)->cbus_base_va;
  pfe_class_cfg_rtable_lookup_enable (_1);
  return;

}


pfe_class_get_fw_version (const struct pfe_class_t * class, struct pfe_ct_version_t * ver)
{
  errno_t ret;
  union pfe_ct_pe_mmap_t pfe_pe_mmap;
  long unsigned int _1;
  const struct pfe_pe_t * _2;
  int _3;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = class_7(D)->pe_num;
  if (_1 == 0)
    goto <bb 6>; [52.23%]
  else
    goto <bb 3>; [47.77%]

  <bb 3> [local count: 512926469]:
  _2 = &class_7(D)->pe[0];
  _3 = pfe_pe_get_mmap (_2, &pfe_pe_mmap);
  if (_3 != 0)
    goto <bb 6>; [35.00%]
  else
    goto <bb 5>; [65.00%]

  <bb 5> [local count: 333402205]:
  # DEBUG BEGIN_STMT
  MEM[(char * {ref-all})ver_9(D)] = MEM[(char * {ref-all})&pfe_pe_mmap + 4B];
  # DEBUG BEGIN_STMT
  # DEBUG ret => 0

  <bb 6> [local count: 1073741824]:
  # ret_4 = PHI <22(3), 0(5), 22(2)>
  # DEBUG ret => ret_4
  # DEBUG BEGIN_STMT
  pfe_pe_mmap ={v} {CLOBBER};
  return ret_4;

}


pfe_class_put_data (struct pfe_class_t * class, struct pfe_ct_buffer_t * buf)
{
  errno_t ret;
  uint32_t tries;
  uint32_t ii;
  struct pfe_pe_t * _1;
  long unsigned int _3;

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

  <bb 3> [local count: 114863532]:
  # DEBUG BEGIN_STMT
  _1 = &class_15(D)->pe[ii_4];
  pfe_pe_lock (_1);
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG tries => 0

  <bb 4> [local count: 1073741824]:
  # tries_5 = PHI <0(3), tries_6(12)>
  # DEBUG tries => tries_5
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  ret_19 = pfe_pe_put_data_nolock (_1, buf_17(D));
  # DEBUG ret => ret_19
  # DEBUG BEGIN_STMT
  if (ret_19 == 118)
    goto <bb 5>; [20.24%]
  else
    goto <bb 6>; [79.76%]

  <bb 5> [local count: 217325345]:
  # DEBUG BEGIN_STMT
  tries_20 = tries_5 + 1;
  # DEBUG tries => tries_20
  # DEBUG BEGIN_STMT
  oal_time_usleep (200);

  <bb 6> [local count: 1073741824]:
  # tries_6 = PHI <tries_5(4), tries_20(5)>
  # DEBUG tries => tries_6
  # DEBUG BEGIN_STMT
  if (ret_19 == 118)
    goto <bb 7>; [94.50%]
  else
    goto <bb 8>; [5.50%]

  <bb 7> [local count: 1014686025]:
  if (tries_6 <= 9)
    goto <bb 12>; [94.50%]
  else
    goto <bb 8>; [5.50%]

  <bb 12> [local count: 958878294]:
  goto <bb 4>; [100.00%]

  <bb 8> [local count: 114863532]:
  # ret_2 = PHI <ret_19(6), 118(7)>
  # DEBUG BEGIN_STMT
  pfe_pe_unlock (_1);
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  if (ret_2 != 0)
    goto <bb 11>; [5.50%]
  else
    goto <bb 9>; [94.50%]

  <bb 9> [local count: 108546037]:
  # DEBUG BEGIN_STMT
  ii_23 = ii_4 + 1;
  # DEBUG ii => ii_23

  <bb 10> [local count: 121548711]:
  # ii_4 = PHI <0(2), ii_23(9)>
  # ret_7 = PHI <ret_13(D)(2), 0(9)>
  # DEBUG ret => ret_7
  # DEBUG ii => ii_4
  # DEBUG BEGIN_STMT
  _3 = class_15(D)->pe_num;
  if (_3 > ii_4)
    goto <bb 3>; [94.50%]
  else
    goto <bb 11>; [5.50%]

  <bb 11> [local count: 13002673]:
  # ret_8 = PHI <111(8), ret_7(10)>
  # DEBUG ret => ret_8
  # DEBUG BEGIN_STMT
  return ret_8;

}


pfe_class_get_feature_next (struct pfe_class_t * class, struct pfe_fw_feature_t * * feature)
{
  errno_t ret;
  long unsigned int _1;
  long unsigned int _2;
  long unsigned int _3;
  struct pfe_fw_feature_t * _4;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG ret => 2
  # DEBUG BEGIN_STMT
  _1 = class_8(D)->fw_features_count;
  if (_1 != 0)
    goto <bb 3>; [65.00%]
  else
    goto <bb 5>; [35.00%]

  <bb 3> [local count: 697932186]:
  # DEBUG BEGIN_STMT
  _2 = class_8(D)->current_feature;
  _3 = _2 + 1;
  if (_1 > _3)
    goto <bb 4>; [65.00%]
  else
    goto <bb 5>; [35.00%]

  <bb 4> [local count: 453655921]:
  # DEBUG BEGIN_STMT
  class_8(D)->current_feature = _3;
  # DEBUG BEGIN_STMT
  _4 = &class_8(D)->fw_features[_3];
  *feature_10(D) = _4;
  # DEBUG BEGIN_STMT
  # DEBUG ret => 0

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

}


pfe_class_get_feature_first (struct pfe_class_t * class, struct pfe_fw_feature_t * * feature)
{
  errno_t ret;
  long unsigned int _1;
  struct pfe_fw_feature_t * _2;

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

  <bb 3> [local count: 697932186]:
  # DEBUG BEGIN_STMT
  class_6(D)->current_feature = 0;
  # DEBUG BEGIN_STMT
  _2 = &class_6(D)->fw_features[0];
  *feature_8(D) = _2;
  # DEBUG BEGIN_STMT
  # DEBUG ret => 0

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

}


pfe_class_get_feature (struct pfe_class_t * class, struct pfe_fw_feature_t * * feature, const char * name)
{
  errno_t ret_val;
  errno_t ret;
  const char * fname;
  uint32_t i;
  struct pfe_fw_feature_t * _1;
  const char * fname.3_2;
  int _3;
  struct pfe_fw_feature_t * _4;
  long unsigned int _5;

  <bb 2> [local count: 86959666]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG ret => 2
  # DEBUG BEGIN_STMT
  # DEBUG ret_val => 0
  # DEBUG BEGIN_STMT
  # DEBUG i => 0
  goto <bb 7>; [100.00%]

  <bb 3> [local count: 1014686025]:
  # DEBUG BEGIN_STMT
  _1 = &class_11(D)->fw_features[i_6];
  ret_val_13 = pfe_fw_feature_get_name (_1, &fname);
  # DEBUG ret_val => ret_val_13
  # DEBUG BEGIN_STMT
  if (ret_val_13 == 0)
    goto <bb 4>; [50.00%]
  else
    goto <bb 6>; [50.00%]

  <bb 4> [local count: 507343012]:
  # DEBUG BEGIN_STMT
  fname.3_2 = fname;
  _3 = strcmp (fname.3_2, name_14(D));
  if (_3 == 0)
    goto <bb 5>; [5.50%]
  else
    goto <bb 6>; [94.50%]

  <bb 5> [local count: 27903866]:
  # _4 = PHI <_1(4)>
  # DEBUG BEGIN_STMT
  *feature_15(D) = _4;
  # DEBUG BEGIN_STMT
  # DEBUG ret => 0
  # DEBUG BEGIN_STMT
  goto <bb 8>; [100.00%]

  <bb 6> [local count: 986782159]:
  # DEBUG BEGIN_STMT
  i_17 = i_6 + 1;
  # DEBUG i => i_17

  <bb 7> [local count: 1073741824]:
  # i_6 = PHI <0(2), i_17(6)>
  # DEBUG i => i_6
  # DEBUG BEGIN_STMT
  _5 = class_11(D)->fw_features_count;
  if (_5 > i_6)
    goto <bb 3>; [94.50%]
  else
    goto <bb 8>; [5.50%]

  <bb 8> [local count: 86959666]:
  # ret_7 = PHI <0(5), 2(7)>
  # DEBUG ret => ret_7
  # DEBUG BEGIN_STMT
  fname ={v} {CLOBBER};
  return ret_7;

}


pfe_class_get_num_of_pes (const struct pfe_class_t * class)
{
  uint32_t pe_num;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  pe_num_3 = class_2(D)->pe_num;
  # DEBUG pe_num => pe_num_3
  # DEBUG BEGIN_STMT
  return pe_num_3;

}


pfe_class_set_default_vlan (const struct pfe_class_t * class, uint16_t vlan)
{
  unsigned int _1;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = class_3(D)->cbus_base_va;
  pfe_class_cfg_set_def_vlan (_1, vlan_4(D));
  # DEBUG BEGIN_STMT
  # DEBUG ret => 0
  # DEBUG BEGIN_STMT
  return 0;

}


pfe_class_set_rtable (struct pfe_class_t * class, addr_t rtable_pa, uint32_t rtable_len, uint32_t entry_size)
{
  errno_t ret;
  unsigned char _1;
  unsigned int _2;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = class_6(D)->enabled;
  if (_1 != 0)
    goto <bb 4>; [52.23%]
  else
    goto <bb 3>; [47.77%]

  <bb 3> [local count: 512926469]:
  # DEBUG BEGIN_STMT
  _2 = class_6(D)->cbus_base_va;
  ret_11 = pfe_class_cfg_set_rtable (_2, rtable_pa_7(D), rtable_len_8(D), entry_size_9(D));
  # DEBUG ret => ret_11

  <bb 4> [local count: 1073741824]:
  # ret_3 = PHI <111(2), ret_11(3)>
  # DEBUG ret => ret_3
  # DEBUG BEGIN_STMT
  return ret_3;

}


pfe_class_destroy (struct pfe_class_t * class)
{
  <bb 2> [local count: 220893212]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  if (class_2(D) != 0B)
    goto <bb 3>; [53.47%]
  else
    goto <bb 4>; [46.53%]

  <bb 3> [local count: 118111600]:
  pfe_class_destroy.part.0 (class_2(D));

  <bb 4> [local count: 220893212]:
  return;

}


pfe_class_gather_read_dmem (struct pfe_class_t * class, void * dst_ptr, addr_t src_addr, uint32_t buffer_len, uint32_t read_len)
{
  errno_t ret;
  struct pfe_pe_t[8] * _1;
  long unsigned int _2;
  long int _3;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = &class_4(D)->pe;
  _2 = class_4(D)->pe_num;
  _3 = (long int) _2;
  ret_11 = pfe_pe_gather_memcpy_from_dmem_to_host_32 (_1, _3, dst_ptr_6(D), src_addr_7(D), buffer_len_8(D), read_len_9(D));
  # DEBUG ret => ret_11
  # DEBUG BEGIN_STMT
  return ret_11;

}


pfe_class_read_dmem (void * class_p, int32_t pe_idx, void * dst_ptr, addr_t src_addr, uint32_t len)
{
  errno_t ret;
  long unsigned int _1;
  long int _2;
  struct pfe_pe_t * _3;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG class => class_p_6(D)
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = MEM[(struct pfe_class_t *)class_p_6(D)].pe_num;
  _2 = (long int) _1;
  if (_2 <= pe_idx_8(D))
    goto <bb 4>; [52.23%]
  else
    goto <bb 3>; [47.77%]

  <bb 3> [local count: 512926469]:
  # DEBUG BEGIN_STMT
  _3 = &MEM[(struct pfe_class_t *)class_p_6(D)].pe[pe_idx_8(D)];
  pfe_pe_memcpy_from_dmem_to_host_32 (_3, dst_ptr_9(D), src_addr_10(D), len_11(D));
  # DEBUG BEGIN_STMT
  # DEBUG ret => 0

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

}


pfe_class_write_dmem (void * class_p, int32_t pe_idx, addr_t dst_addr, const void * src_ptr, uint32_t len)
{
  errno_t ret;
  long unsigned int _1;
  long int _2;
  struct pfe_pe_t * _3;

  <bb 2> [local count: 310509491]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG class => class_p_6(D)
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = MEM[(struct pfe_class_t *)class_p_6(D)].pe_num;
  _2 = (long int) _1;
  if (_2 <= pe_idx_9(D))
    goto <bb 6>; [35.00%]
  else
    goto <bb 3>; [65.00%]

  <bb 3> [local count: 201831169]:
  # DEBUG BEGIN_STMT
  if (pe_idx_9(D) >= 0)
    goto <bb 5>; [41.48%]
  else
    goto <bb 4>; [58.52%]

  <bb 4> [local count: 118111599]:
  # DEBUG D#1 => pe_idx_9(D)
  ret_5 = pfe_class_write_dmem.part.0 (class_p_6(D), dst_addr_10(D), src_ptr_11(D), len_12(D));
  goto <bb 6>; [100.00%]

  <bb 5> [local count: 83719569]:
  # DEBUG BEGIN_STMT
  _3 = &MEM[(struct pfe_class_t *)class_p_6(D)].pe[pe_idx_9(D)];
  pfe_pe_memcpy_from_host_to_dmem_32 (_3, dst_addr_10(D), src_ptr_11(D), len_12(D));

  <bb 6> [local count: 310509492]:
  # ret_4 = PHI <22(2), ret_5(4), 0(5)>
  # DEBUG ret => ret_4
  # DEBUG BEGIN_STMT
  return ret_4;

}


pfe_class_get_mmap (struct pfe_class_t * class, int32_t pe_idx, struct pfe_ct_class_mmap_t * mmap)
{
  union pfe_ct_pe_mmap_t mmap_tmp;
  errno_t ret;
  long unsigned int _1;
  long int _2;
  struct pfe_pe_t * _3;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  mmap_tmp = {};
  # DEBUG BEGIN_STMT
  _1 = class_8(D)->pe_num;
  _2 = (long int) _1;
  if (_2 <= pe_idx_9(D))
    goto <bb 4>; [52.23%]
  else
    goto <bb 3>; [47.77%]

  <bb 3> [local count: 512926469]:
  # DEBUG BEGIN_STMT
  _3 = &class_8(D)->pe[pe_idx_9(D)];
  ret_11 = pfe_pe_get_mmap (_3, &mmap_tmp);
  # DEBUG ret => ret_11
  # DEBUG BEGIN_STMT
  memcpy (mmap_12(D), &mmap_tmp.class_pe, 188);

  <bb 4> [local count: 1073741824]:
  # ret_4 = PHI <22(2), ret_11(3)>
  # DEBUG ret => ret_4
  # DEBUG BEGIN_STMT
  mmap_tmp ={v} {CLOBBER};
  return ret_4;

}


pfe_class_load_fw_features (struct pfe_class_t * class)
{
  errno_t ret;
  union pfe_ct_pe_mmap_t mmap;
  struct pfe_pe_t * _1;
  long unsigned int _2;
  long unsigned int _3;
  long unsigned int _4;
  long unsigned int _5;
  long unsigned int _6;
  long unsigned int _7;
  long unsigned int _8;
  long unsigned int _9;
  long unsigned int _10;
  long unsigned int _11;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = &class_14(D)->pe[0];
  ret_17 = pfe_pe_get_mmap (_1, &mmap);
  # DEBUG ret => ret_17
  # DEBUG BEGIN_STMT
  if (ret_17 == 0)
    goto <bb 3>; [50.00%]
  else
    goto <bb 7>; [50.00%]

  <bb 3> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  _2 = mmap.common.version.features_count;
  _3 = _2 >> 24;
  _4 = _2 >> 8;
  _5 = _4 & 65280;
  _6 = _3 | _5;
  _7 = _2 << 8;
  _8 = _7 & 16711680;
  _9 = _6 | _8;
  _10 = _2 << 24;
  _11 = _9 | _10;
  class_14(D)->fw_features_count = _11;
  # DEBUG BEGIN_STMT
  if (_11 != 0)
    goto <bb 4>; [50.00%]
  else
    goto <bb 7>; [50.00%]

  <bb 4> [local count: 268435456]:
  # DEBUG BEGIN_STMT
  if (_11 > 22)
    goto <bb 5>; [52.23%]
  else
    goto <bb 6>; [47.77%]

  <bb 5> [local count: 140203839]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  class_14(D)->fw_features_count = 0;
  # DEBUG BEGIN_STMT
  # DEBUG ret => 11
  goto <bb 7>; [100.00%]

  <bb 6> [local count: 128231617]:
  # DEBUG BEGIN_STMT
  ret_20 = pfe_class_load_fw_process (class_14(D));
  # DEBUG ret => ret_20
  # DEBUG BEGIN_STMT

  <bb 7> [local count: 1073741824]:
  # ret_12 = PHI <ret_17(2), 0(3), 11(5), ret_20(6)>
  # DEBUG ret => ret_12
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  mmap ={v} {CLOBBER};
  return ret_12;

}


pfe_class_load_fw_process (struct pfe_class_t * class)
{
  struct pfe_fw_feature_t * fw_features;
  bool_t val_break;
  struct pfe_ct_feature_desc_t * entry;
  uint32_t j;
  uint32_t i;
  errno_t ret;
  struct pfe_fw_feature_t * _1;
  struct pfe_fw_feature_t * _2;
  struct pfe_pe_t * _3;
  struct pfe_fw_feature_t * _4;
  struct pfe_ct_feature_desc_t * entry.2_5;
  char * _6;
  struct pfe_fw_feature_t * _7;
  long unsigned int _8;

  <bb 2> [local count: 41207670]:
  # DEBUG BEGIN_STMT
  # DEBUG ret => 22
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG val_break => 0
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  class_26(D)->current_feature = 0;
  # DEBUG BEGIN_STMT
  # DEBUG i => 0
  goto <bb 15>; [100.00%]

  <bb 3> [local count: 364021952]:
  # DEBUG BEGIN_STMT
  _1 = &class_26(D)->fw_features[i_12];
  fw_features_29 = pfe_fw_feature_create (_1);
  # DEBUG fw_features => fw_features_29
  # DEBUG BEGIN_STMT
  if (fw_features_29 == 0B)
    goto <bb 19>; [24.35%]
  else
    goto <bb 6>; [75.65%]

  <bb 19> [local count: 88639345]:
  goto <bb 5>; [100.00%]

  <bb 4> [local count: 717172890]:
  # DEBUG BEGIN_STMT
  _2 = &class_26(D)->fw_features[j_13];
  pfe_fw_feature_destroy (_2);
  # DEBUG BEGIN_STMT
  j_42 = j_13 + 1;
  # DEBUG j => j_42

  <bb 5> [local count: 805812235]:
  # j_13 = PHI <j_42(4), 0(19)>
  # DEBUG j => j_13
  # DEBUG BEGIN_STMT
  if (i_12 > j_13)
    goto <bb 4>; [89.00%]
  else
    goto <bb 13>; [11.00%]

  <bb 6> [local count: 275382607]:
  # DEBUG BEGIN_STMT
  _3 = &class_26(D)->pe[0];
  ret_31 = pfe_pe_get_fw_feature_entry (_3, i_12, &entry);
  # DEBUG ret => ret_31
  # DEBUG BEGIN_STMT
  if (ret_31 != 0)
    goto <bb 20>; [42.89%]
  else
    goto <bb 9>; [57.11%]

  <bb 20> [local count: 118111600]:
  goto <bb 8>; [100.00%]

  <bb 7> [local count: 955630223]:
  # DEBUG BEGIN_STMT
  _4 = &class_26(D)->fw_features[j_14];
  pfe_fw_feature_destroy (_4);
  # DEBUG BEGIN_STMT
  j_40 = j_14 + 1;
  # DEBUG j => j_40

  <bb 8> [local count: 1073741824]:
  # j_14 = PHI <j_40(7), 0(20)>
  # DEBUG j => j_14
  # DEBUG BEGIN_STMT
  if (i_12 > j_14)
    goto <bb 7>; [89.00%]
  else
    goto <bb 13>; [11.00%]

  <bb 9> [local count: 157271007]:
  # DEBUG BEGIN_STMT
  entry.2_5 = entry;
  pfe_fw_feature_set_ll_data (fw_features_29, entry.2_5);
  # DEBUG BEGIN_STMT
  _6 = pfe_pe_get_fw_feature_str_base (_3);
  ret_35 = pfe_fw_feature_set_string_base (fw_features_29, _6);
  # DEBUG ret => ret_35
  # DEBUG BEGIN_STMT
  if (ret_35 != 0)
    goto <bb 21>; [42.89%]
  else
    goto <bb 12>; [57.11%]

  <bb 21> [local count: 67453535]:
  goto <bb 11>; [100.00%]

  <bb 10> [local count: 545760422]:
  # DEBUG BEGIN_STMT
  _7 = &class_26(D)->fw_features[j_15];
  pfe_fw_feature_destroy (_7);
  # DEBUG BEGIN_STMT
  j_38 = j_15 + 1;
  # DEBUG j => j_38

  <bb 11> [local count: 613213957]:
  # j_15 = PHI <j_38(10), 0(21)>
  # DEBUG j => j_15
  # DEBUG BEGIN_STMT
  if (i_12 > j_15)
    goto <bb 10>; [89.00%]
  else
    goto <bb 13>; [11.00%]

  <bb 12> [local count: 89817472]:
  # DEBUG BEGIN_STMT
  pfe_fw_feature_set_dmem_funcs (fw_features_29, pfe_class_read_dmem, pfe_class_write_dmem, class_26(D));

  <bb 13> [local count: 364021954]:
  # ret_9 = PHI <11(5), 22(8), 22(11), 0(12)>
  # val_break_16 = PHI <1(5), 1(8), 1(11), val_break_17(12)>
  # DEBUG val_break => val_break_16
  # DEBUG ret => ret_9
  # DEBUG BEGIN_STMT
  if (val_break_16 == 1)
    goto <bb 16>; [5.50%]
  else
    goto <bb 14>; [94.50%]

  <bb 14> [local count: 344000747]:
  # DEBUG BEGIN_STMT
  i_43 = i_12 + 1;
  # DEBUG i => i_43

  <bb 15> [local count: 385208416]:
  # ret_10 = PHI <22(2), ret_9(14)>
  # i_12 = PHI <0(2), i_43(14)>
  # val_break_17 = PHI <0(2), val_break_16(14)>
  # DEBUG val_break => val_break_17
  # DEBUG i => i_12
  # DEBUG ret => ret_10
  # DEBUG BEGIN_STMT
  _8 = class_26(D)->fw_features_count;
  if (_8 > i_12)
    goto <bb 3>; [94.50%]
  else
    goto <bb 16>; [5.50%]

  <bb 16> [local count: 41207670]:
  # ret_11 = PHI <ret_9(13), ret_10(15)>
  # DEBUG ret => ret_11
  # DEBUG BEGIN_STMT
  if (ret_11 != 0)
    goto <bb 17>; [50.00%]
  else
    goto <bb 18>; [50.00%]

  <bb 17> [local count: 20603835]:
  # DEBUG BEGIN_STMT
  class_26(D)->fw_features_count = 0;

  <bb 18> [local count: 41207670]:
  # DEBUG BEGIN_STMT
  entry ={v} {CLOBBER};
  return ret_11;

}


pfe_class_load_firmware (struct pfe_class_t * class, const void * elf)
{
  errno_t ret;
  struct pfe_pe_t[8] * _1;
  long unsigned int _2;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = &class_6(D)->pe;
  _2 = class_6(D)->pe_num;
  ret_10 = pfe_pe_load_firmware (_1, _2, elf_8(D));
  # DEBUG ret => ret_10
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  if (ret_10 == 0)
    goto <bb 3>; [33.00%]
  else
    goto <bb 6>; [67.00%]

  <bb 3> [local count: 354334802]:
  # DEBUG BEGIN_STMT
  class_6(D)->is_fw_loaded = 1;
  # DEBUG BEGIN_STMT
  ret_13 = pfe_pe_check_mmap (_1);
  # DEBUG ret => ret_13
  # DEBUG BEGIN_STMT
  if (ret_13 == 0)
    goto <bb 4>; [33.00%]
  else
    goto <bb 5>; [67.00%]

  <bb 4> [local count: 116930485]:
  # DEBUG BEGIN_STMT
  pfe_class_dmem_heap_init (class_6(D));
  # DEBUG ret => NULL
  # DEBUG BEGIN_STMT

  <bb 5> [local count: 354334802]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  ret_16 = pfe_class_load_fw_features (class_6(D));
  # DEBUG ret => ret_16
  # DEBUG BEGIN_STMT

  <bb 6> [local count: 1073741824]:
  # ret_3 = PHI <ret_10(2), ret_16(5)>
  # DEBUG ret => ret_3
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  return ret_3;

}


pfe_class_disable (struct pfe_class_t * class)
{
  unsigned int _1;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _1 = class_3(D)->cbus_base_va;
  pfe_class_cfg_disable (_1);
  return;

}


pfe_class_enable (struct pfe_class_t * class)
{
  pfe_ct_pe_sw_state_t state;
  uint16_t timeout;
  unsigned int _1;
  struct pfe_pe_t * _3;

  <bb 2> [local count: 79349520]:
  # DEBUG BEGIN_STMT
  # DEBUG timeout => 50
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = class_8(D)->cbus_base_va;
  pfe_class_cfg_enable (_1);

  <bb 3> [local count: 1073741824]:
  # timeout_4 = PHI <50(2), timeout_11(8)>
  # DEBUG timeout => timeout_4
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  oal_time_usleep (5);
  # DEBUG BEGIN_STMT
  timeout_11 = timeout_4 + 65535;
  # DEBUG timeout => timeout_11
  # DEBUG BEGIN_STMT
  _3 = &class_8(D)->pe[0];
  state_13 = pfe_pe_get_fw_state (_3);
  # DEBUG state => state_13
  # DEBUG BEGIN_STMT
  if (state_13 == 0)
    goto <bb 4>; [94.50%]
  else
    goto <bb 5>; [5.50%]

  <bb 4> [local count: 1014686025]:
  if (timeout_11 != 0)
    goto <bb 8>; [98.00%]
  else
    goto <bb 5>; [2.00%]

  <bb 8> [local count: 994392305]:
  goto <bb 3>; [100.00%]

  <bb 5> [local count: 79349521]:
  # timeout_2 = PHI <timeout_11(3), timeout_11(4)>
  # DEBUG BEGIN_STMT
  if (timeout_2 == 0)
    goto <bb 7>; [50.00%]
  else
    goto <bb 6>; [50.00%]

  <bb 6> [local count: 39674760]:
  # DEBUG BEGIN_STMT
  class_8(D)->enabled = 1;

  <bb 7> [local count: 79349521]:
  return;

}


pfe_class_reset (struct pfe_class_t * class)
{
  unsigned int _1;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  pfe_class_disable (class_3(D));
  # DEBUG BEGIN_STMT
  _1 = class_3(D)->cbus_base_va;
  pfe_class_cfg_reset (_1);
  # DEBUG BEGIN_STMT
  class_3(D)->enabled = 0;
  return;

}


pfe_class_dmem_heap_free (const struct pfe_class_t * class, addr_t addr)
{
  long unsigned int _1;
  struct blalloc_t * _2;
  long unsigned int _3;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  if (addr_5(D) == 0)
    goto <bb 5>; [50.00%]
  else
    goto <bb 3>; [50.00%]

  <bb 3> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  _1 = class_7(D)->dmem_heap_base;
  if (_1 > addr_5(D))
    goto <bb 5>; [67.00%]
  else
    goto <bb 4>; [33.00%]

  <bb 4> [local count: 177167401]:
  # DEBUG BEGIN_STMT
  _2 = class_7(D)->heap_context;
  _3 = addr_5(D) - _1;
  blalloc_free_offs (_2, _3);

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

}


pfe_class_dmem_heap_alloc (const struct pfe_class_t * class, uint32_t size)
{
  errno_t ret;
  addr_t addr;
  struct blalloc_t * _1;
  long unsigned int _2;
  unsigned int addr.0_3;
  long unsigned int _4;
  addr_t _13;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = class_7(D)->heap_context;
  ret_10 = blalloc_alloc_offs (_1, size_8(D), 0, &addr);
  # DEBUG ret => ret_10
  # DEBUG BEGIN_STMT
  if (ret_10 == 0)
    goto <bb 3>; [50.00%]
  else
    goto <bb 4>; [50.00%]

  <bb 3> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  _2 = class_7(D)->dmem_heap_base;
  addr.0_3 = addr;
  _4 = _2 + addr.0_3;
  addr = _4;
  goto <bb 5>; [100.00%]

  <bb 4> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  addr = 0;

  <bb 5> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _13 = addr;
  addr ={v} {CLOBBER};
  return _13;

}


pfe_class_dmem_heap_init (struct pfe_class_t * class)
{
  errno_t ret;
  union pfe_ct_pe_mmap_t mmap;
  struct pfe_pe_t * _1;
  long unsigned int _2;
  long unsigned int _3;
  long unsigned int _4;
  long unsigned int _5;
  long unsigned int _6;
  long unsigned int _7;
  long unsigned int _8;
  long unsigned int _9;
  long unsigned int _10;
  long unsigned int _11;
  struct blalloc_t * _12;
  long unsigned int _13;
  long unsigned int _14;
  long unsigned int _15;
  long unsigned int _16;
  long unsigned int _17;
  long unsigned int _18;
  long unsigned int _19;
  long unsigned int _20;
  long unsigned int _21;
  long unsigned int _22;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = &class_25(D)->pe[0];
  ret_28 = pfe_pe_get_mmap (_1, &mmap);
  # DEBUG ret => ret_28
  # DEBUG BEGIN_STMT
  if (ret_28 == 0)
    goto <bb 3>; [33.00%]
  else
    goto <bb 5>; [67.00%]

  <bb 3> [local count: 354334802]:
  # DEBUG BEGIN_STMT
  _2 = mmap.class_pe.dmem_heap_size;
  _3 = _2 >> 24;
  _4 = _2 >> 8;
  _5 = _4 & 65280;
  _6 = _3 | _5;
  _7 = _2 << 8;
  _8 = _7 & 16711680;
  _9 = _6 | _8;
  _10 = _2 << 24;
  _11 = _9 | _10;
  _12 = blalloc_create (_11, 4);
  class_25(D)->heap_context = _12;
  # DEBUG BEGIN_STMT
  if (_12 == 0B)
    goto <bb 5>; [18.75%]
  else
    goto <bb 4>; [81.25%]

  <bb 4> [local count: 287897027]:
  # DEBUG BEGIN_STMT
  _13 = mmap.class_pe.dmem_heap_base;
  _14 = _13 >> 24;
  _15 = _13 >> 8;
  _16 = _15 & 65280;
  _17 = _14 | _16;
  _18 = _13 << 8;
  _19 = _18 & 16711680;
  _20 = _17 | _19;
  _21 = _13 << 24;
  _22 = _20 | _21;
  class_25(D)->dmem_heap_base = _22;
  # DEBUG BEGIN_STMT
  # DEBUG ret => 0

  <bb 5> [local count: 1073741824]:
  # ret_23 = PHI <ret_28(2), 11(3), 0(4)>
  # DEBUG ret => ret_23
  # DEBUG BEGIN_STMT
  mmap ={v} {CLOBBER};
  return ret_23;

}


pfe_class_create (addr_t cbus_base_va, uint32_t pe_num, const struct pfe_class_cfg_t * cfg)
{
  errno_t ret;
  struct pfe_class_t * class;
  unsigned int _1;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG class => &classifier_instance
  # DEBUG BEGIN_STMT
  memset (&classifier_instance, 0, 1364);
  # DEBUG BEGIN_STMT
  classifier_instance.cbus_base_va = cbus_base_va_6(D);
  # DEBUG BEGIN_STMT
  if (pe_num_8(D) != 0)
    goto <bb 3>; [54.67%]
  else
    goto <bb 6>; [45.33%]

  <bb 3> [local count: 587014656]:
  # DEBUG BEGIN_STMT
  ret_10 = pfe_class_create_pe (&classifier_instance, cbus_base_va_6(D), pe_num_8(D));
  # DEBUG ret => ret_10
  # DEBUG BEGIN_STMT
  if (ret_10 != 0)
    goto <bb 4>; [29.00%]
  else
    goto <bb 5>; [71.00%]

  <bb 4> [local count: 170234250]:
  # DEBUG BEGIN_STMT
  pfe_class_destroy (&classifier_instance);
  # DEBUG BEGIN_STMT
  # DEBUG class => 0B
  # DEBUG BEGIN_STMT
  goto <bb 6>; [100.00%]

  <bb 5> [local count: 416780405]:
  # DEBUG class => &classifier_instance
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  pfe_class_reset (&classifier_instance);
  # DEBUG BEGIN_STMT
  oal_time_usleep (10);
  # DEBUG BEGIN_STMT
  pfe_class_disable (&classifier_instance);
  # DEBUG BEGIN_STMT
  _1 = classifier_instance.cbus_base_va;
  pfe_class_cfg_set_config (_1, cfg_15(D));

  <bb 6> [local count: 1073741824]:
  # class_2 = PHI <&classifier_instance(5), 0B(2), 0B(4)>
  # DEBUG class => class_2
  # DEBUG BEGIN_STMT
  return class_2;

}


pfe_class_irq_unmask (const struct pfe_class_t * class)
{
  <bb 2> [local count: 1073741824]:
  pfe_class_irq_mask (class_1(D)); [tail call]
  return;

}


pfe_class_irq_mask (const struct pfe_class_t * class)
{
  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  return;

}


pfe_class_isr (struct pfe_class_t * class)
{
  struct fci_msg_t msg;
  struct pfe_ct_buffer_t buf;
  uint32_t i;
  struct pfe_pe_t * _1;
  int _2;
  unsigned char _3;
  long unsigned int _4;
  long unsigned int _5;

  <bb 2> [local count: 118111602]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG i => 0
  goto <bb 6>; [100.00%]

  <bb 3> [local count: 955630223]:
  # DEBUG BEGIN_STMT
  _1 = &class_10(D)->pe[i_6];
  pfe_pe_lock (_1);
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  pfe_pe_get_fw_messages_nolock (_1);
  # DEBUG BEGIN_STMT
  pfe_pe_check_stalled_nolock (_1);
  # DEBUG BEGIN_STMT
  _2 = pfe_pe_get_data_nolock (_1, &buf);
  if (_2 == 0)
    goto <bb 4>; [33.00%]
  else
    goto <bb 5>; [67.00%]

  <bb 4> [local count: 315357973]:
  # DEBUG BEGIN_STMT
  msg.msg_cmd.code = 62209;
  # DEBUG BEGIN_STMT
  _3 = buf.len;
  _4 = (long unsigned int) _3;
  msg.msg_cmd.length = _4;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  memcpy (&msg.msg_cmd.payload, &buf.payload, _4);
  # DEBUG BEGIN_STMT
  fci_core_client_send_broadcast (&msg, 0B);
  # DEBUG ret => NULL
  # DEBUG BEGIN_STMT

  <bb 5> [local count: 955630223]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  pfe_pe_unlock (_1);
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  i_22 = i_6 + 1;
  # DEBUG i => i_22

  <bb 6> [local count: 1073741824]:
  # i_6 = PHI <0(2), i_22(5)>
  # DEBUG i => i_6
  # DEBUG BEGIN_STMT
  _5 = class_10(D)->pe_num;
  if (_5 > i_6)
    goto <bb 3>; [89.00%]
  else
    goto <bb 7>; [11.00%]

  <bb 7> [local count: 118111601]:
  # DEBUG BEGIN_STMT
  # DEBUG ret => 0
  # DEBUG BEGIN_STMT
  buf ={v} {CLOBBER};
  msg ={v} {CLOBBER};
  return 0;

}


