2) We can never devirtualize according to a type of a global object
because we do not know whether or not the current function has been
(perhaps indirectly) called from its constructor or destructor. This
also means that we cannot devirtualize according to types of constants
propagated by IPA-CP because those are always global object.
Therefore I removed code paths deriving types from constant IPA-CP
lattices and I check that declarations are not global when extracting
BINFOs from them.
This also means that testcases g++.dg/ipa/ipcp-ivi-1.C and
ivinline-6.C test something which cannot be safely done and therefore
I propose to remove them.