// #target: macos-x64

fn int foo()
{
  char *pp;
  uint w_cnt;

  w_cnt += *pp;

  return w_cnt;
}

/* #expect: simple_test.ll


define i32 @simple_test.foo() #0 {
entry:
  %pp = alloca ptr, align 8
  %w_cnt = alloca i32, align 4
  store ptr null, ptr %pp, align 8
  store i32 0, ptr %w_cnt, align 4
  %0 = load i32, ptr %w_cnt, align 4
  %1 = load ptr, ptr %pp, align 8
  %2 = load i8, ptr %1, align 1
  %zext = zext i8 %2 to i32
  %add = add i32 %0, %zext
  store i32 %add, ptr %w_cnt, align 4
  %3 = load i32, ptr %w_cnt, align 4
  ret i32 %3
}