all: Simplify x == true by just x.
ia32: For readability move the code to add the prologue into a separate function.
ia32: Cleanup in introduce_epilogue().
ia32: Give Leave a memory input and output.

It pops a value from the stack, so this memory access should be represented in the graph.
ia32: Do not accidently lose the stack frame.

Consider a function with frame pointer relative addressing, where the only users of the stack are the Returns.
Still space for values might be allocated on the stack.
To prevent this, during prologue construction the IncSP was kept, if it had at most one user.
If there are multiple returns, then there was more than one user, so the IncSP is not kept.
Then during epilogue construction these uses are replaced by movl %ebp, %esp/leave.
This renders the allocation of the frame unused and it vanishes.
So memory below the stack pointer is accessed.

Now first construct the epilogues.
Then, when the prologue is constructed afterwards, we know whether the IncSP is unused and needs to be kept.

Still this is a hack.
The correct solution would be, that IncSP produces memory, so memory operations accessing stack slots use this memory.
amd64: fix gen_Address for PIC code
amd64: set long double type/mode
fix gen_ir.py failing on paths containing '..'
remove pointless variable from Makefile
add a build.ninja generator
fix wrong dependencies