void _ZN3Log10test_cycleEPi(struct l_class_OC_Log *llvm_cbe_this,
                            unsigned int *llvm_cbe_glob) {
  struct l_class_OC_Log *llvm_cbe_this_2e_addr;
  unsigned int *llvm_cbe_glob_2e_addr;
  unsigned int *llvm_cbe_a;
  unsigned int **llvm_cbe_b;
  unsigned int ***llvm_cbe_c;
  unsigned int ****llvm_cbe_pa;
  struct l_class_OC_Log *llvm_cbe_this1;
  unsigned int *llvm_cbe_tmp;
  unsigned int ***llvm_cbe_tmp2;
  unsigned int **llvm_cbe_tmp3;
  unsigned int *llvm_cbe_tmp4;
  unsigned int **llvm_cbe_tmp5;
  unsigned int *llvm_cbe_tmp6;
  unsigned int ***llvm_cbe_tmp7;
  unsigned int **llvm_cbe_tmp8;
  unsigned int *llvm_cbe_tmp9;
  unsigned int ****llvm_cbe_tmp10;
  unsigned int ***llvm_cbe_tmp11;
  unsigned int **llvm_cbe_tmp12;
  unsigned int *llvm_cbe_tmp13;
  *(&llvm_cbe_this_2e_addr) = llvm_cbe_this;
  *(&llvm_cbe_glob_2e_addr) = llvm_cbe_glob;
  llvm_cbe_this1 = *(&llvm_cbe_this_2e_addr);
  *(&llvm_cbe_b) = (&llvm_cbe_a);
  *(&llvm_cbe_c) = (&llvm_cbe_b);
  *(&llvm_cbe_pa) = (&llvm_cbe_c);
  llvm_cbe_tmp = *(&llvm_cbe_glob_2e_addr);
  llvm_cbe_tmp2 = *(&llvm_cbe_c);
  llvm_cbe_tmp3 = *llvm_cbe_tmp2;
  *llvm_cbe_tmp3 = llvm_cbe_tmp;
  llvm_cbe_tmp4 = *(&llvm_cbe_a);
  *llvm_cbe_tmp4 = 0u;
  llvm_cbe_tmp5 = *(&llvm_cbe_b);
  llvm_cbe_tmp6 = *llvm_cbe_tmp5;
  *llvm_cbe_tmp6 = 0u;
  llvm_cbe_tmp7 = *(&llvm_cbe_c);
  llvm_cbe_tmp8 = *llvm_cbe_tmp7;
  llvm_cbe_tmp9 = *llvm_cbe_tmp8;
  *llvm_cbe_tmp9 = 0u;
  llvm_cbe_tmp10 = *(&llvm_cbe_pa);
  llvm_cbe_tmp11 = *llvm_cbe_tmp10;
  llvm_cbe_tmp12 = *llvm_cbe_tmp11;
  llvm_cbe_tmp13 = *llvm_cbe_tmp12;
  *llvm_cbe_tmp13 = 0u;
  return;
}


x86 assembly (clang, -O0):
<_ZN3Log10test_cycleEPi>:
push   %rbp
mov    %rsp,%rbp
sub    $0x30,%rsp
mov    %rdi,-0x8(%rbp)
mov    %rsi,-0x10(%rbp)
mov    -0x8(%rbp),%rax
mov    %rax,-0x18(%rbp)
mov    -0x10(%rbp),%rax
mov    %rax,-0x20(%rbp)
mov    -0x18(%rbp),%rax
mov    %rax,-0x48(%rbp)
lea    -0x28(%rbp),%rax
mov    %rax,-0x30(%rbp)
lea    -0x30(%rbp),%rax
mov    %rax,-0x38(%rbp)
lea    -0x38(%rbp),%rax
mov    %rax,-0x40(%rbp)
mov    -0x20(%rbp),%rax
mov    %rax,-0x50(%rbp)
mov    -0x38(%rbp),%rax
mov    %rax,-0x58(%rbp)
mov    -0x58(%rbp),%rax
mov    (%rax),%rax
mov    %rax,-0x60(%rbp)
mov    -0x50(%rbp),%rcx
mov    -0x60(%rbp),%rax
mov    %rcx,(%rax)
mov    -0x28(%rbp),%rax
mov    %rax,-0x68(%rbp)
mov    -0x68(%rbp),%rax
movl   $0x0,(%rax)
mov    -0x30(%rbp),%rax
mov    %rax,-0x70(%rbp)
mov    -0x70(%rbp),%rax
mov    (%rax),%rax
mov    %rax,-0x78(%rbp)
mov    -0x78(%rbp),%rax
movl   $0x0,(%rax)
mov    -0x38(%rbp),%rax
mov    %rax,-0x80(%rbp)
mov    -0x80(%rbp),%rax
mov    (%rax),%rax
mov    %rax,-0x88(%rbp)
mov    -0x88(%rbp),%rax
mov    (%rax),%rax
mov    %rax,-0x90(%rbp)
mov    -0x90(%rbp),%rax
movl   $0x0,(%rax)
mov    -0x40(%rbp),%rax
mov    %rax,-0x98(%rbp)
mov    -0x98(%rbp),%rax
mov    (%rax),%rax
mov    %rax,-0xa0(%rbp)
mov    -0xa0(%rbp),%rax
mov    (%rax),%rax
mov    %rax,-0xa8(%rbp)
mov    -0xa8(%rbp),%rax
mov    (%rax),%rax
mov    %rax,-0xb0(%rbp)
mov    -0xb0(%rbp),%rax
movl   $0x0,(%rax)
add    $0x30,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<_ZN3Log10test_cycleEPi>:
movl   $0x0,(%rsi)
ret

LLVM IR (-O0):
%struct.l_class_OC_Log = type opaque
define void @_ZN3Log10test_cycleEPi(%struct.l_class_OC_Log* %0, i32* %1) {
%3 = alloca %struct.l_class_OC_Log*
%4 = alloca i32*
%5 = alloca %struct.l_class_OC_Log*
%6 = alloca i32*
%7 = alloca i32*
%8 = alloca i32**
%9 = alloca i32***
%10 = alloca i32****
%11 = alloca %struct.l_class_OC_Log*
%12 = alloca i32*
%13 = alloca i32***
%14 = alloca i32**
%15 = alloca i32*
%16 = alloca i32**
%17 = alloca i32*
%18 = alloca i32***
%19 = alloca i32**
%20 = alloca i32*
%21 = alloca i32****
%22 = alloca i32***
%23 = alloca i32**
%24 = alloca i32*
store %struct.l_class_OC_Log* %0, %struct.l_class_OC_Log** %3
store i32* %1, i32** %4
%25 = load %struct.l_class_OC_Log*, %struct.l_class_OC_Log** %3
store %struct.l_class_OC_Log* %25, %struct.l_class_OC_Log** %5
%26 = load i32*, i32** %4
store i32* %26, i32** %6
%27 = load %struct.l_class_OC_Log*, %struct.l_class_OC_Log** %5
store %struct.l_class_OC_Log* %27, %struct.l_class_OC_Log** %11
store i32** %7, i32*** %8
store i32*** %8, i32**** %9
store i32**** %9, i32***** %10
%28 = load i32*, i32** %6
store i32* %28, i32** %12
%29 = load i32***, i32**** %9
store i32*** %29, i32**** %13
%30 = load i32***, i32**** %13
%31 = load i32**, i32*** %30
store i32** %31, i32*** %14
%32 = load i32*, i32** %12
%33 = load i32**, i32*** %14
store i32* %32, i32** %33
%34 = load i32*, i32** %7
store i32* %34, i32** %15
%35 = load i32*, i32** %15
store i32 0, i32* %35
%36 = load i32**, i32*** %8
store i32** %36, i32*** %16
%37 = load i32**, i32*** %16
%38 = load i32*, i32** %37
store i32* %38, i32** %17
%39 = load i32*, i32** %17
store i32 0, i32* %39
%40 = load i32***, i32**** %9
store i32*** %40, i32**** %18
%41 = load i32***, i32**** %18
%42 = load i32**, i32*** %41
store i32** %42, i32*** %19
%43 = load i32**, i32*** %19
%44 = load i32*, i32** %43
store i32* %44, i32** %20
%45 = load i32*, i32** %20
store i32 0, i32* %45
%46 = load i32****, i32***** %10
store i32**** %46, i32***** %21
%47 = load i32****, i32***** %21
%48 = load i32***, i32**** %47
store i32*** %48, i32**** %22
%49 = load i32***, i32**** %22
%50 = load i32**, i32*** %49
store i32** %50, i32*** %23
%51 = load i32**, i32*** %23
%52 = load i32*, i32** %51
store i32* %52, i32** %24
%53 = load i32*, i32** %24
store i32 0, i32* %53
ret void
}

LLVM IR (-O2):
%struct.l_class_OC_Log = type opaque
define void @_ZN3Log10test_cycleEPi(%struct.l_class_OC_Log* nocapture readnone %0, i32* nocapture writeonly %1) {
store i32 0, i32* %1
ret void
}