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).