// File: /workspace/github_c_makefile_star2_O0/deplinenoise[P]tundra/src/Driver.cpp
// Function: t2::DriverShowTargets(t2::Driver*)
void DriverShowTargets(Driver* self)
{
  const DagData* dag = self->m_DagData;

  printf("%-20s %-20s %-20s\n", "Config", "Variant", "SubVariant");
  printf("----------------------------------------------------------------\n");

  for (const BuildTupleData& tuple : dag->m_BuildTuples)
  {
    const char* config_name = dag->m_ConfigNames[tuple.m_ConfigIndex];
    const char* variant_name = dag->m_VariantNames[tuple.m_VariantIndex];
    const char* subvariant_name = dag->m_SubVariantNames[tuple.m_SubVariantIndex];
    printf("%-20s %-20s %-20s\n", config_name, variant_name, subvariant_name);
  }

  printf("\nNamed nodes and aliases:\n");
  printf("----------------------------------------------------------------\n");

  for (const BuildTupleData& tuple : dag->m_BuildTuples)
  {
    int32_t count = tuple.m_NamedNodes.GetCount();
    const char** temp = (const char**)alloca(sizeof(const char*) * count);
    for (int i = 0; i < count; ++i)
    {
      temp[i] = tuple.m_NamedNodes[i].m_Name.Get();
    }
    std::sort(temp, temp + count, [](const char *a, const char *b) { return strcmp(a, b) < 0; });

    for (int i = 0; i < count; ++i)
    {
      printf(" - %s\n", temp[i]);
    }
    // Currently the named nodes are the same for all build tuples.
    // We just need one.
    break;
  }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0xa0(%rax), %rax
movq %rax, -0x10(%rbp)
leaq 0x1704f(%rip), %rdi     # 0x245b4
leaq 0x1705b(%rip), %rsi     # 0x245c7
leaq 0x1705e(%rip), %rdx     # 0x245d1
leaq 0x17054(%rip), %rcx     # 0x245ce
movb $0x0, %al
callq 0x3060
leaq 0x17051(%rip), %rdi     # 0x245d9
movb $0x0, %al
callq 0x3060
movq -0x10(%rbp), %rax
addq $0x3c, %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rdi
callq 0x14420
movq %rax, -0x20(%rbp)
movq -0x18(%rbp), %rdi
callq 0x14440
movq %rax, -0x28(%rbp)
movq -0x20(%rbp), %rax
cmpq -0x28(%rbp), %rax
je 0xd66d
movq -0x20(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x10(%rbp), %rdi
addq $0x1c, %rdi
callq 0x7150
movq %rax, %rdi
movq -0x30(%rbp), %rax
movslq (%rax), %rax
shlq $0x2, %rax
addq %rax, %rdi
callq 0x6e20
movq %rax, -0x38(%rbp)
movq -0x10(%rbp), %rdi
addq $0x28, %rdi
callq 0x7150
movq %rax, %rdi
movq -0x30(%rbp), %rax
movslq 0x4(%rax), %rax
shlq $0x2, %rax
addq %rax, %rdi
callq 0x6e20
movq %rax, -0x40(%rbp)
movq -0x10(%rbp), %rdi
addq $0x34, %rdi
callq 0x7150
movq %rax, %rdi
movq -0x30(%rbp), %rax
movslq 0x8(%rax), %rax
shlq $0x2, %rax
addq %rax, %rdi
callq 0x6e20
movq %rax, -0x48(%rbp)
movq -0x38(%rbp), %rsi
movq -0x40(%rbp), %rdx
movq -0x48(%rbp), %rcx
leaq 0x16f5f(%rip), %rdi     # 0x245b4
movb $0x0, %al
callq 0x3060
movq -0x20(%rbp), %rax
addq $0x24, %rax
movq %rax, -0x20(%rbp)
jmp 0xd5b5
leaq 0x16fa7(%rip), %rdi     # 0x2461b
movb $0x0, %al
callq 0x3060
leaq 0x16f57(%rip), %rdi     # 0x245d9
movb $0x0, %al
callq 0x3060
movq -0x10(%rbp), %rax
addq $0x3c, %rax
movq %rax, -0x50(%rbp)
movq -0x50(%rbp), %rdi
callq 0x14420
movq %rax, -0x58(%rbp)
movq -0x50(%rbp), %rdi
callq 0x14440
movq %rax, -0x60(%rbp)
movq -0x58(%rbp), %rax
cmpq -0x60(%rbp), %rax
je 0xd790
movq -0x58(%rbp), %rax
movq %rax, -0x68(%rbp)
movq -0x68(%rbp), %rdi
addq $0x1c, %rdi
callq 0x14480
movl %eax, -0x6c(%rbp)
movslq -0x6c(%rbp), %rax
leaq 0xf(,%rax,8), %rcx
andq $-0x10, %rcx
movq %rsp, %rax
subq %rcx, %rax
movq %rax, %rsp
movq %rax, -0x78(%rbp)
movl $0x0, -0x7c(%rbp)
movl -0x7c(%rbp), %eax
cmpl -0x6c(%rbp), %eax
jge 0xd733
movq -0x68(%rbp), %rdi
addq $0x1c, %rdi
movl -0x7c(%rbp), %esi
callq 0x14490
movq %rax, %rdi
callq 0x6c00
movq %rax, %rdx
movq -0x78(%rbp), %rax
movslq -0x7c(%rbp), %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x7c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x7c(%rbp)
jmp 0xd6f9
movq -0x78(%rbp), %rdi
movq -0x78(%rbp), %rsi
movslq -0x6c(%rbp), %rax
shlq $0x3, %rax
addq %rax, %rsi
callq 0xd7a0
movl $0x0, -0x84(%rbp)
movl -0x84(%rbp), %eax
cmpl -0x6c(%rbp), %eax
jge 0xd78e
movq -0x78(%rbp), %rax
movslq -0x84(%rbp), %rcx
movq (%rax,%rcx,8), %rsi
leaq 0x16ec0(%rip), %rdi     # 0x24636
movb $0x0, %al
callq 0x3060
movl -0x84(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x84(%rbp)
jmp 0xd755
jmp 0xd790
movq %rbp, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)