void fb36(int n) {
P0A:
  goto P0A;
  {
    int b[n];
  P01A:
    goto P01A;
    {
      int c[n];
    p012A:
      goto p012A;
      goto a;
    a:
      0;
    }
  P01B:
    goto P01B;
    {
      int d[n];
    P013A:
      goto P013A;
      0;
    }
  P01C:
    goto P01C;
    ;
    int e[n];
  P014A:
    goto P014A;
    0;
  };
P0B:
  goto P0B;
  {
    int f[n];
  P02A:
    goto P02A;
    {
      int g[n];
    P024A:
      goto P024A;
      0;
    };
  P02B:
    goto P02B;
    {
      int h[n];
    P025A:
      goto P025A;
      0;
    };
  P02C:
    goto P02C;
    ;
    int i[n];
  P026A:
    goto P026A;
    0;
  };
P0C:
  goto P0C;
  ;
  int j[n];
P03A:
  goto P03A;
  0;
P03B:
  goto P03B;
}


x86 assembly (clang, -O0):
<fb36>:
push   %rbp
mov    %rsp,%rbp
push   %rax
mov    %edi,-0x4(%rbp)
jmp    1108 <fb36+0x8>

x86 assembly (clang, -O2):
<fb36>:
jmp    1100 <fb36>

LLVM IR (-O0):
define void @fb36(i32 %0) {
%2 = alloca i32
%3 = alloca i8*
%4 = alloca i64
%5 = alloca i8*
%6 = alloca i64
%7 = alloca i8*
%8 = alloca i64
%9 = alloca i64
%10 = alloca i8*
%11 = alloca i64
%12 = alloca i8*
%13 = alloca i64
%14 = alloca i8*
%15 = alloca i64
%16 = alloca i64
%17 = alloca i8*
%18 = alloca i64
store i32 %0, i32* %2
br label %19
19: ; preds = %19, %1
br label %19
20: ; No predecessors!
%21 = load i32, i32* %2
%22 = zext i32 %21 to i64
%23 = call i8* @llvm.stacksave()
store i8* %23, i8** %3
%24 = alloca i32, i64 %22
store i64 %22, i64* %4
br label %25
25: ; preds = %25, %20
br label %25
26: ; No predecessors!
%27 = load i32, i32* %2
%28 = zext i32 %27 to i64
%29 = call i8* @llvm.stacksave()
store i8* %29, i8** %5
%30 = alloca i32, i64 %28
store i64 %28, i64* %6
br label %31
31: ; preds = %31, %26
br label %31
32: ; No predecessors!
%33 = load i8*, i8** %5
br label %34
34: ; preds = %34, %32
br label %34
35: ; No predecessors!
%36 = load i32, i32* %2
%37 = zext i32 %36 to i64
%38 = call i8* @llvm.stacksave()
store i8* %38, i8** %7
%39 = alloca i32, i64 %37
store i64 %37, i64* %8
br label %40
40: ; preds = %40, %35
br label %40
41: ; preds = %41
br label %41
42: ; No predecessors!
%43 = load i32, i32* %2
%44 = zext i32 %43 to i64
%45 = alloca i32, i64 %44
store i64 %44, i64* %9
br label %46
46: ; preds = %46, %42
br label %46
47: ; preds = %47
br label %47
48: ; No predecessors!
%49 = load i32, i32* %2
%50 = zext i32 %49 to i64
%51 = call i8* @llvm.stacksave()
store i8* %51, i8** %10
%52 = alloca i32, i64 %50
store i64 %50, i64* %11
br label %53
53: ; preds = %53, %48
br label %53
54: ; No predecessors!
%55 = load i32, i32* %2
%56 = zext i32 %55 to i64
%57 = call i8* @llvm.stacksave()
store i8* %57, i8** %12
%58 = alloca i32, i64 %56
store i64 %56, i64* %13
br label %59
59: ; preds = %59, %54
br label %59
60: ; preds = %60
br label %60
61: ; No predecessors!
%62 = load i32, i32* %2
%63 = zext i32 %62 to i64
%64 = call i8* @llvm.stacksave()
store i8* %64, i8** %14
%65 = alloca i32, i64 %63
store i64 %63, i64* %15
br label %66
66: ; preds = %66, %61
br label %66
67: ; preds = %67
br label %67
68: ; No predecessors!
%69 = load i32, i32* %2
%70 = zext i32 %69 to i64
%71 = alloca i32, i64 %70
store i64 %70, i64* %16
br label %72
72: ; preds = %72, %68
br label %72
73: ; preds = %73
br label %73
74: ; No predecessors!
%75 = load i32, i32* %2
%76 = zext i32 %75 to i64
%77 = call i8* @llvm.stacksave()
store i8* %77, i8** %17
%78 = alloca i32, i64 %76
store i64 %76, i64* %18
br label %79
79: ; preds = %79, %74
br label %79
80: ; preds = %80
br label %80
}

LLVM IR (-O2):
define void @fb36(i32 %0) {
br label %2
2: ; preds = %2, %1
br label %2
}