nvic.c.072i.cp 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195
  1. IPA constant propagation start:
  2. IPA structures before propagation:
  3. Jump functions:
  4. Jump functions of caller NVIC_SetPriority/3:
  5. Jump functions of caller NVIC_DisableIRQ/2:
  6. Jump functions of caller NVIC_EnableIRQ/1:
  7. Jump functions of caller NVIC_SetPriorityGrouping/0:
  8. Propagating constants:
  9. Not considering NVIC_SetPriority for cloning; -fipa-cp-clone disabled.
  10. Not considering NVIC_DisableIRQ for cloning; -fipa-cp-clone disabled.
  11. Not considering NVIC_EnableIRQ for cloning; -fipa-cp-clone disabled.
  12. Not considering NVIC_SetPriorityGrouping for cloning; -fipa-cp-clone disabled.
  13. overall_size: 26, max_new_size: 11001
  14. IPA lattices after all propagation:
  15. Lattices:
  16. Node: NVIC_SetPriority/3:
  17. param [0]: BOTTOM
  18. ctxs: BOTTOM
  19. Bits unusable (BOTTOM)
  20. VARYING
  21. AGGS BOTTOM
  22. param [1]: BOTTOM
  23. ctxs: BOTTOM
  24. Bits unusable (BOTTOM)
  25. VARYING
  26. AGGS BOTTOM
  27. Node: NVIC_DisableIRQ/2:
  28. param [0]: BOTTOM
  29. ctxs: BOTTOM
  30. Bits unusable (BOTTOM)
  31. VARYING
  32. AGGS BOTTOM
  33. Node: NVIC_EnableIRQ/1:
  34. param [0]: BOTTOM
  35. ctxs: BOTTOM
  36. Bits unusable (BOTTOM)
  37. VARYING
  38. AGGS BOTTOM
  39. Node: NVIC_SetPriorityGrouping/0:
  40. param [0]: BOTTOM
  41. ctxs: BOTTOM
  42. Bits unusable (BOTTOM)
  43. VARYING
  44. AGGS BOTTOM
  45. IPA decision stage:
  46. IPA constant propagation end
  47. Reclaiming functions:
  48. Reclaiming variables:
  49. Clearing address taken flags:
  50. Symbol table:
  51. NVIC_SetPriority/3 (NVIC_SetPriority) @060f7620
  52. Type: function definition analyzed
  53. Visibility: externally_visible public
  54. References:
  55. Referring:
  56. Availability: available
  57. Function flags: count:1073741824 (estimated locally) body optimize_size
  58. Called by:
  59. Calls:
  60. NVIC_DisableIRQ/2 (NVIC_DisableIRQ) @060f7d20
  61. Type: function definition analyzed
  62. Visibility: externally_visible public
  63. References:
  64. Referring:
  65. Availability: available
  66. Function flags: count:1073741824 (estimated locally) body optimize_size
  67. Called by:
  68. Calls:
  69. NVIC_EnableIRQ/1 (NVIC_EnableIRQ) @060f7a80
  70. Type: function definition analyzed
  71. Visibility: externally_visible public
  72. References:
  73. Referring:
  74. Availability: available
  75. Function flags: count:1073741824 (estimated locally) body optimize_size
  76. Called by:
  77. Calls:
  78. NVIC_SetPriorityGrouping/0 (NVIC_SetPriorityGrouping) @060f77e0
  79. Type: function definition analyzed
  80. Visibility: externally_visible public
  81. References:
  82. Referring:
  83. Availability: available
  84. Function flags: count:1073741824 (estimated locally) body optimize_size
  85. Called by:
  86. Calls:
  87. ;; Function NVIC_SetPriorityGrouping (NVIC_SetPriorityGrouping, funcdef_no=0, decl_uid=6181, cgraph_uid=1, symbol_order=0)
  88. Modification phase of node NVIC_SetPriorityGrouping/0
  89. NVIC_SetPriorityGrouping (uint32 PriorityGroup)
  90. {
  91. long unsigned int _1;
  92. long unsigned int _2;
  93. long unsigned int _3;
  94. <bb 2> [local count: 1073741824]:
  95. # DEBUG BEGIN_STMT
  96. _1 ={v} MEM[(struct S32_SCB_Type *)3758153728B].AIRCR;
  97. _2 = _1 & 4294965503;
  98. _3 = _2 | PriorityGroup_5(D);
  99. MEM[(struct S32_SCB_Type *)3758153728B].AIRCR ={v} _3;
  100. return;
  101. }
  102. ;; Function NVIC_EnableIRQ (NVIC_EnableIRQ, funcdef_no=1, decl_uid=6183, cgraph_uid=2, symbol_order=1)
  103. Modification phase of node NVIC_EnableIRQ/1
  104. NVIC_EnableIRQ (uint8 IRQn)
  105. {
  106. long unsigned int _1;
  107. unsigned char _2;
  108. unsigned char _3;
  109. long unsigned int _4;
  110. long unsigned int _5;
  111. <bb 2> [local count: 1073741824]:
  112. # DEBUG BEGIN_STMT
  113. _2 = IRQn_6(D) & 31;
  114. _1 = (long unsigned int) _2;
  115. _3 = IRQn_6(D) >> 5;
  116. _4 = (long unsigned int) _3;
  117. _5 = 1 << _1;
  118. MEM[(struct S32_NVIC_Type *)3758153984B].ISER[_4] ={v} _5;
  119. return;
  120. }
  121. ;; Function NVIC_DisableIRQ (NVIC_DisableIRQ, funcdef_no=2, decl_uid=6185, cgraph_uid=3, symbol_order=2)
  122. Modification phase of node NVIC_DisableIRQ/2
  123. NVIC_DisableIRQ (uint8 IRQn)
  124. {
  125. long unsigned int _1;
  126. unsigned char _2;
  127. unsigned char _3;
  128. long unsigned int _4;
  129. long unsigned int _5;
  130. <bb 2> [local count: 1073741824]:
  131. # DEBUG BEGIN_STMT
  132. _2 = IRQn_6(D) & 31;
  133. _1 = (long unsigned int) _2;
  134. _3 = IRQn_6(D) >> 5;
  135. _4 = (long unsigned int) _3;
  136. _5 = 1 << _1;
  137. MEM[(struct S32_NVIC_Type *)3758153984B].ICER[_4] ={v} _5;
  138. return;
  139. }
  140. ;; Function NVIC_SetPriority (NVIC_SetPriority, funcdef_no=3, decl_uid=6188, cgraph_uid=4, symbol_order=3)
  141. Modification phase of node NVIC_SetPriority/3
  142. NVIC_SetPriority (uint8 IRQn, uint8 priority)
  143. {
  144. long unsigned int _1;
  145. long unsigned int _2;
  146. long unsigned int _3;
  147. unsigned char _4;
  148. <bb 2> [local count: 1073741824]:
  149. # DEBUG BEGIN_STMT
  150. # DEBUG shift => 4
  151. # DEBUG BEGIN_STMT
  152. _1 = (long unsigned int) priority_5(D);
  153. _2 = _1 << 4;
  154. _3 = (long unsigned int) IRQn_6(D);
  155. _4 = (unsigned char) _2;
  156. MEM[(struct S32_NVIC_Type *)3758153984B].IP[_3] ={v} _4;
  157. return;
  158. }