void cleanup() {
  if (!_compare(
          (int)(system("rm -rf "
                       "/tmp/inotifytools_test")),
          (int)(0), "system(\"rm -rf \" TEST_DIR)", "0",
          "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
          "2022-01-22/02-19-57/repos/12019/inotifywait-for-Android/refs/heads/"
          "master/jni/libinotifytools/test.c",
          281, __PRETTY_FUNCTION__))
    return;
  ;
  inotifytools_cleanup();
}


x86 assembly (clang, -O0):
<cleanup>:
push   %rbp
mov    %rsp,%rbp
sub    $0x10,%rsp
lea    0xec1(%rip),%rdi
mov    $0x0,%al
call   1040 <system@plt>
mov    %eax,%edi
xor    %esi,%esi
lea    0xecd(%rip),%rdx
lea    0xee1(%rip),%rcx
lea    0xedc(%rip),%r8
mov    $0x119,%r9d
lea    0xf74(%rip),%rax
mov    %rax,(%rsp)
mov    $0x0,%al
call   1030 <_compare@plt>
cmp    $0x0,%eax
jne    1185 <cleanup+0x55>
jmp    118c <cleanup+0x5c>
mov    $0x0,%al
call   1050 <inotifytools_cleanup@plt>
add    $0x10,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<cleanup>:
push   %rax
lea    0xec8(%rip),%rdi
xor    %eax,%eax
call   1040 <system@plt>
lea    0xf9a(%rip),%rcx
mov    %rcx,(%rsp)
lea    0xecd(%rip),%rdx
lea    0xee1(%rip),%rcx
lea    0xedc(%rip),%r8
mov    %eax,%edi
xor    %esi,%esi
mov    $0x119,%r9d
xor    %eax,%eax
call   1030 <_compare@plt>
test   %eax,%eax
je     117c <cleanup+0x4c>
xor    %eax,%eax
pop    %rcx
jmp    1050 <inotifytools_cleanup@plt>
pop    %rax
ret

LLVM IR (-O0):
@.str = [30 x i8] c"rm -rf /tmp/inotifytools_test\00"
@.str.1 = [27 x i8] c"system(\22rm -rf \22 TEST_DIR)\00"
@.str.2 = [2 x i8] c"0\00"
@.str.3 = [165 x i8] c"/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/12019/inotifywait-for-Android/refs/heads/master/jni/libinotifytools/test.c\00"
@__PRETTY_FUNCTION__.cleanup = [15 x i8] c"void cleanup()\00"
define void @cleanup() {
%1 = call i32 (i8*, ...) bitcast (i32 (...)* @system to i32 (i8*, ...)*)(i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str, i64 0, i64 0))
%2 = call i32 (i32, i32, i8*, i8*, i8*, i32, i8*, ...) bitcast (i32 (...)* @_compare to i32 (i32, i32, i8*, i8*, i8*, i32, i8*, ...)*)(i32 %1, i32 0, i8* getelementptr inbounds ([27 x i8], [27 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([165 x i8], [165 x i8]* @.str.3, i64 0, i64 0), i32 281, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @__PRETTY_FUNCTION__.cleanup, i64 0, i64 0))
%3 = icmp ne i32 %2, 0
br i1 %3, label %5, label %4
4: ; preds = %0
br label %7
5: ; preds = %0
%6 = call i32 (...) @inotifytools_cleanup()
br label %7
7: ; preds = %5, %4
ret void
}

LLVM IR (-O2):
@.str = [30 x i8] c"rm -rf /tmp/inotifytools_test\00"
@.str.1 = [27 x i8] c"system(\22rm -rf \22 TEST_DIR)\00"
@.str.2 = [2 x i8] c"0\00"
@.str.3 = [165 x i8] c"/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/12019/inotifywait-for-Android/refs/heads/master/jni/libinotifytools/test.c\00"
@__PRETTY_FUNCTION__.cleanup = [15 x i8] c"void cleanup()\00"
define void @cleanup() {
%1 = tail call i32 (i8*, ...) bitcast (i32 (...)* @system to i32 (i8*, ...)*)(i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str, i64 0, i64 0))
%2 = tail call i32 (i32, i32, i8*, i8*, i8*, i32, i8*, ...) bitcast (i32 (...)* @_compare to i32 (i32, i32, i8*, i8*, i8*, i32, i8*, ...)*)(i32 %1, i32 0, i8* getelementptr inbounds ([27 x i8], [27 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([165 x i8], [165 x i8]* @.str.3, i64 0, i64 0), i32 281, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @__PRETTY_FUNCTION__.cleanup, i64 0, i64 0))
%3 = icmp eq i32 %2, 0
br i1 %3, label %6, label %4
4: ; preds = %0
%5 = tail call i32 (...) @inotifytools_cleanup()
br label %6
6: ; preds = %0, %4
ret void
}