#define NULL ((void *)0)
typedef unsigned long size_t; // Customize by platform.
typedef long intptr_t;
typedef unsigned long uintptr_t;
typedef long scalar_t__; // Either arithmetic or pointer type.
/* By default, we understand bool (as a convenience). */
typedef int bool;
#define false 0
#define true 1

/* Forward declarations */

/* Type definitions */

/* Variables and functions */
int /*<<< orphan*/ printf(char *, ...);
scalar_t__ strcmp(char *, char *);
int test_access_basic();
int test_fd_all();
int test_fd_bad_desc();
int test_fd_copy();
int test_fd_devnull();
int test_fd_dup();
int test_fd_multidesc();
int test_fd_open_path();
int test_fd_pipe();
int test_fd_read();
int test_fd_readv();
int test_fd_readwrite();
int test_fd_writev();
int test_fork_sigchld_ignored();
int test_fork_signal();
int test_fork_wait();
int test_fstat();
int test_get_set_gid();
int test_get_set_groups();
int test_get_set_uid();
int test_getcwd();
int test_gettimeofday();
int test_itimer();
int test_kill();
int test_killpg_other_group();
int test_killpg_same_group();
int test_lseek_basic();
int test_lseek_errors();
int test_misbehave();
int test_mmap();
int test_mmap_prot_none();
int test_mmap_prot_read();
int test_munmap();
int test_munmap_sigsegv();
int test_nanosleep();
int test_pgrp_orphan();
int test_pipe_child_signaled();
int test_pipe_parent_signaled();
int test_procstat();
int test_pty_simple();
int test_sbrk();
int test_sbrk_sigsegv();
int test_session_basic();
int test_session_login_name();
int test_setjmp();
int test_setpgid();
int test_setpgid_child();
int test_setpgid_leader();
int test_sharing_memory_child_and_grandchild();
int test_sharing_memory_simple();
int test_sigaction_handler_returns();
int test_sigaction_with_setjmp();
int test_signal_abort();
int test_signal_basic();
int test_signal_cont_masked();
int test_signal_handler_mask();
int test_signal_mask();
int test_signal_mask_nonmaskable();
int test_signal_segfault();
int test_signal_send();
int test_signal_sigsuspend();
int test_signal_sigsuspend_stop();
int test_signal_stop();
int test_stat();
int test_tty_canon();
int test_tty_echo();
int test_tty_signals();
int test_vfs_chmod();
int test_vfs_dir();
int test_vfs_dot_dir();
int test_vfs_dot_dot_across_fs();
int test_vfs_dot_dot_dir();
int test_vfs_link();
int test_vfs_relative_dir();
int test_vfs_rw();
int test_vfs_symlink();
int test_vfs_trunc();
int test_wait_basic();
int test_wait_nohang();
int main(int argc, char **argv) {
  if (argc < 2) {
    printf("Not enough arguments provided to utest.\n");
    return 1;
  }
  char *test_name = argv[1];
  printf("Starting user test \"%s\".\n", test_name);
  if (strcmp(test_name, "mmap") == 0)
    return test_mmap();
  ;
  if (strcmp(test_name, "munmap") == 0)
    return test_munmap();
  ;
  if (strcmp(test_name, "munmap_sigsegv") == 0)
    return test_munmap_sigsegv();
  ;
  if (strcmp(test_name, "mmap_prot_none") == 0)
    return test_mmap_prot_none();
  ;
  if (strcmp(test_name, "mmap_prot_read") == 0)
    return test_mmap_prot_read();
  ;
  if (strcmp(test_name, "sbrk") == 0)
    return test_sbrk();
  ;
  if (strcmp(test_name, "sbrk_sigsegv") == 0)
    return test_sbrk_sigsegv();
  ;
  if (strcmp(test_name, "misbehave") == 0)
    return test_misbehave();
  ;
  if (strcmp(test_name, "fd_read") == 0)
    return test_fd_read();
  ;
  if (strcmp(test_name, "fd_devnull") == 0)
    return test_fd_devnull();
  ;
  if (strcmp(test_name, "fd_multidesc") == 0)
    return test_fd_multidesc();
  ;
  if (strcmp(test_name, "fd_readwrite") == 0)
    return test_fd_readwrite();
  ;
  if (strcmp(test_name, "fd_copy") == 0)
    return test_fd_copy();
  ;
  if (strcmp(test_name, "fd_bad_desc") == 0)
    return test_fd_bad_desc();
  ;
  if (strcmp(test_name, "fd_open_path") == 0)
    return test_fd_open_path();
  ;
  if (strcmp(test_name, "fd_dup") == 0)
    return test_fd_dup();
  ;
  if (strcmp(test_name, "fd_pipe") == 0)
    return test_fd_pipe();
  ;
  if (strcmp(test_name, "fd_readv") == 0)
    return test_fd_readv();
  ;
  if (strcmp(test_name, "fd_writev") == 0)
    return test_fd_writev();
  ;
  if (strcmp(test_name, "fd_all") == 0)
    return test_fd_all();
  ;
  if (strcmp(test_name, "signal_basic") == 0)
    return test_signal_basic();
  ;
  if (strcmp(test_name, "signal_send") == 0)
    return test_signal_send();
  ;
  if (strcmp(test_name, "signal_abort") == 0)
    return test_signal_abort();
  ;
  if (strcmp(test_name, "signal_segfault") == 0)
    return test_signal_segfault();
  ;
  if (strcmp(test_name, "signal_stop") == 0)
    return test_signal_stop();
  ;
  if (strcmp(test_name, "signal_cont_masked") == 0)
    return test_signal_cont_masked();
  ;
  if (strcmp(test_name, "signal_mask") == 0)
    return test_signal_mask();
  ;
  if (strcmp(test_name, "signal_mask_nonmaskable") == 0)
    return test_signal_mask_nonmaskable();
  ;
  if (strcmp(test_name, "signal_sigsuspend") == 0)
    return test_signal_sigsuspend();
  ;
  if (strcmp(test_name, "signal_sigsuspend_stop") == 0)
    return test_signal_sigsuspend_stop();
  ;
  if (strcmp(test_name, "signal_handler_mask") == 0)
    return test_signal_handler_mask();
  ;
  if (strcmp(test_name, "fork_wait") == 0)
    return test_fork_wait();
  ;
  if (strcmp(test_name, "fork_signal") == 0)
    return test_fork_signal();
  ;
  if (strcmp(test_name, "fork_sigchld_ignored") == 0)
    return test_fork_sigchld_ignored();
  ;
  if (strcmp(test_name, "lseek_basic") == 0)
    return test_lseek_basic();
  ;
  if (strcmp(test_name, "lseek_errors") == 0)
    return test_lseek_errors();
  ;
  if (strcmp(test_name, "access_basic") == 0)
    return test_access_basic();
  ;
  if (strcmp(test_name, "stat") == 0)
    return test_stat();
  ;
  if (strcmp(test_name, "fstat") == 0)
    return test_fstat();
  ;
  if (strcmp(test_name, "setjmp") == 0)
    return test_setjmp();
  ;
  if (strcmp(test_name, "sigaction_with_setjmp") == 0)
    return test_sigaction_with_setjmp();
  ;
  if (strcmp(test_name, "sigaction_handler_returns") == 0)
    return test_sigaction_handler_returns();
  ;
  if (strcmp(test_name, "vfs_dir") == 0)
    return test_vfs_dir();
  ;
  if (strcmp(test_name, "vfs_rw") == 0)
    return test_vfs_rw();
  ;
  if (strcmp(test_name, "vfs_relative_dir") == 0)
    return test_vfs_relative_dir();
  ;
  if (strcmp(test_name, "vfs_dot_dot_dir") == 0)
    return test_vfs_dot_dot_dir();
  ;
  if (strcmp(test_name, "vfs_dot_dir") == 0)
    return test_vfs_dot_dir();
  ;
  if (strcmp(test_name, "vfs_dot_dot_across_fs") == 0)
    return test_vfs_dot_dot_across_fs();
  ;
  if (strcmp(test_name, "vfs_trunc") == 0)
    return test_vfs_trunc();
  ;
  if (strcmp(test_name, "vfs_symlink") == 0)
    return test_vfs_symlink();
  ;
  if (strcmp(test_name, "vfs_link") == 0)
    return test_vfs_link();
  ;
  if (strcmp(test_name, "vfs_chmod") == 0)
    return test_vfs_chmod();
  ;
  if (strcmp(test_name, "wait_basic") == 0)
    return test_wait_basic();
  ;
  if (strcmp(test_name, "wait_nohang") == 0)
    return test_wait_nohang();
  ;
  if (strcmp(test_name, "setpgid") == 0)
    return test_setpgid();
  ;
  if (strcmp(test_name, "setpgid_leader") == 0)
    return test_setpgid_leader();
  ;
  if (strcmp(test_name, "setpgid_child") == 0)
    return test_setpgid_child();
  ;
  if (strcmp(test_name, "kill") == 0)
    return test_kill();
  ;
  if (strcmp(test_name, "killpg_same_group") == 0)
    return test_killpg_same_group();
  ;
  if (strcmp(test_name, "killpg_other_group") == 0)
    return test_killpg_other_group();
  ;
  if (strcmp(test_name, "pgrp_orphan") == 0)
    return test_pgrp_orphan();
  ;
  if (strcmp(test_name, "session_basic") == 0)
    return test_session_basic();
  ;
  if (strcmp(test_name, "session_login_name") == 0)
    return test_session_login_name();
  ;
  if (strcmp(test_name, "getcwd") == 0)
    return test_getcwd();
  ;
  if (strcmp(test_name, "gettimeofday") == 0)
    return test_gettimeofday();
  ;
  if (strcmp(test_name, "nanosleep") == 0)
    return test_nanosleep();
  ;
  if (strcmp(test_name, "itimer") == 0)
    return test_itimer();
  ;
  if (strcmp(test_name, "get_set_uid") == 0)
    return test_get_set_uid();
  ;
  if (strcmp(test_name, "get_set_gid") == 0)
    return test_get_set_gid();
  ;
  if (strcmp(test_name, "get_set_groups") == 0)
    return test_get_set_groups();
  ;
  if (strcmp(test_name, "sharing_memory_simple") == 0)
    return test_sharing_memory_simple();
  ;
  if (strcmp(test_name, "sharing_memory_child_and_grandchild") == 0)
    return test_sharing_memory_child_and_grandchild();
  ;
  if (strcmp(test_name, "pty_simple") == 0)
    return test_pty_simple();
  ;
  if (strcmp(test_name, "tty_canon") == 0)
    return test_tty_canon();
  ;
  if (strcmp(test_name, "tty_echo") == 0)
    return test_tty_echo();
  ;
  if (strcmp(test_name, "tty_signals") == 0)
    return test_tty_signals();
  ;
  if (strcmp(test_name, "procstat") == 0)
    return test_procstat();
  ;
  if (strcmp(test_name, "pipe_parent_signaled") == 0)
    return test_pipe_parent_signaled();
  ;
  if (strcmp(test_name, "pipe_child_signaled") == 0)
    return test_pipe_child_signaled();
  ;
  printf("No user test \"%s\" available.\n", test_name);
  return 1;
}


x86 assembly (clang, -O0):
<main>:
push   %rbp
mov    %rsp,%rbp
sub    $0x20,%rsp
movl   $0x0,-0x4(%rbp)
mov    %edi,-0x8(%rbp)
mov    %rsi,-0x10(%rbp)
cmpl   $0x2,-0x8(%rbp)
jge    264a <main+0x3a>
lea    0x19c9(%rip),%rdi
mov    $0x0,%al
call   21f0 <printf@plt>
movl   $0x1,-0x4(%rbp)
jmp    3328 <main+0xd18>
mov    -0x10(%rbp),%rax
mov    0x8(%rax),%rax
mov    %rax,-0x18(%rbp)
mov    -0x18(%rbp),%rsi
lea    0x19c8(%rip),%rdi
mov    $0x0,%al
call   21f0 <printf@plt>
mov    -0x18(%rbp),%rdi
lea    0x19d0(%rip),%rsi
call   22e0 <strcmp@plt>
cmp    $0x0,%rax
jne    2691 <main+0x81>
mov    $0x0,%al
call   22d0 <test_mmap@plt>
mov    %eax,-0x4(%rbp)
jmp    3328 <main+0xd18>
mov    -0x18(%rbp),%rdi
lea    0x19ac(%rip),%rsi
call   22e0 <strcmp@plt>
cmp    $0x0,%rax
jne    26ba <main+0xaa>
mov    $0x0,%al
call   2370 <test_munmap@plt>
mov    %eax,-0x4(%rbp)
jmp    3328 <main+0xd18>
mov    -0x18(%rbp),%rdi
lea    0x198a(%rip),%rsi
call   22e0 <strcmp@plt>
cmp    $0x0,%rax
jne    26e3 <main+0xd3>
mov    $0x0,%al
call   24a0 <test_munmap_sigsegv@plt>
mov    %eax,-0x4(%rbp)
jmp    3328 <main+0xd18>
mov    -0x18(%rbp),%rdi
lea    0x1970(%rip),%rsi
call   22e0 <strcmp@plt>
cmp    $0x0,%rax
jne    270c <main+0xfc>
mov    $0x0,%al
call   2100 <test_mmap_prot_none@plt>
mov    %eax,-0x4(%rbp)
jmp    3328 <main+0xd18>
mov    -0x18(%rbp),%rdi
lea    0x1956(%rip),%rsi
call   22e0 <strcmp@plt>
cmp    $0x0,%rax
jne    2735 <main+0x125>
mov    $0x0,%al
call   2060 <test_mmap_prot_read@plt>
mov    %eax,-0x4(%rbp)
jmp    3328 <main+0xd18>
mov    -0x18(%rbp),%rdi
lea    0x193c(%rip),%rsi
call   22e0 <strcmp@plt>
cmp    $0x0,%rax
jne    275e <main+0x14e>
mov    $0x0,%al
call   20b0 <test_sbrk@plt>
mov    %eax,-0x4(%rbp)
jmp    3328 <main+0xd18>
mov    -0x18(%rbp),%rdi
lea    0x1918(%rip),%rsi
call   22e0 <strcmp@plt>
cmp    $0x0,%rax
jne    2787 <main+0x177>
mov    $0x0,%al
call   2200 <test_sbrk_sigsegv@plt>
mov    %eax,-0x4(%rbp)
jmp    3328 <main+0xd18>
mov    -0x18(%rbp),%rdi
lea    0x18fc(%rip),%rsi
call   22e0 <strcmp@plt>
cmp    $0x0,%rax
jne    27b0 <main+0x1a0>
mov    $0x0,%al
call   2320 <test_misbehave@plt>
mov    %eax,-0x4(%rbp)
jmp    3328 <main+0xd18>
mov    -0x18(%rbp),%rdi
lea    0x18dd(%rip),%rsi
call   22e0 <strcmp@plt>
cmp    $0x0,%rax
jne    27d9 <main+0x1c9>
mov    $0x0,%al
call   2110 <test_fd_read@plt>
mov    %eax,-0x4(%rbp)
jmp    3328 <main+0xd18>
mov    -0x18(%rbp),%rdi
lea    0x18bc(%rip),%rsi
call   22e0 <strcmp@plt>
cmp    $0x0,%rax
jne    2802 <main+0x1f2>
mov    $0x0,%al
call   21c0 <test_fd_devnull@plt>
mov    %eax,-0x4(%rbp)
jmp    3328 <main+0xd18>
mov    -0x18(%rbp),%rdi
lea    0x189e(%rip),%rsi
call   22e0 <strcmp@plt>
cmp    $0x0,%rax
jne    282b <main+0x21b>
mov    $0x0,%al
call   2460 <test_fd_multidesc@plt>
mov    %eax,-0x4(%rbp)
jmp    3328 <main+0xd18>
mov    -0x18(%rbp),%rdi
lea    0x1882(%rip),%rsi
call   22e0 <strcmp@plt>
cmp    $0x0,%rax
jne    2854 <main+0x244>
mov    $0x0,%al
call   2360 <test_fd_readwrite@plt>
mov    %eax,-0x4(%rbp)
jmp    3328 <main+0xd18>
mov    -0x18(%rbp),%rdi
lea    0x1866(%rip),%rsi
call   22e0 <strcmp@plt>
cmp    $0x0,%rax
jne    287d <main+0x26d>
mov    $0x0,%al
call   2130 <test_fd_copy@plt>
mov    %eax,-0x4(%rbp)
jmp    3328 <main+0xd18>
mov    -0x18(%rbp),%rdi
lea    0x1845(%rip),%rsi
call   22e0 <strcmp@plt>
cmp    $0x0,%rax
jne    28a6 <main+0x296>
mov    $0x0,%al
call   2490 <test_fd_bad_desc@plt>
mov    %eax,-0x4(%rbp)
jmp    3328 <main+0xd18>
mov    -0x18(%rbp),%rdi
lea    0x1828(%rip),%rsi
call   22e0 <strcmp@plt>
cmp    $0x0,%rax
jne    28cf <main+0x2bf>
mov    $0x0,%al
call   24d0 <test_fd_open_path@plt>
mov    %eax,-0x4(%rbp)
jmp    3328 <main+0xd18>
mov    -0x18(%rbp),%rdi
lea    0x180c(%rip),%rsi
call   22e0 <strcmp@plt>
cmp    $0x0,%rax
jne    28f8 <main+0x2e8>
mov    $0x0,%al
call   2280 <test_fd_dup@plt>
mov    %eax,-0x4(%rbp)
jmp    3328 <main+0xd18>
mov    -0x18(%rbp),%rdi
lea    0x17ea(%rip),%rsi
call   22e0 <strcmp@plt>
cmp    $0x0,%rax
jne    2921 <main+0x311>
mov    $0x0,%al
call   2070 <test_fd_pipe@plt>
mov    %eax,-0x4(%rbp)
jmp    3328 <main+0xd18>
mov    -0x18(%rbp),%rdi
lea    0x17c9(%rip),%rsi
call   22e0 <strcmp@plt>
cmp    $0x0,%rax
jne    294a <main+0x33a>
mov    $0x0,%al
call   20f0 <test_fd_readv@plt>
mov    %eax,-0x4(%rbp)
jmp    3328 <main+0xd18>
mov    -0x18(%rbp),%rdi
lea    0x17a9(%rip),%rsi
call   22e0 <strcmp@plt>
cmp    $0x0,%rax
jne    2973 <main+0x363>
mov    $0x0,%al
call   2260 <test_fd_writev@plt>
mov    %eax,-0x4(%rbp)
jmp    3328 <main+0xd18>
mov    -0x18(%rbp),%rdi
lea    0x178a(%rip),%rsi
call   22e0 <strcmp@plt>
cmp    $0x0,%rax
jne    299c <main+0x38c>
mov    $0x0,%al
call   2160 <test_fd_all@plt>
mov    %eax,-0x4(%rbp)
jmp    3328 <main+0xd18>
mov    -0x18(%rbp),%rdi
lea    0x1768(%rip),%rsi
call   22e0 <strcmp@plt>
cmp    $0x0,%rax
jne    29c5 <main+0x3b5>
mov    $0x0,%al
call   2240 <test_signal_basic@plt>
mov    %eax,-0x4(%rbp)
jmp    3328 <main+0xd18>
mov    -0x18(%rbp),%rdi
lea    0x174c(%rip),%rsi
call   22e0 <strcmp@plt>
cmp    $0x0,%rax
jne    29ee <main+0x3de>
mov    $0x0,%al
call   2150 <test_signal_send@plt>
mov    %eax,-0x4(%rbp)
jmp    3328 <main+0xd18>
mov    -0x18(%rbp),%rdi
lea    0x172f(%rip),%rsi
call   22e0 <strcmp@plt>
cmp    $0x0,%rax
jne    2a17 <main+0x407>
mov    $0x0,%al
call   2450 <test_signal_abort@plt>
mov    %eax,-0x4(%rbp)
jmp    3328 <main+0xd18>
mov    -0x18(%rbp),%rdi
lea    0x1713(%rip),%rsi
call   22e0 <strcmp@plt>
cmp    $0x0,%rax
jne    2a40 <main+0x430>
mov    $0x0,%al
call   2510 <test_signal_segfault@plt>
mov    %eax,-0x4(%rbp)
jmp    3328 <main+0xd18>
mov    -0x18(%rbp),%rdi
lea    0x16fa(%rip),%rsi
call   22e0 <strcmp@plt>
cmp    $0x0,%rax
jne    2a69 <main+0x459>
mov    $0x0,%al
call   24e0 <test_signal_stop@plt>
mov    %eax,-0x4(%rbp)
jmp    3328 <main+0xd18>
mov    -0x18(%rbp),%rdi
lea    0x16dd(%rip),%rsi
call   22e0 <strcmp@plt>
cmp    $0x0,%rax
jne    2a92 <main+0x482>
mov    $0x0,%al
call   2400 <test_signal_cont_masked@plt>
mov    %eax,-0x4(%rbp)
jmp    3328 <main+0xd18>
mov    -0x18(%rbp),%rdi
lea    0x16c7(%rip),%rsi
call   22e0 <strcmp@plt>
cmp    $0x0,%rax
jne    2abb <main+0x4ab>
mov    $0x0,%al
call   2080 <test_signal_mask@plt>
mov    %eax,-0x4(%rbp)
jmp    3328 <main+0xd18>
mov    -0x18(%rbp),%rdi
lea    0x16aa(%rip),%rsi
call   22e0 <strcmp@plt>
cmp    $0x0,%rax
jne    2ae4 <main+0x4d4>
mov    $0x0,%al
call   2410 <test_signal_mask_nonmaskable@plt>
mov    %eax,-0x4(%rbp)
jmp    3328 <main+0xd18>
mov    -0x18(%rbp),%rdi
lea    0x1699(%rip),%rsi
call   22e0 <strcmp@plt>
cmp    $0x0,%rax
jne    2b0d <main+0x4fd>
mov    $0x0,%al
call   2530 <test_signal_sigsuspend@plt>
mov    %eax,-0x4(%rbp)
jmp    3328 <main+0xd18>
mov    -0x18(%rbp),%rdi
lea    0x1682(%rip),%rsi
call   22e0 <strcmp@plt>
cmp    $0x0,%rax
jne    2b36 <main+0x526>
mov    $0x0,%al
call   2050 <test_signal_sigsuspend_stop@plt>
mov    %eax,-0x4(%rbp)
jmp    3328 <main+0xd18>
mov    -0x18(%rbp),%rdi
lea    0x1670(%rip),%rsi
call   22e0 <strcmp@plt>
cmp    $0x0,%rax
jne    2b5f <main+0x54f>
mov    $0x0,%al
call   2090 <test_signal_handler_mask@plt>
mov    %eax,-0x4(%rbp)
jmp    3328 <main+0xd18>
mov    -0x18(%rbp),%rdi
lea    0x165b(%rip),%rsi
call   22e0 <strcmp@plt>
cmp    $0x0,%rax
jne    2b88 <main+0x578>
mov    $0x0,%al
call   2290 <test_fork_wait@plt>
mov    %eax,-0x4(%rbp)
jmp    3328 <main+0xd18>
mov    -0x18(%rbp),%rdi
lea    0x163c(%rip),%rsi
call   22e0 <strcmp@plt>
cmp    $0x0,%rax
jne    2bb1 <main+0x5a1>
mov    $0x0,%al
call   23f0 <test_fork_signal@plt>
mov    %eax,-0x4(%rbp)
jmp    3328 <main+0xd18>
mov    -0x18(%rbp),%rdi
lea    0x161f(%rip),%rsi
call   22e0 <strcmp@plt>
cmp    $0x0,%rax
jne    2bda <main+0x5ca>
mov    $0x0,%al
call   2500 <test_fork_sigchld_ignored@plt>
mov    %eax,-0x4(%rbp)
jmp    3328 <main+0xd18>
mov    -0x18(%rbp),%rdi
lea    0x160b(%rip),%rsi
call   22e0 <strcmp@plt>
cmp    $0x0,%rax
jne    2c03 <main+0x5f3>
mov    $0x0,%al
call   2480 <test_lseek_basic@plt>
mov    %eax,-0x4(%rbp)
jmp    3328 <main+0xd18>
mov    -0x18(%rbp),%rdi
lea    0x15ee(%rip),%rsi
call   22e0 <strcmp@plt>
cmp    $0x0,%rax
jne    2c2c <main+0x61c>
mov    $0x0,%al
call   2440 <test_lseek_errors@plt>
mov    %eax,-0x4(%rbp)
jmp    3328 <main+0xd18>
mov    -0x18(%rbp),%rdi
lea    0x15d2(%rip),%rsi
call   22e0 <strcmp@plt>
cmp    $0x0,%rax
jne    2c55 <main+0x645>
mov    $0x0,%al
call   2190 <test_access_basic@plt>
mov    %eax,-0x4(%rbp)
jmp    3328 <main+0xd18>
mov    -0x18(%rbp),%rdi
lea    0x17ae(%rip),%rsi
call   22e0 <strcmp@plt>
cmp    $0x0,%rax
jne    2c7e <main+0x66e>
mov    $0x0,%al
call   24b0 <test_stat@plt>
mov    %eax,-0x4(%rbp)
jmp    3328 <main+0xd18>
mov    -0x18(%rbp),%rdi
lea    0x158d(%rip),%rsi
call   22e0 <strcmp@plt>
cmp    $0x0,%rax
jne    2ca7 <main+0x697>
mov    $0x0,%al
call   2140 <test_fstat@plt>
mov    %eax,-0x4(%rbp)
jmp    3328 <main+0xd18>
mov    -0x18(%rbp),%rdi
lea    0x1579(%rip),%rsi
call   22e0 <strcmp@plt>
cmp    $0x0,%rax
jne    2cd0 <main+0x6c0>
mov    $0x0,%al
call   21a0 <test_setjmp@plt>
mov    %eax,-0x4(%rbp)
jmp    3328 <main+0xd18>
mov    -0x18(%rbp),%rdi
lea    0x1541(%rip),%rsi
call   22e0 <strcmp@plt>
cmp    $0x0,%rax
jne    2cf9 <main+0x6e9>
mov    $0x0,%al
call   23b0 <test_sigaction_with_setjmp@plt>
mov    %eax,-0x4(%rbp)
jmp    3328 <main+0xd18>
mov    -0x18(%rbp),%rdi
lea    0x152e(%rip),%rsi
call   22e0 <strcmp@plt>
cmp    $0x0,%rax
jne    2d22 <main+0x712>
mov    $0x0,%al
call   2250 <test_sigaction_handler_returns@plt>
mov    %eax,-0x4(%rbp)
jmp    3328 <main+0xd18>
mov    -0x18(%rbp),%rdi
lea    0x151f(%rip),%rsi
call   22e0 <strcmp@plt>
cmp    $0x0,%rax
jne    2d4b <main+0x73b>
mov    $0x0,%al
call   23c0 <test_vfs_dir@plt>
mov    %eax,-0x4(%rbp)
jmp    3328 <main+0xd18>
mov    -0x18(%rbp),%rdi
lea    0x14fe(%rip),%rsi
call   22e0 <strcmp@plt>
cmp    $0x0,%rax
jne    2d74 <main+0x764>
mov    $0x0,%al
call   21b0 <test_vfs_rw@plt>
mov    %eax,-0x4(%rbp)
jmp    3328 <main+0xd18>
mov    -0x18(%rbp),%rdi
lea    0x14dc(%rip),%rsi
call   22e0 <strcmp@plt>
cmp    $0x0,%rax
jne    2d9d <main+0x78d>
mov    $0x0,%al
call   20a0 <test_vfs_relative_dir@plt>
mov    %eax,-0x4(%rbp)
jmp    3328 <main+0xd18>
mov    -0x18(%rbp),%rdi
lea    0x14c4(%rip),%rsi
call   22e0 <strcmp@plt>
cmp    $0x0,%rax
jne    2dc6 <main+0x7b6>
mov    $0x0,%al
call   2270 <test_vfs_dot_dot_dir@plt>
mov    %eax,-0x4(%rbp)
jmp    3328 <main+0xd18>
mov    -0x18(%rbp),%rdi
lea    0x14ab(%rip),%rsi
call   22e0 <strcmp@plt>
cmp    $0x0,%rax
jne    2def <main+0x7df>
mov    $0x0,%al
call   23e0 <test_vfs_dot_dir@plt>
mov    %eax,-0x4(%rbp)
jmp    3328 <main+0xd18>
mov    -0x18(%rbp),%rdi
lea    0x148e(%rip),%rsi
call   22e0 <strcmp@plt>
cmp    $0x0,%rax
jne    2e18 <main+0x808>
mov    $0x0,%al
call   2170 <test_vfs_dot_dot_across_fs@plt>
mov    %eax,-0x4(%rbp)
jmp    3328 <main+0xd18>
mov    -0x18(%rbp),%rdi
lea    0x147b(%rip),%rsi
call   22e0 <strcmp@plt>
cmp    $0x0,%rax
jne    2e41 <main+0x831>
mov    $0x0,%al
call   21e0 <test_vfs_trunc@plt>
mov    %eax,-0x4(%rbp)
jmp    3328 <main+0xd18>
mov    -0x18(%rbp),%rdi
lea    0x145c(%rip),%rsi
call   22e0 <strcmp@plt>
cmp    $0x0,%rax
jne    2e6a <main+0x85a>
mov    $0x0,%al
call   2180 <test_vfs_symlink@plt>
mov    %eax,-0x4(%rbp)
jmp    3328 <main+0xd18>
mov    -0x18(%rbp),%rdi
lea    0x143f(%rip),%rsi
call   22e0 <strcmp@plt>
cmp    $0x0,%rax
jne    2e93 <main+0x883>
mov    $0x0,%al
call   2520 <test_vfs_link@plt>
mov    %eax,-0x4(%rbp)
jmp    3328 <main+0xd18>
mov    -0x18(%rbp),%rdi
lea    0x141f(%rip),%rsi
call   22e0 <strcmp@plt>
cmp    $0x0,%rax
jne    2ebc <main+0x8ac>
mov    $0x0,%al
call   2040 <test_vfs_chmod@plt>
mov    %eax,-0x4(%rbp)
jmp    3328 <main+0xd18>
mov    -0x18(%rbp),%rdi
lea    0x1400(%rip),%rsi
call   22e0 <strcmp@plt>
cmp    $0x0,%rax
jne    2ee5 <main+0x8d5>
mov    $0x0,%al
call   20e0 <test_wait_basic@plt>
mov    %eax,-0x4(%rbp)
jmp    3328 <main+0xd18>
mov    -0x18(%rbp),%rdi
lea    0x13e2(%rip),%rsi
call   22e0 <strcmp@plt>
cmp    $0x0,%rax
jne    2f0e <main+0x8fe>
mov    $0x0,%al
call   2330 <test_wait_nohang@plt>
mov    %eax,-0x4(%rbp)
jmp    3328 <main+0xd18>
mov    -0x18(%rbp),%rdi
lea    0x13c5(%rip),%rsi
call   22e0 <strcmp@plt>
cmp    $0x0,%rax
jne    2f37 <main+0x927>
mov    $0x0,%al
call   23d0 <test_setpgid@plt>
mov    %eax,-0x4(%rbp)
jmp    3328 <main+0xd18>
mov    -0x18(%rbp),%rdi
lea    0x13a4(%rip),%rsi
call   22e0 <strcmp@plt>
cmp    $0x0,%rax
jne    2f60 <main+0x950>
mov    $0x0,%al
call   24c0 <test_setpgid_leader@plt>
mov    %eax,-0x4(%rbp)
jmp    3328 <main+0xd18>
mov    -0x18(%rbp),%rdi
lea    0x138a(%rip),%rsi
call   22e0 <strcmp@plt>
cmp    $0x0,%rax
jne    2f89 <main+0x979>
mov    $0x0,%al
call   24f0 <test_setpgid_child@plt>
mov    %eax,-0x4(%rbp)
jmp    3328 <main+0xd18>
mov    -0x18(%rbp),%rdi
lea    0x136f(%rip),%rsi
call   22e0 <strcmp@plt>
cmp    $0x0,%rax
jne    2fb2 <main+0x9a2>
mov    $0x0,%al
call   22a0 <test_kill@plt>
mov    %eax,-0x4(%rbp)
jmp    3328 <main+0xd18>
mov    -0x18(%rbp),%rdi
lea    0x134b(%rip),%rsi
call   22e0 <strcmp@plt>
cmp    $0x0,%rax
jne    2fdb <main+0x9cb>
mov    $0x0,%al
call   20d0 <test_killpg_same_group@plt>
mov    %eax,-0x4(%rbp)
jmp    3328 <main+0xd18>
mov    -0x18(%rbp),%rdi
lea    0x1334(%rip),%rsi
call   22e0 <strcmp@plt>
cmp    $0x0,%rax
jne    3004 <main+0x9f4>
mov    $0x0,%al
call   2120 <test_killpg_other_group@plt>
mov    %eax,-0x4(%rbp)
jmp    3328 <main+0xd18>
mov    -0x18(%rbp),%rdi
lea    0x131e(%rip),%rsi
call   22e0 <strcmp@plt>
cmp    $0x0,%rax
jne    302d <main+0xa1d>
mov    $0x0,%al
call   2390 <test_pgrp_orphan@plt>
mov    %eax,-0x4(%rbp)
jmp    3328 <main+0xd18>
mov    -0x18(%rbp),%rdi
lea    0x1301(%rip),%rsi
call   22e0 <strcmp@plt>
cmp    $0x0,%rax
jne    3056 <main+0xa46>
mov    $0x0,%al
call   23a0 <test_session_basic@plt>
mov    %eax,-0x4(%rbp)
jmp    3328 <main+0xd18>
mov    -0x18(%rbp),%rdi
lea    0x12e6(%rip),%rsi
call   22e0 <strcmp@plt>
cmp    $0x0,%rax
jne    307f <main+0xa6f>
mov    $0x0,%al
call   2380 <test_session_login_name@plt>
mov    %eax,-0x4(%rbp)
jmp    3328 <main+0xd18>
mov    -0x18(%rbp),%rdi
lea    0x12d0(%rip),%rsi
call   22e0 <strcmp@plt>
cmp    $0x0,%rax
jne    30a8 <main+0xa98>
mov    $0x0,%al
call   2340 <test_getcwd@plt>
mov    %eax,-0x4(%rbp)
jmp    3328 <main+0xd18>
mov    -0x18(%rbp),%rdi
lea    0x12ae(%rip),%rsi
call   22e0 <strcmp@plt>
cmp    $0x0,%rax
jne    30d1 <main+0xac1>
mov    $0x0,%al
call   20c0 <test_gettimeofday@plt>
mov    %eax,-0x4(%rbp)
jmp    3328 <main+0xd18>
mov    -0x18(%rbp),%rdi
lea    0x1292(%rip),%rsi
call   22e0 <strcmp@plt>
cmp    $0x0,%rax
jne    30fa <main+0xaea>
mov    $0x0,%al
call   2310 <test_nanosleep@plt>
mov    %eax,-0x4(%rbp)
jmp    3328 <main+0xd18>
mov    -0x18(%rbp),%rdi
lea    0x1273(%rip),%rsi
call   22e0 <strcmp@plt>
cmp    $0x0,%rax
jne    3123 <main+0xb13>
mov    $0x0,%al
call   2030 <test_itimer@plt>
mov    %eax,-0x4(%rbp)
jmp    3328 <main+0xd18>
mov    -0x18(%rbp),%rdi
lea    0x1251(%rip),%rsi
call   22e0 <strcmp@plt>
cmp    $0x0,%rax
jne    314c <main+0xb3c>
mov    $0x0,%al
call   2210 <test_get_set_uid@plt>
mov    %eax,-0x4(%rbp)
jmp    3328 <main+0xd18>
mov    -0x18(%rbp),%rdi
lea    0x1234(%rip),%rsi
call   22e0 <strcmp@plt>
cmp    $0x0,%rax
jne    3175 <main+0xb65>
mov    $0x0,%al
call   21d0 <test_get_set_gid@plt>
mov    %eax,-0x4(%rbp)
jmp    3328 <main+0xd18>
mov    -0x18(%rbp),%rdi
lea    0x1217(%rip),%rsi
call   22e0 <strcmp@plt>
cmp    $0x0,%rax
jne    319e <main+0xb8e>
mov    $0x0,%al
call   2220 <test_get_set_groups@plt>
mov    %eax,-0x4(%rbp)
jmp    3328 <main+0xd18>
mov    -0x18(%rbp),%rdi
lea    0x11fd(%rip),%rsi
call   22e0 <strcmp@plt>
cmp    $0x0,%rax
jne    31c7 <main+0xbb7>
mov    $0x0,%al
call   22b0 <test_sharing_memory_simple@plt>
mov    %eax,-0x4(%rbp)
jmp    3328 <main+0xd18>
mov    -0x18(%rbp),%rdi
lea    0x11ea(%rip),%rsi
call   22e0 <strcmp@plt>
cmp    $0x0,%rax
jne    31f0 <main+0xbe0>
mov    $0x0,%al
call   2230 <test_sharing_memory_child_and_grandchild@plt>
mov    %eax,-0x4(%rbp)
jmp    3328 <main+0xd18>
mov    -0x18(%rbp),%rdi
lea    0x11e5(%rip),%rsi
call   22e0 <strcmp@plt>
cmp    $0x0,%rax
jne    3219 <main+0xc09>
mov    $0x0,%al
call   22f0 <test_pty_simple@plt>
mov    %eax,-0x4(%rbp)
jmp    3328 <main+0xd18>
mov    -0x18(%rbp),%rdi
lea    0x11c7(%rip),%rsi
call   22e0 <strcmp@plt>
cmp    $0x0,%rax
jne    3242 <main+0xc32>
mov    $0x0,%al
call   2300 <test_tty_canon@plt>
mov    %eax,-0x4(%rbp)
jmp    3328 <main+0xd18>
mov    -0x18(%rbp),%rdi
lea    0x11a8(%rip),%rsi
call   22e0 <strcmp@plt>
cmp    $0x0,%rax
jne    326b <main+0xc5b>
mov    $0x0,%al
call   2350 <test_tty_echo@plt>
mov    %eax,-0x4(%rbp)
jmp    3328 <main+0xd18>
mov    -0x18(%rbp),%rdi
lea    0x1188(%rip),%rsi
call   22e0 <strcmp@plt>
cmp    $0x0,%rax
jne    3294 <main+0xc84>
mov    $0x0,%al
call   2470 <test_tty_signals@plt>
mov    %eax,-0x4(%rbp)
jmp    3328 <main+0xd18>
mov    -0x18(%rbp),%rdi
lea    0x116b(%rip),%rsi
call   22e0 <strcmp@plt>
cmp    $0x0,%rax
jne    32bd <main+0xcad>
mov    $0x0,%al
call   2420 <test_procstat@plt>
mov    %eax,-0x4(%rbp)
jmp    3328 <main+0xd18>
mov    -0x18(%rbp),%rdi
lea    0x114b(%rip),%rsi
call   22e0 <strcmp@plt>
cmp    $0x0,%rax
jne    32e6 <main+0xcd6>
mov    $0x0,%al
call   22c0 <test_pipe_parent_signaled@plt>
mov    %eax,-0x4(%rbp)
jmp    3328 <main+0xd18>
mov    -0x18(%rbp),%rdi
lea    0x1137(%rip),%rsi
call   22e0 <strcmp@plt>
cmp    $0x0,%rax
jne    330f <main+0xcff>
mov    $0x0,%al
call   2430 <test_pipe_child_signaled@plt>
mov    %eax,-0x4(%rbp)
jmp    3328 <main+0xd18>
mov    -0x18(%rbp),%rsi
lea    0x1122(%rip),%rdi
mov    $0x0,%al
call   21f0 <printf@plt>
movl   $0x1,-0x4(%rbp)
mov    -0x4(%rbp),%eax
add    $0x20,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<main>:
push   %rbx
cmp    $0x1,%edi
jg     2639 <main+0x19>
lea    0x1e04(%rip),%rdi
call   2110 <puts@plt>
mov    $0x1,%eax
pop    %rbx
ret
mov    0x8(%rsi),%rbx
lea    0x19bc(%rip),%rdi
mov    %rbx,%rsi
xor    %eax,%eax
call   2200 <printf@plt>
lea    0x19c5(%rip),%rsi
mov    %rbx,%rdi
call   22f0 <strcmp@plt>
test   %rax,%rax
je     2dcc <main+0x7ac>
lea    0x19b2(%rip),%rsi
mov    %rbx,%rdi
call   22f0 <strcmp@plt>
test   %rax,%rax
je     2dd4 <main+0x7b4>
lea    0x19a1(%rip),%rsi
mov    %rbx,%rdi
call   22f0 <strcmp@plt>
test   %rax,%rax
je     2ddc <main+0x7bc>
lea    0x1998(%rip),%rsi
mov    %rbx,%rdi
call   22f0 <strcmp@plt>
test   %rax,%rax
je     2de4 <main+0x7c4>
lea    0x198f(%rip),%rsi
mov    %rbx,%rdi
call   22f0 <strcmp@plt>
test   %rax,%rax
je     2dec <main+0x7cc>
lea    0x1986(%rip),%rsi
mov    %rbx,%rdi
call   22f0 <strcmp@plt>
test   %rax,%rax
je     2df4 <main+0x7d4>
lea    0x1973(%rip),%rsi
mov    %rbx,%rdi
call   22f0 <strcmp@plt>
test   %rax,%rax
je     2dfc <main+0x7dc>
lea    0x1968(%rip),%rsi
mov    %rbx,%rdi
call   22f0 <strcmp@plt>
test   %rax,%rax
je     2e04 <main+0x7e4>
lea    0x195a(%rip),%rsi
mov    %rbx,%rdi
call   22f0 <strcmp@plt>
test   %rax,%rax
je     2e0c <main+0x7ec>
lea    0x194a(%rip),%rsi
mov    %rbx,%rdi
call   22f0 <strcmp@plt>
test   %rax,%rax
je     2e14 <main+0x7f4>
lea    0x193d(%rip),%rsi
mov    %rbx,%rdi
call   22f0 <strcmp@plt>
test   %rax,%rax
je     2e1c <main+0x7fc>
lea    0x1932(%rip),%rsi
mov    %rbx,%rdi
call   22f0 <strcmp@plt>
test   %rax,%rax
je     2e24 <main+0x804>
lea    0x1927(%rip),%rsi
mov    %rbx,%rdi
call   22f0 <strcmp@plt>
test   %rax,%rax
je     2e2c <main+0x80c>
lea    0x1917(%rip),%rsi
mov    %rbx,%rdi
call   22f0 <strcmp@plt>
test   %rax,%rax
je     2e34 <main+0x814>
lea    0x190b(%rip),%rsi
mov    %rbx,%rdi
call   22f0 <strcmp@plt>
test   %rax,%rax
je     2e3c <main+0x81c>
lea    0x1900(%rip),%rsi
mov    %rbx,%rdi
call   22f0 <strcmp@plt>
test   %rax,%rax
je     2e44 <main+0x824>
lea    0x18ef(%rip),%rsi
mov    %rbx,%rdi
call   22f0 <strcmp@plt>
test   %rax,%rax
je     2e4c <main+0x82c>
lea    0x18df(%rip),%rsi
mov    %rbx,%rdi
call   22f0 <strcmp@plt>
test   %rax,%rax
je     2e54 <main+0x834>
lea    0x18d0(%rip),%rsi
mov    %rbx,%rdi
call   22f0 <strcmp@plt>
test   %rax,%rax
je     2e5c <main+0x83c>
lea    0x18c2(%rip),%rsi
mov    %rbx,%rdi
call   22f0 <strcmp@plt>
test   %rax,%rax
je     2e64 <main+0x844>
lea    0x18b1(%rip),%rsi
mov    %rbx,%rdi
call   22f0 <strcmp@plt>
test   %rax,%rax
je     2e6c <main+0x84c>
lea    0x18a6(%rip),%rsi
mov    %rbx,%rdi
call   22f0 <strcmp@plt>
test   %rax,%rax
je     2e74 <main+0x854>
lea    0x189a(%rip),%rsi
mov    %rbx,%rdi
call   22f0 <strcmp@plt>
test   %rax,%rax
je     2e7c <main+0x85c>
lea    0x188f(%rip),%rsi
mov    %rbx,%rdi
call   22f0 <strcmp@plt>
test   %rax,%rax
je     2e84 <main+0x864>
lea    0x1887(%rip),%rsi
mov    %rbx,%rdi
call   22f0 <strcmp@plt>
test   %rax,%rax
je     2e8c <main+0x86c>
lea    0x187b(%rip),%rsi
mov    %rbx,%rdi
call   22f0 <strcmp@plt>
test   %rax,%rax
je     2e94 <main+0x874>
lea    0x1876(%rip),%rsi
mov    %rbx,%rdi
call   22f0 <strcmp@plt>
test   %rax,%rax
je     2e9c <main+0x87c>
lea    0x186a(%rip),%rsi
mov    %rbx,%rdi
call   22f0 <strcmp@plt>
test   %rax,%rax
je     2ea4 <main+0x884>
lea    0x186a(%rip),%rsi
mov    %rbx,%rdi
call   22f0 <strcmp@plt>
test   %rax,%rax
je     2eac <main+0x88c>
lea    0x1864(%rip),%rsi
mov    %rbx,%rdi
call   22f0 <strcmp@plt>
test   %rax,%rax
je     2eb4 <main+0x894>
lea    0x1863(%rip),%rsi
mov    %rbx,%rdi
call   22f0 <strcmp@plt>
test   %rax,%rax
je     2ebc <main+0x89c>
lea    0x185f(%rip),%rsi
mov    %rbx,%rdi
call   22f0 <strcmp@plt>
test   %rax,%rax
je     2ec4 <main+0x8a4>
lea    0x1851(%rip),%rsi
mov    %rbx,%rdi
call   22f0 <strcmp@plt>
test   %rax,%rax
je     2ecc <main+0x8ac>
lea    0x1845(%rip),%rsi
mov    %rbx,%rdi
call   22f0 <strcmp@plt>
test   %rax,%rax
je     2ed4 <main+0x8b4>
lea    0x1842(%rip),%rsi
mov    %rbx,%rdi
call   22f0 <strcmp@plt>
test   %rax,%rax
je     2edc <main+0x8bc>
lea    0x1836(%rip),%rsi
mov    %rbx,%rdi
call   22f0 <strcmp@plt>
test   %rax,%rax
je     2ee4 <main+0x8c4>
lea    0x182b(%rip),%rsi
mov    %rbx,%rdi
call   22f0 <strcmp@plt>
test   %rax,%rax
je     2eec <main+0x8cc>
lea    0x1a18(%rip),%rsi
mov    %rbx,%rdi
call   22f0 <strcmp@plt>
test   %rax,%rax
je     2ef4 <main+0x8d4>
lea    0x1808(%rip),%rsi
mov    %rbx,%rdi
call   22f0 <strcmp@plt>
test   %rax,%rax
je     2efc <main+0x8dc>
lea    0x1805(%rip),%rsi
mov    %rbx,%rdi
call   22f0 <strcmp@plt>
test   %rax,%rax
je     2f04 <main+0x8e4>
lea    0x17de(%rip),%rsi
mov    %rbx,%rdi
call   22f0 <strcmp@plt>
test   %rax,%rax
je     2f0c <main+0x8ec>
lea    0x17dc(%rip),%rsi
mov    %rbx,%rdi
call   22f0 <strcmp@plt>
test   %rax,%rax
je     2f14 <main+0x8f4>
lea    0x17de(%rip),%rsi
mov    %rbx,%rdi
call   22f0 <strcmp@plt>
test   %rax,%rax
je     2f1c <main+0x8fc>
lea    0x17ce(%rip),%rsi
mov    %rbx,%rdi
call   22f0 <strcmp@plt>
test   %rax,%rax
je     2f24 <main+0x904>
lea    0x17bd(%rip),%rsi
mov    %rbx,%rdi
call   22f0 <strcmp@plt>
test   %rax,%rax
je     2f2c <main+0x90c>
lea    0x17b6(%rip),%rsi
mov    %rbx,%rdi
call   22f0 <strcmp@plt>
test   %rax,%rax
je     2f34 <main+0x914>
lea    0x17ae(%rip),%rsi
mov    %rbx,%rdi
call   22f0 <strcmp@plt>
test   %rax,%rax
je     2f3c <main+0x91c>
lea    0x17a2(%rip),%rsi
mov    %rbx,%rdi
call   22f0 <strcmp@plt>
test   %rax,%rax
je     2f44 <main+0x924>
lea    0x17a0(%rip),%rsi
mov    %rbx,%rdi
call   22f0 <strcmp@plt>
test   %rax,%rax
je     2f4c <main+0x92c>
lea    0x1792(%rip),%rsi
mov    %rbx,%rdi
call   22f0 <strcmp@plt>
test   %rax,%rax
je     2f54 <main+0x934>
lea    0x1786(%rip),%rsi
mov    %rbx,%rdi
call   22f0 <strcmp@plt>
test   %rax,%rax
je     2f5c <main+0x93c>
lea    0x1777(%rip),%rsi
mov    %rbx,%rdi
call   22f0 <strcmp@plt>
test   %rax,%rax
je     2f64 <main+0x944>
lea    0x1769(%rip),%rsi
mov    %rbx,%rdi
call   22f0 <strcmp@plt>
test   %rax,%rax
je     2f6c <main+0x94c>
lea    0x175c(%rip),%rsi
mov    %rbx,%rdi
call   22f0 <strcmp@plt>
test   %rax,%rax
je     2f74 <main+0x954>
lea    0x1750(%rip),%rsi
mov    %rbx,%rdi
call   22f0 <strcmp@plt>
test   %rax,%rax
je     2f7c <main+0x95c>
lea    0x1740(%rip),%rsi
mov    %rbx,%rdi
call   22f0 <strcmp@plt>
test   %rax,%rax
je     2f84 <main+0x964>
lea    0x1737(%rip),%rsi
mov    %rbx,%rdi
call   22f0 <strcmp@plt>
test   %rax,%rax
je     2f8c <main+0x96c>
lea    0x172d(%rip),%rsi
mov    %rbx,%rdi
call   22f0 <strcmp@plt>
test   %rax,%rax
je     2f94 <main+0x974>
lea    0x171a(%rip),%rsi
mov    %rbx,%rdi
call   22f0 <strcmp@plt>
test   %rax,%rax
je     2f9c <main+0x97c>
lea    0x1714(%rip),%rsi
mov    %rbx,%rdi
call   22f0 <strcmp@plt>
test   %rax,%rax
je     2fa4 <main+0x984>
lea    0x170f(%rip),%rsi
mov    %rbx,%rdi
call   22f0 <strcmp@plt>
test   %rax,%rax
je     2fac <main+0x98c>
lea    0x1703(%rip),%rsi
mov    %rbx,%rdi
call   22f0 <strcmp@plt>
test   %rax,%rax
je     2fb4 <main+0x994>
lea    0x16f9(%rip),%rsi
mov    %rbx,%rdi
call   22f0 <strcmp@plt>
test   %rax,%rax
je     2fbc <main+0x99c>
lea    0x16f4(%rip),%rsi
mov    %rbx,%rdi
call   22f0 <strcmp@plt>
test   %rax,%rax
je     2fc4 <main+0x9a4>
lea    0x16e3(%rip),%rsi
mov    %rbx,%rdi
call   22f0 <strcmp@plt>
test   %rax,%rax
je     2fcc <main+0x9ac>
lea    0x16d8(%rip),%rsi
mov    %rbx,%rdi
call   22f0 <strcmp@plt>
test   %rax,%rax
je     2fd4 <main+0x9b4>
lea    0x16ca(%rip),%rsi
mov    %rbx,%rdi
call   22f0 <strcmp@plt>
test   %rax,%rax
je     2fdc <main+0x9bc>
lea    0x16b9(%rip),%rsi
mov    %rbx,%rdi
call   22f0 <strcmp@plt>
test   %rax,%rax
je     2fe4 <main+0x9c4>
lea    0x16ad(%rip),%rsi
mov    %rbx,%rdi
call   22f0 <strcmp@plt>
test   %rax,%rax
je     2fec <main+0x9cc>
lea    0x16a1(%rip),%rsi
mov    %rbx,%rdi
call   22f0 <strcmp@plt>
test   %rax,%rax
je     2ff4 <main+0x9d4>
lea    0x1698(%rip),%rsi
mov    %rbx,%rdi
call   22f0 <strcmp@plt>
test   %rax,%rax
je     2ffc <main+0x9dc>
lea    0x1696(%rip),%rsi
mov    %rbx,%rdi
call   22f0 <strcmp@plt>
test   %rax,%rax
je     3004 <main+0x9e4>
lea    0x16a2(%rip),%rsi
mov    %rbx,%rdi
call   22f0 <strcmp@plt>
test   %rax,%rax
je     300c <main+0x9ec>
lea    0x1695(%rip),%rsi
mov    %rbx,%rdi
call   22f0 <strcmp@plt>
test   %rax,%rax
je     3014 <main+0x9f4>
lea    0x1687(%rip),%rsi
mov    %rbx,%rdi
call   22f0 <strcmp@plt>
test   %rax,%rax
je     301c <main+0x9fc>
lea    0x1678(%rip),%rsi
mov    %rbx,%rdi
call   22f0 <strcmp@plt>
test   %rax,%rax
je     3024 <main+0xa04>
lea    0x166c(%rip),%rsi
mov    %rbx,%rdi
call   22f0 <strcmp@plt>
test   %rax,%rax
je     302c <main+0xa0c>
lea    0x165d(%rip),%rsi
mov    %rbx,%rdi
call   22f0 <strcmp@plt>
test   %rax,%rax
je     3034 <main+0xa14>
lea    0x165a(%rip),%rsi
mov    %rbx,%rdi
call   22f0 <strcmp@plt>
test   %rax,%rax
je     303c <main+0xa1c>
lea    0x1656(%rip),%rdi
mov    %rbx,%rsi
xor    %eax,%eax
call   2200 <printf@plt>
jmp    2632 <main+0x12>
xor    %eax,%eax
pop    %rbx
jmp    22e0 <test_mmap@plt>
xor    %eax,%eax
pop    %rbx
jmp    2380 <test_munmap@plt>
xor    %eax,%eax
pop    %rbx
jmp    24b0 <test_munmap_sigsegv@plt>
xor    %eax,%eax
pop    %rbx
jmp    2100 <test_mmap_prot_none@plt>
xor    %eax,%eax
pop    %rbx
jmp    2060 <test_mmap_prot_read@plt>
xor    %eax,%eax
pop    %rbx
jmp    20b0 <test_sbrk@plt>
xor    %eax,%eax
pop    %rbx
jmp    2210 <test_sbrk_sigsegv@plt>
xor    %eax,%eax
pop    %rbx
jmp    2330 <test_misbehave@plt>
xor    %eax,%eax
pop    %rbx
jmp    2120 <test_fd_read@plt>
xor    %eax,%eax
pop    %rbx
jmp    21d0 <test_fd_devnull@plt>
xor    %eax,%eax
pop    %rbx
jmp    2470 <test_fd_multidesc@plt>
xor    %eax,%eax
pop    %rbx
jmp    2370 <test_fd_readwrite@plt>
xor    %eax,%eax
pop    %rbx
jmp    2140 <test_fd_copy@plt>
xor    %eax,%eax
pop    %rbx
jmp    24a0 <test_fd_bad_desc@plt>
xor    %eax,%eax
pop    %rbx
jmp    24e0 <test_fd_open_path@plt>
xor    %eax,%eax
pop    %rbx
jmp    2290 <test_fd_dup@plt>
xor    %eax,%eax
pop    %rbx
jmp    2070 <test_fd_pipe@plt>
xor    %eax,%eax
pop    %rbx
jmp    20f0 <test_fd_readv@plt>
xor    %eax,%eax
pop    %rbx
jmp    2270 <test_fd_writev@plt>
xor    %eax,%eax
pop    %rbx
jmp    2170 <test_fd_all@plt>
xor    %eax,%eax
pop    %rbx
jmp    2250 <test_signal_basic@plt>
xor    %eax,%eax
pop    %rbx
jmp    2160 <test_signal_send@plt>
xor    %eax,%eax
pop    %rbx
jmp    2460 <test_signal_abort@plt>
xor    %eax,%eax
pop    %rbx
jmp    2520 <test_signal_segfault@plt>
xor    %eax,%eax
pop    %rbx
jmp    24f0 <test_signal_stop@plt>
xor    %eax,%eax
pop    %rbx
jmp    2410 <test_signal_cont_masked@plt>
xor    %eax,%eax
pop    %rbx
jmp    2080 <test_signal_mask@plt>
xor    %eax,%eax
pop    %rbx
jmp    2420 <test_signal_mask_nonmaskable@plt>
xor    %eax,%eax
pop    %rbx
jmp    2540 <test_signal_sigsuspend@plt>
xor    %eax,%eax
pop    %rbx
jmp    2050 <test_signal_sigsuspend_stop@plt>
xor    %eax,%eax
pop    %rbx
jmp    2090 <test_signal_handler_mask@plt>
xor    %eax,%eax
pop    %rbx
jmp    22a0 <test_fork_wait@plt>
xor    %eax,%eax
pop    %rbx
jmp    2400 <test_fork_signal@plt>
xor    %eax,%eax
pop    %rbx
jmp    2510 <test_fork_sigchld_ignored@plt>
xor    %eax,%eax
pop    %rbx
jmp    2490 <test_lseek_basic@plt>
xor    %eax,%eax
pop    %rbx
jmp    2450 <test_lseek_errors@plt>
xor    %eax,%eax
pop    %rbx
jmp    21a0 <test_access_basic@plt>
xor    %eax,%eax
pop    %rbx
jmp    24c0 <test_stat@plt>
xor    %eax,%eax
pop    %rbx
jmp    2150 <test_fstat@plt>
xor    %eax,%eax
pop    %rbx
jmp    21b0 <test_setjmp@plt>
xor    %eax,%eax
pop    %rbx
jmp    23c0 <test_sigaction_with_setjmp@plt>
xor    %eax,%eax
pop    %rbx
jmp    2260 <test_sigaction_handler_returns@plt>
xor    %eax,%eax
pop    %rbx
jmp    23d0 <test_vfs_dir@plt>
xor    %eax,%eax
pop    %rbx
jmp    21c0 <test_vfs_rw@plt>
xor    %eax,%eax
pop    %rbx
jmp    20a0 <test_vfs_relative_dir@plt>
xor    %eax,%eax
pop    %rbx
jmp    2280 <test_vfs_dot_dot_dir@plt>
xor    %eax,%eax
pop    %rbx
jmp    23f0 <test_vfs_dot_dir@plt>
xor    %eax,%eax
pop    %rbx
jmp    2180 <test_vfs_dot_dot_across_fs@plt>
xor    %eax,%eax
pop    %rbx
jmp    21f0 <test_vfs_trunc@plt>
xor    %eax,%eax
pop    %rbx
jmp    2190 <test_vfs_symlink@plt>
xor    %eax,%eax
pop    %rbx
jmp    2530 <test_vfs_link@plt>
xor    %eax,%eax
pop    %rbx
jmp    2040 <test_vfs_chmod@plt>
xor    %eax,%eax
pop    %rbx
jmp    20e0 <test_wait_basic@plt>
xor    %eax,%eax
pop    %rbx
jmp    2340 <test_wait_nohang@plt>
xor    %eax,%eax
pop    %rbx
jmp    23e0 <test_setpgid@plt>
xor    %eax,%eax
pop    %rbx
jmp    24d0 <test_setpgid_leader@plt>
xor    %eax,%eax
pop    %rbx
jmp    2500 <test_setpgid_child@plt>
xor    %eax,%eax
pop    %rbx
jmp    22b0 <test_kill@plt>
xor    %eax,%eax
pop    %rbx
jmp    20d0 <test_killpg_same_group@plt>
xor    %eax,%eax
pop    %rbx
jmp    2130 <test_killpg_other_group@plt>
xor    %eax,%eax
pop    %rbx
jmp    23a0 <test_pgrp_orphan@plt>
xor    %eax,%eax
pop    %rbx
jmp    23b0 <test_session_basic@plt>
xor    %eax,%eax
pop    %rbx
jmp    2390 <test_session_login_name@plt>
xor    %eax,%eax
pop    %rbx
jmp    2350 <test_getcwd@plt>
xor    %eax,%eax
pop    %rbx
jmp    20c0 <test_gettimeofday@plt>
xor    %eax,%eax
pop    %rbx
jmp    2320 <test_nanosleep@plt>
xor    %eax,%eax
pop    %rbx
jmp    2030 <test_itimer@plt>
xor    %eax,%eax
pop    %rbx
jmp    2220 <test_get_set_uid@plt>
xor    %eax,%eax
pop    %rbx
jmp    21e0 <test_get_set_gid@plt>
xor    %eax,%eax
pop    %rbx
jmp    2230 <test_get_set_groups@plt>
xor    %eax,%eax
pop    %rbx
jmp    22c0 <test_sharing_memory_simple@plt>
xor    %eax,%eax
pop    %rbx
jmp    2240 <test_sharing_memory_child_and_grandchild@plt>
xor    %eax,%eax
pop    %rbx
jmp    2300 <test_pty_simple@plt>
xor    %eax,%eax
pop    %rbx
jmp    2310 <test_tty_canon@plt>
xor    %eax,%eax
pop    %rbx
jmp    2360 <test_tty_echo@plt>
xor    %eax,%eax
pop    %rbx
jmp    2480 <test_tty_signals@plt>
xor    %eax,%eax
pop    %rbx
jmp    2430 <test_procstat@plt>
xor    %eax,%eax
pop    %rbx
jmp    22d0 <test_pipe_parent_signaled@plt>
xor    %eax,%eax
pop    %rbx
jmp    2440 <test_pipe_child_signaled@plt>

LLVM IR (-O0):
@.str = [41 x i8] c"Not enough arguments provided to utest.\0A\00"
@.str.1 = [26 x i8] c"Starting user test \22%s\22.\0A\00"
@.str.2 = [5 x i8] c"mmap\00"
@.str.3 = [7 x i8] c"munmap\00"
@.str.4 = [15 x i8] c"munmap_sigsegv\00"
@.str.5 = [15 x i8] c"mmap_prot_none\00"
@.str.6 = [15 x i8] c"mmap_prot_read\00"
@.str.7 = [5 x i8] c"sbrk\00"
@.str.8 = [13 x i8] c"sbrk_sigsegv\00"
@.str.9 = [10 x i8] c"misbehave\00"
@.str.10 = [8 x i8] c"fd_read\00"
@.str.11 = [11 x i8] c"fd_devnull\00"
@.str.12 = [13 x i8] c"fd_multidesc\00"
@.str.13 = [13 x i8] c"fd_readwrite\00"
@.str.14 = [8 x i8] c"fd_copy\00"
@.str.15 = [12 x i8] c"fd_bad_desc\00"
@.str.16 = [13 x i8] c"fd_open_path\00"
@.str.17 = [7 x i8] c"fd_dup\00"
@.str.18 = [8 x i8] c"fd_pipe\00"
@.str.19 = [9 x i8] c"fd_readv\00"
@.str.20 = [10 x i8] c"fd_writev\00"
@.str.21 = [7 x i8] c"fd_all\00"
@.str.22 = [13 x i8] c"signal_basic\00"
@.str.23 = [12 x i8] c"signal_send\00"
@.str.24 = [13 x i8] c"signal_abort\00"
@.str.25 = [16 x i8] c"signal_segfault\00"
@.str.26 = [12 x i8] c"signal_stop\00"
@.str.27 = [19 x i8] c"signal_cont_masked\00"
@.str.28 = [12 x i8] c"signal_mask\00"
@.str.29 = [24 x i8] c"signal_mask_nonmaskable\00"
@.str.30 = [18 x i8] c"signal_sigsuspend\00"
@.str.31 = [23 x i8] c"signal_sigsuspend_stop\00"
@.str.32 = [20 x i8] c"signal_handler_mask\00"
@.str.33 = [10 x i8] c"fork_wait\00"
@.str.34 = [12 x i8] c"fork_signal\00"
@.str.35 = [21 x i8] c"fork_sigchld_ignored\00"
@.str.36 = [12 x i8] c"lseek_basic\00"
@.str.37 = [13 x i8] c"lseek_errors\00"
@.str.38 = [13 x i8] c"access_basic\00"
@.str.39 = [5 x i8] c"stat\00"
@.str.40 = [6 x i8] c"fstat\00"
@.str.41 = [7 x i8] c"setjmp\00"
@.str.42 = [22 x i8] c"sigaction_with_setjmp\00"
@.str.43 = [26 x i8] c"sigaction_handler_returns\00"
@.str.44 = [8 x i8] c"vfs_dir\00"
@.str.45 = [7 x i8] c"vfs_rw\00"
@.str.46 = [17 x i8] c"vfs_relative_dir\00"
@.str.47 = [16 x i8] c"vfs_dot_dot_dir\00"
@.str.48 = [12 x i8] c"vfs_dot_dir\00"
@.str.49 = [22 x i8] c"vfs_dot_dot_across_fs\00"
@.str.50 = [10 x i8] c"vfs_trunc\00"
@.str.51 = [12 x i8] c"vfs_symlink\00"
@.str.52 = [9 x i8] c"vfs_link\00"
@.str.53 = [10 x i8] c"vfs_chmod\00"
@.str.54 = [11 x i8] c"wait_basic\00"
@.str.55 = [12 x i8] c"wait_nohang\00"
@.str.56 = [8 x i8] c"setpgid\00"
@.str.57 = [15 x i8] c"setpgid_leader\00"
@.str.58 = [14 x i8] c"setpgid_child\00"
@.str.59 = [5 x i8] c"kill\00"
@.str.60 = [18 x i8] c"killpg_same_group\00"
@.str.61 = [19 x i8] c"killpg_other_group\00"
@.str.62 = [12 x i8] c"pgrp_orphan\00"
@.str.63 = [14 x i8] c"session_basic\00"
@.str.64 = [19 x i8] c"session_login_name\00"
@.str.65 = [7 x i8] c"getcwd\00"
@.str.66 = [13 x i8] c"gettimeofday\00"
@.str.67 = [10 x i8] c"nanosleep\00"
@.str.68 = [7 x i8] c"itimer\00"
@.str.69 = [12 x i8] c"get_set_uid\00"
@.str.70 = [12 x i8] c"get_set_gid\00"
@.str.71 = [15 x i8] c"get_set_groups\00"
@.str.72 = [22 x i8] c"sharing_memory_simple\00"
@.str.73 = [36 x i8] c"sharing_memory_child_and_grandchild\00"
@.str.74 = [11 x i8] c"pty_simple\00"
@.str.75 = [10 x i8] c"tty_canon\00"
@.str.76 = [9 x i8] c"tty_echo\00"
@.str.77 = [12 x i8] c"tty_signals\00"
@.str.78 = [9 x i8] c"procstat\00"
@.str.79 = [21 x i8] c"pipe_parent_signaled\00"
@.str.80 = [20 x i8] c"pipe_child_signaled\00"
@.str.81 = [30 x i8] c"No user test \22%s\22 available.\0A\00"
define i32 @main(i32 %0, i8** %1) {
%3 = alloca i32
%4 = alloca i32
%5 = alloca i8**
%6 = alloca i8*
store i32 0, i32* %3
store i32 %0, i32* %4
store i8** %1, i8*** %5
%7 = load i32, i32* %4
%8 = icmp slt i32 %7, 2
br i1 %8, label %9, label %11
9: ; preds = %2
%10 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([41 x i8], [41 x i8]* @.str, i64 0, i64 0))
store i32 1, i32* %3
br label %493
11: ; preds = %2
%12 = load i8**, i8*** %5
%13 = getelementptr inbounds i8*, i8** %12, i64 1
%14 = load i8*, i8** %13
store i8* %14, i8** %6
%15 = load i8*, i8** %6
%16 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.1, i64 0, i64 0), i8* %15)
%17 = load i8*, i8** %6
%18 = call i64 @strcmp(i8* %17, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.2, i64 0, i64 0))
%19 = icmp eq i64 %18, 0
br i1 %19, label %20, label %22
20: ; preds = %11
%21 = call i32 (...) @test_mmap()
store i32 %21, i32* %3
br label %493
22: ; preds = %11
%23 = load i8*, i8** %6
%24 = call i64 @strcmp(i8* %23, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.3, i64 0, i64 0))
%25 = icmp eq i64 %24, 0
br i1 %25, label %26, label %28
26: ; preds = %22
%27 = call i32 (...) @test_munmap()
store i32 %27, i32* %3
br label %493
28: ; preds = %22
%29 = load i8*, i8** %6
%30 = call i64 @strcmp(i8* %29, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.4, i64 0, i64 0))
%31 = icmp eq i64 %30, 0
br i1 %31, label %32, label %34
32: ; preds = %28
%33 = call i32 (...) @test_munmap_sigsegv()
store i32 %33, i32* %3
br label %493
34: ; preds = %28
%35 = load i8*, i8** %6
%36 = call i64 @strcmp(i8* %35, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.5, i64 0, i64 0))
%37 = icmp eq i64 %36, 0
br i1 %37, label %38, label %40
38: ; preds = %34
%39 = call i32 (...) @test_mmap_prot_none()
store i32 %39, i32* %3
br label %493
40: ; preds = %34
%41 = load i8*, i8** %6
%42 = call i64 @strcmp(i8* %41, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.6, i64 0, i64 0))
%43 = icmp eq i64 %42, 0
br i1 %43, label %44, label %46
44: ; preds = %40
%45 = call i32 (...) @test_mmap_prot_read()
store i32 %45, i32* %3
br label %493
46: ; preds = %40
%47 = load i8*, i8** %6
%48 = call i64 @strcmp(i8* %47, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.7, i64 0, i64 0))
%49 = icmp eq i64 %48, 0
br i1 %49, label %50, label %52
50: ; preds = %46
%51 = call i32 (...) @test_sbrk()
store i32 %51, i32* %3
br label %493
52: ; preds = %46
%53 = load i8*, i8** %6
%54 = call i64 @strcmp(i8* %53, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.8, i64 0, i64 0))
%55 = icmp eq i64 %54, 0
br i1 %55, label %56, label %58
56: ; preds = %52
%57 = call i32 (...) @test_sbrk_sigsegv()
store i32 %57, i32* %3
br label %493
58: ; preds = %52
%59 = load i8*, i8** %6
%60 = call i64 @strcmp(i8* %59, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.9, i64 0, i64 0))
%61 = icmp eq i64 %60, 0
br i1 %61, label %62, label %64
62: ; preds = %58
%63 = call i32 (...) @test_misbehave()
store i32 %63, i32* %3
br label %493
64: ; preds = %58
%65 = load i8*, i8** %6
%66 = call i64 @strcmp(i8* %65, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.10, i64 0, i64 0))
%67 = icmp eq i64 %66, 0
br i1 %67, label %68, label %70
68: ; preds = %64
%69 = call i32 (...) @test_fd_read()
store i32 %69, i32* %3
br label %493
70: ; preds = %64
%71 = load i8*, i8** %6
%72 = call i64 @strcmp(i8* %71, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.11, i64 0, i64 0))
%73 = icmp eq i64 %72, 0
br i1 %73, label %74, label %76
74: ; preds = %70
%75 = call i32 (...) @test_fd_devnull()
store i32 %75, i32* %3
br label %493
76: ; preds = %70
%77 = load i8*, i8** %6
%78 = call i64 @strcmp(i8* %77, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.12, i64 0, i64 0))
%79 = icmp eq i64 %78, 0
br i1 %79, label %80, label %82
80: ; preds = %76
%81 = call i32 (...) @test_fd_multidesc()
store i32 %81, i32* %3
br label %493
82: ; preds = %76
%83 = load i8*, i8** %6
%84 = call i64 @strcmp(i8* %83, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.13, i64 0, i64 0))
%85 = icmp eq i64 %84, 0
br i1 %85, label %86, label %88
86: ; preds = %82
%87 = call i32 (...) @test_fd_readwrite()
store i32 %87, i32* %3
br label %493
88: ; preds = %82
%89 = load i8*, i8** %6
%90 = call i64 @strcmp(i8* %89, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.14, i64 0, i64 0))
%91 = icmp eq i64 %90, 0
br i1 %91, label %92, label %94
92: ; preds = %88
%93 = call i32 (...) @test_fd_copy()
store i32 %93, i32* %3
br label %493
94: ; preds = %88
%95 = load i8*, i8** %6
%96 = call i64 @strcmp(i8* %95, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.15, i64 0, i64 0))
%97 = icmp eq i64 %96, 0
br i1 %97, label %98, label %100
98: ; preds = %94
%99 = call i32 (...) @test_fd_bad_desc()
store i32 %99, i32* %3
br label %493
100: ; preds = %94
%101 = load i8*, i8** %6
%102 = call i64 @strcmp(i8* %101, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.16, i64 0, i64 0))
%103 = icmp eq i64 %102, 0
br i1 %103, label %104, label %106
104: ; preds = %100
%105 = call i32 (...) @test_fd_open_path()
store i32 %105, i32* %3
br label %493
106: ; preds = %100
%107 = load i8*, i8** %6
%108 = call i64 @strcmp(i8* %107, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.17, i64 0, i64 0))
%109 = icmp eq i64 %108, 0
br i1 %109, label %110, label %112
110: ; preds = %106
%111 = call i32 (...) @test_fd_dup()
store i32 %111, i32* %3
br label %493
112: ; preds = %106
%113 = load i8*, i8** %6
%114 = call i64 @strcmp(i8* %113, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.18, i64 0, i64 0))
%115 = icmp eq i64 %114, 0
br i1 %115, label %116, label %118
116: ; preds = %112
%117 = call i32 (...) @test_fd_pipe()
store i32 %117, i32* %3
br label %493
118: ; preds = %112
%119 = load i8*, i8** %6
%120 = call i64 @strcmp(i8* %119, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.19, i64 0, i64 0))
%121 = icmp eq i64 %120, 0
br i1 %121, label %122, label %124
122: ; preds = %118
%123 = call i32 (...) @test_fd_readv()
store i32 %123, i32* %3
br label %493
124: ; preds = %118
%125 = load i8*, i8** %6
%126 = call i64 @strcmp(i8* %125, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.20, i64 0, i64 0))
%127 = icmp eq i64 %126, 0
br i1 %127, label %128, label %130
128: ; preds = %124
%129 = call i32 (...) @test_fd_writev()
store i32 %129, i32* %3
br label %493
130: ; preds = %124
%131 = load i8*, i8** %6
%132 = call i64 @strcmp(i8* %131, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.21, i64 0, i64 0))
%133 = icmp eq i64 %132, 0
br i1 %133, label %134, label %136
134: ; preds = %130
%135 = call i32 (...) @test_fd_all()
store i32 %135, i32* %3
br label %493
136: ; preds = %130
%137 = load i8*, i8** %6
%138 = call i64 @strcmp(i8* %137, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.22, i64 0, i64 0))
%139 = icmp eq i64 %138, 0
br i1 %139, label %140, label %142
140: ; preds = %136
%141 = call i32 (...) @test_signal_basic()
store i32 %141, i32* %3
br label %493
142: ; preds = %136
%143 = load i8*, i8** %6
%144 = call i64 @strcmp(i8* %143, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.23, i64 0, i64 0))
%145 = icmp eq i64 %144, 0
br i1 %145, label %146, label %148
146: ; preds = %142
%147 = call i32 (...) @test_signal_send()
store i32 %147, i32* %3
br label %493
148: ; preds = %142
%149 = load i8*, i8** %6
%150 = call i64 @strcmp(i8* %149, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.24, i64 0, i64 0))
%151 = icmp eq i64 %150, 0
br i1 %151, label %152, label %154
152: ; preds = %148
%153 = call i32 (...) @test_signal_abort()
store i32 %153, i32* %3
br label %493
154: ; preds = %148
%155 = load i8*, i8** %6
%156 = call i64 @strcmp(i8* %155, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.25, i64 0, i64 0))
%157 = icmp eq i64 %156, 0
br i1 %157, label %158, label %160
158: ; preds = %154
%159 = call i32 (...) @test_signal_segfault()
store i32 %159, i32* %3
br label %493
160: ; preds = %154
%161 = load i8*, i8** %6
%162 = call i64 @strcmp(i8* %161, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.26, i64 0, i64 0))
%163 = icmp eq i64 %162, 0
br i1 %163, label %164, label %166
164: ; preds = %160
%165 = call i32 (...) @test_signal_stop()
store i32 %165, i32* %3
br label %493
166: ; preds = %160
%167 = load i8*, i8** %6
%168 = call i64 @strcmp(i8* %167, i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.27, i64 0, i64 0))
%169 = icmp eq i64 %168, 0
br i1 %169, label %170, label %172
170: ; preds = %166
%171 = call i32 (...) @test_signal_cont_masked()
store i32 %171, i32* %3
br label %493
172: ; preds = %166
%173 = load i8*, i8** %6
%174 = call i64 @strcmp(i8* %173, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.28, i64 0, i64 0))
%175 = icmp eq i64 %174, 0
br i1 %175, label %176, label %178
176: ; preds = %172
%177 = call i32 (...) @test_signal_mask()
store i32 %177, i32* %3
br label %493
178: ; preds = %172
%179 = load i8*, i8** %6
%180 = call i64 @strcmp(i8* %179, i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.29, i64 0, i64 0))
%181 = icmp eq i64 %180, 0
br i1 %181, label %182, label %184
182: ; preds = %178
%183 = call i32 (...) @test_signal_mask_nonmaskable()
store i32 %183, i32* %3
br label %493
184: ; preds = %178
%185 = load i8*, i8** %6
%186 = call i64 @strcmp(i8* %185, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.30, i64 0, i64 0))
%187 = icmp eq i64 %186, 0
br i1 %187, label %188, label %190
188: ; preds = %184
%189 = call i32 (...) @test_signal_sigsuspend()
store i32 %189, i32* %3
br label %493
190: ; preds = %184
%191 = load i8*, i8** %6
%192 = call i64 @strcmp(i8* %191, i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.31, i64 0, i64 0))
%193 = icmp eq i64 %192, 0
br i1 %193, label %194, label %196
194: ; preds = %190
%195 = call i32 (...) @test_signal_sigsuspend_stop()
store i32 %195, i32* %3
br label %493
196: ; preds = %190
%197 = load i8*, i8** %6
%198 = call i64 @strcmp(i8* %197, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.32, i64 0, i64 0))
%199 = icmp eq i64 %198, 0
br i1 %199, label %200, label %202
200: ; preds = %196
%201 = call i32 (...) @test_signal_handler_mask()
store i32 %201, i32* %3
br label %493
202: ; preds = %196
%203 = load i8*, i8** %6
%204 = call i64 @strcmp(i8* %203, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.33, i64 0, i64 0))
%205 = icmp eq i64 %204, 0
br i1 %205, label %206, label %208
206: ; preds = %202
%207 = call i32 (...) @test_fork_wait()
store i32 %207, i32* %3
br label %493
208: ; preds = %202
%209 = load i8*, i8** %6
%210 = call i64 @strcmp(i8* %209, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.34, i64 0, i64 0))
%211 = icmp eq i64 %210, 0
br i1 %211, label %212, label %214
212: ; preds = %208
%213 = call i32 (...) @test_fork_signal()
store i32 %213, i32* %3
br label %493
214: ; preds = %208
%215 = load i8*, i8** %6
%216 = call i64 @strcmp(i8* %215, i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.35, i64 0, i64 0))
%217 = icmp eq i64 %216, 0
br i1 %217, label %218, label %220
218: ; preds = %214
%219 = call i32 (...) @test_fork_sigchld_ignored()
store i32 %219, i32* %3
br label %493
220: ; preds = %214
%221 = load i8*, i8** %6
%222 = call i64 @strcmp(i8* %221, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.36, i64 0, i64 0))
%223 = icmp eq i64 %222, 0
br i1 %223, label %224, label %226
224: ; preds = %220
%225 = call i32 (...) @test_lseek_basic()
store i32 %225, i32* %3
br label %493
226: ; preds = %220
%227 = load i8*, i8** %6
%228 = call i64 @strcmp(i8* %227, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.37, i64 0, i64 0))
%229 = icmp eq i64 %228, 0
br i1 %229, label %230, label %232
230: ; preds = %226
%231 = call i32 (...) @test_lseek_errors()
store i32 %231, i32* %3
br label %493
232: ; preds = %226
%233 = load i8*, i8** %6
%234 = call i64 @strcmp(i8* %233, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.38, i64 0, i64 0))
%235 = icmp eq i64 %234, 0
br i1 %235, label %236, label %238
236: ; preds = %232
%237 = call i32 (...) @test_access_basic()
store i32 %237, i32* %3
br label %493
238: ; preds = %232
%239 = load i8*, i8** %6
%240 = call i64 @strcmp(i8* %239, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.39, i64 0, i64 0))
%241 = icmp eq i64 %240, 0
br i1 %241, label %242, label %244
242: ; preds = %238
%243 = call i32 (...) @test_stat()
store i32 %243, i32* %3
br label %493
244: ; preds = %238
%245 = load i8*, i8** %6
%246 = call i64 @strcmp(i8* %245, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.40, i64 0, i64 0))
%247 = icmp eq i64 %246, 0
br i1 %247, label %248, label %250
248: ; preds = %244
%249 = call i32 (...) @test_fstat()
store i32 %249, i32* %3
br label %493
250: ; preds = %244
%251 = load i8*, i8** %6
%252 = call i64 @strcmp(i8* %251, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.41, i64 0, i64 0))
%253 = icmp eq i64 %252, 0
br i1 %253, label %254, label %256
254: ; preds = %250
%255 = call i32 (...) @test_setjmp()
store i32 %255, i32* %3
br label %493
256: ; preds = %250
%257 = load i8*, i8** %6
%258 = call i64 @strcmp(i8* %257, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.42, i64 0, i64 0))
%259 = icmp eq i64 %258, 0
br i1 %259, label %260, label %262
260: ; preds = %256
%261 = call i32 (...) @test_sigaction_with_setjmp()
store i32 %261, i32* %3
br label %493
262: ; preds = %256
%263 = load i8*, i8** %6
%264 = call i64 @strcmp(i8* %263, i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.43, i64 0, i64 0))
%265 = icmp eq i64 %264, 0
br i1 %265, label %266, label %268
266: ; preds = %262
%267 = call i32 (...) @test_sigaction_handler_returns()
store i32 %267, i32* %3
br label %493
268: ; preds = %262
%269 = load i8*, i8** %6
%270 = call i64 @strcmp(i8* %269, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.44, i64 0, i64 0))
%271 = icmp eq i64 %270, 0
br i1 %271, label %272, label %274
272: ; preds = %268
%273 = call i32 (...) @test_vfs_dir()
store i32 %273, i32* %3
br label %493
274: ; preds = %268
%275 = load i8*, i8** %6
%276 = call i64 @strcmp(i8* %275, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.45, i64 0, i64 0))
%277 = icmp eq i64 %276, 0
br i1 %277, label %278, label %280
278: ; preds = %274
%279 = call i32 (...) @test_vfs_rw()
store i32 %279, i32* %3
br label %493
280: ; preds = %274
%281 = load i8*, i8** %6
%282 = call i64 @strcmp(i8* %281, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.46, i64 0, i64 0))
%283 = icmp eq i64 %282, 0
br i1 %283, label %284, label %286
284: ; preds = %280
%285 = call i32 (...) @test_vfs_relative_dir()
store i32 %285, i32* %3
br label %493
286: ; preds = %280
%287 = load i8*, i8** %6
%288 = call i64 @strcmp(i8* %287, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.47, i64 0, i64 0))
%289 = icmp eq i64 %288, 0
br i1 %289, label %290, label %292
290: ; preds = %286
%291 = call i32 (...) @test_vfs_dot_dot_dir()
store i32 %291, i32* %3
br label %493
292: ; preds = %286
%293 = load i8*, i8** %6
%294 = call i64 @strcmp(i8* %293, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.48, i64 0, i64 0))
%295 = icmp eq i64 %294, 0
br i1 %295, label %296, label %298
296: ; preds = %292
%297 = call i32 (...) @test_vfs_dot_dir()
store i32 %297, i32* %3
br label %493
298: ; preds = %292
%299 = load i8*, i8** %6
%300 = call i64 @strcmp(i8* %299, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.49, i64 0, i64 0))
%301 = icmp eq i64 %300, 0
br i1 %301, label %302, label %304
302: ; preds = %298
%303 = call i32 (...) @test_vfs_dot_dot_across_fs()
store i32 %303, i32* %3
br label %493
304: ; preds = %298
%305 = load i8*, i8** %6
%306 = call i64 @strcmp(i8* %305, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.50, i64 0, i64 0))
%307 = icmp eq i64 %306, 0
br i1 %307, label %308, label %310
308: ; preds = %304
%309 = call i32 (...) @test_vfs_trunc()
store i32 %309, i32* %3
br label %493
310: ; preds = %304
%311 = load i8*, i8** %6
%312 = call i64 @strcmp(i8* %311, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.51, i64 0, i64 0))
%313 = icmp eq i64 %312, 0
br i1 %313, label %314, label %316
314: ; preds = %310
%315 = call i32 (...) @test_vfs_symlink()
store i32 %315, i32* %3
br label %493
316: ; preds = %310
%317 = load i8*, i8** %6
%318 = call i64 @strcmp(i8* %317, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.52, i64 0, i64 0))
%319 = icmp eq i64 %318, 0
br i1 %319, label %320, label %322
320: ; preds = %316
%321 = call i32 (...) @test_vfs_link()
store i32 %321, i32* %3
br label %493
322: ; preds = %316
%323 = load i8*, i8** %6
%324 = call i64 @strcmp(i8* %323, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.53, i64 0, i64 0))
%325 = icmp eq i64 %324, 0
br i1 %325, label %326, label %328
326: ; preds = %322
%327 = call i32 (...) @test_vfs_chmod()
store i32 %327, i32* %3
br label %493
328: ; preds = %322
%329 = load i8*, i8** %6
%330 = call i64 @strcmp(i8* %329, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.54, i64 0, i64 0))
%331 = icmp eq i64 %330, 0
br i1 %331, label %332, label %334
332: ; preds = %328
%333 = call i32 (...) @test_wait_basic()
store i32 %333, i32* %3
br label %493
334: ; preds = %328
%335 = load i8*, i8** %6
%336 = call i64 @strcmp(i8* %335, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.55, i64 0, i64 0))
%337 = icmp eq i64 %336, 0
br i1 %337, label %338, label %340
338: ; preds = %334
%339 = call i32 (...) @test_wait_nohang()
store i32 %339, i32* %3
br label %493
340: ; preds = %334
%341 = load i8*, i8** %6
%342 = call i64 @strcmp(i8* %341, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.56, i64 0, i64 0))
%343 = icmp eq i64 %342, 0
br i1 %343, label %344, label %346
344: ; preds = %340
%345 = call i32 (...) @test_setpgid()
store i32 %345, i32* %3
br label %493
346: ; preds = %340
%347 = load i8*, i8** %6
%348 = call i64 @strcmp(i8* %347, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.57, i64 0, i64 0))
%349 = icmp eq i64 %348, 0
br i1 %349, label %350, label %352
350: ; preds = %346
%351 = call i32 (...) @test_setpgid_leader()
store i32 %351, i32* %3
br label %493
352: ; preds = %346
%353 = load i8*, i8** %6
%354 = call i64 @strcmp(i8* %353, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.58, i64 0, i64 0))
%355 = icmp eq i64 %354, 0
br i1 %355, label %356, label %358
356: ; preds = %352
%357 = call i32 (...) @test_setpgid_child()
store i32 %357, i32* %3
br label %493
358: ; preds = %352
%359 = load i8*, i8** %6
%360 = call i64 @strcmp(i8* %359, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.59, i64 0, i64 0))
%361 = icmp eq i64 %360, 0
br i1 %361, label %362, label %364
362: ; preds = %358
%363 = call i32 (...) @test_kill()
store i32 %363, i32* %3
br label %493
364: ; preds = %358
%365 = load i8*, i8** %6
%366 = call i64 @strcmp(i8* %365, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.60, i64 0, i64 0))
%367 = icmp eq i64 %366, 0
br i1 %367, label %368, label %370
368: ; preds = %364
%369 = call i32 (...) @test_killpg_same_group()
store i32 %369, i32* %3
br label %493
370: ; preds = %364
%371 = load i8*, i8** %6
%372 = call i64 @strcmp(i8* %371, i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.61, i64 0, i64 0))
%373 = icmp eq i64 %372, 0
br i1 %373, label %374, label %376
374: ; preds = %370
%375 = call i32 (...) @test_killpg_other_group()
store i32 %375, i32* %3
br label %493
376: ; preds = %370
%377 = load i8*, i8** %6
%378 = call i64 @strcmp(i8* %377, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.62, i64 0, i64 0))
%379 = icmp eq i64 %378, 0
br i1 %379, label %380, label %382
380: ; preds = %376
%381 = call i32 (...) @test_pgrp_orphan()
store i32 %381, i32* %3
br label %493
382: ; preds = %376
%383 = load i8*, i8** %6
%384 = call i64 @strcmp(i8* %383, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.63, i64 0, i64 0))
%385 = icmp eq i64 %384, 0
br i1 %385, label %386, label %388
386: ; preds = %382
%387 = call i32 (...) @test_session_basic()
store i32 %387, i32* %3
br label %493
388: ; preds = %382
%389 = load i8*, i8** %6
%390 = call i64 @strcmp(i8* %389, i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.64, i64 0, i64 0))
%391 = icmp eq i64 %390, 0
br i1 %391, label %392, label %394
392: ; preds = %388
%393 = call i32 (...) @test_session_login_name()
store i32 %393, i32* %3
br label %493
394: ; preds = %388
%395 = load i8*, i8** %6
%396 = call i64 @strcmp(i8* %395, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.65, i64 0, i64 0))
%397 = icmp eq i64 %396, 0
br i1 %397, label %398, label %400
398: ; preds = %394
%399 = call i32 (...) @test_getcwd()
store i32 %399, i32* %3
br label %493
400: ; preds = %394
%401 = load i8*, i8** %6
%402 = call i64 @strcmp(i8* %401, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.66, i64 0, i64 0))
%403 = icmp eq i64 %402, 0
br i1 %403, label %404, label %406
404: ; preds = %400
%405 = call i32 (...) @test_gettimeofday()
store i32 %405, i32* %3
br label %493
406: ; preds = %400
%407 = load i8*, i8** %6
%408 = call i64 @strcmp(i8* %407, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.67, i64 0, i64 0))
%409 = icmp eq i64 %408, 0
br i1 %409, label %410, label %412
410: ; preds = %406
%411 = call i32 (...) @test_nanosleep()
store i32 %411, i32* %3
br label %493
412: ; preds = %406
%413 = load i8*, i8** %6
%414 = call i64 @strcmp(i8* %413, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.68, i64 0, i64 0))
%415 = icmp eq i64 %414, 0
br i1 %415, label %416, label %418
416: ; preds = %412
%417 = call i32 (...) @test_itimer()
store i32 %417, i32* %3
br label %493
418: ; preds = %412
%419 = load i8*, i8** %6
%420 = call i64 @strcmp(i8* %419, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.69, i64 0, i64 0))
%421 = icmp eq i64 %420, 0
br i1 %421, label %422, label %424
422: ; preds = %418
%423 = call i32 (...) @test_get_set_uid()
store i32 %423, i32* %3
br label %493
424: ; preds = %418
%425 = load i8*, i8** %6
%426 = call i64 @strcmp(i8* %425, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.70, i64 0, i64 0))
%427 = icmp eq i64 %426, 0
br i1 %427, label %428, label %430
428: ; preds = %424
%429 = call i32 (...) @test_get_set_gid()
store i32 %429, i32* %3
br label %493
430: ; preds = %424
%431 = load i8*, i8** %6
%432 = call i64 @strcmp(i8* %431, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.71, i64 0, i64 0))
%433 = icmp eq i64 %432, 0
br i1 %433, label %434, label %436
434: ; preds = %430
%435 = call i32 (...) @test_get_set_groups()
store i32 %435, i32* %3
br label %493
436: ; preds = %430
%437 = load i8*, i8** %6
%438 = call i64 @strcmp(i8* %437, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.72, i64 0, i64 0))
%439 = icmp eq i64 %438, 0
br i1 %439, label %440, label %442
440: ; preds = %436
%441 = call i32 (...) @test_sharing_memory_simple()
store i32 %441, i32* %3
br label %493
442: ; preds = %436
%443 = load i8*, i8** %6
%444 = call i64 @strcmp(i8* %443, i8* getelementptr inbounds ([36 x i8], [36 x i8]* @.str.73, i64 0, i64 0))
%445 = icmp eq i64 %444, 0
br i1 %445, label %446, label %448
446: ; preds = %442
%447 = call i32 (...) @test_sharing_memory_child_and_grandchild()
store i32 %447, i32* %3
br label %493
448: ; preds = %442
%449 = load i8*, i8** %6
%450 = call i64 @strcmp(i8* %449, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.74, i64 0, i64 0))
%451 = icmp eq i64 %450, 0
br i1 %451, label %452, label %454
452: ; preds = %448
%453 = call i32 (...) @test_pty_simple()
store i32 %453, i32* %3
br label %493
454: ; preds = %448
%455 = load i8*, i8** %6
%456 = call i64 @strcmp(i8* %455, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.75, i64 0, i64 0))
%457 = icmp eq i64 %456, 0
br i1 %457, label %458, label %460
458: ; preds = %454
%459 = call i32 (...) @test_tty_canon()
store i32 %459, i32* %3
br label %493
460: ; preds = %454
%461 = load i8*, i8** %6
%462 = call i64 @strcmp(i8* %461, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.76, i64 0, i64 0))
%463 = icmp eq i64 %462, 0
br i1 %463, label %464, label %466
464: ; preds = %460
%465 = call i32 (...) @test_tty_echo()
store i32 %465, i32* %3
br label %493
466: ; preds = %460
%467 = load i8*, i8** %6
%468 = call i64 @strcmp(i8* %467, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.77, i64 0, i64 0))
%469 = icmp eq i64 %468, 0
br i1 %469, label %470, label %472
470: ; preds = %466
%471 = call i32 (...) @test_tty_signals()
store i32 %471, i32* %3
br label %493
472: ; preds = %466
%473 = load i8*, i8** %6
%474 = call i64 @strcmp(i8* %473, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.78, i64 0, i64 0))
%475 = icmp eq i64 %474, 0
br i1 %475, label %476, label %478
476: ; preds = %472
%477 = call i32 (...) @test_procstat()
store i32 %477, i32* %3
br label %493
478: ; preds = %472
%479 = load i8*, i8** %6
%480 = call i64 @strcmp(i8* %479, i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.79, i64 0, i64 0))
%481 = icmp eq i64 %480, 0
br i1 %481, label %482, label %484
482: ; preds = %478
%483 = call i32 (...) @test_pipe_parent_signaled()
store i32 %483, i32* %3
br label %493
484: ; preds = %478
%485 = load i8*, i8** %6
%486 = call i64 @strcmp(i8* %485, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.80, i64 0, i64 0))
%487 = icmp eq i64 %486, 0
br i1 %487, label %488, label %490
488: ; preds = %484
%489 = call i32 (...) @test_pipe_child_signaled()
store i32 %489, i32* %3
br label %493
490: ; preds = %484
%491 = load i8*, i8** %6
%492 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.81, i64 0, i64 0), i8* %491)
store i32 1, i32* %3
br label %493
493: ; preds = %490, %488, %482, %476, %470, %464, %458, %452, %446, %440, %434, %428, %422, %416, %410, %404, %398, %392, %386, %380, %374, %368, %362, %356, %350, %344, %338, %332, %326, %320, %314, %308, %302, %296, %290, %284, %278, %272, %266, %260, %254, %248, %242, %236, %230, %224, %218, %212, %206, %200, %194, %188, %182, %176, %170, %164, %158, %152, %146, %140, %134, %128, %122, %116, %110, %104, %98, %92, %86, %80, %74, %68, %62, %56, %50, %44, %38, %32, %26, %20, %9
%494 = load i32, i32* %3
ret i32 %494
}

LLVM IR (-O2):
@.str.1 = [26 x i8] c"Starting user test \22%s\22.\0A\00"
@.str.2 = [5 x i8] c"mmap\00"
@.str.3 = [7 x i8] c"munmap\00"
@.str.4 = [15 x i8] c"munmap_sigsegv\00"
@.str.5 = [15 x i8] c"mmap_prot_none\00"
@.str.6 = [15 x i8] c"mmap_prot_read\00"
@.str.7 = [5 x i8] c"sbrk\00"
@.str.8 = [13 x i8] c"sbrk_sigsegv\00"
@.str.9 = [10 x i8] c"misbehave\00"
@.str.10 = [8 x i8] c"fd_read\00"
@.str.11 = [11 x i8] c"fd_devnull\00"
@.str.12 = [13 x i8] c"fd_multidesc\00"
@.str.13 = [13 x i8] c"fd_readwrite\00"
@.str.14 = [8 x i8] c"fd_copy\00"
@.str.15 = [12 x i8] c"fd_bad_desc\00"
@.str.16 = [13 x i8] c"fd_open_path\00"
@.str.17 = [7 x i8] c"fd_dup\00"
@.str.18 = [8 x i8] c"fd_pipe\00"
@.str.19 = [9 x i8] c"fd_readv\00"
@.str.20 = [10 x i8] c"fd_writev\00"
@.str.21 = [7 x i8] c"fd_all\00"
@.str.22 = [13 x i8] c"signal_basic\00"
@.str.23 = [12 x i8] c"signal_send\00"
@.str.24 = [13 x i8] c"signal_abort\00"
@.str.25 = [16 x i8] c"signal_segfault\00"
@.str.26 = [12 x i8] c"signal_stop\00"
@.str.27 = [19 x i8] c"signal_cont_masked\00"
@.str.28 = [12 x i8] c"signal_mask\00"
@.str.29 = [24 x i8] c"signal_mask_nonmaskable\00"
@.str.30 = [18 x i8] c"signal_sigsuspend\00"
@.str.31 = [23 x i8] c"signal_sigsuspend_stop\00"
@.str.32 = [20 x i8] c"signal_handler_mask\00"
@.str.33 = [10 x i8] c"fork_wait\00"
@.str.34 = [12 x i8] c"fork_signal\00"
@.str.35 = [21 x i8] c"fork_sigchld_ignored\00"
@.str.36 = [12 x i8] c"lseek_basic\00"
@.str.37 = [13 x i8] c"lseek_errors\00"
@.str.38 = [13 x i8] c"access_basic\00"
@.str.39 = [5 x i8] c"stat\00"
@.str.40 = [6 x i8] c"fstat\00"
@.str.41 = [7 x i8] c"setjmp\00"
@.str.42 = [22 x i8] c"sigaction_with_setjmp\00"
@.str.43 = [26 x i8] c"sigaction_handler_returns\00"
@.str.44 = [8 x i8] c"vfs_dir\00"
@.str.45 = [7 x i8] c"vfs_rw\00"
@.str.46 = [17 x i8] c"vfs_relative_dir\00"
@.str.47 = [16 x i8] c"vfs_dot_dot_dir\00"
@.str.48 = [12 x i8] c"vfs_dot_dir\00"
@.str.49 = [22 x i8] c"vfs_dot_dot_across_fs\00"
@.str.50 = [10 x i8] c"vfs_trunc\00"
@.str.51 = [12 x i8] c"vfs_symlink\00"
@.str.52 = [9 x i8] c"vfs_link\00"
@.str.53 = [10 x i8] c"vfs_chmod\00"
@.str.54 = [11 x i8] c"wait_basic\00"
@.str.55 = [12 x i8] c"wait_nohang\00"
@.str.56 = [8 x i8] c"setpgid\00"
@.str.57 = [15 x i8] c"setpgid_leader\00"
@.str.58 = [14 x i8] c"setpgid_child\00"
@.str.59 = [5 x i8] c"kill\00"
@.str.60 = [18 x i8] c"killpg_same_group\00"
@.str.61 = [19 x i8] c"killpg_other_group\00"
@.str.62 = [12 x i8] c"pgrp_orphan\00"
@.str.63 = [14 x i8] c"session_basic\00"
@.str.64 = [19 x i8] c"session_login_name\00"
@.str.65 = [7 x i8] c"getcwd\00"
@.str.66 = [13 x i8] c"gettimeofday\00"
@.str.67 = [10 x i8] c"nanosleep\00"
@.str.68 = [7 x i8] c"itimer\00"
@.str.69 = [12 x i8] c"get_set_uid\00"
@.str.70 = [12 x i8] c"get_set_gid\00"
@.str.71 = [15 x i8] c"get_set_groups\00"
@.str.72 = [22 x i8] c"sharing_memory_simple\00"
@.str.73 = [36 x i8] c"sharing_memory_child_and_grandchild\00"
@.str.74 = [11 x i8] c"pty_simple\00"
@.str.75 = [10 x i8] c"tty_canon\00"
@.str.76 = [9 x i8] c"tty_echo\00"
@.str.77 = [12 x i8] c"tty_signals\00"
@.str.78 = [9 x i8] c"procstat\00"
@.str.79 = [21 x i8] c"pipe_parent_signaled\00"
@.str.80 = [20 x i8] c"pipe_child_signaled\00"
@.str.81 = [30 x i8] c"No user test \22%s\22 available.\0A\00"
@str = [40 x i8] c"Not enough arguments provided to utest.\00"
define i32 @main(i32 %0, i8** nocapture %1) {
%3 = icmp slt i32 %0, 2
br i1 %3, label %4, label %6
4: ; preds = %2
%5 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([40 x i8], [40 x i8]* @str, i64 0, i64 0))
br label %406
6: ; preds = %2
%7 = getelementptr inbounds i8*, i8** %1, i64 1
%8 = load i8*, i8** %7
%9 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([26 x i8], [26 x i8]* @.str.1, i64 0, i64 0), i8* %8)
%10 = tail call i64 @strcmp(i8* %8, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.2, i64 0, i64 0))
%11 = icmp eq i64 %10, 0
br i1 %11, label %12, label %14
12: ; preds = %6
%13 = tail call i32 (...) @test_mmap()
br label %406
14: ; preds = %6
%15 = tail call i64 @strcmp(i8* %8, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.3, i64 0, i64 0))
%16 = icmp eq i64 %15, 0
br i1 %16, label %17, label %19
17: ; preds = %14
%18 = tail call i32 (...) @test_munmap()
br label %406
19: ; preds = %14
%20 = tail call i64 @strcmp(i8* %8, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.4, i64 0, i64 0))
%21 = icmp eq i64 %20, 0
br i1 %21, label %22, label %24
22: ; preds = %19
%23 = tail call i32 (...) @test_munmap_sigsegv()
br label %406
24: ; preds = %19
%25 = tail call i64 @strcmp(i8* %8, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.5, i64 0, i64 0))
%26 = icmp eq i64 %25, 0
br i1 %26, label %27, label %29
27: ; preds = %24
%28 = tail call i32 (...) @test_mmap_prot_none()
br label %406
29: ; preds = %24
%30 = tail call i64 @strcmp(i8* %8, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.6, i64 0, i64 0))
%31 = icmp eq i64 %30, 0
br i1 %31, label %32, label %34
32: ; preds = %29
%33 = tail call i32 (...) @test_mmap_prot_read()
br label %406
34: ; preds = %29
%35 = tail call i64 @strcmp(i8* %8, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.7, i64 0, i64 0))
%36 = icmp eq i64 %35, 0
br i1 %36, label %37, label %39
37: ; preds = %34
%38 = tail call i32 (...) @test_sbrk()
br label %406
39: ; preds = %34
%40 = tail call i64 @strcmp(i8* %8, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.8, i64 0, i64 0))
%41 = icmp eq i64 %40, 0
br i1 %41, label %42, label %44
42: ; preds = %39
%43 = tail call i32 (...) @test_sbrk_sigsegv()
br label %406
44: ; preds = %39
%45 = tail call i64 @strcmp(i8* %8, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.9, i64 0, i64 0))
%46 = icmp eq i64 %45, 0
br i1 %46, label %47, label %49
47: ; preds = %44
%48 = tail call i32 (...) @test_misbehave()
br label %406
49: ; preds = %44
%50 = tail call i64 @strcmp(i8* %8, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.10, i64 0, i64 0))
%51 = icmp eq i64 %50, 0
br i1 %51, label %52, label %54
52: ; preds = %49
%53 = tail call i32 (...) @test_fd_read()
br label %406
54: ; preds = %49
%55 = tail call i64 @strcmp(i8* %8, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.11, i64 0, i64 0))
%56 = icmp eq i64 %55, 0
br i1 %56, label %57, label %59
57: ; preds = %54
%58 = tail call i32 (...) @test_fd_devnull()
br label %406
59: ; preds = %54
%60 = tail call i64 @strcmp(i8* %8, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.12, i64 0, i64 0))
%61 = icmp eq i64 %60, 0
br i1 %61, label %62, label %64
62: ; preds = %59
%63 = tail call i32 (...) @test_fd_multidesc()
br label %406
64: ; preds = %59
%65 = tail call i64 @strcmp(i8* %8, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.13, i64 0, i64 0))
%66 = icmp eq i64 %65, 0
br i1 %66, label %67, label %69
67: ; preds = %64
%68 = tail call i32 (...) @test_fd_readwrite()
br label %406
69: ; preds = %64
%70 = tail call i64 @strcmp(i8* %8, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.14, i64 0, i64 0))
%71 = icmp eq i64 %70, 0
br i1 %71, label %72, label %74
72: ; preds = %69
%73 = tail call i32 (...) @test_fd_copy()
br label %406
74: ; preds = %69
%75 = tail call i64 @strcmp(i8* %8, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.15, i64 0, i64 0))
%76 = icmp eq i64 %75, 0
br i1 %76, label %77, label %79
77: ; preds = %74
%78 = tail call i32 (...) @test_fd_bad_desc()
br label %406
79: ; preds = %74
%80 = tail call i64 @strcmp(i8* %8, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.16, i64 0, i64 0))
%81 = icmp eq i64 %80, 0
br i1 %81, label %82, label %84
82: ; preds = %79
%83 = tail call i32 (...) @test_fd_open_path()
br label %406
84: ; preds = %79
%85 = tail call i64 @strcmp(i8* %8, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.17, i64 0, i64 0))
%86 = icmp eq i64 %85, 0
br i1 %86, label %87, label %89
87: ; preds = %84
%88 = tail call i32 (...) @test_fd_dup()
br label %406
89: ; preds = %84
%90 = tail call i64 @strcmp(i8* %8, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.18, i64 0, i64 0))
%91 = icmp eq i64 %90, 0
br i1 %91, label %92, label %94
92: ; preds = %89
%93 = tail call i32 (...) @test_fd_pipe()
br label %406
94: ; preds = %89
%95 = tail call i64 @strcmp(i8* %8, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.19, i64 0, i64 0))
%96 = icmp eq i64 %95, 0
br i1 %96, label %97, label %99
97: ; preds = %94
%98 = tail call i32 (...) @test_fd_readv()
br label %406
99: ; preds = %94
%100 = tail call i64 @strcmp(i8* %8, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.20, i64 0, i64 0))
%101 = icmp eq i64 %100, 0
br i1 %101, label %102, label %104
102: ; preds = %99
%103 = tail call i32 (...) @test_fd_writev()
br label %406
104: ; preds = %99
%105 = tail call i64 @strcmp(i8* %8, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.21, i64 0, i64 0))
%106 = icmp eq i64 %105, 0
br i1 %106, label %107, label %109
107: ; preds = %104
%108 = tail call i32 (...) @test_fd_all()
br label %406
109: ; preds = %104
%110 = tail call i64 @strcmp(i8* %8, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.22, i64 0, i64 0))
%111 = icmp eq i64 %110, 0
br i1 %111, label %112, label %114
112: ; preds = %109
%113 = tail call i32 (...) @test_signal_basic()
br label %406
114: ; preds = %109
%115 = tail call i64 @strcmp(i8* %8, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.23, i64 0, i64 0))
%116 = icmp eq i64 %115, 0
br i1 %116, label %117, label %119
117: ; preds = %114
%118 = tail call i32 (...) @test_signal_send()
br label %406
119: ; preds = %114
%120 = tail call i64 @strcmp(i8* %8, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.24, i64 0, i64 0))
%121 = icmp eq i64 %120, 0
br i1 %121, label %122, label %124
122: ; preds = %119
%123 = tail call i32 (...) @test_signal_abort()
br label %406
124: ; preds = %119
%125 = tail call i64 @strcmp(i8* %8, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.25, i64 0, i64 0))
%126 = icmp eq i64 %125, 0
br i1 %126, label %127, label %129
127: ; preds = %124
%128 = tail call i32 (...) @test_signal_segfault()
br label %406
129: ; preds = %124
%130 = tail call i64 @strcmp(i8* %8, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.26, i64 0, i64 0))
%131 = icmp eq i64 %130, 0
br i1 %131, label %132, label %134
132: ; preds = %129
%133 = tail call i32 (...) @test_signal_stop()
br label %406
134: ; preds = %129
%135 = tail call i64 @strcmp(i8* %8, i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.27, i64 0, i64 0))
%136 = icmp eq i64 %135, 0
br i1 %136, label %137, label %139
137: ; preds = %134
%138 = tail call i32 (...) @test_signal_cont_masked()
br label %406
139: ; preds = %134
%140 = tail call i64 @strcmp(i8* %8, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.28, i64 0, i64 0))
%141 = icmp eq i64 %140, 0
br i1 %141, label %142, label %144
142: ; preds = %139
%143 = tail call i32 (...) @test_signal_mask()
br label %406
144: ; preds = %139
%145 = tail call i64 @strcmp(i8* %8, i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.29, i64 0, i64 0))
%146 = icmp eq i64 %145, 0
br i1 %146, label %147, label %149
147: ; preds = %144
%148 = tail call i32 (...) @test_signal_mask_nonmaskable()
br label %406
149: ; preds = %144
%150 = tail call i64 @strcmp(i8* %8, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.30, i64 0, i64 0))
%151 = icmp eq i64 %150, 0
br i1 %151, label %152, label %154
152: ; preds = %149
%153 = tail call i32 (...) @test_signal_sigsuspend()
br label %406
154: ; preds = %149
%155 = tail call i64 @strcmp(i8* %8, i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.31, i64 0, i64 0))
%156 = icmp eq i64 %155, 0
br i1 %156, label %157, label %159
157: ; preds = %154
%158 = tail call i32 (...) @test_signal_sigsuspend_stop()
br label %406
159: ; preds = %154
%160 = tail call i64 @strcmp(i8* %8, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.32, i64 0, i64 0))
%161 = icmp eq i64 %160, 0
br i1 %161, label %162, label %164
162: ; preds = %159
%163 = tail call i32 (...) @test_signal_handler_mask()
br label %406
164: ; preds = %159
%165 = tail call i64 @strcmp(i8* %8, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.33, i64 0, i64 0))
%166 = icmp eq i64 %165, 0
br i1 %166, label %167, label %169
167: ; preds = %164
%168 = tail call i32 (...) @test_fork_wait()
br label %406
169: ; preds = %164
%170 = tail call i64 @strcmp(i8* %8, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.34, i64 0, i64 0))
%171 = icmp eq i64 %170, 0
br i1 %171, label %172, label %174
172: ; preds = %169
%173 = tail call i32 (...) @test_fork_signal()
br label %406
174: ; preds = %169
%175 = tail call i64 @strcmp(i8* %8, i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.35, i64 0, i64 0))
%176 = icmp eq i64 %175, 0
br i1 %176, label %177, label %179
177: ; preds = %174
%178 = tail call i32 (...) @test_fork_sigchld_ignored()
br label %406
179: ; preds = %174
%180 = tail call i64 @strcmp(i8* %8, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.36, i64 0, i64 0))
%181 = icmp eq i64 %180, 0
br i1 %181, label %182, label %184
182: ; preds = %179
%183 = tail call i32 (...) @test_lseek_basic()
br label %406
184: ; preds = %179
%185 = tail call i64 @strcmp(i8* %8, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.37, i64 0, i64 0))
%186 = icmp eq i64 %185, 0
br i1 %186, label %187, label %189
187: ; preds = %184
%188 = tail call i32 (...) @test_lseek_errors()
br label %406
189: ; preds = %184
%190 = tail call i64 @strcmp(i8* %8, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.38, i64 0, i64 0))
%191 = icmp eq i64 %190, 0
br i1 %191, label %192, label %194
192: ; preds = %189
%193 = tail call i32 (...) @test_access_basic()
br label %406
194: ; preds = %189
%195 = tail call i64 @strcmp(i8* %8, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.39, i64 0, i64 0))
%196 = icmp eq i64 %195, 0
br i1 %196, label %197, label %199
197: ; preds = %194
%198 = tail call i32 (...) @test_stat()
br label %406
199: ; preds = %194
%200 = tail call i64 @strcmp(i8* %8, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.40, i64 0, i64 0))
%201 = icmp eq i64 %200, 0
br i1 %201, label %202, label %204
202: ; preds = %199
%203 = tail call i32 (...) @test_fstat()
br label %406
204: ; preds = %199
%205 = tail call i64 @strcmp(i8* %8, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.41, i64 0, i64 0))
%206 = icmp eq i64 %205, 0
br i1 %206, label %207, label %209
207: ; preds = %204
%208 = tail call i32 (...) @test_setjmp()
br label %406
209: ; preds = %204
%210 = tail call i64 @strcmp(i8* %8, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.42, i64 0, i64 0))
%211 = icmp eq i64 %210, 0
br i1 %211, label %212, label %214
212: ; preds = %209
%213 = tail call i32 (...) @test_sigaction_with_setjmp()
br label %406
214: ; preds = %209
%215 = tail call i64 @strcmp(i8* %8, i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.43, i64 0, i64 0))
%216 = icmp eq i64 %215, 0
br i1 %216, label %217, label %219
217: ; preds = %214
%218 = tail call i32 (...) @test_sigaction_handler_returns()
br label %406
219: ; preds = %214
%220 = tail call i64 @strcmp(i8* %8, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.44, i64 0, i64 0))
%221 = icmp eq i64 %220, 0
br i1 %221, label %222, label %224
222: ; preds = %219
%223 = tail call i32 (...) @test_vfs_dir()
br label %406
224: ; preds = %219
%225 = tail call i64 @strcmp(i8* %8, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.45, i64 0, i64 0))
%226 = icmp eq i64 %225, 0
br i1 %226, label %227, label %229
227: ; preds = %224
%228 = tail call i32 (...) @test_vfs_rw()
br label %406
229: ; preds = %224
%230 = tail call i64 @strcmp(i8* %8, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.46, i64 0, i64 0))
%231 = icmp eq i64 %230, 0
br i1 %231, label %232, label %234
232: ; preds = %229
%233 = tail call i32 (...) @test_vfs_relative_dir()
br label %406
234: ; preds = %229
%235 = tail call i64 @strcmp(i8* %8, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.47, i64 0, i64 0))
%236 = icmp eq i64 %235, 0
br i1 %236, label %237, label %239
237: ; preds = %234
%238 = tail call i32 (...) @test_vfs_dot_dot_dir()
br label %406
239: ; preds = %234
%240 = tail call i64 @strcmp(i8* %8, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.48, i64 0, i64 0))
%241 = icmp eq i64 %240, 0
br i1 %241, label %242, label %244
242: ; preds = %239
%243 = tail call i32 (...) @test_vfs_dot_dir()
br label %406
244: ; preds = %239
%245 = tail call i64 @strcmp(i8* %8, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.49, i64 0, i64 0))
%246 = icmp eq i64 %245, 0
br i1 %246, label %247, label %249
247: ; preds = %244
%248 = tail call i32 (...) @test_vfs_dot_dot_across_fs()
br label %406
249: ; preds = %244
%250 = tail call i64 @strcmp(i8* %8, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.50, i64 0, i64 0))
%251 = icmp eq i64 %250, 0
br i1 %251, label %252, label %254
252: ; preds = %249
%253 = tail call i32 (...) @test_vfs_trunc()
br label %406
254: ; preds = %249
%255 = tail call i64 @strcmp(i8* %8, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.51, i64 0, i64 0))
%256 = icmp eq i64 %255, 0
br i1 %256, label %257, label %259
257: ; preds = %254
%258 = tail call i32 (...) @test_vfs_symlink()
br label %406
259: ; preds = %254
%260 = tail call i64 @strcmp(i8* %8, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.52, i64 0, i64 0))
%261 = icmp eq i64 %260, 0
br i1 %261, label %262, label %264
262: ; preds = %259
%263 = tail call i32 (...) @test_vfs_link()
br label %406
264: ; preds = %259
%265 = tail call i64 @strcmp(i8* %8, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.53, i64 0, i64 0))
%266 = icmp eq i64 %265, 0
br i1 %266, label %267, label %269
267: ; preds = %264
%268 = tail call i32 (...) @test_vfs_chmod()
br label %406
269: ; preds = %264
%270 = tail call i64 @strcmp(i8* %8, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.54, i64 0, i64 0))
%271 = icmp eq i64 %270, 0
br i1 %271, label %272, label %274
272: ; preds = %269
%273 = tail call i32 (...) @test_wait_basic()
br label %406
274: ; preds = %269
%275 = tail call i64 @strcmp(i8* %8, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.55, i64 0, i64 0))
%276 = icmp eq i64 %275, 0
br i1 %276, label %277, label %279
277: ; preds = %274
%278 = tail call i32 (...) @test_wait_nohang()
br label %406
279: ; preds = %274
%280 = tail call i64 @strcmp(i8* %8, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.56, i64 0, i64 0))
%281 = icmp eq i64 %280, 0
br i1 %281, label %282, label %284
282: ; preds = %279
%283 = tail call i32 (...) @test_setpgid()
br label %406
284: ; preds = %279
%285 = tail call i64 @strcmp(i8* %8, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.57, i64 0, i64 0))
%286 = icmp eq i64 %285, 0
br i1 %286, label %287, label %289
287: ; preds = %284
%288 = tail call i32 (...) @test_setpgid_leader()
br label %406
289: ; preds = %284
%290 = tail call i64 @strcmp(i8* %8, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.58, i64 0, i64 0))
%291 = icmp eq i64 %290, 0
br i1 %291, label %292, label %294
292: ; preds = %289
%293 = tail call i32 (...) @test_setpgid_child()
br label %406
294: ; preds = %289
%295 = tail call i64 @strcmp(i8* %8, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.59, i64 0, i64 0))
%296 = icmp eq i64 %295, 0
br i1 %296, label %297, label %299
297: ; preds = %294
%298 = tail call i32 (...) @test_kill()
br label %406
299: ; preds = %294
%300 = tail call i64 @strcmp(i8* %8, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.60, i64 0, i64 0))
%301 = icmp eq i64 %300, 0
br i1 %301, label %302, label %304
302: ; preds = %299
%303 = tail call i32 (...) @test_killpg_same_group()
br label %406
304: ; preds = %299
%305 = tail call i64 @strcmp(i8* %8, i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.61, i64 0, i64 0))
%306 = icmp eq i64 %305, 0
br i1 %306, label %307, label %309
307: ; preds = %304
%308 = tail call i32 (...) @test_killpg_other_group()
br label %406
309: ; preds = %304
%310 = tail call i64 @strcmp(i8* %8, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.62, i64 0, i64 0))
%311 = icmp eq i64 %310, 0
br i1 %311, label %312, label %314
312: ; preds = %309
%313 = tail call i32 (...) @test_pgrp_orphan()
br label %406
314: ; preds = %309
%315 = tail call i64 @strcmp(i8* %8, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.63, i64 0, i64 0))
%316 = icmp eq i64 %315, 0
br i1 %316, label %317, label %319
317: ; preds = %314
%318 = tail call i32 (...) @test_session_basic()
br label %406
319: ; preds = %314
%320 = tail call i64 @strcmp(i8* %8, i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.64, i64 0, i64 0))
%321 = icmp eq i64 %320, 0
br i1 %321, label %322, label %324
322: ; preds = %319
%323 = tail call i32 (...) @test_session_login_name()
br label %406
324: ; preds = %319
%325 = tail call i64 @strcmp(i8* %8, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.65, i64 0, i64 0))
%326 = icmp eq i64 %325, 0
br i1 %326, label %327, label %329
327: ; preds = %324
%328 = tail call i32 (...) @test_getcwd()
br label %406
329: ; preds = %324
%330 = tail call i64 @strcmp(i8* %8, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.66, i64 0, i64 0))
%331 = icmp eq i64 %330, 0
br i1 %331, label %332, label %334
332: ; preds = %329
%333 = tail call i32 (...) @test_gettimeofday()
br label %406
334: ; preds = %329
%335 = tail call i64 @strcmp(i8* %8, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.67, i64 0, i64 0))
%336 = icmp eq i64 %335, 0
br i1 %336, label %337, label %339
337: ; preds = %334
%338 = tail call i32 (...) @test_nanosleep()
br label %406
339: ; preds = %334
%340 = tail call i64 @strcmp(i8* %8, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.68, i64 0, i64 0))
%341 = icmp eq i64 %340, 0
br i1 %341, label %342, label %344
342: ; preds = %339
%343 = tail call i32 (...) @test_itimer()
br label %406
344: ; preds = %339
%345 = tail call i64 @strcmp(i8* %8, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.69, i64 0, i64 0))
%346 = icmp eq i64 %345, 0
br i1 %346, label %347, label %349
347: ; preds = %344
%348 = tail call i32 (...) @test_get_set_uid()
br label %406
349: ; preds = %344
%350 = tail call i64 @strcmp(i8* %8, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.70, i64 0, i64 0))
%351 = icmp eq i64 %350, 0
br i1 %351, label %352, label %354
352: ; preds = %349
%353 = tail call i32 (...) @test_get_set_gid()
br label %406
354: ; preds = %349
%355 = tail call i64 @strcmp(i8* %8, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.71, i64 0, i64 0))
%356 = icmp eq i64 %355, 0
br i1 %356, label %357, label %359
357: ; preds = %354
%358 = tail call i32 (...) @test_get_set_groups()
br label %406
359: ; preds = %354
%360 = tail call i64 @strcmp(i8* %8, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.72, i64 0, i64 0))
%361 = icmp eq i64 %360, 0
br i1 %361, label %362, label %364
362: ; preds = %359
%363 = tail call i32 (...) @test_sharing_memory_simple()
br label %406
364: ; preds = %359
%365 = tail call i64 @strcmp(i8* %8, i8* getelementptr inbounds ([36 x i8], [36 x i8]* @.str.73, i64 0, i64 0))
%366 = icmp eq i64 %365, 0
br i1 %366, label %367, label %369
367: ; preds = %364
%368 = tail call i32 (...) @test_sharing_memory_child_and_grandchild()
br label %406
369: ; preds = %364
%370 = tail call i64 @strcmp(i8* %8, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.74, i64 0, i64 0))
%371 = icmp eq i64 %370, 0
br i1 %371, label %372, label %374
372: ; preds = %369
%373 = tail call i32 (...) @test_pty_simple()
br label %406
374: ; preds = %369
%375 = tail call i64 @strcmp(i8* %8, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.75, i64 0, i64 0))
%376 = icmp eq i64 %375, 0
br i1 %376, label %377, label %379
377: ; preds = %374
%378 = tail call i32 (...) @test_tty_canon()
br label %406
379: ; preds = %374
%380 = tail call i64 @strcmp(i8* %8, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.76, i64 0, i64 0))
%381 = icmp eq i64 %380, 0
br i1 %381, label %382, label %384
382: ; preds = %379
%383 = tail call i32 (...) @test_tty_echo()
br label %406
384: ; preds = %379
%385 = tail call i64 @strcmp(i8* %8, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.77, i64 0, i64 0))
%386 = icmp eq i64 %385, 0
br i1 %386, label %387, label %389
387: ; preds = %384
%388 = tail call i32 (...) @test_tty_signals()
br label %406
389: ; preds = %384
%390 = tail call i64 @strcmp(i8* %8, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.78, i64 0, i64 0))
%391 = icmp eq i64 %390, 0
br i1 %391, label %392, label %394
392: ; preds = %389
%393 = tail call i32 (...) @test_procstat()
br label %406
394: ; preds = %389
%395 = tail call i64 @strcmp(i8* %8, i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.79, i64 0, i64 0))
%396 = icmp eq i64 %395, 0
br i1 %396, label %397, label %399
397: ; preds = %394
%398 = tail call i32 (...) @test_pipe_parent_signaled()
br label %406
399: ; preds = %394
%400 = tail call i64 @strcmp(i8* %8, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.80, i64 0, i64 0))
%401 = icmp eq i64 %400, 0
br i1 %401, label %402, label %404
402: ; preds = %399
%403 = tail call i32 (...) @test_pipe_child_signaled()
br label %406
404: ; preds = %399
%405 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([30 x i8], [30 x i8]* @.str.81, i64 0, i64 0), i8* %8)
br label %406
406: ; preds = %12, %17, %22, %27, %32, %37, %42, %47, %52, %57, %62, %67, %72, %77, %82, %87, %92, %97, %102, %107, %112, %117, %122, %127, %132, %137, %142, %147, %152, %157, %162, %167, %172, %177, %182, %187, %192, %197, %202, %207, %212, %217, %222, %227, %232, %237, %242, %247, %252, %257, %262, %267, %272, %277, %282, %287, %292, %297, %302, %307, %312, %317, %322, %327, %332, %337, %342, %347, %352, %357, %362, %367, %372, %377, %382, %387, %392, %397, %402, %404, %4
%407 = phi i32 [ 1, %4 ], [ %13, %12 ], [ %18, %17 ], [ %23, %22 ], [ %28, %27 ], [ %33, %32 ], [ %38, %37 ], [ %43, %42 ], [ %48, %47 ], [ %53, %52 ], [ %58, %57 ], [ %63, %62 ], [ %68, %67 ], [ %73, %72 ], [ %78, %77 ], [ %83, %82 ], [ %88, %87 ], [ %93, %92 ], [ %98, %97 ], [ %103, %102 ], [ %108, %107 ], [ %113, %112 ], [ %118, %117 ], [ %123, %122 ], [ %128, %127 ], [ %133, %132 ], [ %138, %137 ], [ %143, %142 ], [ %148, %147 ], [ %153, %152 ], [ %158, %157 ], [ %163, %162 ], [ %168, %167 ], [ %173, %172 ], [ %178, %177 ], [ %183, %182 ], [ %188, %187 ], [ %193, %192 ], [ %198, %197 ], [ %203, %202 ], [ %208, %207 ], [ %213, %212 ], [ %218, %217 ], [ %223, %222 ], [ %228, %227 ], [ %233, %232 ], [ %238, %237 ], [ %243, %242 ], [ %248, %247 ], [ %253, %252 ], [ %258, %257 ], [ %263, %262 ], [ %268, %267 ], [ %273, %272 ], [ %278, %277 ], [ %283, %282 ], [ %288, %287 ], [ %293, %292 ], [ %298, %297 ], [ %303, %302 ], [ %308, %307 ], [ %313, %312 ], [ %318, %317 ], [ %323, %322 ], [ %328, %327 ], [ %333, %332 ], [ %338, %337 ], [ %343, %342 ], [ %348, %347 ], [ %353, %352 ], [ %358, %357 ], [ %363, %362 ], [ %368, %367 ], [ %373, %372 ], [ %378, %377 ], [ %383, %382 ], [ %388, %387 ], [ %393, %392 ], [ %398, %397 ], [ %403, %402 ], [ 1, %404 ]
ret i32 %407
}