pointer-sign-bits.ll 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220
  1. ; RUN: opt < %s -analyze -scalar-evolution
  2. target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:32:32"
  3. %JavaObject = type { [0 x i32 (...)*]*, i8* }
  4. define void @JnJVM_antlr_CSharpCodeGenerator_genBitSet__Lantlr_collections_impl_BitSet_2I(%JavaObject*, %JavaObject*, i32) {
  5. start:
  6. br i1 undef, label %"stack overflow", label %"no stack overflow"
  7. "GOTO or IF*2": ; preds = %"true verifyAndComputePtr89", %verifyNullCont84
  8. unreachable
  9. "GOTO or IF*5": ; preds = %"true verifyAndComputePtr127", %"GOTO or IF*6"
  10. unreachable
  11. "GOTO or IF*6": ; preds = %"true verifyAndComputePtr131.GOTO or IF*6_crit_edge", %"true verifyAndComputePtr89"
  12. %indvar = phi i32 [ %indvar.next, %"true verifyAndComputePtr131.GOTO or IF*6_crit_edge" ], [ 0, %"true verifyAndComputePtr89" ] ; <i32> [#uses=2]
  13. %.0.in = add i32 %indvar, 0 ; <i32> [#uses=1]
  14. %.0 = add i32 %.0.in, 1 ; <i32> [#uses=1]
  15. %3 = icmp slt i32 %.0, %4 ; <i1> [#uses=1]
  16. br i1 %3, label %verifyNullCont126, label %"GOTO or IF*5"
  17. end: ; preds = %"no exception block35"
  18. ret void
  19. "stack overflow": ; preds = %start
  20. ret void
  21. "no stack overflow": ; preds = %start
  22. br i1 undef, label %verifyNullCont, label %"no stack overflow.end_crit_edge"
  23. "no stack overflow.end_crit_edge": ; preds = %"no stack overflow"
  24. ret void
  25. verifyNullCont: ; preds = %"no stack overflow"
  26. br i1 undef, label %verifyNullCont9, label %verifyNullCont.end_crit_edge
  27. verifyNullCont.end_crit_edge: ; preds = %verifyNullCont
  28. ret void
  29. verifyNullCont9: ; preds = %verifyNullCont
  30. br i1 undef, label %verifyNullCont12, label %verifyNullCont9.end_crit_edge
  31. verifyNullCont9.end_crit_edge: ; preds = %verifyNullCont9
  32. ret void
  33. verifyNullCont12: ; preds = %verifyNullCont9
  34. br i1 undef, label %"no exception block13", label %verifyNullCont12.end_crit_edge
  35. verifyNullCont12.end_crit_edge: ; preds = %verifyNullCont12
  36. ret void
  37. "no exception block13": ; preds = %verifyNullCont12
  38. br i1 undef, label %verifyNullExit14, label %verifyNullCont15
  39. verifyNullExit14: ; preds = %"no exception block13"
  40. ret void
  41. verifyNullCont15: ; preds = %"no exception block13"
  42. br i1 undef, label %"no exception block16", label %verifyNullCont15.end_crit_edge
  43. verifyNullCont15.end_crit_edge: ; preds = %verifyNullCont15
  44. ret void
  45. "no exception block16": ; preds = %verifyNullCont15
  46. br i1 undef, label %verifyNullExit17, label %verifyNullCont18
  47. verifyNullExit17: ; preds = %"no exception block16"
  48. ret void
  49. verifyNullCont18: ; preds = %"no exception block16"
  50. br i1 undef, label %"no exception block19", label %verifyNullCont18.end_crit_edge
  51. verifyNullCont18.end_crit_edge: ; preds = %verifyNullCont18
  52. ret void
  53. "no exception block19": ; preds = %verifyNullCont18
  54. br i1 undef, label %verifyNullExit20, label %verifyNullCont21
  55. verifyNullExit20: ; preds = %"no exception block19"
  56. ret void
  57. verifyNullCont21: ; preds = %"no exception block19"
  58. br i1 undef, label %verifyNullCont24, label %verifyNullCont21.end_crit_edge
  59. verifyNullCont21.end_crit_edge: ; preds = %verifyNullCont21
  60. ret void
  61. verifyNullCont24: ; preds = %verifyNullCont21
  62. br i1 undef, label %verifyNullCont27, label %verifyNullCont24.end_crit_edge
  63. verifyNullCont24.end_crit_edge: ; preds = %verifyNullCont24
  64. ret void
  65. verifyNullCont27: ; preds = %verifyNullCont24
  66. br i1 undef, label %verifyNullCont32, label %verifyNullCont27.end_crit_edge
  67. verifyNullCont27.end_crit_edge: ; preds = %verifyNullCont27
  68. ret void
  69. verifyNullCont32: ; preds = %verifyNullCont27
  70. br i1 undef, label %verifyNullExit33, label %verifyNullCont34
  71. verifyNullExit33: ; preds = %verifyNullCont32
  72. ret void
  73. verifyNullCont34: ; preds = %verifyNullCont32
  74. br i1 undef, label %"no exception block35", label %verifyNullCont34.end_crit_edge
  75. verifyNullCont34.end_crit_edge: ; preds = %verifyNullCont34
  76. ret void
  77. "no exception block35": ; preds = %verifyNullCont34
  78. br i1 undef, label %end, label %verifyNullCont60
  79. verifyNullCont60: ; preds = %"no exception block35"
  80. br i1 undef, label %verifyNullCont63, label %verifyNullCont60.end_crit_edge
  81. verifyNullCont60.end_crit_edge: ; preds = %verifyNullCont60
  82. ret void
  83. verifyNullCont63: ; preds = %verifyNullCont60
  84. br i1 undef, label %"no exception block64", label %verifyNullCont63.end_crit_edge
  85. verifyNullCont63.end_crit_edge: ; preds = %verifyNullCont63
  86. ret void
  87. "no exception block64": ; preds = %verifyNullCont63
  88. br i1 undef, label %verifyNullExit65, label %verifyNullCont66
  89. verifyNullExit65: ; preds = %"no exception block64"
  90. ret void
  91. verifyNullCont66: ; preds = %"no exception block64"
  92. br i1 undef, label %"no exception block67", label %verifyNullCont66.end_crit_edge
  93. verifyNullCont66.end_crit_edge: ; preds = %verifyNullCont66
  94. ret void
  95. "no exception block67": ; preds = %verifyNullCont66
  96. br i1 undef, label %verifyNullExit68, label %verifyNullCont69
  97. verifyNullExit68: ; preds = %"no exception block67"
  98. ret void
  99. verifyNullCont69: ; preds = %"no exception block67"
  100. br i1 undef, label %"no exception block70", label %verifyNullCont69.end_crit_edge
  101. verifyNullCont69.end_crit_edge: ; preds = %verifyNullCont69
  102. ret void
  103. "no exception block70": ; preds = %verifyNullCont69
  104. br i1 undef, label %verifyNullExit71, label %verifyNullCont72
  105. verifyNullExit71: ; preds = %"no exception block70"
  106. ret void
  107. verifyNullCont72: ; preds = %"no exception block70"
  108. br i1 undef, label %verifyNullCont75, label %verifyNullCont72.end_crit_edge
  109. verifyNullCont72.end_crit_edge: ; preds = %verifyNullCont72
  110. ret void
  111. verifyNullCont75: ; preds = %verifyNullCont72
  112. br i1 undef, label %verifyNullCont78, label %verifyNullCont75.end_crit_edge
  113. verifyNullCont75.end_crit_edge: ; preds = %verifyNullCont75
  114. ret void
  115. verifyNullCont78: ; preds = %verifyNullCont75
  116. br i1 undef, label %"verifyNullCont78.GOTO or IF*4_crit_edge", label %verifyNullCont78.end_crit_edge
  117. "verifyNullCont78.GOTO or IF*4_crit_edge": ; preds = %verifyNullCont78
  118. br i1 undef, label %verifyNullExit80, label %verifyNullCont81
  119. verifyNullCont78.end_crit_edge: ; preds = %verifyNullCont78
  120. ret void
  121. verifyNullExit80: ; preds = %"verifyNullCont78.GOTO or IF*4_crit_edge"
  122. ret void
  123. verifyNullCont81: ; preds = %"verifyNullCont78.GOTO or IF*4_crit_edge"
  124. %4 = ptrtoint i8* undef to i32 ; <i32> [#uses=2]
  125. %5 = icmp slt i32 0, %4 ; <i1> [#uses=1]
  126. br i1 %5, label %verifyNullCont84, label %verifyNullCont172
  127. verifyNullCont84: ; preds = %verifyNullCont81
  128. br i1 undef, label %"GOTO or IF*2", label %verifyNullCont86
  129. verifyNullCont86: ; preds = %verifyNullCont84
  130. br i1 undef, label %"true verifyAndComputePtr", label %"false verifyAndComputePtr"
  131. "true verifyAndComputePtr": ; preds = %verifyNullCont86
  132. br i1 undef, label %"true verifyAndComputePtr89", label %"false verifyAndComputePtr90"
  133. "false verifyAndComputePtr": ; preds = %verifyNullCont86
  134. ret void
  135. "true verifyAndComputePtr89": ; preds = %"true verifyAndComputePtr"
  136. br i1 undef, label %"GOTO or IF*6", label %"GOTO or IF*2"
  137. "false verifyAndComputePtr90": ; preds = %"true verifyAndComputePtr"
  138. ret void
  139. verifyNullCont126: ; preds = %"GOTO or IF*6"
  140. br i1 undef, label %"true verifyAndComputePtr127", label %"false verifyAndComputePtr128"
  141. "true verifyAndComputePtr127": ; preds = %verifyNullCont126
  142. br i1 undef, label %"true verifyAndComputePtr131.GOTO or IF*6_crit_edge", label %"GOTO or IF*5"
  143. "false verifyAndComputePtr128": ; preds = %verifyNullCont126
  144. ret void
  145. "true verifyAndComputePtr131.GOTO or IF*6_crit_edge": ; preds = %"true verifyAndComputePtr127"
  146. %indvar.next = add i32 %indvar, 1 ; <i32> [#uses=1]
  147. br label %"GOTO or IF*6"
  148. verifyNullCont172: ; preds = %verifyNullCont81
  149. unreachable
  150. }