Advertisement
Guest User

Untitled

a guest
Mar 24th, 2016
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
LLVM 2.42 KB | None | 0 0
  1. ; ModuleID = 'test.cpp'
  2. target datalayout = "e-m:x-p:32:32-i64:64-f80:32-n8:16:32-a:0:32-S32"
  3. target triple = "i386-pc-windows-msvc18.0.0"
  4.  
  5. %rtti.TypeDescriptor4 = type { i8**, i8*, [5 x i8] }
  6.  
  7. $"\01??_R0PAH@8" = comdat any
  8.  
  9. @"\01??_7type_info@@6B@" = external constant i8*
  10. @"\01??_R0PAH@8" = linkonce_odr global %rtti.TypeDescriptor4 { i8** @"\01??_7type_info@@6B@", i8* null, [5 x i8] c".PAH\00" }, comdat
  11.  
  12. define void @TryTest() #0 personality i8* bitcast (i32 (...)* @__CxxFrameHandler3Fred to i8*) {
  13. entry:
  14.   %a = alloca i32, align 4
  15.   %b = alloca i32*, align 4
  16.   call void @BeforeTry()
  17.   invoke void @TryBody()
  18.           to label %invoke.cont unwind label %catch.dispatch
  19.  
  20. catch.dispatch:                                   ; preds = %entry
  21.   %0 = catchswitch within none [label %catch] unwind to caller
  22.  
  23. catch:                                            ; preds = %catch.dispatch
  24.   %1 = catchpad within %0 [%rtti.TypeDescriptor4* @"\01??_R0PAH@8", i32 0, i32** %b]
  25.   %2 = load i32, i32* %a, align 4
  26.   call void @FinallyBody(i32 %2) [ "funclet"(token %1) ]
  27.   catchret from %1 to label %catchret.dest
  28.  
  29. catchret.dest:                                    ; preds = %catch
  30.   br label %try.cont
  31.  
  32. try.cont:                                         ; preds = %catchret.dest, %invoke.cont
  33.   call void @AfterTry()
  34.   ret void
  35.  
  36. invoke.cont:                                      ; preds = %entry
  37.   br label %try.cont
  38. }
  39.  
  40. declare void @BeforeTry() #0
  41.  
  42. declare void @TryBody() #0
  43.  
  44.  
  45. declare void @FinallyBody(i32) #0
  46.  
  47. declare void @AfterTry() #0
  48.  
  49. ; Function Attrs: nounwind
  50. define void @"\01?Main@@YAXXZ"() #1 {
  51. entry:
  52.   ret void
  53. }
  54.  
  55. attributes #0 = { "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="pentium4" "target-features"="+fxsr,+mmx,+sse,+sse2" "unsafe-fp-math"="false" "use-soft-float"="false" }
  56. attributes #1 = { nounwind "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="pentium4" "target-features"="+fxsr,+mmx,+sse,+sse2" "unsafe-fp-math"="false" "use-soft-float"="false" }
  57.  
  58. !llvm.ident = !{!0}
  59.  
  60. !0 = !{!"clang version 3.9.0 "}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement