// File: jstaursky[P]hutch/src/Sleigh/slgh_compile.cc
// Function: initCompiler(SleighCompile&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>>&, bool, bool, bool, bool, bool, bool)
static void initCompiler(SleighCompile &compiler, map<string,string> &defines, bool enableUnnecessaryPcodeWarning,
			 bool disableLenientConflict, bool enableAllCollisionWarning,
			 bool enableAllNopWarning,bool enableDeadTempWarning,bool enforceLocalKeyWord)

{
  map<string,string>::iterator iter = defines.begin();
  for (iter = defines.begin(); iter != defines.end(); iter++) {
    compiler.setPreprocValue((*iter).first, (*iter).second);
  }
  if (enableUnnecessaryPcodeWarning)
    compiler.setUnnecessaryPcodeWarning(true);
  if (disableLenientConflict)
    compiler.setLenientConflict(false);
  if (enableAllCollisionWarning)
    compiler.setLocalCollisionWarning( true );
  if (enableAllNopWarning)
    compiler.setAllNopWarning( true );
  if (enableDeadTempWarning)
    compiler.setDeadTempWarning(true);
  if (enforceLocalKeyWord)
    compiler.setEnforceLocalKeyWord(true);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movl %r9d, -0x3c(%rbp)
movl %edx, %eax
movl -0x3c(%rbp), %edx
movq %rsi, %r9
movq %rdi, %r10
movb %r8b, %sil
movb %cl, %dil
movb %al, %r8b
movb 0x18(%rbp), %al
movb 0x10(%rbp), %cl
movq %r10, -0x8(%rbp)
movq %r9, -0x10(%rbp)
andb $0x1, %r8b
movb %r8b, -0x11(%rbp)
andb $0x1, %dil
movb %dil, -0x12(%rbp)
andb $0x1, %sil
movb %sil, -0x13(%rbp)
andb $0x1, %dl
movb %dl, -0x14(%rbp)
andb $0x1, %cl
movb %cl, -0x15(%rbp)
andb $0x1, %al
movb %al, -0x16(%rbp)
movq -0x10(%rbp), %rdi
callq 0x71d00
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rdi
callq 0x71d00
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rdi
callq 0x6bc30
movq %rax, -0x30(%rbp)
leaq -0x20(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x71d30
testb $0x1, %al
jne 0x69529
jmp 0x6956c
movq -0x8(%rbp), %rax
movq %rax, -0x50(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x71d60
movq %rax, -0x48(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x71d60
movq -0x50(%rbp), %rdi
movq -0x48(%rbp), %rsi
movq %rax, %rdx
addq $0x20, %rdx
callq 0x63ac0
leaq -0x20(%rbp), %rdi
xorl %esi, %esi
callq 0x71d80
movq %rax, -0x38(%rbp)
jmp 0x69509
testb $0x1, -0x11(%rbp)
je 0x69580
movq -0x8(%rbp), %rdi
movl $0x1, %esi
callq 0x71dc0
testb $0x1, -0x12(%rbp)
je 0x69591
movq -0x8(%rbp), %rdi
xorl %esi, %esi
callq 0x71df0
testb $0x1, -0x13(%rbp)
je 0x695a5
movq -0x8(%rbp), %rdi
movl $0x1, %esi
callq 0x71e20
testb $0x1, -0x14(%rbp)
je 0x695b9
movq -0x8(%rbp), %rdi
movl $0x1, %esi
callq 0x71e50
testb $0x1, -0x15(%rbp)
je 0x695cd
movq -0x8(%rbp), %rdi
movl $0x1, %esi
callq 0x71e80
testb $0x1, -0x16(%rbp)
je 0x695e1
movq -0x8(%rbp), %rdi
movl $0x1, %esi
callq 0x71eb0
addq $0x50, %rsp
popq %rbp
retq
nopw (%rax,%rax)