This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Abt RTL expression - Optimization


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]