Abt RTL expression - Optimization

Rohit Arul Raj rohitarulraj@gmail.com
Mon Oct 23 13:31:00 GMT 2006


Hi all,

This small bit of code worked fine with all optimization except Os.

unsigned int n = 30;
void x ()
{
  unsigned int h;
  h = n <= 30;           // Line 1
  if (h)
    p = 1;
  else
    p = 0;
}

when we tried to debug the emitted RTL instruction for Os, it was
found that RTL instruction for Line #1 (Compare and gtu) were not at
all emitted. i.e. there is no reference with respect to "h". For the
same optimization Os, if we declare the identifier "h" as global, it
generates the instructions properly.

1. Is the deletion of instructions (Size optimization with respect to
local identifiers) controlled by any flag?
2. Is it possible to override this optimzation constraint?

Thanking you in advance,
Rohit



More information about the Gcc mailing list