startup.c.017i.build_ssa_passes 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. init_data_bss ()
  2. {
  3. const uint32 * zeroTable_Ptr;
  4. const uint32 * initTable_Ptr;
  5. uint32 j;
  6. uint32 i;
  7. uint32 size;
  8. uint32 len;
  9. uint8 * ram;
  10. const uint8 * rom;
  11. const struct Sys_ZeroLayoutType * zero_layout;
  12. const struct Sys_CopyLayoutType * copy_layout;
  13. <bb 2> :
  14. # DEBUG BEGIN_STMT
  15. # DEBUG BEGIN_STMT
  16. # DEBUG BEGIN_STMT
  17. # DEBUG BEGIN_STMT
  18. # DEBUG BEGIN_STMT
  19. len = 0;
  20. # DEBUG BEGIN_STMT
  21. size = 0;
  22. # DEBUG BEGIN_STMT
  23. i = 0;
  24. # DEBUG BEGIN_STMT
  25. j = 0;
  26. # DEBUG BEGIN_STMT
  27. initTable_Ptr = &__INIT_TABLE;
  28. # DEBUG BEGIN_STMT
  29. zeroTable_Ptr = &__ZERO_TABLE;
  30. # DEBUG BEGIN_STMT
  31. len = *initTable_Ptr;
  32. # DEBUG BEGIN_STMT
  33. initTable_Ptr = initTable_Ptr + 4;
  34. # DEBUG BEGIN_STMT
  35. copy_layout = initTable_Ptr;
  36. # DEBUG BEGIN_STMT
  37. i = 0;
  38. goto <bb 7>; [INV]
  39. <bb 3> :
  40. # DEBUG BEGIN_STMT
  41. _1 = i * 12;
  42. _2 = copy_layout + _1;
  43. rom = _2->rom_start;
  44. # DEBUG BEGIN_STMT
  45. _3 = i * 12;
  46. _4 = copy_layout + _3;
  47. ram = _4->ram_start;
  48. # DEBUG BEGIN_STMT
  49. _5 = i * 12;
  50. _6 = copy_layout + _5;
  51. _7 = _6->rom_end;
  52. _8 = (long unsigned int) _7;
  53. _9 = i * 12;
  54. _10 = copy_layout + _9;
  55. _11 = _10->rom_start;
  56. _12 = (long unsigned int) _11;
  57. size = _8 - _12;
  58. # DEBUG BEGIN_STMT
  59. j = 0;
  60. goto <bb 5>; [INV]
  61. <bb 4> :
  62. # DEBUG BEGIN_STMT
  63. _13 = rom + j;
  64. _14 = ram + j;
  65. _15 = *_13;
  66. *_14 = _15;
  67. # DEBUG BEGIN_STMT
  68. j = j + 1;
  69. <bb 5> :
  70. # DEBUG BEGIN_STMT
  71. if (j < size)
  72. goto <bb 4>; [INV]
  73. else
  74. goto <bb 6>; [INV]
  75. <bb 6> :
  76. # DEBUG BEGIN_STMT
  77. i = i + 1;
  78. <bb 7> :
  79. # DEBUG BEGIN_STMT
  80. if (i < len)
  81. goto <bb 3>; [INV]
  82. else
  83. goto <bb 8>; [INV]
  84. <bb 8> :
  85. # DEBUG BEGIN_STMT
  86. len = *zeroTable_Ptr;
  87. # DEBUG BEGIN_STMT
  88. zeroTable_Ptr = zeroTable_Ptr + 4;
  89. # DEBUG BEGIN_STMT
  90. zero_layout = zeroTable_Ptr;
  91. # DEBUG BEGIN_STMT
  92. i = 0;
  93. goto <bb 13>; [INV]
  94. <bb 9> :
  95. # DEBUG BEGIN_STMT
  96. _16 = i * 8;
  97. _17 = zero_layout + _16;
  98. ram = _17->ram_start;
  99. # DEBUG BEGIN_STMT
  100. _18 = i * 8;
  101. _19 = zero_layout + _18;
  102. _20 = _19->ram_end;
  103. _21 = (long unsigned int) _20;
  104. _22 = i * 8;
  105. _23 = zero_layout + _22;
  106. _24 = _23->ram_start;
  107. _25 = (long unsigned int) _24;
  108. size = _21 - _25;
  109. # DEBUG BEGIN_STMT
  110. j = 0;
  111. goto <bb 11>; [INV]
  112. <bb 10> :
  113. # DEBUG BEGIN_STMT
  114. _26 = ram + j;
  115. *_26 = 0;
  116. # DEBUG BEGIN_STMT
  117. j = j + 1;
  118. <bb 11> :
  119. # DEBUG BEGIN_STMT
  120. if (j < size)
  121. goto <bb 10>; [INV]
  122. else
  123. goto <bb 12>; [INV]
  124. <bb 12> :
  125. # DEBUG BEGIN_STMT
  126. i = i + 1;
  127. <bb 13> :
  128. # DEBUG BEGIN_STMT
  129. if (i < len)
  130. goto <bb 9>; [INV]
  131. else
  132. goto <bb 14>; [INV]
  133. <bb 14> :
  134. return;
  135. }