2006-11-09-InlineCGUpdate-2.ll 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252
  1. ; RUN: opt < %s -inline -prune-eh -disable-output
  2. ; PR993
  3. target datalayout = "e-p:32:32"
  4. target triple = "i386-unknown-openbsd3.9"
  5. %"struct.__gnu_cxx::__normal_iterator<char*,std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" = type { i8* }
  6. %"struct.__gnu_cxx::char_producer<char>" = type { i32 (...)** }
  7. %struct.__sFILE = type { i8*, i32, i32, i16, i16, %struct.__sbuf, i32, i8*, i32 (i8*)*, i32 (i8*, i8*, i32)*, i64 (i8*, i64, i32)*, i32 (i8*, i8*, i32)*, %struct.__sbuf, i8*, i32, [3 x i8], [1 x i8], %struct.__sbuf, i32, i64 }
  8. %struct.__sbuf = type { i8*, i32 }
  9. %"struct.std::__basic_file<char>" = type { %struct.__sFILE*, i1 }
  10. %"struct.std::__codecvt_abstract_base<char,char,__mbstate_t>" = type { %"struct.std::locale::facet" }
  11. %"struct.std::bad_alloc" = type { %"struct.__gnu_cxx::char_producer<char>" }
  12. %"struct.std::basic_filebuf<char,std::char_traits<char> >" = type { %"struct.std::basic_streambuf<char,std::char_traits<char> >", i32, %"struct.std::__basic_file<char>", i32, %union.__mbstate_t, %union.__mbstate_t, i8*, i32, i1, i1, i1, i1, i8, i8*, i8*, i1, %"struct.std::codecvt<char,char,__mbstate_t>"*, i8*, i32, i8*, i8* }
  13. %"struct.std::basic_ios<char,std::char_traits<char> >" = type { %"struct.std::ios_base", %"struct.std::basic_ostream<char,std::char_traits<char> >"*, i8, i1, %"struct.std::basic_streambuf<char,std::char_traits<char> >"*, %"struct.std::ctype<char>"*, %"struct.std::__codecvt_abstract_base<char,char,__mbstate_t>"*, %"struct.std::__codecvt_abstract_base<char,char,__mbstate_t>"* }
  14. %"struct.std::basic_iostream<char,std::char_traits<char> >" = type { %"struct.std::locale::facet", %"struct.__gnu_cxx::char_producer<char>", %"struct.std::basic_ios<char,std::char_traits<char> >" }
  15. %"struct.std::basic_ofstream<char,std::char_traits<char> >" = type { %"struct.__gnu_cxx::char_producer<char>", %"struct.std::basic_filebuf<char,std::char_traits<char> >", %"struct.std::basic_ios<char,std::char_traits<char> >" }
  16. %"struct.std::basic_ostream<char,std::char_traits<char> >" = type { i32 (...)**, %"struct.std::basic_ios<char,std::char_traits<char> >" }
  17. %"struct.std::basic_streambuf<char,std::char_traits<char> >" = type { i32 (...)**, i8*, i8*, i8*, i8*, i8*, i8*, %"struct.std::locale" }
  18. %"struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >" = type { %"struct.__gnu_cxx::__normal_iterator<char*,std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" }
  19. %"struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Rep" = type { %"struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Rep_base" }
  20. %"struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Rep_base" = type { i32, i32, i32 }
  21. %"struct.std::codecvt<char,char,__mbstate_t>" = type { %"struct.std::__codecvt_abstract_base<char,char,__mbstate_t>", i32* }
  22. %"struct.std::ctype<char>" = type { %"struct.std::__codecvt_abstract_base<char,char,__mbstate_t>", i32*, i1, i32*, i32*, i32* }
  23. %"struct.std::domain_error" = type { %"struct.std::logic_error" }
  24. %"struct.std::ios_base" = type { i32 (...)**, i32, i32, i32, i32, i32, %"struct.std::ios_base::_Callback_list"*, %struct.__sbuf, [8 x %struct.__sbuf], i32, %struct.__sbuf*, %"struct.std::locale" }
  25. %"struct.std::ios_base::_Callback_list" = type { %"struct.std::ios_base::_Callback_list"*, void (i32, %"struct.std::ios_base"*, i32)*, i32, i32 }
  26. %"struct.std::ios_base::_Words" = type { i8*, i32 }
  27. %"struct.std::locale" = type { %"struct.std::locale::_Impl"* }
  28. %"struct.std::locale::_Impl" = type { i32, %"struct.std::locale::facet"**, i32, %"struct.std::locale::facet"**, i8** }
  29. %"struct.std::locale::facet" = type { i32 (...)**, i32 }
  30. %"struct.std::logic_error" = type { %"struct.__gnu_cxx::char_producer<char>", %"struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >" }
  31. %union.__mbstate_t = type { i64, [120 x i8] }
  32. @.str_1 = external global [17 x i8] ; <[17 x i8]*> [#uses=0]
  33. @.str_9 = external global [24 x i8] ; <[24 x i8]*> [#uses=0]
  34. define void @main() {
  35. entry:
  36. call fastcc void @_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode( )
  37. ret void
  38. }
  39. define fastcc void @_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode() {
  40. entry:
  41. %tmp.6 = icmp eq %"struct.std::basic_filebuf<char,std::char_traits<char> >"* null, null ; <i1> [#uses=1]
  42. br i1 %tmp.6, label %then, label %UnifiedReturnBlock
  43. then: ; preds = %entry
  44. tail call fastcc void @_ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate( )
  45. ret void
  46. UnifiedReturnBlock: ; preds = %entry
  47. ret void
  48. }
  49. define fastcc void @_ZN10__cxxabiv111__terminateEPFvvE() {
  50. entry:
  51. unreachable
  52. }
  53. define void @_ZNSdD0Ev() {
  54. entry:
  55. unreachable
  56. }
  57. define void @_ZThn8_NSdD1Ev() {
  58. entry:
  59. ret void
  60. }
  61. define void @_ZNSt13basic_filebufIcSt11char_traitsIcEED0Ev() {
  62. entry:
  63. ret void
  64. }
  65. define void @_ZNSt13basic_filebufIcSt11char_traitsIcEE9pbackfailEi() {
  66. entry:
  67. unreachable
  68. }
  69. define fastcc void @_ZNSoD2Ev() {
  70. entry:
  71. unreachable
  72. }
  73. define fastcc void @_ZNSt9basic_iosIcSt11char_traitsIcEED2Ev() {
  74. entry:
  75. unreachable
  76. }
  77. define fastcc void @_ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate() {
  78. entry:
  79. tail call fastcc void @_ZSt19__throw_ios_failurePKc( )
  80. ret void
  81. }
  82. declare fastcc void @_ZNSaIcED1Ev()
  83. define fastcc void @_ZNSsC1EPKcRKSaIcE() {
  84. entry:
  85. tail call fastcc void @_ZNSs16_S_construct_auxIPKcEEPcT_S3_RKSaIcE12__false_type( )
  86. unreachable
  87. }
  88. define fastcc void @_ZSt14__convert_to_vIyEvPKcRT_RSt12_Ios_IostateRKPii() {
  89. entry:
  90. ret void
  91. }
  92. define fastcc void @_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej() {
  93. entry:
  94. ret void
  95. }
  96. define fastcc void @_ZSt19__throw_ios_failurePKc() {
  97. entry:
  98. call fastcc void @_ZNSsC1EPKcRKSaIcE( )
  99. unreachable
  100. }
  101. define void @_GLOBAL__D__ZSt23lexicographical_compareIPKaS1_EbT_S2_T0_S3_() {
  102. entry:
  103. ret void
  104. }
  105. define void @_ZNSt9bad_allocD1Ev() {
  106. entry:
  107. unreachable
  108. }
  109. define fastcc void @_ZSt19__throw_logic_errorPKc() personality i32 (...)* @__gxx_personality_v0 {
  110. entry:
  111. invoke fastcc void @_ZNSt11logic_errorC1ERKSs( )
  112. to label %try_exit.0 unwind label %try_catch.0
  113. try_catch.0: ; preds = %entry
  114. %exn = landingpad {i8*, i32}
  115. catch i8* null
  116. resume { i8*, i32 } %exn
  117. try_exit.0: ; preds = %entry
  118. unreachable
  119. }
  120. define fastcc void @_ZNSt11logic_errorC1ERKSs() {
  121. entry:
  122. call fastcc void @_ZNSsC1ERKSs( )
  123. ret void
  124. }
  125. define void @_ZNSt12domain_errorD1Ev() {
  126. entry:
  127. unreachable
  128. }
  129. define fastcc void @_ZSt20__throw_length_errorPKc() {
  130. entry:
  131. call fastcc void @_ZNSt12length_errorC1ERKSs( )
  132. unreachable
  133. }
  134. define fastcc void @_ZNSt12length_errorC1ERKSs() personality i32 (...)* @__gxx_personality_v0 {
  135. entry:
  136. invoke fastcc void @_ZNSsC1ERKSs( )
  137. to label %_ZNSt11logic_errorC2ERKSs.exit unwind label %invoke_catch.i
  138. invoke_catch.i: ; preds = %entry
  139. %exn = landingpad {i8*, i32}
  140. catch i8* null
  141. resume { i8*, i32 } %exn
  142. _ZNSt11logic_errorC2ERKSs.exit: ; preds = %entry
  143. ret void
  144. }
  145. define fastcc void @_ZNSs4_Rep9_S_createEjRKSaIcE() {
  146. entry:
  147. call fastcc void @_ZSt20__throw_length_errorPKc( )
  148. unreachable
  149. }
  150. define fastcc void @_ZNSs12_S_constructIN9__gnu_cxx17__normal_iteratorIPcSsEEEES2_T_S4_RKSaIcESt20forward_iterator_tag() {
  151. entry:
  152. unreachable
  153. }
  154. define fastcc void @_ZNSs16_S_construct_auxIPKcEEPcT_S3_RKSaIcE12__false_type() {
  155. entry:
  156. br i1 false, label %then.1.i, label %endif.1.i
  157. then.1.i: ; preds = %entry
  158. call fastcc void @_ZSt19__throw_logic_errorPKc( )
  159. br label %endif.1.i
  160. endif.1.i: ; preds = %then.1.i, %entry
  161. call fastcc void @_ZNSs4_Rep9_S_createEjRKSaIcE( )
  162. unreachable
  163. }
  164. define fastcc void @_ZNSsC1ERKSs() personality i32 (...)* @__gxx_personality_v0 {
  165. entry:
  166. call fastcc void @_ZNSs4_Rep7_M_grabERKSaIcES2_( )
  167. invoke fastcc void @_ZNSaIcEC1ERKS_( )
  168. to label %invoke_cont.1 unwind label %invoke_catch.1
  169. invoke_catch.1: ; preds = %entry
  170. %exn = landingpad {i8*, i32}
  171. catch i8* null
  172. call fastcc void @_ZNSaIcED1Ev( )
  173. resume { i8*, i32 } %exn
  174. invoke_cont.1: ; preds = %entry
  175. call fastcc void @_ZNSaIcEC2ERKS_( )
  176. ret void
  177. }
  178. define fastcc void @_ZNSaIcEC1ERKS_() {
  179. entry:
  180. ret void
  181. }
  182. define fastcc void @_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_jc() {
  183. entry:
  184. ret void
  185. }
  186. define fastcc void @_ZNSs4_Rep7_M_grabERKSaIcES2_() {
  187. entry:
  188. br i1 false, label %else.i, label %cond_true
  189. cond_true: ; preds = %entry
  190. ret void
  191. else.i: ; preds = %entry
  192. tail call fastcc void @_ZNSs4_Rep9_S_createEjRKSaIcE( )
  193. unreachable
  194. }
  195. define fastcc void @_ZNSaIcEC2ERKS_() {
  196. entry:
  197. ret void
  198. }
  199. define fastcc void @_ZN9__gnu_cxx12__pool_allocILb1ELi0EE8allocateEj() {
  200. entry:
  201. ret void
  202. }
  203. define fastcc void @_ZN9__gnu_cxx12__pool_allocILb1ELi0EE9_S_refillEj() {
  204. entry:
  205. unreachable
  206. }
  207. declare i32 @__gxx_personality_v0(...)