Quote:
Originally Posted by alkis
Well, I don't think it's the compiler that couldn't do it. The compiler is restricted by the language definition.
A C language extension, say:
foo(int x, int y):boo(),bar() {
...
}
denoting that foo is only callable from boo() or bar(), would allow the compiler to shuffle the registers cross-functions wide.
Just a guess!
|
Whole program optimization would (in principle) allow this without any extensions. But that discussion is as at least as old as the concept of a wiki (
https://wiki.c2.com/?SufficientlySmartCompiler).
Fact is that even in 2022 this thread is still relevant if you care about trying to do performant stuff for real Amiga HW.