Re: execution order

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

 



Hi Kövesdi,

> How the inter-dependency is determined?

Outside of my knowledge.  I presume by variable usage analysis.

GCC uses the SSA optimization technique as well, which has helped perform
some impressive optimizations.  I'm not sure if SSA is relevant here.

> How can I tell the compiler not to do re-ordering?

Use -O0 - that will tell the compiler not to optimize, which will prevent
re-ordering.

> Is it possible to make such a dependency between them?

If the destructor is not inline, and also is not provided in that same
translation unit (so it isn't "known" at compile time for that translation
unit), and also the global variable being returned is not static (so it has
external access outside of the translation unit), then the compiler cannot
presume that there is no dependency.  (Holistic analysis optimizers like
LLVM can still reorder.  But, currently, GCC isn't a holistic optimizer - so
that's not a concern.)

HTH,
--Eljay



[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