Advertisement
Guest User

Untitled

a guest
Mar 22nd, 2017
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
LLVM 1.81 KB | None | 0 0
  1. ; ModuleID = 'Source.cpp'
  2. source_filename = "Source.cpp"
  3. target datalayout = "e-m:w-i64:64-f80:128-n8:16:32:64-S128"
  4. target triple = "x86_64-pc-windows-msvc19.0.23918"
  5.  
  6. ; Function Attrs: norecurse nounwind readnone uwtable
  7. define i32 @"\01?fact@@YAHH@Z"(i32 %n) local_unnamed_addr #0 {
  8. entry:
  9.   %cmp6 = icmp slt i32 %n, 2
  10.   br i1 %cmp6, label %for.cond.cleanup, label %for.body.preheader
  11.  
  12. for.body.preheader:                               ; preds = %entry
  13.   br label %for.body
  14.  
  15. for.cond.cleanup.loopexit:                        ; preds = %for.body
  16.   br label %for.cond.cleanup
  17.  
  18. for.cond.cleanup:                                 ; preds = %for.cond.cleanup.loopexit, %entry
  19.   %result.0.lcssa = phi i32 [ 1, %entry ], [ %mul, %for.cond.cleanup.loopexit ]
  20.   ret i32 %result.0.lcssa
  21.  
  22. for.body:                                         ; preds = %for.body.preheader, %for.body
  23.   %i.08 = phi i32 [ %inc, %for.body ], [ 2, %for.body.preheader ]
  24.   %result.07 = phi i32 [ %mul, %for.body ], [ 1, %for.body.preheader ]
  25.   %mul = mul nsw i32 %i.08, %result.07
  26.   %inc = add nuw nsw i32 %i.08, 1
  27.   %exitcond = icmp eq i32 %i.08, %n
  28.   br i1 %exitcond, label %for.cond.cleanup.loopexit, label %for.body
  29. }
  30.  
  31. attributes #0 = { norecurse nounwind readnone uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "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"="x86-64" "target-features"="+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" }
  32.  
  33. !llvm.module.flags = !{!0}
  34. !llvm.ident = !{!1}
  35.  
  36. !0 = !{i32 1, !"PIC Level", i32 2}
  37. !1 = !{!"clang version 4.0.0 (tags/RELEASE_400/final)"}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement