startup.c.017i.build_ssa_passes 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  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. len = 0;
  15. size = 0;
  16. i = 0;
  17. j = 0;
  18. initTable_Ptr = &__INIT_TABLE;
  19. zeroTable_Ptr = &__ZERO_TABLE;
  20. len = *initTable_Ptr;
  21. initTable_Ptr = initTable_Ptr + 4;
  22. copy_layout = initTable_Ptr;
  23. i = 0;
  24. goto <bb 7>; [INV]
  25. <bb 3> :
  26. _1 = i * 12;
  27. _2 = copy_layout + _1;
  28. rom = _2->rom_start;
  29. _3 = i * 12;
  30. _4 = copy_layout + _3;
  31. ram = _4->ram_start;
  32. _5 = i * 12;
  33. _6 = copy_layout + _5;
  34. _7 = _6->rom_end;
  35. _8 = (long unsigned int) _7;
  36. _9 = i * 12;
  37. _10 = copy_layout + _9;
  38. _11 = _10->rom_start;
  39. _12 = (long unsigned int) _11;
  40. size = _8 - _12;
  41. j = 0;
  42. goto <bb 5>; [INV]
  43. <bb 4> :
  44. _13 = rom + j;
  45. _14 = ram + j;
  46. _15 = *_13;
  47. *_14 = _15;
  48. j = j + 1;
  49. <bb 5> :
  50. if (j < size)
  51. goto <bb 4>; [INV]
  52. else
  53. goto <bb 6>; [INV]
  54. <bb 6> :
  55. i = i + 1;
  56. <bb 7> :
  57. if (i < len)
  58. goto <bb 3>; [INV]
  59. else
  60. goto <bb 8>; [INV]
  61. <bb 8> :
  62. len = *zeroTable_Ptr;
  63. zeroTable_Ptr = zeroTable_Ptr + 4;
  64. zero_layout = zeroTable_Ptr;
  65. i = 0;
  66. goto <bb 13>; [INV]
  67. <bb 9> :
  68. _16 = i * 8;
  69. _17 = zero_layout + _16;
  70. ram = _17->ram_start;
  71. _18 = i * 8;
  72. _19 = zero_layout + _18;
  73. _20 = _19->ram_end;
  74. _21 = (long unsigned int) _20;
  75. _22 = i * 8;
  76. _23 = zero_layout + _22;
  77. _24 = _23->ram_start;
  78. _25 = (long unsigned int) _24;
  79. size = _21 - _25;
  80. j = 0;
  81. goto <bb 11>; [INV]
  82. <bb 10> :
  83. _26 = ram + j;
  84. *_26 = 0;
  85. j = j + 1;
  86. <bb 11> :
  87. if (j < size)
  88. goto <bb 10>; [INV]
  89. else
  90. goto <bb 12>; [INV]
  91. <bb 12> :
  92. i = i + 1;
  93. <bb 13> :
  94. if (i < len)
  95. goto <bb 9>; [INV]
  96. else
  97. goto <bb 14>; [INV]
  98. <bb 14> :
  99. return;
  100. }