fork download
  1. Clang 3.6
  2. clang++ -S -emit-llvm -O2
  3.  
  4. ; Function Attrs: nounwind uwtable
  5. define void @_Z4initP3Out(%struct.Out* nocapture readonly %obj) #3 {
  6. entry:
  7. %ptr = getelementptr inbounds %struct.Out* %obj, i64 0, i32 0
  8. %0 = load %struct.In** %ptr, align 8, !tbaa !1
  9. %1 = bitcast %struct.In* %0 to i8*
  10. call void @llvm.memset.p0i8.i64(i8* %1, i8 0, i64 24, i32 8, i1 false)
  11. ret void
  12. }
  13.  
  14. ; Function Attrs: nounwind uwtable
  15. define void @_Z5init2P3Out(%struct.Out* nocapture readonly %obj) #3 {
  16. entry:
  17. %ptr = getelementptr inbounds %struct.Out* %obj, i64 0, i32 0
  18. %0 = load %struct.In** %ptr, align 8, !tbaa !1
  19. %1 = bitcast %struct.In* %0 to i8*
  20. call void @llvm.memset.p0i8.i64(i8* %1, i8 0, i64 24, i32 8, i1 false)
  21. ret void
  22. }
  23.  
  24.  
  25. GCC 4.9.1
  26. g++ -S -O2
  27.  
  28. _Z4initP3Out:
  29. .LFB6856:
  30. .cfi_startproc
  31. movq (%rdi), %rax
  32. movq $0, (%rax)
  33. movq $0, 8(%rax)
  34. movq $0, 16(%rax)
  35. ret
  36.  
  37. _Z5init2P3Out:
  38. .LFB6857:
  39. .cfi_startproc
  40. movq (%rdi), %rax
  41. movq $0, (%rax)
  42. movq $0, 8(%rax)
  43. movq $0, 16(%rax)
  44. ret
  45.  
Not running #stdin #stdout 0s 0KB
stdin
Standard input is empty
stdout
Standard output is empty