The cost of guaranteed tail call optimization is that you have to adopt the Pascal (callee side) convention for stack frame cleanup, so functions can’t reuse outgoing argument space. Does it matter in practice? Dunno.
Run SPECint with an LLVM that compiles all functions with your custom calling convention?
-
-
Here's a different test: have any languages with tail calls ever tried to find opportunities to use the C convention? I think the answer is no, but I certainly don't know every system.
-
I doubt it, but that’s probably due to history more than anything else. The Lisp/Scheme tradition way predates the C ABI becoming ubiquitous.
End of conversation
New conversation -
-
-
Feels like there's an extra step where you reimplement a lot of llvm optimizations that work for the C convention.
-
What sort of optimizations are Ccc-specific? Ones about reusing stack space?
End of conversation
New conversation -
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.