Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
I found it by compiling -O2 and seeing the ABI code
fail. Further investigation revealed GCC trimmed
away the last iteration of the loop because I was
accessing the third element of an array of size two.
This is undefined behavior, so GCC "proved" that the
last iteration was never run.
|
|
|
|
A struct of size 0 is now marked as passed in memory.
All the ABI code assumes structs passed in registers
have size at least 8. This could have an impact on
the alignment in the stack, but eh, I guess they are
rare.
|
|
|
|
|
|
|
|
Abi lowering does not need use counts, but
they are needed for instruction selection.
I changed main to call filluse() between
these two passes.
|
|
|