// File: /workspace/github_cpp_makefile_star2_O3/jstaursky[P]hutch/src/Sleigh/slgh_compile.cc
// Function: SleighCompile::checkConsistency()
void SleighCompile::checkConsistency(void)

{
  ConsistencyChecker checker(root,warnunnecessarypcode,warndeadtemps);

  if (!checker.test()) {
    errors += 1;
    return;
  }
  if (!checker.testTruncations(isBigEndian())) {
    errors += 1;
    return;
  }
  if ((!warnunnecessarypcode)&&(checker.getNumUnnecessaryPcode() > 0)) {
    cerr << dec << checker.getNumUnnecessaryPcode();
    cerr << " unnecessary extensions/truncations were converted to copies" << endl;
    cerr << "Use -u switch to list each individually" << endl;
  }
  checker.optimizeAll();
  if (checker.getNumReadNoWrite() > 0) {
    errors += 1;
    return;
  }
  if ((!warndeadtemps)&&(checker.getNumWriteNoRead() > 0)) {
    cerr << dec << checker.getNumWriteNoRead();
    cerr << " operations wrote to temporaries that were not read" << endl;
    cerr << "Use -t switch to list each individually" << endl;
  }
}

// Assembly:
pushq %r14
pushq %rbx
subq $0x68, %rsp
movq %rdi, %rbx
movq 0x190(%rdi), %rax
movzwl 0x334(%rdi), %ecx
xorl %edx, %edx
leaq 0x40(%rsp), %rsi
movq %rdx, -0x10(%rsi)
xorps %xmm0, %xmm0
movups %xmm0, -0x20(%rsi)
movl %edx, (%rsi)
movq %rdx, 0x8(%rsi)
movq %rsi, 0x10(%rsi)
movq %rsi, 0x18(%rsi)
movq %rdx, 0x20(%rsi)
movq %rax, -0x28(%rsi)
movl %edx, -0x38(%rsi)
movq %rdx, -0x34(%rsi)
movw %cx, -0x2c(%rsi)
leaq 0x8(%rsp), %rdi
callq 0x2cd6e
testb %al, %al
je 0x2e831
movzbl 0x120(%rbx), %esi
leaq 0x8(%rsp), %rdi
callq 0x2cdc0
testb %al, %al
je 0x2e831
cmpb $0x0, 0x334(%rbx)
jne 0x2e820
movl 0x8(%rsp), %esi
testl %esi, %esi
jle 0x2e820
movq 0x5e86e(%rip), %rdi     # 0x8cfe8
movq (%rdi), %rax
movq -0x18(%rax), %rax
movl 0x18(%rdi,%rax), %ecx
andl $-0x4b, %ecx
orl $0x2, %ecx
movl %ecx, 0x18(%rdi,%rax)
callq 0xf6e0
movq 0x5e84d(%rip), %r14     # 0x8cfe8
leaq 0x33aea(%rip), %rsi     # 0x6228c
movl $0x3c, %edx
movq %r14, %rdi
callq 0xf420
movq (%r14), %rax
addq -0x18(%rax), %r14
movq %r14, %rdi
movl $0xa, %esi
callq 0xf340
movsbl %al, %esi
movq 0x5e81b(%rip), %rdi     # 0x8cfe8
callq 0xf040
movq %rax, %rdi
callq 0xf260
movq 0x5e807(%rip), %r14     # 0x8cfe8
leaq 0x33ae1(%rip), %rsi     # 0x622c9
movl $0x27, %edx
movq %r14, %rdi
callq 0xf420
movq (%r14), %rax
addq -0x18(%rax), %r14
movq %r14, %rdi
movl $0xa, %esi
callq 0xf340
movsbl %al, %esi
movq 0x5e7d5(%rip), %rdi     # 0x8cfe8
callq 0xf040
movq %rax, %rdi
callq 0xf260
leaq 0x8(%rsp), %rdi
callq 0x2cec4
cmpl $0x0, 0xc(%rsp)
jle 0x2e862
incl 0x358(%rbx)
leaq 0x38(%rsp), %rbx
movq %rbx, %rdi
callq 0x3471e
movq -0x18(%rbx), %rdi
testq %rdi, %rdi
je 0x2e85a
movq 0x30(%rsp), %rsi
subq %rdi, %rsi
callq 0xf380
addq $0x68, %rsp
popq %rbx
popq %r14
retq
cmpb $0x0, 0x335(%rbx)
jne 0x2e837
movl 0x10(%rsp), %esi
testl %esi, %esi
jle 0x2e837
movq 0x5e76e(%rip), %rdi     # 0x8cfe8
movq (%rdi), %rax
movq -0x18(%rax), %rax
movl 0x18(%rdi,%rax), %ecx
andl $-0x4b, %ecx
orl $0x2, %ecx
movl %ecx, 0x18(%rdi,%rax)
callq 0xf6e0
movq 0x5e74d(%rip), %rbx     # 0x8cfe8
leaq 0x33a4f(%rip), %rsi     # 0x622f1
movl $0x33, %edx
movq %rbx, %rdi
callq 0xf420
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0xf340
movsbl %al, %esi
movq 0x5e71b(%rip), %rdi     # 0x8cfe8
callq 0xf040
movq %rax, %rdi
callq 0xf260
movq 0x5e707(%rip), %rbx     # 0x8cfe8
leaq 0x33a3d(%rip), %rsi     # 0x62325
movl $0x27, %edx
movq %rbx, %rdi
callq 0xf420
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0xf340
movsbl %al, %esi
movq 0x5e6d5(%rip), %rdi     # 0x8cfe8
callq 0xf040
movq %rax, %rdi
callq 0xf260
jmp 0x2e837
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x342a2
movq %rbx, %rdi
callq 0xf730