Linus Torvalds writes: (Summary) wrote:
Oh, that would be lovely and solve all the issues.
Oh, that would be lovely and solve all the issues.
And looking at the code generation differences for one file (kernel/futex.c) and one single config (my default config), the thing that the global stack register seems to change is that it moves some code - particularly completely unrelated inline asm code - inside the region protected by frame pointers.
region protected by frame pointers.
There are a few register allocation changes too, but they didn't seem to make code worse, and I think they were just "incidental" from code movement.
[...]
It all depends on .config, e.g:Oh, that would be lovely and solve all the issues.
Oh, that would be lovely and solve all the issues.
And looking at the code generation differences for one file (kernel/futex.c) and one single config (my default config), the thing that the global stack register seems to change is that it moves some code - particularly completely unrelated inline asm code - inside the region protected by frame pointers.
region protected by frame pointers.
There are a few register allocation changes too, but they didn't seem to make code worse, and I think they were just "incidental" from code movement.