| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
| |
Logic for this was duplicated. Updated in c4d9087746 but only in one of
the places, so broke on some PIC code.
|
| | |
|
| |
|
|
|
| |
It was wrong for functions that didn't use the frame pointer but took
arguments in the stack
|
| | |
|
| |
|
|
|
|
|
|
|
|
| |
- Missing: vaargs, >2 member HFAs
- Reworked the way stack allocation references are lowered. Now RSTACK
persists throughout all passes until emit. This allows deferring stack
frame layouting until the end in a less messy way than before, which
was emiting frame-pointer relative addresses @ isel time and patching them up
later in emit to account for actual stack frame layout.
|
| |
|
|
| |
Don't use frame pointer or explicitly modify stack pointer for these
|
| |
|
|
|
|
|
| |
If a function is stashed for inlining and inlined in all of its
callsites or unused, it never ends up in the object file. If any symbol
reference to it is emitted, then it must be de-inlined (rematerialized),
and this is done near the end before emitting the actual object file.
|
| |
|
|
|
| |
Is much nicer. I don't know whether I want to do it for the other int
types too. char and uchar are fine as bytes. u/short -> u/s16int, maybe.
|
| |
|
|
|
| |
The one in x86-64_emit was not portable due to relying on zero
initialization of inactive union fields/padding.
|
| |
|
|
| |
Looks nicer
|
| | |
|
| |
|