Do not spill variables/registers on the stack

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello all,

I would like to compile my code with optimization level zero (-O0) and
enable only one optimization which keeps most variables in registers if
possible, i.e. does not spill them on the stack.

At the moment I circumvent this problem by always stating that a
variable should be in a register if possible:

int main(void) {
	register int a = 1;
	register int b = -1;

	return a+b;
}

Compiling it with -O0 results in a binary where the variables a and b
are in registers and are not spilled on the stack. If I remove the
keyword "register", then the variables are spilled on the stack.
I had a look at the man page but couldn't find a suitable optimization
flag which prohibits this.

Does someone has an idea?

Kind regards,
Stefan



[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux