Advertisement
Guest User

Untitled

a guest
Jul 5th, 2017
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
LLVM 2.57 KB | None | 0 0
  1. ; ModuleID = '/tmp/index-7d99d0-reduce.test.c'
  2. source_filename = "/tmp/index-7d99d0-reduce.test.c"
  3. target datalayout = "E-m:e-pf200:256:256-i8:8:32-i16:16:32-i64:64-n32:64-S128-A200"
  4. target triple = "cheri-unknown-freebsd"
  5.  
  6. ; Function Attrs: nounwind
  7. define i32 addrspace(200)* @b() local_unnamed_addr #0 {
  8. entry:
  9.   %0 = tail call i8 addrspace(200)* @llvm.cheri.pcc.get()
  10.   %1 = tail call i8 addrspace(200)* @llvm.cheri.cap.offset.set(i8 addrspace(200)* %0, i64 ptrtoint (i32 (...)* @a to i64))
  11.   %tobool = icmp eq i8 addrspace(200)* %1, null
  12.   br i1 %tobool, label %cleanup, label %if.end2
  13.  
  14. if.end2:                                          ; preds = %entry
  15.   %2 = bitcast i8 addrspace(200)* %1 to i32 (...) addrspace(200)*
  16.   %call = tail call i32 (...) @d() #3
  17.   %3 = bitcast i32 (...) addrspace(200)* %2 to i32 addrspace(200)*
  18.   %call4 = tail call i32 (...) @e() #3
  19.   br label %cleanup
  20.  
  21. cleanup:                                          ; preds = %entry, %if.end2
  22.   %retval.0 = phi i32 addrspace(200)* [ %3, %if.end2 ], [ null, %entry ], [ null, %entry ]
  23.   ret i32 addrspace(200)* %retval.0
  24. }
  25.  
  26. declare i32 @a(...) #1
  27.  
  28. ; Function Attrs: nounwind readnone
  29. declare i8 addrspace(200)* @llvm.cheri.pcc.get() #2
  30.  
  31. ; Function Attrs: nounwind readnone
  32. declare i8 addrspace(200)* @llvm.cheri.cap.offset.set(i8 addrspace(200)*, i64) #2
  33.  
  34. declare i32 @d(...) #1
  35.  
  36. declare i32 @e(...) #1
  37.  
  38. attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "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-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="cheri" "target-features"="+cheri" "unsafe-fp-math"="false" "use-soft-float"="false" }
  39. attributes #1 = { "correctly-rounded-divide-sqrt-fp-math"="false" "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" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="cheri" "target-features"="+cheri" "unsafe-fp-math"="false" "use-soft-float"="false" }
  40. attributes #2 = { nounwind readnone }
  41. attributes #3 = { nounwind }
  42.  
  43. !llvm.module.flags = !{!0, !1}
  44. !llvm.ident = !{!2}
  45.  
  46. !0 = !{i32 1, !"wchar_size", i32 4}
  47. !1 = !{i32 7, !"PIC Level", i32 2}
  48. !2 = !{!"clang version 5.0.0  (https://github.com/llvm-mirror/llvm.git 5fbe2269fba5f0fb09af460faa38cb61bb6b567b)"}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement