> Additional Comments From pinskia at gcc dot gnu dot org  2004-11-17
> Here is a bug which says the oposite should be done (as arguments are
> already > done): PR 15484.

Unless I misunderstand; C's promotion/evaluation semantics need not
be literally applied, but must only yield equivalent results to as if
they were. 

Thereby providing opportunities to the compiler to avoid the otherwise
needless promotion of expression/argument precision if it's known that
their use in an alternate form will not affect a resulting utilized
variable or control flow state.

Thereby enabling the compiler to avoid the promotion of arguments to
functions, and correspondingly only require their promotion within
functions if required.

If an ABI specifies that this may not be done, then that's that; but
if it's allowed, or not specified, the compiler should be enabled to
perform this type of global optimization, I would think. (although
GCC may not presently takes full advantage of this potential today.)



Reply via email to