
IPA constant propagation start:

IPA structures before propagation:

Jump functions:
  Jump functions of caller  Tm_BusyWait1us32bit/5:
  Jump functions of caller  oal_time_mdelay/4:
    callsite  oal_time_mdelay/4 -> oal_time_msleep/2 : 
       param 0: PASS THROUGH: 0, op nop_expr
         value: 0x0, mask: 0xffffffff
         Unknown VR
  Jump functions of caller  oal_time_udelay/3:
    callsite  oal_time_udelay/3 -> oal_time_usleep/1 : 
       param 0: PASS THROUGH: 0, op nop_expr
         value: 0x0, mask: 0xffffffff
         Unknown VR
  Jump functions of caller  oal_time_msleep/2:
    callsite  oal_time_msleep/2 -> oal_time_usleep/1 : 
       param 0: CONST: 1000
         value: 0x3e8, mask: 0x0
         Unknown VR
  Jump functions of caller  oal_time_usleep/1:

 Propagating constants:

Not considering oal_time_mdelay for cloning; -fipa-cp-clone disabled.
Not considering oal_time_udelay for cloning; -fipa-cp-clone disabled.
Not considering oal_time_msleep for cloning; -fipa-cp-clone disabled.
Not considering oal_time_usleep for cloning; -fipa-cp-clone disabled.

overall_size: 28, max_new_size: 11001

IPA lattices after all propagation:

Lattices:
  Node: oal_time_mdelay/4:
    param [0]: BOTTOM
         ctxs: BOTTOM
         Bits unusable (BOTTOM)
         VARYING
        AGGS BOTTOM
  Node: oal_time_udelay/3:
    param [0]: BOTTOM
         ctxs: BOTTOM
         Bits unusable (BOTTOM)
         VARYING
        AGGS BOTTOM
  Node: oal_time_msleep/2:
    param [0]: BOTTOM
         ctxs: BOTTOM
         Bits unusable (BOTTOM)
         VARYING
        AGGS BOTTOM
  Node: oal_time_usleep/1:
    param [0]: BOTTOM
         ctxs: BOTTOM
         Bits unusable (BOTTOM)
         VARYING
        AGGS BOTTOM

IPA decision stage:


IPA constant propagation end

Reclaiming functions:
Reclaiming variables:
Clearing address taken flags:
Symbol table:

Tm_BusyWait1us32bit/5 (Tm_BusyWait1us32bit) @06b230e0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: oal_time_usleep/1 (118111601 (estimated locally),1.00 per call) oal_time_usleep/1 (955630223 (estimated locally),8.09 per call) 
  Calls: 
oal_time_mdelay/4 (oal_time_mdelay) @06ad4620
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: oal_time_msleep/2 (1073741824 (estimated locally),1.00 per call) 
oal_time_udelay/3 (oal_time_udelay) @06ad4d20
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: oal_time_usleep/1 (1073741824 (estimated locally),1.00 per call) 
oal_time_msleep/2 (oal_time_msleep) @06ad4a80
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:118111600 (estimated locally) body optimize_size
  Called by: oal_time_mdelay/4 (1073741824 (estimated locally),1.00 per call) 
  Calls: oal_time_usleep/1 (955630223 (estimated locally),8.09 per call) 
oal_time_usleep/1 (oal_time_usleep) @06ad47e0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:118111600 (estimated locally) body optimize_size
  Called by: oal_time_udelay/3 (1073741824 (estimated locally),1.00 per call) oal_time_msleep/2 (955630223 (estimated locally),8.09 per call) 
  Calls: Tm_BusyWait1us32bit/5 (118111601 (estimated locally),1.00 per call) Tm_BusyWait1us32bit/5 (955630223 (estimated locally),8.09 per call) 

;; Function oal_time_usleep (oal_time_usleep, funcdef_no=1, decl_uid=5621, cgraph_uid=2, symbol_order=1)

Modification phase of node oal_time_usleep/1
oal_time_usleep (uint32_t usec)
{
  uint32_t usec_ctr;
  unsigned char _1;

  <bb 2> [local count: 118111600]:
  # DEBUG BEGIN_STMT
  # DEBUG usec_ctr => usec_4(D)
  # DEBUG BEGIN_STMT
  goto <bb 4>; [100.00%]

  <bb 3> [local count: 955630223]:
  # DEBUG BEGIN_STMT
  Tm_BusyWait1us32bit (250);
  # DEBUG BEGIN_STMT
  usec_ctr_9 = usec_ctr_2 + 4294967046;
  # DEBUG usec_ctr => usec_ctr_9

  <bb 4> [local count: 1073741824]:
  # usec_ctr_2 = PHI <usec_4(D)(2), usec_ctr_9(3)>
  # DEBUG usec_ctr => usec_ctr_2
  # DEBUG BEGIN_STMT
  if (usec_ctr_2 > 250)
    goto <bb 3>; [89.00%]
  else
    goto <bb 5>; [11.00%]

  <bb 5> [local count: 118111601]:
  # usec_ctr_5 = PHI <usec_ctr_2(4)>
  # DEBUG BEGIN_STMT
  _1 = (unsigned char) usec_ctr_5;
  Tm_BusyWait1us32bit (_1);
  return;

}



;; Function oal_time_msleep (oal_time_msleep, funcdef_no=2, decl_uid=5623, cgraph_uid=3, symbol_order=2)

Modification phase of node oal_time_msleep/2
oal_time_msleep (uint32_t msec)
{
  uint32_t u32Ctr;

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

  <bb 3> [local count: 955630223]:
  # DEBUG BEGIN_STMT
  oal_time_usleep (1000);
  # DEBUG BEGIN_STMT
  u32Ctr_6 = u32Ctr_1 + 1;
  # DEBUG u32Ctr => u32Ctr_6

  <bb 4> [local count: 1073741824]:
  # u32Ctr_1 = PHI <0(2), u32Ctr_6(3)>
  # DEBUG u32Ctr => u32Ctr_1
  # DEBUG BEGIN_STMT
  if (u32Ctr_1 < msec_4(D))
    goto <bb 3>; [89.00%]
  else
    goto <bb 5>; [11.00%]

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

}



;; Function oal_time_udelay (oal_time_udelay, funcdef_no=3, decl_uid=5625, cgraph_uid=4, symbol_order=3)

Modification phase of node oal_time_udelay/3
oal_time_udelay (uint32_t usec)
{
  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  oal_time_usleep (usec_2(D));
  return;

}



;; Function oal_time_mdelay (oal_time_mdelay, funcdef_no=4, decl_uid=5627, cgraph_uid=5, symbol_order=4)

Modification phase of node oal_time_mdelay/4
oal_time_mdelay (uint32_t msec)
{
  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  oal_time_msleep (msec_2(D));
  return;

}


