Andrew Pinski <[EMAIL PROTECTED]> writes:
> On Jun 20, 2005, at 10:54 AM, Sergei Organov wrote:
>
> > so SYMBOL_FLAG_SMALL (flags 0x6 vs 0x2) is somehow being missed when -O1
>
> > is turned on. Seems to be something at tree-to-RTX conversion time.
> > Constant folding?
>
> No, it would mean that the target says that this is not a small data.
> Also try it with the following code and you will see there is no difference:
>
> double osvf() { return 314314314; }
There is no difference in the sense that here both -O0 and -O1 behave
roughly the same. So the problem is with detecting "smallness" for true
constants by the target, right?
But even then, if I fix that, there still will be a problem that for
given platform there doesn't seem to be a single reason to replace
double const osv = 314314314;
double osvf() { return osv; }
with
double const osv = 314314314;
double const .LC0 = 314314314;
double osvf() { return .LCO; }
where .LCO is compiler-generated symbol. And the latter does have
something to do with const folding, doesn't it?
--
Sergei.