public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/15855] New: g++ crash with -O2 and -O3 on input file
@ 2004-06-06 19:10 abegel at cs dot berkeley dot edu
2004-06-06 19:12 ` [Bug c++/15855] " abegel at cs dot berkeley dot edu
` (36 more replies)
0 siblings, 37 replies; 38+ messages in thread
From: abegel at cs dot berkeley dot edu @ 2004-06-06 19:10 UTC (permalink / raw)
To: gcc-bugs
Compiling the attached C++ code caused the following error with g++ 3.4.0 when compiled with -O2
or -O3. -O1 and no optimization works fine. No warnings other than unused variables and parameters
are generated by -Wall. (Extensive editing was done to make the source code 'compatible' with gcc
3.4.0 (so much stricter than 3.3.x).
g++ was built on this machine with ld and as from binutils 2.14.
[harmonia@aspen bad-cplusplus-2]$ /usr/misc/pkg/gcc-3.4.0/bin/g++ -v
Reading specs from /.automount/project.EECS.Berkeley.EDU/vol/vol0/graham/b/sggs/local/x86-
unknown-linux/pkg/gcc-3.4.0/bin/../lib/gcc/i686-pc-linux-gnu/3.4.0/specs
Configured with: ../gcc-3.4.0/configure --prefix=/usr/misc/pkg/gcc-3.4.0 --with-as=/usr/misc/bin/
as --with-ld=/usr/misc/bin/ld --with-gnu-ld --with-gnu-as --enable-languages=c,c++
Thread model: posix
gcc version 3.4.0
This is running on Fedora Core 1 release of Linux.
[harmonia@aspen bad-cplusplus-2]$ uname -a
Linux aspen.CS.Berkeley.EDU 2.4.22-1.2115.nptl #1 Wed Oct 29 15:42:51 EST 2003 i686 i686 i386
GNU/Linux
/usr/misc/pkg/gcc-3.4.0/bin/g++ -c -fPIC -g -O2 -Wall -Wchar-subscripts -Wcomment -Wformat
-Wimplicit -Wmultichar -Wparentheses -Wreturn-type -Wswitch -Wtrigraphs -W -Wpointer-arith
-Wwrite-strings -Wconversion -Wsign-compare -Wdeprecated -Woverloaded-virtual -o /tmp/
cplusplus-grammar.o /tmp/cplusplus-grammar.ii
In file included from ../../lk/version/local.h:22,
from ../../lk/version/ptr.h:19,
from ../../lk/node/Node.h:26,
from ../../lk/node/ParentNode.h:19,
from ../../lk/node/ParentNodeInlines.h:19,
from ../../lk/node/ListNodeInlines.h:20,
from ./GENSRC/cplusplus.def.phyla.h:1022,
from ./GENSRC/cplusplus.def.h:12,
from GENSRC/cplusplus-grammar.cc:4:
../../lk/version/VLogStore.h: In constructor `VLogStore<bool>::VLogStore()':
../../lk/version/VLogStore.h:183: warning: unused variable 'ret'
../../lk/version/VLogStore.h: In constructor `VLogStore<bool>::VLogStore(int)':
../../lk/version/VLogStore.h:188: warning: unused variable 'ret'
In file included from ../../lk/node/ParentNode.h:19,
from ../../lk/node/ParentNodeInlines.h:19,
from ../../lk/node/ListNodeInlines.h:20,
from ./GENSRC/cplusplus.def.phyla.h:1022,
from ./GENSRC/cplusplus.def.h:12,
from GENSRC/cplusplus-grammar.cc:4:
../../lk/node/Node.h: In constructor `Node::Info::Info(const Node::Phylum_Info*, const short int*, const
Node::Info::MODE*, const char* const*, const char*, short int, short int, short int, bool, bool, bool, bool,
bool, bool, bool, short int, bool, bool, bool, bool, bool)':
../../lk/node/Node.h:331: warning: `Node::Info::is_eos' will be initialized after
../../lk/node/Node.h:327: warning: `bool Node::Info::is_multitext'
../../lk/node/Node.h:382: warning: when initialized here
../../lk/node/Node.h:348: warning: `Node::Info::is_special' will be initialized after
../../lk/node/Node.h:271: warning: `const char* const Node::Info::name'
../../lk/node/Node.h:382: warning: when initialized here
../../lk/node/Node.h: In constructor `Node::Info::Info(const char*, short int, short int, short int, bool,
bool, bool, bool, bool, bool, bool, short int, bool, bool, bool, bool, bool)':
../../lk/node/Node.h:331: warning: `Node::Info::is_eos' will be initialized after
../../lk/node/Node.h:327: warning: `bool Node::Info::is_multitext'
../../lk/node/Node.h:411: warning: when initialized here
../../lk/node/Node.h:348: warning: `Node::Info::is_special' will be initialized after
../../lk/node/Node.h:271: warning: `const char* const Node::Info::name'
../../lk/node/Node.h:411: warning: when initialized here
../../lk/node/Node.h: In constructor `Node::Info::Info(const Node::Phylum_Info*, const char*, short int,
short int, short int, bool, bool, short int, bool, bool, bool, bool, bool)':
../../lk/node/Node.h:331: warning: `Node::Info::is_eos' will be initialized after
../../lk/node/Node.h:327: warning: `bool Node::Info::is_multitext'
../../lk/node/Node.h:436: warning: when initialized here
../../lk/node/Node.h:348: warning: `Node::Info::is_special' will be initialized after
../../lk/node/Node.h:271: warning: `const char* const Node::Info::name'
../../lk/node/Node.h:436: warning: when initialized here
../../lk/node/Node.h: In constructor `Node::Info::Info(short int, const short int*, const Node::Info::
MODE*, const char* const*, const Node::Phylum_Info*, const char*, short int, short int, short int, bool,
bool, bool, bool, bool)':
../../lk/node/Node.h:331: warning: `Node::Info::is_eos' will be initialized after
../../lk/node/Node.h:327: warning: `bool Node::Info::is_multitext'
../../lk/node/Node.h:462: warning: when initialized here
../../lk/node/Node.h:348: warning: `Node::Info::is_special' will be initialized after
../../lk/node/Node.h:271: warning: `const char* const Node::Info::name'
../../lk/node/Node.h:462: warning: when initialized here
../../lk/node/Node.h: In constructor `Node::Phylum_Info::Phylum_Info(short int, const char*, short int,
bool, bool, bool, bool, bool, bool, bool, bool)':
../../lk/node/Node.h:491: warning: `Node::Phylum_Info::type' will be initialized after
../../lk/node/Node.h:481: warning: `const char* const Node::Phylum_Info::name'
../../lk/node/Node.h:541: warning: when initialized here
../../lk/node/Node.h:499: warning: `Node::Phylum_Info::is_gen_chain' will be initialized after
../../lk/node/Node.h:485: warning: `const Node**Node::Phylum_Info::canon_prods'
../../lk/node/Node.h:541: warning: when initialized here
../../lk/version/VLogStore.h: In constructor `VLogStore<T>::VLogStore() [with T =
VShortSet<PooledString>]':
../../lk/version/localInlines.h:276: instantiated from `VData::ArrayLog<T>::ArrayLog(const VG*, const
VData::Tmp&) [with T = VShortSet<PooledString>]'
../../lk/version/VVariableLen.h:93: instantiated from `VVariableLen<T>::VariableLenLog::
VariableLenLog(const VG*, const VVariableLen<T>::VariableLenTmp&) [with T =
VShortSet<PooledString>]'
../../lk/version/VVariableLen.h:38: instantiated from `VData::Log* VVariableLen<T>::
VariableLenTmp::make_log(const VG*) const [with T = VShortSet<PooledString>]'
GENSRC/cplusplus-grammar.cc:20270: instantiated from here
../../lk/version/VLogStore.h:64: warning: unused variable 'ret'
../../lk/version/VLogStore.h: In constructor `VLogStore<T>::VLogStore() [with T =
VDifferential<char>::Quark*]':
../../lk/version/localInlines.h:276: instantiated from `VData::ArrayLog<T>::ArrayLog(const VG*, const
VData::Tmp&) [with T = VDifferential<char>::Quark*]'
../../lk/version/VDifferential.h:349: instantiated from `VDifferential<T>::DifferentialLog::
DifferentialLog(const VG*, const VDifferential<T>::DifferentialTmp&) [with T = char]'
../../lk/version/VDifferential.h:289: instantiated from `VData::Log* VDifferential<T>::
DifferentialTmp::make_log(const VG*) const [with T = char]'
GENSRC/cplusplus-grammar.cc:20270: instantiated from here
../../lk/version/VLogStore.h:64: warning: unused variable 'ret'
../../lk/version/VLogStore.h: In constructor `VLogStore<T>::VLogStore() [with T = VShortSet<const
Serializable*>]':
../../lk/version/localInlines.h:276: instantiated from `VData::ArrayLog<T>::ArrayLog(const VG*, const
VData::Tmp&) [with T = VShortSet<const Serializable*>]'
../../lk/version/VVariableLen.h:93: instantiated from `VVariableLen<T>::VariableLenLog::
VariableLenLog(const VG*, const VVariableLen<T>::VariableLenTmp&) [with T = VShortSet<const
Serializable*>]'
../../lk/version/VVariableLen.h:38: instantiated from `VData::Log* VVariableLen<T>::
VariableLenTmp::make_log(const VG*) const [with T = VShortSet<const Serializable*>]'
GENSRC/cplusplus-grammar.cc:20270: instantiated from here
../../lk/version/VLogStore.h:64: warning: unused variable 'ret'
../../lk/version/VLogStore.h: In constructor `VLogStore<T>::VLogStore() [with T = int]':
../../lk/version/localInlines.h:276: instantiated from `VData::ArrayLog<T>::ArrayLog(const VG*, const
VData::Tmp&) [with T = int]'
../../lk/version/VSimple.h:107: instantiated from `VSimple<T>::SimpleLog::SimpleLog(const VG*,
const VSimple<T>::SimpleTmp&) [with T = int]'
../../lk/version/VSimple.h:42: instantiated from `VData::Log* VSimple<T>::SimpleTmp::
make_log(const VG*) const [with T = int]'
GENSRC/cplusplus-grammar.cc:20270: instantiated from here
../../lk/version/VLogStore.h:64: warning: unused variable 'ret'
../../lk/version/VLogStore.h: In constructor `VLogStore<T>::VLogStore() [with T = VPooledString]':
../../lk/version/localInlines.h:276: instantiated from `VData::ArrayLog<T>::ArrayLog(const VG*, const
VData::Tmp&) [with T = VPooledString]'
../../lk/version/VVariableLen.h:93: instantiated from `VVariableLen<T>::VariableLenLog::
VariableLenLog(const VG*, const VVariableLen<T>::VariableLenTmp&) [with T = VPooledString]'
../../lk/version/VVariableLen.h:38: instantiated from `VData::Log* VVariableLen<T>::
VariableLenTmp::make_log(const VG*) const [with T = VPooledString]'
GENSRC/cplusplus-grammar.cc:20270: instantiated from here
../../lk/version/VLogStore.h:64: warning: unused variable 'ret'
../../lk/version/VLogStore.h: In constructor `VLogStore<T>::VLogStore() [with T = Serializable*]':
../../lk/version/localInlines.h:276: instantiated from `VData::ArrayLog<T>::ArrayLog(const VG*, const
VData::Tmp&) [with T = Serializable*]'
../../lk/version/VSimple.h:107: instantiated from `VSimple<T>::SimpleLog::SimpleLog(const VG*,
const VSimple<T>::SimpleTmp&) [with T = Serializable*]'
../../lk/version/VSimple.h:42: instantiated from `VData::Log* VSimple<T>::SimpleTmp::
make_log(const VG*) const [with T = Serializable*]'
GENSRC/cplusplus-grammar.cc:20270: instantiated from here
../../lk/version/VLogStore.h:64: warning: unused variable 'ret'
../../lk/version/VLogStore.h: In constructor `VLogStore<T>::VLogStore(int) [with T = Serializable*]':
../../lk/version/localInlines.h:280: instantiated from `VData::ArrayLog<T>::ArrayLog(const VG*, const
VData::Tmp&, int) [with T = Serializable*]'
../../lk/version/localInlines.h:347: instantiated from `VData::ArrayLog2D<T>::ArrayLog2D(const VG*,
const VData::Tmp&, int) [with T = Serializable*]'
../../lk/version/VFixedLen.h:113: instantiated from `VFixedLen<T>::FixedLenLog::FixedLenLog(const
VG*, const VFixedLen<T>::FixedLenTmp&) [with T = Serializable*]'
../../lk/version/VFixedLen.h:42: instantiated from `VData::Log* VFixedLen<T>::FixedLenTmp::
make_log(const VG*) const [with T = Serializable*]'
GENSRC/cplusplus-grammar.cc:20270: instantiated from here
../../lk/version/VLogStore.h:69: warning: unused variable 'ret'
../../lk/serialization/Serializable.h: In member function `virtual void Serializable::start_handler(void*,
const char*, const char**)':
../../lk/serialization/Serializable.h:34: warning: unused parameter 'xml_reader_obj'
../../lk/serialization/Serializable.h:34: warning: unused parameter 'name'
../../lk/serialization/Serializable.h:34: warning: unused parameter 'atts'
../../lk/serialization/Serializable.h: In member function `virtual void Serializable::end_handler(void*,
const char*)':
../../lk/serialization/Serializable.h:35: warning: unused parameter 'xml_reader_obj'
../../lk/serialization/Serializable.h:35: warning: unused parameter 'name'
GENSRC/cplusplus-grammar.cc: In member function `virtual Node* ns_cplusplus_language::
TemplateDeclaration::params_iterator::make_seq_epsilon(VG*) const':
GENSRC/cplusplus-grammar.cc:149: warning: unused parameter 'vg'
GENSRC/cplusplus-grammar.cc: In member function `virtual Node* ns_cplusplus_language::
TemplateDeclaration::params_iterator::make_seq_chain(VG*) const':
GENSRC/cplusplus-grammar.cc:151: warning: unused parameter 'vg'
GENSRC/cplusplus-grammar.cc: In member function `virtual Node* ns_cplusplus_language::
ExceptFunctionDef::handlers_iterator::make_seq_epsilon(VG*) const':
GENSRC/cplusplus-grammar.cc:632: warning: unused parameter 'vg'
GENSRC/cplusplus-grammar.cc: In member function `virtual Node* ns_cplusplus_language::
ExceptFunctionDef::handlers_iterator::make_seq_chain(VG*) const':
GENSRC/cplusplus-grammar.cc:634: warning: unused parameter 'vg'
GENSRC/cplusplus-grammar.cc: In member function `virtual Node* ns_cplusplus_language::
TemplateTemplateParameter::params_iterator::make_seq_epsilon(VG*) const':
GENSRC/cplusplus-grammar.cc:815: warning: unused parameter 'vg'
GENSRC/cplusplus-grammar.cc: In member function `virtual Node* ns_cplusplus_language::
TemplateTemplateParameter::params_iterator::make_seq_chain(VG*) const':
GENSRC/cplusplus-grammar.cc:817: warning: unused parameter 'vg'
GENSRC/cplusplus-grammar.cc: In member function `virtual Node* ns_cplusplus_language::
PlainStringConstant::strs_iterator::make_seq_epsilon(VG*) const':
GENSRC/cplusplus-grammar.cc:922: warning: unused parameter 'vg'
GENSRC/cplusplus-grammar.cc: In member function `virtual Node* ns_cplusplus_language::
PlainStringConstant::strs_iterator::make_seq_chain(VG*) const':
GENSRC/cplusplus-grammar.cc:924: warning: unused parameter 'vg'
GENSRC/cplusplus-grammar.cc: In member function `virtual Node* ns_cplusplus_language::
WideStringConstant::strs_iterator::make_seq_epsilon(VG*) const':
GENSRC/cplusplus-grammar.cc:969: warning: unused parameter 'vg'
GENSRC/cplusplus-grammar.cc: In member function `virtual Node* ns_cplusplus_language::
WideStringConstant::strs_iterator::make_seq_chain(VG*) const':
GENSRC/cplusplus-grammar.cc:971: warning: unused parameter 'vg'
GENSRC/cplusplus-grammar.cc: In member function `virtual Node* ns_cplusplus_language::
ConstructorInitializers::inits_iterator::make_seq_epsilon(VG*) const':
GENSRC/cplusplus-grammar.cc:1502: warning: unused parameter 'vg'
GENSRC/cplusplus-grammar.cc: In member function `virtual Node* ns_cplusplus_language::
ConstructorInitializers::inits_iterator::make_seq_chain(VG*) const':
GENSRC/cplusplus-grammar.cc:1504: warning: unused parameter 'vg'
GENSRC/cplusplus-grammar.cc: In member function `virtual Node* ns_cplusplus_language::
NamedException::specs_iterator::make_seq_epsilon(VG*) const':
GENSRC/cplusplus-grammar.cc:1687: warning: unused parameter 'vg'
GENSRC/cplusplus-grammar.cc: In member function `virtual Node* ns_cplusplus_language::
NamedException::specs_iterator::make_seq_chain(VG*) const':
GENSRC/cplusplus-grammar.cc:1689: warning: unused parameter 'vg'
GENSRC/cplusplus-grammar.cc: In member function `virtual Node* ns_cplusplus_language::
UnnamedException::specs_iterator::make_seq_epsilon(VG*) const':
GENSRC/cplusplus-grammar.cc:1735: warning: unused parameter 'vg'
GENSRC/cplusplus-grammar.cc: In member function `virtual Node* ns_cplusplus_language::
UnnamedException::specs_iterator::make_seq_chain(VG*) const':
GENSRC/cplusplus-grammar.cc:1737: warning: unused parameter 'vg'
GENSRC/cplusplus-grammar.cc: In member function `virtual Node* ns_cplusplus_language::
PlainNestedSpec::names_iterator::make_seq_epsilon(VG*) const':
GENSRC/cplusplus-grammar.cc:1930: warning: unused parameter 'vg'
GENSRC/cplusplus-grammar.cc: In member function `virtual Node* ns_cplusplus_language::
PlainNestedSpec::names_iterator::make_seq_chain(VG*) const':
GENSRC/cplusplus-grammar.cc:1932: warning: unused parameter 'vg'
GENSRC/cplusplus-grammar.cc: In member function `virtual Node* ns_cplusplus_language::
ConversionIdent::specs_iterator::make_seq_epsilon(VG*) const':
GENSRC/cplusplus-grammar.cc:2418: warning: unused parameter 'vg'
GENSRC/cplusplus-grammar.cc: In member function `virtual Node* ns_cplusplus_language::
ConversionIdent::specs_iterator::make_seq_chain(VG*) const':
GENSRC/cplusplus-grammar.cc:2420: warning: unused parameter 'vg'
GENSRC/cplusplus-grammar.cc: In member function `virtual Node* ns_cplusplus_language::
TypeName::specs_iterator::make_seq_epsilon(VG*) const':
GENSRC/cplusplus-grammar.cc:3426: warning: unused parameter 'vg'
GENSRC/cplusplus-grammar.cc: In member function `virtual Node* ns_cplusplus_language::
TypeName::specs_iterator::make_seq_chain(VG*) const':
GENSRC/cplusplus-grammar.cc:3428: warning: unused parameter 'vg'
GENSRC/cplusplus-grammar.cc: In member function `virtual Node* ns_cplusplus_language::
PointerAbstDeclr::ptrs_iterator::make_seq_epsilon(VG*) const':
GENSRC/cplusplus-grammar.cc:3517: warning: unused parameter 'vg'
GENSRC/cplusplus-grammar.cc: In member function `virtual Node* ns_cplusplus_language::
PointerAbstDeclr::ptrs_iterator::make_seq_chain(VG*) const':
GENSRC/cplusplus-grammar.cc:3519: warning: unused parameter 'vg'
GENSRC/cplusplus-grammar.cc: In member function `virtual Node* ns_cplusplus_language::
DirectAbstDecl::ptrs_iterator::make_seq_epsilon(VG*) const':
GENSRC/cplusplus-grammar.cc:3562: warning: unused parameter 'vg'
GENSRC/cplusplus-grammar.cc: In member function `virtual Node* ns_cplusplus_language::
DirectAbstDecl::ptrs_iterator::make_seq_chain(VG*) const':
GENSRC/cplusplus-grammar.cc:3564: warning: unused parameter 'vg'
GENSRC/cplusplus-grammar.cc: In member function `virtual Node* ns_cplusplus_language::
FunctionalInit::exprs_iterator::make_seq_epsilon(VG*) const':
GENSRC/cplusplus-grammar.cc:4741: warning: unused parameter 'vg'
GENSRC/cplusplus-grammar.cc: In member function `virtual Node* ns_cplusplus_language::
FunctionalInit::exprs_iterator::make_seq_chain(VG*) const':
GENSRC/cplusplus-grammar.cc:4743: warning: unused parameter 'vg'
GENSRC/cplusplus-grammar.cc: In member function `virtual Node* ns_cplusplus_language::
Designation::desigs_iterator::make_seq_epsilon(VG*) const':
GENSRC/cplusplus-grammar.cc:6826: warning: unused parameter 'vg'
GENSRC/cplusplus-grammar.cc: In member function `virtual Node* ns_cplusplus_language::
Designation::desigs_iterator::make_seq_chain(VG*) const':
GENSRC/cplusplus-grammar.cc:6828: warning: unused parameter 'vg'
GENSRC/cplusplus-grammar.cc: In member function `virtual Node* ns_cplusplus_language::BlockInit::
inits_iterator::make_seq_epsilon(VG*) const':
GENSRC/cplusplus-grammar.cc:6941: warning: unused parameter 'vg'
GENSRC/cplusplus-grammar.cc: In member function `virtual Node* ns_cplusplus_language::BlockInit::
inits_iterator::make_seq_chain(VG*) const':
GENSRC/cplusplus-grammar.cc:6943: warning: unused parameter 'vg'
GENSRC/cplusplus-grammar.cc: In member function `virtual Node* ns_cplusplus_language::
ParameterList::decls_iterator::make_seq_epsilon(VG*) const':
GENSRC/cplusplus-grammar.cc:8304: warning: unused parameter 'vg'
GENSRC/cplusplus-grammar.cc: In member function `virtual Node* ns_cplusplus_language::
ParameterList::decls_iterator::make_seq_chain(VG*) const':
GENSRC/cplusplus-grammar.cc:8306: warning: unused parameter 'vg'
GENSRC/cplusplus-grammar.cc: In member function `virtual Node* ns_cplusplus_language::
MemberTemplateDeclaration::params_iterator::make_seq_epsilon(VG*) const':
GENSRC/cplusplus-grammar.cc:8933: warning: unused parameter 'vg'
GENSRC/cplusplus-grammar.cc: In member function `virtual Node* ns_cplusplus_language::
MemberTemplateDeclaration::params_iterator::make_seq_chain(VG*) const':
GENSRC/cplusplus-grammar.cc:8935: warning: unused parameter 'vg'
GENSRC/cplusplus-grammar.cc: In member function `virtual Node* ns_cplusplus_language::
NamedParamDecl::specs_iterator::make_seq_epsilon(VG*) const':
GENSRC/cplusplus-grammar.cc:9132: warning: unused parameter 'vg'
GENSRC/cplusplus-grammar.cc: In member function `virtual Node* ns_cplusplus_language::
NamedParamDecl::specs_iterator::make_seq_chain(VG*) const':
GENSRC/cplusplus-grammar.cc:9134: warning: unused parameter 'vg'
GENSRC/cplusplus-grammar.cc: In member function `virtual Node* ns_cplusplus_language::
UnnamedParamDecl::specs_iterator::make_seq_epsilon(VG*) const':
GENSRC/cplusplus-grammar.cc:9183: warning: unused parameter 'vg'
GENSRC/cplusplus-grammar.cc: In member function `virtual Node* ns_cplusplus_language::
UnnamedParamDecl::specs_iterator::make_seq_chain(VG*) const':
GENSRC/cplusplus-grammar.cc:9185: warning: unused parameter 'vg'
GENSRC/cplusplus-grammar.cc: In member function `virtual Node* ns_cplusplus_language::
DeclarationCondition::specs_iterator::make_seq_epsilon(VG*) const':
GENSRC/cplusplus-grammar.cc:9482: warning: unused parameter 'vg'
GENSRC/cplusplus-grammar.cc: In member function `virtual Node* ns_cplusplus_language::
DeclarationCondition::specs_iterator::make_seq_chain(VG*) const':
GENSRC/cplusplus-grammar.cc:9484: warning: unused parameter 'vg'
GENSRC/cplusplus-grammar.cc: In member function `virtual Node* ns_cplusplus_language::
TryCatchStatement::handlers_iterator::make_seq_epsilon(VG*) const':
GENSRC/cplusplus-grammar.cc:10051: warning: unused parameter 'vg'
GENSRC/cplusplus-grammar.cc: In member function `virtual Node* ns_cplusplus_language::
TryCatchStatement::handlers_iterator::make_seq_chain(VG*) const':
GENSRC/cplusplus-grammar.cc:10053: warning: unused parameter 'vg'
GENSRC/cplusplus-grammar.cc: In member function `virtual Node* ns_cplusplus_language::
NewPlacement::exprs_iterator::make_seq_epsilon(VG*) const':
GENSRC/cplusplus-grammar.cc:10169: warning: unused parameter 'vg'
GENSRC/cplusplus-grammar.cc: In member function `virtual Node* ns_cplusplus_language::
NewPlacement::exprs_iterator::make_seq_chain(VG*) const':
GENSRC/cplusplus-grammar.cc:10171: warning: unused parameter 'vg'
GENSRC/cplusplus-grammar.cc: In member function `virtual Node* ns_cplusplus_language::
NewTypeName::specs_iterator::make_seq_epsilon(VG*) const':
GENSRC/cplusplus-grammar.cc:10263: warning: unused parameter 'vg'
GENSRC/cplusplus-grammar.cc: In member function `virtual Node* ns_cplusplus_language::
NewTypeName::specs_iterator::make_seq_chain(VG*) const':
GENSRC/cplusplus-grammar.cc:10265: warning: unused parameter 'vg'
g++: Internal error: Killed (program cc1plus)
Please submit a full bug report.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
--
Summary: g++ crash with -O2 and -O3 on input file
Product: gcc
Version: 3.4.0
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: abegel at cs dot berkeley dot edu
CC: gcc-bugs at gcc dot gnu dot org
GCC build triplet: i686-pc-linux-gnu
GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15855
^ permalink raw reply [flat|nested] 38+ messages in thread
* [Bug c++/15855] g++ crash with -O2 and -O3 on input file
2004-06-06 19:10 [Bug c++/15855] New: g++ crash with -O2 and -O3 on input file abegel at cs dot berkeley dot edu
@ 2004-06-06 19:12 ` abegel at cs dot berkeley dot edu
2004-06-06 19:18 ` pinskia at gcc dot gnu dot org
` (35 subsequent siblings)
36 siblings, 0 replies; 38+ messages in thread
From: abegel at cs dot berkeley dot edu @ 2004-06-06 19:12 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From abegel at cs dot berkeley dot edu 2004-06-06 19:12 -------
Created an attachment (id=6484)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=6484&action=view)
Preprocessed source code that crashes g++ with -O2 and -O3
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15855
^ permalink raw reply [flat|nested] 38+ messages in thread
* [Bug c++/15855] g++ crash with -O2 and -O3 on input file
2004-06-06 19:10 [Bug c++/15855] New: g++ crash with -O2 and -O3 on input file abegel at cs dot berkeley dot edu
2004-06-06 19:12 ` [Bug c++/15855] " abegel at cs dot berkeley dot edu
@ 2004-06-06 19:18 ` pinskia at gcc dot gnu dot org
2004-06-06 19:25 ` pinskia at gcc dot gnu dot org
` (34 subsequent siblings)
36 siblings, 0 replies; 38+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-06-06 19:18 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2004-06-06 19:18 -------
*** Bug 15854 has been marked as a duplicate of this bug. ***
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15855
^ permalink raw reply [flat|nested] 38+ messages in thread
* [Bug c++/15855] g++ crash with -O2 and -O3 on input file
2004-06-06 19:10 [Bug c++/15855] New: g++ crash with -O2 and -O3 on input file abegel at cs dot berkeley dot edu
2004-06-06 19:12 ` [Bug c++/15855] " abegel at cs dot berkeley dot edu
2004-06-06 19:18 ` pinskia at gcc dot gnu dot org
@ 2004-06-06 19:25 ` pinskia at gcc dot gnu dot org
2004-06-06 19:39 ` abegel at cs dot berkeley dot edu
` (33 subsequent siblings)
36 siblings, 0 replies; 38+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-06-06 19:25 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2004-06-06 19:25 -------
How much memory do you have in that machine?
With 3.5.0 I get a peak about 500M then going down to 128M.
--
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |compile-time-hog, memory-hog
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15855
^ permalink raw reply [flat|nested] 38+ messages in thread
* [Bug c++/15855] g++ crash with -O2 and -O3 on input file
2004-06-06 19:10 [Bug c++/15855] New: g++ crash with -O2 and -O3 on input file abegel at cs dot berkeley dot edu
` (2 preceding siblings ...)
2004-06-06 19:25 ` pinskia at gcc dot gnu dot org
@ 2004-06-06 19:39 ` abegel at cs dot berkeley dot edu
2004-08-15 3:27 ` [Bug rtl-optimization/15855] " pinskia at gcc dot gnu dot org
` (32 subsequent siblings)
36 siblings, 0 replies; 38+ messages in thread
From: abegel at cs dot berkeley dot edu @ 2004-06-06 19:39 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From abegel at cs dot berkeley dot edu 2004-06-06 19:39 -------
(In reply to comment #3)
> How much memory do you have in that machine?
>
> With 3.5.0 I get a peak about 500M then going down to 128M.
512 MB of RAM. When compiling with gcc 3.4.0, it stays around 200M for a while, then starts rising to a
peak of 438M when it then dies from the g++ internal failure.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15855
^ permalink raw reply [flat|nested] 38+ messages in thread
* [Bug rtl-optimization/15855] g++ crash with -O2 and -O3 on input file
2004-06-06 19:10 [Bug c++/15855] New: g++ crash with -O2 and -O3 on input file abegel at cs dot berkeley dot edu
` (3 preceding siblings ...)
2004-06-06 19:39 ` abegel at cs dot berkeley dot edu
@ 2004-08-15 3:27 ` pinskia at gcc dot gnu dot org
2004-08-15 3:28 ` [Bug rtl-optimization/15855] [3.4/3.5 Regression] " pinskia at gcc dot gnu dot org
` (31 subsequent siblings)
36 siblings, 0 replies; 38+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-08-15 3:27 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2004-08-15 03:27 -------
Hmm, on the mainline I get this error:
../../lk/version/global.h:241: error: explicit specialization of `VDifferential<char>::Summary
VDifferential<char>::summarize(const VG*, GVID, GVID)' must be introduced by `template <>'
../../lk/version/global.h:241: error: template-id `summarize<>' for `VDifferential<char>::Summary
VDifferential<char>::summarize(const VG*, GVID, GVID)' does not match any template declaration
--
What |Removed |Added
----------------------------------------------------------------------------
Component|c++ |rtl-optimization
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15855
^ permalink raw reply [flat|nested] 38+ messages in thread
* [Bug rtl-optimization/15855] [3.4/3.5 Regression] g++ crash with -O2 and -O3 on input file
2004-06-06 19:10 [Bug c++/15855] New: g++ crash with -O2 and -O3 on input file abegel at cs dot berkeley dot edu
` (4 preceding siblings ...)
2004-08-15 3:27 ` [Bug rtl-optimization/15855] " pinskia at gcc dot gnu dot org
@ 2004-08-15 3:28 ` pinskia at gcc dot gnu dot org
2004-08-29 18:47 ` mmitchel at gcc dot gnu dot org
` (30 subsequent siblings)
36 siblings, 0 replies; 38+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-08-15 3:28 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2004-08-15 03:28 -------
This looks like a case where unit-at-a-time is inlining more than at -O1.
--
What |Removed |Added
----------------------------------------------------------------------------
Summary|g++ crash with -O2 and -O3 |[3.4/3.5 Regression] g++
|on input file |crash with -O2 and -O3 on
| |input file
Target Milestone|--- |3.4.2
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15855
^ permalink raw reply [flat|nested] 38+ messages in thread
* [Bug rtl-optimization/15855] [3.4/3.5 Regression] g++ crash with -O2 and -O3 on input file
2004-06-06 19:10 [Bug c++/15855] New: g++ crash with -O2 and -O3 on input file abegel at cs dot berkeley dot edu
` (5 preceding siblings ...)
2004-08-15 3:28 ` [Bug rtl-optimization/15855] [3.4/3.5 Regression] " pinskia at gcc dot gnu dot org
@ 2004-08-29 18:47 ` mmitchel at gcc dot gnu dot org
2004-10-12 13:26 ` [Bug rtl-optimization/15855] [3.4/4.0 " pinskia at gcc dot gnu dot org
` (29 subsequent siblings)
36 siblings, 0 replies; 38+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2004-08-29 18:47 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From mmitchel at gcc dot gnu dot org 2004-08-29 18:47 -------
Postponed until GCC 3.4.3.
--
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|3.4.2 |3.4.3
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15855
^ permalink raw reply [flat|nested] 38+ messages in thread
* [Bug rtl-optimization/15855] [3.4/4.0 Regression] g++ crash with -O2 and -O3 on input file
2004-06-06 19:10 [Bug c++/15855] New: g++ crash with -O2 and -O3 on input file abegel at cs dot berkeley dot edu
` (6 preceding siblings ...)
2004-08-29 18:47 ` mmitchel at gcc dot gnu dot org
@ 2004-10-12 13:26 ` pinskia at gcc dot gnu dot org
2004-10-12 13:28 ` [Bug c++/15855] " pinskia at gcc dot gnu dot org
` (28 subsequent siblings)
36 siblings, 0 replies; 38+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-10-12 13:26 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2004-10-12 13:25 -------
Now on the mainline (with checking still enabled) we get a MAX of 328M of GC memory allocated and
then go down to 189M. This is better but it can be improved still.
--
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Ever Confirmed| |1
Last reconfirmed|0000-00-00 00:00:00 |2004-10-12 13:25:58
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15855
^ permalink raw reply [flat|nested] 38+ messages in thread
* [Bug c++/15855] [3.4/4.0 Regression] g++ crash with -O2 and -O3 on input file
2004-06-06 19:10 [Bug c++/15855] New: g++ crash with -O2 and -O3 on input file abegel at cs dot berkeley dot edu
` (7 preceding siblings ...)
2004-10-12 13:26 ` [Bug rtl-optimization/15855] [3.4/4.0 " pinskia at gcc dot gnu dot org
@ 2004-10-12 13:28 ` pinskia at gcc dot gnu dot org
2004-10-12 13:29 ` [Bug middle-end/15855] " pinskia at gcc dot gnu dot org
` (27 subsequent siblings)
36 siblings, 0 replies; 38+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-10-12 13:28 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2004-10-12 13:28 -------
Also this memory usage was in the front-end before optimizations.
--
What |Removed |Added
----------------------------------------------------------------------------
Component|rtl-optimization |c++
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15855
^ permalink raw reply [flat|nested] 38+ messages in thread
* [Bug middle-end/15855] [3.4/4.0 Regression] g++ crash with -O2 and -O3 on input file
2004-06-06 19:10 [Bug c++/15855] New: g++ crash with -O2 and -O3 on input file abegel at cs dot berkeley dot edu
` (8 preceding siblings ...)
2004-10-12 13:28 ` [Bug c++/15855] " pinskia at gcc dot gnu dot org
@ 2004-10-12 13:29 ` pinskia at gcc dot gnu dot org
2004-11-01 0:45 ` mmitchel at gcc dot gnu dot org
` (26 subsequent siblings)
36 siblings, 0 replies; 38+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-10-12 13:29 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2004-10-12 13:29 -------
Never mind, I was looking at the wrong thing, it was after the parser was done.
--
What |Removed |Added
----------------------------------------------------------------------------
Component|c++ |middle-end
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15855
^ permalink raw reply [flat|nested] 38+ messages in thread
* [Bug middle-end/15855] [3.4/4.0 Regression] g++ crash with -O2 and -O3 on input file
2004-06-06 19:10 [Bug c++/15855] New: g++ crash with -O2 and -O3 on input file abegel at cs dot berkeley dot edu
` (9 preceding siblings ...)
2004-10-12 13:29 ` [Bug middle-end/15855] " pinskia at gcc dot gnu dot org
@ 2004-11-01 0:45 ` mmitchel at gcc dot gnu dot org
2004-11-21 5:33 ` pinskia at gcc dot gnu dot org
` (25 subsequent siblings)
36 siblings, 0 replies; 38+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2004-11-01 0:45 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From mmitchel at gcc dot gnu dot org 2004-11-01 00:45 -------
Postponed until GCC 3.4.4.
--
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|3.4.3 |3.4.4
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15855
^ permalink raw reply [flat|nested] 38+ messages in thread
* [Bug middle-end/15855] [3.4/4.0 Regression] g++ crash with -O2 and -O3 on input file
2004-06-06 19:10 [Bug c++/15855] New: g++ crash with -O2 and -O3 on input file abegel at cs dot berkeley dot edu
` (10 preceding siblings ...)
2004-11-01 0:45 ` mmitchel at gcc dot gnu dot org
@ 2004-11-21 5:33 ` pinskia at gcc dot gnu dot org
2004-11-21 5:54 ` pinskia at gcc dot gnu dot org
` (24 subsequent siblings)
36 siblings, 0 replies; 38+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-11-21 5:33 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2004-11-21 05:33 -------
These part are 4.0 regressions:
tree alias analysis : 24.22 ( 6%) usr 0.75 ( 2%) sys 26.57 ( 5%) wall
tree PHI insertion : 7.71 ( 2%) usr 1.26 ( 3%) sys 9.24 ( 2%) wall
tree SSA rewrite : 11.52 ( 3%) usr 4.32 (11%) sys 20.63 ( 4%) wall
tree SSA other : 21.33 ( 5%) usr 3.77 (10%) sys 27.79 ( 5%) wall
tree operand scan : 26.65 ( 7%) usr 3.78 (10%) sys 31.64 ( 6%) wall
These are most likely not:
combiner : 25.57 ( 6%) usr 0.20 ( 1%) sys 26.78 ( 5%) wall
scheduling : 211.44 (52%) usr 4.35 (11%) sys 225.27 (43%) wall
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15855
^ permalink raw reply [flat|nested] 38+ messages in thread
* [Bug middle-end/15855] [3.4/4.0 Regression] g++ crash with -O2 and -O3 on input file
2004-06-06 19:10 [Bug c++/15855] New: g++ crash with -O2 and -O3 on input file abegel at cs dot berkeley dot edu
` (11 preceding siblings ...)
2004-11-21 5:33 ` pinskia at gcc dot gnu dot org
@ 2004-11-21 5:54 ` pinskia at gcc dot gnu dot org
2004-11-23 3:49 ` pinskia at gcc dot gnu dot org
` (23 subsequent siblings)
36 siblings, 0 replies; 38+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-11-21 5:54 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2004-11-21 05:54 -------
The combiner problem comes from the distrubute_notes loop.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15855
^ permalink raw reply [flat|nested] 38+ messages in thread
* [Bug middle-end/15855] [3.4/4.0 Regression] g++ crash with -O2 and -O3 on input file
2004-06-06 19:10 [Bug c++/15855] New: g++ crash with -O2 and -O3 on input file abegel at cs dot berkeley dot edu
` (12 preceding siblings ...)
2004-11-21 5:54 ` pinskia at gcc dot gnu dot org
@ 2004-11-23 3:49 ` pinskia at gcc dot gnu dot org
2004-11-23 3:51 ` giovannibajo at libero dot it
` (22 subsequent siblings)
36 siblings, 0 replies; 38+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-11-23 3:49 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2004-11-23 03:49 -------
One more thing the schedular compile time problem goes away with -fno-PIC (this is on ppc-darwin).
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15855
^ permalink raw reply [flat|nested] 38+ messages in thread
* [Bug middle-end/15855] [3.4/4.0 Regression] g++ crash with -O2 and -O3 on input file
2004-06-06 19:10 [Bug c++/15855] New: g++ crash with -O2 and -O3 on input file abegel at cs dot berkeley dot edu
` (13 preceding siblings ...)
2004-11-23 3:49 ` pinskia at gcc dot gnu dot org
@ 2004-11-23 3:51 ` giovannibajo at libero dot it
2004-11-25 20:29 ` pinskia at gcc dot gnu dot org
` (21 subsequent siblings)
36 siblings, 0 replies; 38+ messages in thread
From: giovannibajo at libero dot it @ 2004-11-23 3:51 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From giovannibajo at libero dot it 2004-11-23 03:51 -------
Jeff, this is another baby you might enjoy playing with when you are done with
the other PR :)
--
What |Removed |Added
----------------------------------------------------------------------------
CC| |giovannibajo at libero dot
| |it, law at gcc dot gnu dot
| |org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15855
^ permalink raw reply [flat|nested] 38+ messages in thread
* [Bug middle-end/15855] [3.4/4.0 Regression] g++ crash with -O2 and -O3 on input file
2004-06-06 19:10 [Bug c++/15855] New: g++ crash with -O2 and -O3 on input file abegel at cs dot berkeley dot edu
` (14 preceding siblings ...)
2004-11-23 3:51 ` giovannibajo at libero dot it
@ 2004-11-25 20:29 ` pinskia at gcc dot gnu dot org
2004-11-26 16:01 ` pinskia at gcc dot gnu dot org
` (20 subsequent siblings)
36 siblings, 0 replies; 38+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-11-25 20:29 UTC (permalink / raw)
To: gcc-bugs
--
Bug 15855 depends on bug 18587, which changed state.
Bug 18587 Summary: build_v_may_defs and build_vuses can be improved when adding
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18587
What |Old Value |New Value
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Status|NEW |RESOLVED
Resolution| |FIXED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15855
^ permalink raw reply [flat|nested] 38+ messages in thread
* [Bug middle-end/15855] [3.4/4.0 Regression] g++ crash with -O2 and -O3 on input file
2004-06-06 19:10 [Bug c++/15855] New: g++ crash with -O2 and -O3 on input file abegel at cs dot berkeley dot edu
` (15 preceding siblings ...)
2004-11-25 20:29 ` pinskia at gcc dot gnu dot org
@ 2004-11-26 16:01 ` pinskia at gcc dot gnu dot org
2004-11-27 7:50 ` law at redhat dot com
` (19 subsequent siblings)
36 siblings, 0 replies; 38+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-11-26 16:01 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2004-11-26 16:00 -------
(In reply to comment #12)
> These part are 4.0 regressions:
Improvements already (note the scheduling goes away with -fno-PIC at least on ppc-darwin):
tree alias analysis : 16.84 (12%) usr 0.40 ( 1%) sys 17.74 ( 8%) wall
tree PHI insertion : 7.94 ( 5%) usr 1.00 ( 3%) sys 9.31 ( 4%) wall
tree SSA rewrite : 10.79 ( 7%) usr 4.11 (12%) sys 17.07 ( 8%) wall
tree SSA other : 20.02 (14%) usr 2.51 ( 7%) sys 24.59 (11%) wall
tree operand scan : 8.15 ( 6%) usr 3.38 (10%) sys 11.66 ( 5%) wall
scheduling : 13.15 ( 9%) usr 5.78 (17%) sys 19.44 ( 9%) wall
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15855
^ permalink raw reply [flat|nested] 38+ messages in thread
* [Bug middle-end/15855] [3.4/4.0 Regression] g++ crash with -O2 and -O3 on input file
2004-06-06 19:10 [Bug c++/15855] New: g++ crash with -O2 and -O3 on input file abegel at cs dot berkeley dot edu
` (16 preceding siblings ...)
2004-11-26 16:01 ` pinskia at gcc dot gnu dot org
@ 2004-11-27 7:50 ` law at redhat dot com
2004-11-27 8:18 ` giovannibajo at libero dot it
` (18 subsequent siblings)
36 siblings, 0 replies; 38+ messages in thread
From: law at redhat dot com @ 2004-11-27 7:50 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From law at redhat dot com 2004-11-27 07:49 -------
Subject: Re: [3.4/4.0 Regression] g++ crash with -O2
and -O3 on input file
It's always amazing to see how such simple oversights can result in such
a dramatic difference in the code we generate and to a smaller extent
our compile-time performance.
For this PR we actually spend considerable time compiling the the static
initialization and destruction routine. Yes, that's right...
The C++ front-end presents us with code like this:
<<< Unknown tree: if_stmt
__priority == 65535 && __initialize_p == 1
<<cleanup_point <<< Unknown tree: expr_stmt
__comp_ctor (&__ioinit) >>>
>>
>>>
;
<<< Unknown tree: if_stmt
__priority == 65535 && __initialize_p == 1
<<cleanup_point <<< Unknown tree: expr_stmt
__comp_ctor (&phylum_info, 131, (const char *) "trans_unit", 3, 0, 1,
0, 0, 0, 0, 1, 1) >>>
>>
>>>
;
Which repeats over and over and over (around a thousand times). The
if conditions remain the same, but the actions within the IF statement
change.
We gimplify that into:
if (__priority == 65535)
{
if (__initialize_p == 1)
{
__comp_ctor (&__ioinit);
}
else
{
}
}
else
{
}
if (__priority == 65535)
{
if (__initialize_p == 1)
{
__comp_ctor (&phylum_info, 131, &"trans_unit"[0], 3, 0, 1, 0,
0, 0, 0, 1, 1);
}
else
{
}
}
[ ... ]
It doesn't take a rocket scientist to realize that we've got a lot of
redundant tests in this code and it really should look something like
if (__priority == 65535)
if (__initialize == 1)
{
action1;
action2;
...
actionN;
}
When I looked at the DOM1 dump file I was rather annoyed to find that
while it successfully threaded away all the __priority tests, but
left in all the __initialize tests. Ugh. That can't be good.
I was pleasantly surprised to see that one iteration of DOM was
sufficient to do all the threading of the __priority tests, that's
good from a compile-time performance standpoint. What I was surprised
to find was that DOM1 did not iterate! Thus it didn't thread all
the __initialize tests until DOM2.
cleanup_tree_cfg didn't find any control statements to remove,
unreachable blocks or jumps to thread. So it returned false.
It did however merge roughly a thousand blocks. But we do
not propagate that to the callers of cleanup_tree_cfg.
Which is the root of the problem. DOM's jump threader doesn't
look through multiple blocks. So while block merging won't
expose new control flow cleanups, unreachable blocks or
jump threads for cleanup_tree_cfg, it may expose new jump
threading opportunities for DOM's jump threader.
Fixing this little oversight resulted in DOM1 threading all
the conditional in the target function leaving us with optimal
code in a total of 4 basic blocks.
And the best news of all, this _improves_ compile time performance
for this testcase (by about a percent).
Bootstrapped and regression tested on i686-pc-linux-gnu.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15855
^ permalink raw reply [flat|nested] 38+ messages in thread
* [Bug middle-end/15855] [3.4/4.0 Regression] g++ crash with -O2 and -O3 on input file
2004-06-06 19:10 [Bug c++/15855] New: g++ crash with -O2 and -O3 on input file abegel at cs dot berkeley dot edu
` (17 preceding siblings ...)
2004-11-27 7:50 ` law at redhat dot com
@ 2004-11-27 8:18 ` giovannibajo at libero dot it
2004-11-27 16:57 ` law at redhat dot com
` (17 subsequent siblings)
36 siblings, 0 replies; 38+ messages in thread
From: giovannibajo at libero dot it @ 2004-11-27 8:18 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From giovannibajo at libero dot it 2004-11-27 08:17 -------
Did you try if iterating DOM1 has compile time impact on more normal testcases,
like cc1-i?
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15855
^ permalink raw reply [flat|nested] 38+ messages in thread
* [Bug middle-end/15855] [3.4/4.0 Regression] g++ crash with -O2 and -O3 on input file
2004-06-06 19:10 [Bug c++/15855] New: g++ crash with -O2 and -O3 on input file abegel at cs dot berkeley dot edu
` (18 preceding siblings ...)
2004-11-27 8:18 ` giovannibajo at libero dot it
@ 2004-11-27 16:57 ` law at redhat dot com
2004-11-28 23:52 ` giovannibajo at libero dot it
` (16 subsequent siblings)
36 siblings, 0 replies; 38+ messages in thread
From: law at redhat dot com @ 2004-11-27 16:57 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From law at redhat dot com 2004-11-27 16:56 -------
Subject: Re: [3.4/4.0 Regression] g++ crash with -O2
and -O3 on input file
On Sat, 2004-11-27 at 08:17 +0000, giovannibajo at libero dot it wrote:
> ------- Additional Comments From giovannibajo at libero dot it 2004-11-27 08:17 -------
> Did you try if iterating DOM1 has compile time impact on more normal testcases,
> like cc1-i?
The effect on more normal C code is in the noise. Though my gut tells
me it's a teeny tiny slower.
jeff
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15855
^ permalink raw reply [flat|nested] 38+ messages in thread
* [Bug middle-end/15855] [3.4/4.0 Regression] g++ crash with -O2 and -O3 on input file
2004-06-06 19:10 [Bug c++/15855] New: g++ crash with -O2 and -O3 on input file abegel at cs dot berkeley dot edu
` (19 preceding siblings ...)
2004-11-27 16:57 ` law at redhat dot com
@ 2004-11-28 23:52 ` giovannibajo at libero dot it
2004-12-01 18:32 ` rth at redhat dot com
` (15 subsequent siblings)
36 siblings, 0 replies; 38+ messages in thread
From: giovannibajo at libero dot it @ 2004-11-28 23:52 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From giovannibajo at libero dot it 2004-11-28 23:52 -------
Jeff, thanks for working on these problems!
BTW, I'm assigning this bug to you since you are the one working on it right
now.
--
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|unassigned at gcc dot gnu |law at redhat dot com
|dot org |
Status|NEW |ASSIGNED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15855
^ permalink raw reply [flat|nested] 38+ messages in thread
* [Bug middle-end/15855] [3.4/4.0 Regression] g++ crash with -O2 and -O3 on input file
2004-06-06 19:10 [Bug c++/15855] New: g++ crash with -O2 and -O3 on input file abegel at cs dot berkeley dot edu
` (20 preceding siblings ...)
2004-11-28 23:52 ` giovannibajo at libero dot it
@ 2004-12-01 18:32 ` rth at redhat dot com
2004-12-02 6:09 ` rth at redhat dot com
` (14 subsequent siblings)
36 siblings, 0 replies; 38+ messages in thread
From: rth at redhat dot com @ 2004-12-01 18:32 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From rth at redhat dot com 2004-12-01 18:32 -------
Subject: Re: [3.4/4.0 Regression] g++ crash with -O2 and -O3 on input file
On Wed, Dec 01, 2004 at 11:05:43AM -0700, Jeffrey A Law wrote:
> I'm not checking in this change at the current time to give folks
> (particularly Richard & Jason) a chance to comment.
If you get that much improvement out of it, sure. Might want to
put a comment before the static variables discussing this issue.
r~
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15855
^ permalink raw reply [flat|nested] 38+ messages in thread
* [Bug middle-end/15855] [3.4/4.0 Regression] g++ crash with -O2 and -O3 on input file
2004-06-06 19:10 [Bug c++/15855] New: g++ crash with -O2 and -O3 on input file abegel at cs dot berkeley dot edu
` (21 preceding siblings ...)
2004-12-01 18:32 ` rth at redhat dot com
@ 2004-12-02 6:09 ` rth at redhat dot com
2004-12-02 15:57 ` law at redhat dot com
` (13 subsequent siblings)
36 siblings, 0 replies; 38+ messages in thread
From: rth at redhat dot com @ 2004-12-02 6:09 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From rth at redhat dot com 2004-12-02 06:08 -------
Subject: Re: [3.4/4.0 Regression] g++ crash with -O2 and -O3 on input file
On Wed, Dec 01, 2004 at 09:56:51PM -0700, Jeffrey A Law wrote:
> * tree.h (save_eptr, save_filt): Now file scoped statics.
> (honor_protect_cleanup_actions): Only create save_eptr and
> save_filt if they do not already exist.
> (lower_eh_constructs): Wipe all knowledge of save_eptr and
> save_filt before returning.
As I just discovered while working through the existance of these
saves for DannyB, this transformation is incorrect and indeed
invalidates the entire reason for this save/restore.
The best that we could do is a stack of variable pairs so that
nested eh regions are handled properly.
Sorry for my earlier misdiagnosis.
r~
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15855
^ permalink raw reply [flat|nested] 38+ messages in thread
* [Bug middle-end/15855] [3.4/4.0 Regression] g++ crash with -O2 and -O3 on input file
2004-06-06 19:10 [Bug c++/15855] New: g++ crash with -O2 and -O3 on input file abegel at cs dot berkeley dot edu
` (22 preceding siblings ...)
2004-12-02 6:09 ` rth at redhat dot com
@ 2004-12-02 15:57 ` law at redhat dot com
2004-12-22 19:20 ` steven at gcc dot gnu dot org
` (12 subsequent siblings)
36 siblings, 0 replies; 38+ messages in thread
From: law at redhat dot com @ 2004-12-02 15:57 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From law at redhat dot com 2004-12-02 15:56 -------
Subject: Re: [3.4/4.0 Regression] g++ crash with -O2
and -O3 on input file
On Wed, 2004-12-01 at 22:08 -0800, Richard Henderson wrote:
> On Wed, Dec 01, 2004 at 09:56:51PM -0700, Jeffrey A Law wrote:
> > * tree.h (save_eptr, save_filt): Now file scoped statics.
> > (honor_protect_cleanup_actions): Only create save_eptr and
> > save_filt if they do not already exist.
> > (lower_eh_constructs): Wipe all knowledge of save_eptr and
> > save_filt before returning.
>
> As I just discovered while working through the existance of these
> saves for DannyB, this transformation is incorrect and indeed
> invalidates the entire reason for this save/restore.
>
> The best that we could do is a stack of variable pairs so that
> nested eh regions are handled properly.
>
> Sorry for my earlier misdiagnosis.
Worse things have happened in this world. The patch has been reverted.
jeff
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15855
^ permalink raw reply [flat|nested] 38+ messages in thread
* [Bug middle-end/15855] [3.4/4.0 Regression] g++ crash with -O2 and -O3 on input file
2004-06-06 19:10 [Bug c++/15855] New: g++ crash with -O2 and -O3 on input file abegel at cs dot berkeley dot edu
` (23 preceding siblings ...)
2004-12-02 15:57 ` law at redhat dot com
@ 2004-12-22 19:20 ` steven at gcc dot gnu dot org
2004-12-22 19:29 ` law at redhat dot com
` (11 subsequent siblings)
36 siblings, 0 replies; 38+ messages in thread
From: steven at gcc dot gnu dot org @ 2004-12-22 19:20 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From steven at gcc dot gnu dot org 2004-12-22 19:20 -------
Could someone (Jeff) update the summary for this PR to reflect the
actual status of this PR and the problems being addressed?
Does the test case from the submitter still crash g++ on mainline?
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15855
^ permalink raw reply [flat|nested] 38+ messages in thread
* [Bug middle-end/15855] [3.4/4.0 Regression] g++ crash with -O2 and -O3 on input file
2004-06-06 19:10 [Bug c++/15855] New: g++ crash with -O2 and -O3 on input file abegel at cs dot berkeley dot edu
` (24 preceding siblings ...)
2004-12-22 19:20 ` steven at gcc dot gnu dot org
@ 2004-12-22 19:29 ` law at redhat dot com
2005-05-19 17:23 ` [Bug middle-end/15855] [3.4/4.0/4.1 " mmitchel at gcc dot gnu dot org
` (10 subsequent siblings)
36 siblings, 0 replies; 38+ messages in thread
From: law at redhat dot com @ 2004-12-22 19:29 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From law at redhat dot com 2004-12-22 19:29 -------
Subject: Re: [3.4/4.0 Regression] g++ crash with -O2
and -O3 on input file
On Wed, 2004-12-22 at 19:20 +0000, steven at gcc dot gnu dot org wrote:
> ------- Additional Comments From steven at gcc dot gnu dot org 2004-12-22 19:20 -------
> Could someone (Jeff) update the summary for this PR to reflect the
> actual status of this PR and the problems being addressed?
>
> Does the test case from the submitter still crash g++ on mainline?
I don't believe it crashes, but the amount of time we're spending in
the aliasing code is, err, on the order of 50% of compilation time
last I checked. Fixing it effectively involves rewriting
tree-ssa-alias.c, which I am doing. However, it'll probably be
several weeks before I have anything ready for serious examination
due to personal commitments, vacation, etc.
jeff
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15855
^ permalink raw reply [flat|nested] 38+ messages in thread
* [Bug middle-end/15855] [3.4/4.0/4.1 Regression] g++ crash with -O2 and -O3 on input file
2004-06-06 19:10 [Bug c++/15855] New: g++ crash with -O2 and -O3 on input file abegel at cs dot berkeley dot edu
` (25 preceding siblings ...)
2004-12-22 19:29 ` law at redhat dot com
@ 2005-05-19 17:23 ` mmitchel at gcc dot gnu dot org
2005-07-22 21:16 ` pinskia at gcc dot gnu dot org
` (9 subsequent siblings)
36 siblings, 0 replies; 38+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2005-05-19 17:23 UTC (permalink / raw)
To: gcc-bugs
--
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|3.4.4 |3.4.5
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15855
^ permalink raw reply [flat|nested] 38+ messages in thread
* [Bug middle-end/15855] [3.4/4.0/4.1 Regression] g++ crash with -O2 and -O3 on input file
2004-06-06 19:10 [Bug c++/15855] New: g++ crash with -O2 and -O3 on input file abegel at cs dot berkeley dot edu
` (26 preceding siblings ...)
2005-05-19 17:23 ` [Bug middle-end/15855] [3.4/4.0/4.1 " mmitchel at gcc dot gnu dot org
@ 2005-07-22 21:16 ` pinskia at gcc dot gnu dot org
2005-07-24 1:00 ` pinskia at gcc dot gnu dot org
` (8 subsequent siblings)
36 siblings, 0 replies; 38+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-07-22 21:16 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2005-07-22 21:12 -------
Moving to 4.0.2 pre Mark.
--
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|3.4.5 |4.0.2
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15855
^ permalink raw reply [flat|nested] 38+ messages in thread
* [Bug middle-end/15855] [3.4/4.0/4.1 Regression] g++ crash with -O2 and -O3 on input file
2004-06-06 19:10 [Bug c++/15855] New: g++ crash with -O2 and -O3 on input file abegel at cs dot berkeley dot edu
` (27 preceding siblings ...)
2005-07-22 21:16 ` pinskia at gcc dot gnu dot org
@ 2005-07-24 1:00 ` pinskia at gcc dot gnu dot org
2005-08-12 6:21 ` phython at gcc dot gnu dot org
` (7 subsequent siblings)
36 siblings, 0 replies; 38+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-07-24 1:00 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2005-07-24 00:59 -------
at -O1 on the mainline on powerpc-darwin, we now take over 800M which seems very high. I could not
finish the build of this source as it was just taking too long.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15855
^ permalink raw reply [flat|nested] 38+ messages in thread
* [Bug middle-end/15855] [3.4/4.0/4.1 Regression] g++ crash with -O2 and -O3 on input file
2004-06-06 19:10 [Bug c++/15855] New: g++ crash with -O2 and -O3 on input file abegel at cs dot berkeley dot edu
` (28 preceding siblings ...)
2005-07-24 1:00 ` pinskia at gcc dot gnu dot org
@ 2005-08-12 6:21 ` phython at gcc dot gnu dot org
2005-08-12 19:08 ` wilson at specifix dot com
` (6 subsequent siblings)
36 siblings, 0 replies; 38+ messages in thread
From: phython at gcc dot gnu dot org @ 2005-08-12 6:21 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From phython at gcc dot gnu dot org 2005-08-12 06:21 -------
On ia64-linux postreload-gcse does exactly nothing and takes 35% of the compile
time at -O1 -fgcse-after-reload. I didn't finish a build at -O2.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15855
^ permalink raw reply [flat|nested] 38+ messages in thread
* [Bug middle-end/15855] [3.4/4.0/4.1 Regression] g++ crash with -O2 and -O3 on input file
2004-06-06 19:10 [Bug c++/15855] New: g++ crash with -O2 and -O3 on input file abegel at cs dot berkeley dot edu
` (29 preceding siblings ...)
2005-08-12 6:21 ` phython at gcc dot gnu dot org
@ 2005-08-12 19:08 ` wilson at specifix dot com
2005-09-12 10:53 ` rguenth at gcc dot gnu dot org
` (5 subsequent siblings)
36 siblings, 0 replies; 38+ messages in thread
From: wilson at specifix dot com @ 2005-08-12 19:08 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From wilson at specifix dot com 2005-08-12 19:07 -------
Subject: Re: [3.4/4.0/4.1 Regression] g++ crash with
-O2 and -O3 on input file
phython at gcc dot gnu dot org wrote:
> ------- Additional Comments From phython at gcc dot gnu dot org 2005-08-12 06:21 -------
> On ia64-linux postreload-gcse does exactly nothing and takes 35% of the compile
> time at -O1 -fgcse-after-reload. I didn't finish a build at -O2.
What testcase and compiler version are you using for this? I tried
taking a look, but wasn't able to reproduce any problem. I was able to
compile both testcases in the PR at -O2 in about 20 secs and about 200MB.
Both testcases in the PR have issues. The first one generates lots of
errors from the C++ front end, and doesn't actually end up doing much
compiling. The second one wants a non-existent expat.h file and is thus
uncompilable without changes. If I delete the include of the missing
expat.h file, then again I get C++ front end errors and little compilation.
I tried various gcc versions, 4.0.x, mainline, 3.3.x, but I got the same
result from all of them.
Maybe you have a copy of the missing expat.h file?
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15855
^ permalink raw reply [flat|nested] 38+ messages in thread
* [Bug middle-end/15855] [3.4/4.0/4.1 Regression] g++ crash with -O2 and -O3 on input file
2004-06-06 19:10 [Bug c++/15855] New: g++ crash with -O2 and -O3 on input file abegel at cs dot berkeley dot edu
` (30 preceding siblings ...)
2005-08-12 19:08 ` wilson at specifix dot com
@ 2005-09-12 10:53 ` rguenth at gcc dot gnu dot org
2005-09-15 22:06 ` rguenth at gcc dot gnu dot org
` (4 subsequent siblings)
36 siblings, 0 replies; 38+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2005-09-12 10:53 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From rguenth at gcc dot gnu dot org 2005-09-12 10:52 -------
The second testcase works for me on current mainline if adding a class UltraRoot
forward declaration at the top. It takes around 1m30 to compile and uses up
max. 522913kB of memory (1GB box, P4 2.8GHz) at -O2. Still aliasing accounts for
the most time:
samples % image name symbol name
694 26.6411 cc1plus add_stmt_operand
209 8.0230 cc1plus ldst_entry
193 7.4088 cc1plus create_ssa_artficial_load_stmt
181 6.9482 cc1plus compute_global_livein
57 2.1881 cc1plus bitmap_bit_p
50 1.9194 no-vmlinux (no symbols)
45 1.7274 cc1plus compute_may_aliases
42 1.6123 cc1plus invalidate
36 1.3820 cc1plus bitmap_ior_and_compl_into
35 1.3436 cc1plus bitmap_set_bit
35 1.3436 cc1plus for_each_rtx_1
33 1.2668 cc1plus check_dependence
29 1.1132 cc1plus splay_tree_splay_helper
28 1.0749 cc1plus htab_find_slot_with_hash
The 2nd is from GCSE, 3rd from DOM, 4th from either into-ssa or ssa-loop-manip.
Time-report:
tree SSA incremental : 14.27 (17%) usr 0.11 ( 3%) sys 14.46 (16%) wall
12827 kB ( 2%) ggc
tree operand scan : 15.62 (18%) usr 0.27 ( 8%) sys 15.93 (18%) wall
59212 kB (10%) ggc
dominator optimization: 8.67 (10%) usr 0.05 ( 1%) sys 8.64 (10%) wall
110089 kB (19%) ggc
PRE : 6.14 ( 7%) usr 0.01 ( 0%) sys 6.13 ( 7%) wall
536 kB ( 0%) ggc
ldst_entry is walking a list to find an element by hash-id. Throw some
memory at it to add a real hashtable for lookup besides the list.
The DOM stuff looks like value numbering still in DOM, hopefully it will be
ripped out.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15855
^ permalink raw reply [flat|nested] 38+ messages in thread
* [Bug middle-end/15855] [3.4/4.0/4.1 Regression] g++ crash with -O2 and -O3 on input file
2004-06-06 19:10 [Bug c++/15855] New: g++ crash with -O2 and -O3 on input file abegel at cs dot berkeley dot edu
` (31 preceding siblings ...)
2005-09-12 10:53 ` rguenth at gcc dot gnu dot org
@ 2005-09-15 22:06 ` rguenth at gcc dot gnu dot org
2005-09-16 8:14 ` rguenth at gcc dot gnu dot org
` (3 subsequent siblings)
36 siblings, 0 replies; 38+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2005-09-15 22:06 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From rguenth at gcc dot gnu dot org 2005-09-15 22:05 -------
Now we have again (?? appeared not too long ago) DOM taking all time and memory
threading 10000 times repeating
if (__priority == 65535)
{
if (__initialize_p == 0)
{
__comp_dtor (&__ioinit);
}
else
{
}
}
else
{
}
in __static_initialization
Ugh.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15855
^ permalink raw reply [flat|nested] 38+ messages in thread
* [Bug middle-end/15855] [3.4/4.0/4.1 Regression] g++ crash with -O2 and -O3 on input file
2004-06-06 19:10 [Bug c++/15855] New: g++ crash with -O2 and -O3 on input file abegel at cs dot berkeley dot edu
` (32 preceding siblings ...)
2005-09-15 22:06 ` rguenth at gcc dot gnu dot org
@ 2005-09-16 8:14 ` rguenth at gcc dot gnu dot org
2005-09-26 8:39 ` cvs-commit at gcc dot gnu dot org
` (2 subsequent siblings)
36 siblings, 0 replies; 38+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2005-09-16 8:14 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From rguenth at gcc dot gnu dot org 2005-09-16 08:14 -------
For a cut-down testcase (the one attached takes too much memory for my box)
detailled mem-report shows
tree-dfa.c:175 (create_stmt_ann) 12749568: 2.0% 2932228:
1.0% 52: 0.0% 0: 0.0% 301574
tree-inline.c:2403 (copy_tree_r) 19285144: 3.0% 0:
0.0% 0: 0.0% 162184: 0.3% 537068
tree-ssanames.c:147 (make_ssa_name) 201319404:31.0% 0:
0.0% 12792: 0.0% 0: 0.0% 3871773
tree-phinodes.c:156 (allocate_phi_node) 250714968:38.6% 0:
0.0% 0: 0.0% 11480: 0.0% 1956706
Total 649892049 291182446
47860808 47260199 12874808
source location Garbage Freed
Leak Overhead Times
where the ssa_names / phi_nodes are all allocated by DOM. From the time-report:
tree SSA incremental : 19.21 (11%) usr 2.02 (30%) sys 21.23 (12%) wall
365332 kB (40%) ggc
tree operand scan : 22.06 (13%) usr 0.26 ( 4%) sys 22.47 (12%) wall
58811 kB ( 6%) ggc
dominator optimization: 19.14 (11%) usr 0.13 ( 2%) sys 19.37 (11%) wall
111380 kB (12%) ggc
--
What |Removed |Added
----------------------------------------------------------------------------
CC| |rguenth at gcc dot gnu dot
| |org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15855
^ permalink raw reply [flat|nested] 38+ messages in thread
* [Bug middle-end/15855] [3.4/4.0/4.1 Regression] g++ crash with -O2 and -O3 on input file
2004-06-06 19:10 [Bug c++/15855] New: g++ crash with -O2 and -O3 on input file abegel at cs dot berkeley dot edu
` (33 preceding siblings ...)
2005-09-16 8:14 ` rguenth at gcc dot gnu dot org
@ 2005-09-26 8:39 ` cvs-commit at gcc dot gnu dot org
2005-09-26 8:43 ` cvs-commit at gcc dot gnu dot org
2005-09-27 15:59 ` mmitchel at gcc dot gnu dot org
36 siblings, 0 replies; 38+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2005-09-26 8:39 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From cvs-commit at gcc dot gnu dot org 2005-09-26 08:38 -------
Subject: Bug 15855
CVSROOT: /cvs/gcc
Module name: gcc
Changes by: rguenth@gcc.gnu.org 2005-09-26 08:38:32
Modified files:
gcc : ChangeLog gcse.c
Log message:
2005-09-26 Richard Guenther <rguenther@suse.de>
PR middle-end/15855
* gcse.c: Include hashtab.h, define ldst entry hashtable.
(pre_ldst_expr_hash, pre_ldst_expr_eq): New functions.
(ldst_entry): Use the hashtable instead of list-walking.
(find_rtx_in_ldst): Likewise.
(free_ldst_entry): Free the hashtable.
(compute_ld_motion_mems): Create the hashtable.
(trim_ld_motion_mems): Remove entry from hashtable if
removing it from list.
(compute_store_table): Likewise^2.
(store_motion): Free hashtable in case we did not see
any stores.
Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=2.10020&r2=2.10021
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/gcse.c.diff?cvsroot=gcc&r1=1.348&r2=1.349
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15855
^ permalink raw reply [flat|nested] 38+ messages in thread
* [Bug middle-end/15855] [3.4/4.0/4.1 Regression] g++ crash with -O2 and -O3 on input file
2004-06-06 19:10 [Bug c++/15855] New: g++ crash with -O2 and -O3 on input file abegel at cs dot berkeley dot edu
` (34 preceding siblings ...)
2005-09-26 8:39 ` cvs-commit at gcc dot gnu dot org
@ 2005-09-26 8:43 ` cvs-commit at gcc dot gnu dot org
2005-09-27 15:59 ` mmitchel at gcc dot gnu dot org
36 siblings, 0 replies; 38+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2005-09-26 8:43 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From cvs-commit at gcc dot gnu dot org 2005-09-26 08:43 -------
Subject: Bug 15855
CVSROOT: /cvs/gcc
Module name: gcc
Changes by: rguenth@gcc.gnu.org 2005-09-26 08:43:00
Modified files:
gcc/cp : ChangeLog decl2.c
Log message:
2005-09-26 Richard Guenther <rguenther@suse.de>
PR middle-end/15855
* decl2.c (do_static_destruction): Remove.
(finish_static_initialization_or_destruction): Likewise.
(DECL_EFFECTIVE_INIT_PRIORITY): New macro.
(NEEDS_GUARD_P): Likewise.
(do_static_initialization): Rename to
do_static_initialization_or_destruction. Process all
initializers/destructors and handle common conditionalizing.
(start_static_initialization_or_destruction): Rename to
one_static_initialization_or_destruction. Handle only
decl-specific conditionalizing.
(cp_finish_file): Call do_static_initialization_or_destruction.
Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/ChangeLog.diff?cvsroot=gcc&r1=1.4901&r2=1.4902
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/decl2.c.diff?cvsroot=gcc&r1=1.802&r2=1.803
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15855
^ permalink raw reply [flat|nested] 38+ messages in thread
* [Bug middle-end/15855] [3.4/4.0/4.1 Regression] g++ crash with -O2 and -O3 on input file
2004-06-06 19:10 [Bug c++/15855] New: g++ crash with -O2 and -O3 on input file abegel at cs dot berkeley dot edu
` (35 preceding siblings ...)
2005-09-26 8:43 ` cvs-commit at gcc dot gnu dot org
@ 2005-09-27 15:59 ` mmitchel at gcc dot gnu dot org
36 siblings, 0 replies; 38+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2005-09-27 15:59 UTC (permalink / raw)
To: gcc-bugs
--
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|4.0.2 |4.0.3
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15855
^ permalink raw reply [flat|nested] 38+ messages in thread
end of thread, other threads:[~2005-09-27 15:59 UTC | newest]
Thread overview: 38+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-06-06 19:10 [Bug c++/15855] New: g++ crash with -O2 and -O3 on input file abegel at cs dot berkeley dot edu
2004-06-06 19:12 ` [Bug c++/15855] " abegel at cs dot berkeley dot edu
2004-06-06 19:18 ` pinskia at gcc dot gnu dot org
2004-06-06 19:25 ` pinskia at gcc dot gnu dot org
2004-06-06 19:39 ` abegel at cs dot berkeley dot edu
2004-08-15 3:27 ` [Bug rtl-optimization/15855] " pinskia at gcc dot gnu dot org
2004-08-15 3:28 ` [Bug rtl-optimization/15855] [3.4/3.5 Regression] " pinskia at gcc dot gnu dot org
2004-08-29 18:47 ` mmitchel at gcc dot gnu dot org
2004-10-12 13:26 ` [Bug rtl-optimization/15855] [3.4/4.0 " pinskia at gcc dot gnu dot org
2004-10-12 13:28 ` [Bug c++/15855] " pinskia at gcc dot gnu dot org
2004-10-12 13:29 ` [Bug middle-end/15855] " pinskia at gcc dot gnu dot org
2004-11-01 0:45 ` mmitchel at gcc dot gnu dot org
2004-11-21 5:33 ` pinskia at gcc dot gnu dot org
2004-11-21 5:54 ` pinskia at gcc dot gnu dot org
2004-11-23 3:49 ` pinskia at gcc dot gnu dot org
2004-11-23 3:51 ` giovannibajo at libero dot it
2004-11-25 20:29 ` pinskia at gcc dot gnu dot org
2004-11-26 16:01 ` pinskia at gcc dot gnu dot org
2004-11-27 7:50 ` law at redhat dot com
2004-11-27 8:18 ` giovannibajo at libero dot it
2004-11-27 16:57 ` law at redhat dot com
2004-11-28 23:52 ` giovannibajo at libero dot it
2004-12-01 18:32 ` rth at redhat dot com
2004-12-02 6:09 ` rth at redhat dot com
2004-12-02 15:57 ` law at redhat dot com
2004-12-22 19:20 ` steven at gcc dot gnu dot org
2004-12-22 19:29 ` law at redhat dot com
2005-05-19 17:23 ` [Bug middle-end/15855] [3.4/4.0/4.1 " mmitchel at gcc dot gnu dot org
2005-07-22 21:16 ` pinskia at gcc dot gnu dot org
2005-07-24 1:00 ` pinskia at gcc dot gnu dot org
2005-08-12 6:21 ` phython at gcc dot gnu dot org
2005-08-12 19:08 ` wilson at specifix dot com
2005-09-12 10:53 ` rguenth at gcc dot gnu dot org
2005-09-15 22:06 ` rguenth at gcc dot gnu dot org
2005-09-16 8:14 ` rguenth at gcc dot gnu dot org
2005-09-26 8:39 ` cvs-commit at gcc dot gnu dot org
2005-09-26 8:43 ` cvs-commit at gcc dot gnu dot org
2005-09-27 15:59 ` mmitchel at gcc dot gnu dot org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).