compbench-devel Mailing List for CompBenchmarks (Page 21)
Brought to you by:
xfred
You can subscribe to this list here.
2006 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(48) |
Oct
(51) |
Nov
(66) |
Dec
(83) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2007 |
Jan
(242) |
Feb
(56) |
Mar
(95) |
Apr
(120) |
May
(127) |
Jun
(32) |
Jul
(10) |
Aug
(55) |
Sep
(114) |
Oct
(3) |
Nov
|
Dec
|
From: Frederic T. <xf...@us...> - 2007-03-14 19:28:55
|
Update of /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/Compiler In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv4331 Modified Files: Makefile.am Log Message: Compiler-Option-Description.* added Index: Makefile.am =================================================================== RCS file: /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/Compiler/Makefile.am,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Makefile.am 22 Jan 2007 18:24:21 -0000 1.1 --- Makefile.am 14 Mar 2007 19:28:30 -0000 1.2 *************** *** 17,21 **** sources = Compiler.cpp \ ! Compiler-Options.cpp libCompiler_la_SOURCES = $(sources) --- 17,23 ---- sources = Compiler.cpp \ ! Compiler-Option-Description.cpp \ ! Compiler-Options.cpp \ ! Compiler-OptionSet.cpp libCompiler_la_SOURCES = $(sources) *************** *** 25,27 **** ! INCLUDES = -I $(top_srcdir)/libcompbenchmarks \ No newline at end of file --- 27,29 ---- ! INCLUDES = -I $(top_srcdir)/libcompbenchmarks @XML_CPPFLAGS@ |
From: Frederic T. <xf...@us...> - 2007-03-14 19:27:45
|
Update of /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/Compiler In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv4035 Added Files: Compiler-Option-Description.cpp Compiler-Option-Description.h Log Message: First import. --- NEW FILE: Compiler-Option-Description.cpp --- /* ---------------------------------------------------------------------------- $Id: Compiler-Option-Description.cpp,v 1.1 2007/03/14 19:27:21 xfred Exp $ This is free software. For details, see the GNU Public License in the COPYING file, or Look http://www.fsf.org ------------------------------------------------------------------------- */ #include <Compiler/Compiler-Option-Description.h> #include <CEL/CEL-Include.h> #include <Base/XMLReader.h> using namespace CBM; CompilerOptionDescription::CompilerOptionDescription(CBM::XMLNode *_from) { int i; int n = _from->nodeNumber(); CBM::XMLNode *N; CBM::XMLAttribute *A; A=_from->getAttribute("id"); if (A) id=A->Value(); for(i=0; i<n; i++) { N=_from->getNode(i); if (N->Name() == "value") option=N->Value(); if (N->Name() == "short-description") shortDescription=N->Value(); if (N->Name() == "editor-description") editorDescription=N->Value(); } } std::string CompilerOptionDescription::Id(void) { return(id); } std::string CompilerOptionDescription::ShortDescription(void) { return(shortDescription); } std::string CompilerOptionDescription::EditorDescription(void) { return(editorDescription); } std::string CompilerOptionDescription::Option(void) { return(option); } CompilerOptionDescription::~CompilerOptionDescription() { } CompilerOptionDescriptions::CompilerOptionDescriptions(std::string _compilerId) { std::string fileName = _compilerId; XMLNode *root; XMLNode *N; int i; int n; CompilerOptionDescription *D; XMLReader R; fileName+="/description.xml"; fileName=CBM::CelFullIncludeName(fileName); root=R.read(fileName); if (!root) return; if (root->Name() != "options") return; if (!root) return; n=root->nodeNumber(); for(i=0; i<n; i++) { N=root->getNode(i); D=new CompilerOptionDescription(N); options.push_back(D); } } int CompilerOptionDescriptions::DescriptionNumber(void) { return(options.size()); } CompilerOptionDescription *CompilerOptionDescriptions::Description(int _index) { if (_index<DescriptionNumber()) return(options[_index]); else return(0); } CompilerOptionDescription *CompilerOptionDescriptions::Description(std::string _id) { CompilerOptionDescription *D; int i; int n = DescriptionNumber(); for(i=0; i<n; i++) { D=options[i]; if (D->Id() == _id) return(D); } return(0); } CompilerOptionDescriptions::~CompilerOptionDescriptions() { CompilerOptionDescription *D; int i; int n = DescriptionNumber(); for(i=0; i<n; i++) { D=Description(i); delete(D); } } --- NEW FILE: Compiler-Option-Description.h --- /* ---------------------------------------------------------------------------- $Id: Compiler-Option-Description.h,v 1.1 2007/03/14 19:27:21 xfred Exp $ This is free software. For details, see the GNU Public License in the COPYING file, or Look http://www.fsf.org ------------------------------------------------------------------------- */ #ifndef H_CBMCOMPILER_OPTION_DESCRIPTION #define H_CBMCOMPILER_OPTION_DESCRIPTION #include <Base/XML.h> namespace CBM { /** \brief Interface helping to describe compiler' option. */ class CompilerOptionDescription { private: /** Stores options. Initialised by constructor. * \sa Options() */ std::string id; std::string shortDescription; std::string editorDescription; std::string option; protected: public: /** Constructor \param _from XML node to initialise object */ CompilerOptionDescription(XMLNode *_from); /** Get option's internal ID \return std::string with ID */ virtual std::string Id(void); /** Get option's short description \return std::string containing a short description */ virtual std::string ShortDescription(void); /** Get editor's compiler option description \return std::string containing the option's editor description */ virtual std::string EditorDescription(void); /** Retrieves compiler's option \return Option string to pass to compiler */ virtual std::string Option(void); virtual ~CompilerOptionDescription(); }; class CompilerOptionDescriptions { private: std::vector<CompilerOptionDescription*> options; protected: public: CompilerOptionDescriptions(std::string _compilerId); virtual int DescriptionNumber(void); virtual CompilerOptionDescription *Description(int _index); virtual CompilerOptionDescription *Description(std::string _id); virtual ~CompilerOptionDescriptions(); }; } #endif |
From: Frederic T. <xf...@us...> - 2007-03-13 20:54:41
|
Update of /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/share/KB/g++ In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv5650 Modified Files: options.xml Log Message: Banner. |
From: Frederic T. <xf...@us...> - 2007-03-13 20:54:24
|
Update of /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/share/KB/common In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv5629 Modified Files: common.xml Log Message: Banner. Index: common.xml =================================================================== RCS file: /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/share/KB/common/common.xml,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** common.xml 13 Mar 2007 20:25:42 -0000 1.2 --- common.xml 13 Mar 2007 20:54:21 -0000 1.3 *************** *** 1,4 **** --- 1,12 ---- <?xml version="1.0" ?> + <!-- + $Id$ + + This is free software. + For details, see the GNU Public License in the COPYING file, or + Look http://www.fsf.org + --> + <cel> |
From: Frederic T. <xf...@us...> - 2007-03-13 20:53:48
|
Update of /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/share/KB/g++ In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv5262 Modified Files: options.xml Log Message: Banner. Index: options.xml =================================================================== RCS file: /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/share/KB/g++/options.xml,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** options.xml 13 Mar 2007 20:26:37 -0000 1.3 --- options.xml 13 Mar 2007 20:53:45 -0000 1.4 *************** *** 1,4 **** --- 1,12 ---- <?xml version="1.0" ?> + <!-- + $Id$ + + This is free software. + For details, see the GNU Public License in the COPYING file, or + Look http://www.fsf.org + --> + <!-- !!! must checks for g++ only (not gcc) --> <cel> |
From: Frederic T. <xf...@us...> - 2007-03-13 20:53:29
|
Update of /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/share/KB/gxx In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv5239 Modified Files: arch.xml cse.xml description.xml inline.xml loops.xml mainopt.xml options.xml Log Message: Banner. Index: options.xml =================================================================== RCS file: /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/share/KB/gxx/options.xml,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** options.xml 13 Mar 2007 20:27:32 -0000 1.2 --- options.xml 13 Mar 2007 20:53:23 -0000 1.3 *************** *** 1,4 **** --- 1,12 ---- <?xml version="1.0" ?> + <!-- + $Id$ + + This is free software. + For details, see the GNU Public License in the COPYING file, or + Look http://www.fsf.org + --> + <cel> <cel-include> Index: inline.xml =================================================================== RCS file: /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/share/KB/gxx/inline.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** inline.xml 13 Mar 2007 20:27:08 -0000 1.1 --- inline.xml 13 Mar 2007 20:53:23 -0000 1.2 *************** *** 1,4 **** --- 1,12 ---- <?xml version="1.0" ?> + <!-- + $Id$ + + This is free software. + For details, see the GNU Public License in the COPYING file, or + Look http://www.fsf.org + --> + <!-- inlining related options for gxx --> <!-- included by gxx/options.xml --> Index: arch.xml =================================================================== RCS file: /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/share/KB/gxx/arch.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** arch.xml 13 Mar 2007 20:27:08 -0000 1.1 --- arch.xml 13 Mar 2007 20:53:23 -0000 1.2 *************** *** 1,4 **** --- 1,12 ---- <?xml version="1.0" ?> + <!-- + $Id$ + + This is free software. + For details, see the GNU Public License in the COPYING file, or + Look http://www.fsf.org + --> + <!-- Architecture related options for gxx --> <!-- included by gxx/options.xml --> Index: description.xml =================================================================== RCS file: /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/share/KB/gxx/description.xml,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** description.xml 13 Mar 2007 20:27:32 -0000 1.2 --- description.xml 13 Mar 2007 20:53:23 -0000 1.3 *************** *** 1,4 **** --- 1,12 ---- <?xml version="1.0" ?> + <!-- + $Id$ + + This is free software. + For details, see the GNU Public License in the COPYING file, or + Look http://www.fsf.org + --> + <!-- Options for 'gxx' (includes gcc and g++) --> Index: loops.xml =================================================================== RCS file: /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/share/KB/gxx/loops.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** loops.xml 13 Mar 2007 20:27:08 -0000 1.1 --- loops.xml 13 Mar 2007 20:53:23 -0000 1.2 *************** *** 1,4 **** --- 1,12 ---- <?xml version="1.0" ?> + <!-- + $Id$ + + This is free software. + For details, see the GNU Public License in the COPYING file, or + Look http://www.fsf.org + --> + <!-- Loop related options for gxx --> <!-- included by gxx/options.xml --> Index: mainopt.xml =================================================================== RCS file: /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/share/KB/gxx/mainopt.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** mainopt.xml 13 Mar 2007 17:42:10 -0000 1.1 --- mainopt.xml 13 Mar 2007 20:53:23 -0000 1.2 *************** *** 1,4 **** --- 1,12 ---- <?xml version="1.0" ?> + <!-- + $Id$ + + This is free software. + For details, see the GNU Public License in the COPYING file, or + Look http://www.fsf.org + --> + <!-- 'Main optimization' options for gxx --> <!-- included by gxx/options.xml --> Index: cse.xml =================================================================== RCS file: /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/share/KB/gxx/cse.xml,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** cse.xml 13 Mar 2007 20:27:32 -0000 1.2 --- cse.xml 13 Mar 2007 20:53:23 -0000 1.3 *************** *** 1,4 **** --- 1,12 ---- <?xml version="1.0" ?> + <!-- + $Id$ + + This is free software. + For details, see the GNU Public License in the COPYING file, or + Look http://www.fsf.org + --> + <!-- CSE (common subexpression elimination) related options for gxx --> <!-- included by gxx/options.xml --> |
From: Frederic T. <xf...@us...> - 2007-03-13 20:42:17
|
Update of /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/share/KB In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv906 Added Files: Makefile.am Log Message: First import. --- NEW FILE: Makefile.am --- # ----------------------------------------------------------------------------- # $Id: Makefile.am,v 1.1 2007/03/13 20:42:14 xfred Exp $ # $Source: /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/share/KB/Makefile.am,v $ # # This is free software. # For details, see the GNU Public License in the COPYING file, or # Look http://www.fsf.org # ----------------------------------------------------------------------------- SUBDIRS = common gxx g++ # gcc |
From: Frederic T. <xf...@us...> - 2007-03-13 20:42:08
|
Update of /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/share/KB/common In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv562 Added Files: Makefile.am Log Message: First import. --- NEW FILE: Makefile.am --- # ----------------------------------------------------------------------------- # $Id: Makefile.am,v 1.1 2007/03/13 20:42:01 xfred Exp $ # $Source: /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/share/KB/common/Makefile.am,v $ # # This is free software. # For details, see the GNU Public License in the COPYING file, or # Look http://www.fsf.org # ----------------------------------------------------------------------------- data_DATA = common.xml datarootdir=@datarootdir@/compbenchmarks/@VERSION@/KB/common EXTRA_DIST = $(data_DATA) |
From: Frederic T. <xf...@us...> - 2007-03-13 20:41:51
|
Update of /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/share/KB/g++ In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv531 Added Files: Makefile.am Log Message: First import. --- NEW FILE: Makefile.am --- # ----------------------------------------------------------------------------- # $Id: Makefile.am,v 1.1 2007/03/13 20:41:48 xfred Exp $ # $Source: /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/share/KB/g++/Makefile.am,v $ # # This is free software. # For details, see the GNU Public License in the COPYING file, or # Look http://www.fsf.org # ----------------------------------------------------------------------------- data_DATA = options.xml datarootdir=@datarootdir@/compbenchmarks/@VERSION@/KB/g++ EXTRA_DIST = $(data_DATA) |
From: Frederic T. <xf...@us...> - 2007-03-13 20:41:37
|
Update of /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/share/KB/gxx In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv511 Added Files: Makefile.am Log Message: First import. --- NEW FILE: Makefile.am --- # ----------------------------------------------------------------------------- # $Id: Makefile.am,v 1.1 2007/03/13 20:41:34 xfred Exp $ # $Source: /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/share/KB/gxx/Makefile.am,v $ # # This is free software. # For details, see the GNU Public License in the COPYING file, or # Look http://www.fsf.org # ----------------------------------------------------------------------------- data_DATA = options.xml \ mainopt.xml \ arch.xml cse.xml \ inline.xml loops.xml datarootdir=@datarootdir@/compbenchmarks/@VERSION@/KB/gxx EXTRA_DIST = $(data_DATA) |
From: Frederic T. <xf...@us...> - 2007-03-13 20:40:41
|
Update of /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/share In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv32546 Modified Files: Makefile.am Log Message: KB/ added Index: Makefile.am =================================================================== RCS file: /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/share/Makefile.am,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** Makefile.am 19 Feb 2007 20:49:21 -0000 1.3 --- Makefile.am 13 Mar 2007 20:40:35 -0000 1.4 *************** *** 8,10 **** # ----------------------------------------------------------------------------- ! SUBDIRS = patches system perl \ No newline at end of file --- 8,10 ---- # ----------------------------------------------------------------------------- ! SUBDIRS = patches system perl KB \ No newline at end of file |
From: Frederic T. <xf...@us...> - 2007-03-13 20:39:19
|
Update of /cvsroot/compbench/CompBenchmarks++ In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv32085 Modified Files: configure.in Log Message: libcompbenchmarks/share/KB/* added Index: configure.in =================================================================== RCS file: /cvsroot/compbench/CompBenchmarks++/configure.in,v retrieving revision 1.26 retrieving revision 1.27 diff -C2 -d -r1.26 -r1.27 *** configure.in 30 Jan 2007 20:57:07 -0000 1.26 --- configure.in 13 Mar 2007 20:39:13 -0000 1.27 *************** *** 276,280 **** --- 276,285 ---- libcompbenchmarks/share/perl/CBM/Makefile libcompbenchmarks/share/perl/Makefile + libcompbenchmarks/share/KB/Makefile + libcompbenchmarks/share/KB/common/Makefile + libcompbenchmarks/share/KB/gxx/Makefile + libcompbenchmarks/share/KB/g++/Makefile libcompbenchmarks/Base/Makefile + libcompbenchmarks/CEL/Makefile libcompbenchmarks/System/Makefile libcompbenchmarks/Compiler/Compiler-TCC/Makefile *************** *** 301,303 **** echo "System : $CBM_SYSTEM" echo "Gtk2 frontend : $CBM_GTK2" ! echo "" --- 306,308 ---- echo "System : $CBM_SYSTEM" echo "Gtk2 frontend : $CBM_GTK2" ! echo "" \ No newline at end of file |
From: Frederic T. <xf...@us...> - 2007-03-13 20:33:05
|
Update of /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/share/KB/gcc In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv29505/gcc Log Message: Directory /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/share/KB/gcc added to the repository |
From: Frederic T. <xf...@us...> - 2007-03-13 20:32:18
|
Update of /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/System In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv29485 Modified Files: System.cpp Log Message: CEL include paths initialized. Index: System.cpp =================================================================== RCS file: /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/System/System.cpp,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** System.cpp 8 Mar 2007 17:08:13 -0000 1.9 --- System.cpp 13 Mar 2007 20:32:13 -0000 1.10 *************** *** 12,15 **** --- 12,16 ---- #include <Base/md5.h> #include <CEL/CEL-Function.h> + #include <CEL/CEL-Include.h> #include <Benchmark/Benchmark-DLLoader.h> *************** *** 36,40 **** System::System(std::string _filename) { ! std::string tmp; configurationFile=_filename; --- 37,42 ---- System::System(std::string _filename) { ! std::string tmp_bm; ! std::string tmp_cel; configurationFile=_filename; *************** *** 45,54 **** cbmUI=new CBM::UI; ! tmp=PREFIX; ! tmp+="/lib"; ! CBM::cbmlib_paths.push_back(tmp); CBM::cbmlib_paths.push_back("./SupportedBenchmarks/.libs"); CBM::cbmlib_paths.push_back("../../SupportedBenchmarks/.libs"); } --- 47,65 ---- cbmUI=new CBM::UI; ! tmp_bm=PREFIX; ! tmp_cel=PREFIX; ! tmp_bm+="/lib"; ! ! CBM::cbmlib_paths.push_back(tmp_bm); CBM::cbmlib_paths.push_back("./SupportedBenchmarks/.libs"); CBM::cbmlib_paths.push_back("../../SupportedBenchmarks/.libs"); + + tmp_cel+="/share/KB"; + CBM::CelIncludePathAdd(tmp_cel); + CBM::CelIncludePathAdd("./libcompbenchmarks/share/KB"); + CBM::CelIncludePathAdd("../libcompbenchmarks/share/KB"); + CBM::CelIncludePathAdd("../../libcompbenchmarks/share/KB"); + CBM::CelIncludePathAdd("../../../libcompbenchmarks/share/KB"); } |
From: Frederic T. <xf...@us...> - 2007-03-13 20:31:34
|
Update of /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/CEL In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv29100 Modified Files: CEL-Array.cpp Log Message: Arrays are always global. Index: CEL-Array.cpp =================================================================== RCS file: /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/CEL/CEL-Array.cpp,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** CEL-Array.cpp 11 Mar 2007 18:47:48 -0000 1.3 --- CEL-Array.cpp 13 Mar 2007 20:31:31 -0000 1.4 *************** *** 44,48 **** name=N->Evaluate(); ! varOwner()->ArrayDef(name); return("1"); } --- 44,48 ---- name=N->Evaluate(); ! varOwner(1)->ArrayDef(name); return("1"); } *************** *** 81,85 **** value=V->Evaluate(); ! varOwner()->ArrayAdd(name, value); return("1"); --- 81,85 ---- value=V->Evaluate(); ! varOwner(1)->ArrayAdd(name, value); return("1"); *************** *** 113,117 **** name=N->Evaluate(); ! return(varOwner()->ArraySize(name)); } --- 113,117 ---- name=N->Evaluate(); ! return(varOwner(1)->ArraySize(name)); } *************** *** 145,149 **** is=I->Evaluate(); ! return(varOwner()->ArrayGet(N->Evaluate(), is)); } --- 145,149 ---- is=I->Evaluate(); ! return(varOwner(1)->ArrayGet(N->Evaluate(), is)); } *************** *** 174,178 **** N=childs[0]; ! return(varOwner()->ArrayUndef(N->Evaluate())); } --- 174,178 ---- N=childs[0]; ! return(varOwner(1)->ArrayUndef(N->Evaluate())); } |
From: Frederic T. <xf...@us...> - 2007-03-13 20:31:04
|
Update of /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/CEL In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv28704 Modified Files: CEL-Str.cpp CEL-Str.h Log Message: <cel-str-sp/> added to get spaces. Index: CEL-Str.cpp =================================================================== RCS file: /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/CEL/CEL-Str.cpp,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** CEL-Str.cpp 11 Mar 2007 18:47:49 -0000 1.2 --- CEL-Str.cpp 13 Mar 2007 20:30:56 -0000 1.3 *************** *** 13,17 **** : CelAtom() { ! string=_string; } --- 13,20 ---- : CelAtom() { ! if (!_string.empty()) ! string=_string; ! else ! string=""; } *************** *** 37,41 **** --- 40,62 ---- + CelStrSp::CelStrSp() + : CelAtom() + { + } + std::string CelStrSp::xmlEntityName(void) + { + return("cel-str-sp"); + } + + + std::string CelStrSp::evaluate(void) + { + return(" "); + } + + CelStrSp::~CelStrSp() + { + } CelStrConcat::CelStrConcat() Index: CEL-Str.h =================================================================== RCS file: /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/CEL/CEL-Str.h,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** CEL-Str.h 11 Mar 2007 18:47:49 -0000 1.2 --- CEL-Str.h 13 Mar 2007 20:30:56 -0000 1.3 *************** *** 29,32 **** --- 29,43 ---- }; + class CelStrSp : public CelAtom { + protected: + virtual std::string xmlEntityName(void); + virtual std::string evaluate(void); + + public: + CelStrSp(); + + virtual ~CelStrSp(); + }; + class CelStrConcat : public CelAtom { protected: |
From: Frederic T. <xf...@us...> - 2007-03-13 20:29:51
|
Update of /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/CEL In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv28310 Modified Files: CEL-Reader.cpp Log Message: Improved <cel-str*/> handling. Debug facilities introduced. Index: CEL-Reader.cpp =================================================================== RCS file: /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/CEL/CEL-Reader.cpp,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** CEL-Reader.cpp 11 Mar 2007 18:47:49 -0000 1.3 --- CEL-Reader.cpp 13 Mar 2007 20:29:44 -0000 1.4 *************** *** 24,27 **** --- 24,28 ---- #include <Base/XMLReader.h> + #include <iostream> using namespace CBM; *************** *** 53,57 **** if (N->Name()=="cel-str") { ! current=new CBM::CelStr(N->Value()); } --- 54,68 ---- if (N->Name()=="cel-str") { ! if (!N->Value().empty()) ! current=new CBM::CelStr(N->Value()); ! else ! current=new CBM::CelStr(""); ! } ! if (N->Name()=="cel-str-concat") { ! current=new CBM::CelStrConcat(); ! } ! ! if (N->Name()=="cel-str-sp") { ! current=new CBM::CelStrSp(); } *************** *** 157,163 **** --- 168,180 ---- } + if (N->Name()=="cel-debug") { + current=new CBM::CelDebug(); + } + if (current) { into->add(current); parse(N, current); + } else { + std::cerr << N->Name() << ": unkown CEL language entity" << std::endl; } } |
From: Frederic T. <xf...@us...> - 2007-03-13 20:28:52
|
Update of /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/CEL In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv27935 Modified Files: CEL-Atom.cpp CEL-Atom.h CEL-Var.cpp Log Message: Look for variable recursively. Index: CEL-Atom.h =================================================================== RCS file: /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/CEL/CEL-Atom.h,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** CEL-Atom.h 11 Mar 2007 18:51:32 -0000 1.5 --- CEL-Atom.h 13 Mar 2007 20:28:48 -0000 1.6 *************** *** 41,45 **** virtual std::string xmlValue(void); virtual std::string xmlProperties(void); ! virtual CelAtom *varOwner(void); virtual std::string evaluate(void) = 0; --- 41,46 ---- virtual std::string xmlValue(void); virtual std::string xmlProperties(void); ! virtual CelAtom *varOwner(int _global = 0); ! virtual CelAtom *varOwner(std::string _var); virtual std::string evaluate(void) = 0; *************** *** 83,86 **** --- 84,98 ---- }; + class CelDebug : public CelAtom { + protected: + virtual std::string evaluate(void); + public: + CelDebug(); + + virtual std::string xmlEntityName(void); + + virtual ~CelDebug(); + }; + } Index: CEL-Var.cpp =================================================================== RCS file: /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/CEL/CEL-Var.cpp,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** CEL-Var.cpp 11 Mar 2007 18:47:49 -0000 1.3 --- CEL-Var.cpp 13 Mar 2007 20:28:48 -0000 1.4 *************** *** 48,53 **** value=V->Evaluate(); ! varOwner()->VarSet(name, ! value); return("1"); } --- 48,53 ---- value=V->Evaluate(); ! varOwner(name)->VarSet(name, ! value); return("1"); } *************** *** 73,76 **** --- 73,77 ---- CelAtom *N; celVar_t *cv; + std::string name; if (n!=1) *************** *** 79,83 **** N=childs[0]; ! cv=varOwner()->VarGet(N->Evaluate()); if (cv) return(cv->value); --- 80,85 ---- N=childs[0]; ! name=N->Evaluate(); ! cv=varOwner(name)->VarGet(name); if (cv) return(cv->value); *************** *** 104,107 **** --- 106,110 ---- int n = childs.size(); CelAtom *N; + std::string name; if (n!=1) *************** *** 109,113 **** N=childs[0]; ! return(varOwner()->VarUndef(N->Evaluate())); } --- 112,117 ---- N=childs[0]; ! name=N->Evaluate(); ! return(varOwner(name)->VarUndef(name)); } Index: CEL-Atom.cpp =================================================================== RCS file: /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/CEL/CEL-Atom.cpp,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** CEL-Atom.cpp 11 Mar 2007 18:50:47 -0000 1.5 --- CEL-Atom.cpp 13 Mar 2007 20:28:48 -0000 1.6 *************** *** 62,66 **** } ! CelAtom *CelAtom::varOwner(void) { CelAtom *ptr = this; --- 62,66 ---- } ! CelAtom *CelAtom::varOwner(int _global) { CelAtom *ptr = this; *************** *** 68,75 **** while (ptr->parent) { e=ptr->xmlEntityName(); ! if ((e=="cel-function-def") || ! /* (e=="cel-block") || */ ! (e=="cel")) { ! return(ptr); } ptr=ptr->parent; --- 68,80 ---- while (ptr->parent) { e=ptr->xmlEntityName(); ! if (_global) { ! if (e=="cel") ! return(ptr); ! } else { ! if ((e=="cel-function-def") || ! /* (e=="cel-block") || */ ! (e=="cel")) { ! return(ptr); ! } } ptr=ptr->parent; *************** *** 79,82 **** --- 84,108 ---- } + CelAtom *CelAtom::varOwner(std::string _var) + { + CelAtom *ptr; + CelAtom *previous; + + ptr=varOwner(); + previous=0; + + while (ptr!=previous) { + if (ptr->VarGet(_var)) + return(ptr); + previous=ptr; + if (ptr->parent) { + ptr=ptr->parent; + ptr=ptr->varOwner(); + } + } + + return(ptr); + } + std::string CelAtom::xmlValue(void) { *************** *** 365,366 **** --- 391,424 ---- { } + + + CelDebug::CelDebug() + : CelAtom() + { + } + + std::string CelDebug::evaluate(void) + { + int i; + int n = childs.size(); + CelAtom *A; + + std::string r; + + std::cerr << "CelDebug : "; + for(i=0; i<n; i++) { + A=childs[i]; + std::cerr << A->Evaluate(); + } + std::cerr << std::endl; + return("1"); + } + + std::string CelDebug::xmlEntityName(void) + { + return("cel-debug"); + } + + CelDebug::~CelDebug() + { + } |
From: Frederic T. <xf...@us...> - 2007-03-13 20:27:36
|
Update of /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/share/KB/gxx In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv27562 Modified Files: cse.xml description.xml options.xml Log Message: More supported options. Index: options.xml =================================================================== RCS file: /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/share/KB/gxx/options.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** options.xml 13 Mar 2007 17:42:10 -0000 1.1 --- options.xml 13 Mar 2007 20:27:32 -0000 1.2 *************** *** 6,9 **** --- 6,12 ---- <cel-str>gxx/mainopt.xml</cel-str> <cel-str>gxx/cse.xml</cel-str> + <cel-str>gxx/inline.xml</cel-str> + <cel-str>gxx/loops.xml</cel-str> + <cel-str>gxx/arch.xml</cel-str> </cel-include> *************** *** 208,211 **** --- 211,347 ---- </cel-function-def> + <!-- float-store --> + <cel-function-def> + <cel-str>kb-gxx-option-float-store-is-compatible</cel-str> + + <cel-var-set> + <cel-str>return</cel-str> + <cel-function-call> + <cel-str>kb-gxx-option-gcc2.95-is-compatible</cel-str> + </cel-function-call> + </cel-var-set> + + <cel-cond-if> + <cel-cmp-eq> + <cel-var-get> + <cel-str>return</cel-str> + </cel-var-get> + <cel-str>1</cel-str> + </cel-cmp-eq> + <cel-cond-if> + <cel-logic-or> + <cel-cmp-eq> + <cel-var-get> + <cel-str>kb-option-mainoptimization</cel-str> + </cel-var-get> + <cel-str>-O2</cel-str> + </cel-cmp-eq> + <cel-cmp-eq> + <cel-var-get> + <cel-str>kb-option-mainoptimization</cel-str> + </cel-var-get> + <cel-str>-O3</cel-str> + </cel-cmp-eq> + </cel-logic-or> + <cel-var-set> + <cel-str>return</cel-str> + <cel-str>option implied by -O2 and -O3</cel-str> + </cel-var-set> + </cel-cond-if> + </cel-cond-if> + <cel-var-get> + <cel-str>return</cel-str> + </cel-var-get> + </cel-function-def> + + + <!-- force-addr --> + <cel-function-def> + <cel-str>kb-gxx-option-force-addr-is-compatible</cel-str> + + <cel-var-set> + <cel-str>return</cel-str> + <cel-function-call> + <cel-str>kb-gxx-option-gcc2.95-is-compatible</cel-str> + </cel-function-call> + </cel-var-set> + + <cel-cond-if> + <cel-cmp-eq> + <cel-var-get> + <cel-str>return</cel-str> + </cel-var-get> + <cel-str>1</cel-str> + </cel-cmp-eq> + <cel-cond-if> + <cel-logic-or> + <cel-cmp-eq> + <cel-var-get> + <cel-str>kb-option-mainoptimization</cel-str> + </cel-var-get> + <cel-str>-O2</cel-str> + </cel-cmp-eq> + <cel-cmp-eq> + <cel-var-get> + <cel-str>kb-option-mainoptimization</cel-str> + </cel-var-get> + <cel-str>-O3</cel-str> + </cel-cmp-eq> + </cel-logic-or> + <cel-var-set> + <cel-str>return</cel-str> + <cel-str>option implied by -O2 and -O3</cel-str> + </cel-var-set> + </cel-cond-if> + </cel-cond-if> + <cel-var-get> + <cel-str>return</cel-str> + </cel-var-get> + </cel-function-def> + + <!-- force-mem --> + <cel-function-def> + <cel-str>kb-gxx-option-force-mem-is-compatible</cel-str> + + <cel-var-set> + <cel-str>return</cel-str> + <cel-function-call> + <cel-str>kb-gxx-option-gcc2.95-is-compatible</cel-str> + </cel-function-call> + </cel-var-set> + + <cel-cond-if> + <cel-cmp-eq> + <cel-var-get> + <cel-str>return</cel-str> + </cel-var-get> + <cel-str>1</cel-str> + </cel-cmp-eq> + <cel-cond-if> + <cel-logic-or> + <cel-cmp-eq> + <cel-var-get> + <cel-str>kb-option-mainoptimization</cel-str> + </cel-var-get> + <cel-str>-O2</cel-str> + </cel-cmp-eq> + <cel-cmp-eq> + <cel-var-get> + <cel-str>kb-option-mainoptimization</cel-str> + </cel-var-get> + <cel-str>-O3</cel-str> + </cel-cmp-eq> + </cel-logic-or> + <cel-var-set> + <cel-str>return</cel-str> + <cel-str>option implied by -O2 and -O3</cel-str> + </cel-var-set> + </cel-cond-if> + </cel-cond-if> + <cel-var-get> + <cel-str>return</cel-str> + </cel-var-get> + </cel-function-def> + <!-- fast-math --> <cel-function-def> *************** *** 217,219 **** --- 353,455 ---- </cel-function-def> + <!-- Not integrated (seem useless for optimizations measurement : --> + <!-- no-defer-pop, no-peephole --> + + <!-- omit-frame-pointer --> + <cel-function-def> + <cel-str>kb-gxx-option-omit-frame-pointer-is-compatible</cel-str> + + <cel-function-call> + <cel-str>kb-gxx-option-gcc2.95-is-compatible</cel-str> + </cel-function-call> + </cel-function-def> + + <!-- schedule-insns --> + <cel-function-def> + <cel-str>kb-gxx-option-schedule-insns-is-compatible</cel-str> + + <cel-var-set> + <cel-str>return</cel-str> + <cel-function-call> + <cel-str>kb-gxx-option-gcc2.95-is-compatible</cel-str> + </cel-function-call> + </cel-var-set> + + <cel-cond-if> + <cel-cmp-eq> + <cel-var-get> + <cel-str>return</cel-str> + </cel-var-get> + <cel-str>1</cel-str> + </cel-cmp-eq> + <cel-cond-if> + <cel-logic-or> + <cel-cmp-eq> + <cel-var-get> + <cel-str>kb-option-mainoptimization</cel-str> + </cel-var-get> + <cel-str>-O2</cel-str> + </cel-cmp-eq> + <cel-cmp-eq> + <cel-var-get> + <cel-str>kb-option-mainoptimization</cel-str> + </cel-var-get> + <cel-str>-O3</cel-str> + </cel-cmp-eq> + </cel-logic-or> + <cel-var-set> + <cel-str>return</cel-str> + <cel-str>option implied by -O2 and -O3</cel-str> + </cel-var-set> + </cel-cond-if> + </cel-cond-if> + <cel-var-get> + <cel-str>return</cel-str> + </cel-var-get> + </cel-function-def> + + <!-- schedule-insns2 --> + <cel-function-def> + <cel-str>kb-gxx-option-schedule-insns2-is-compatible</cel-str> + + <cel-var-set> + <cel-str>return</cel-str> + <cel-function-call> + <cel-str>kb-gxx-option-gcc2.95-is-compatible</cel-str> + </cel-function-call> + </cel-var-set> + + <cel-cond-if> + <cel-cmp-eq> + <cel-var-get> + <cel-str>return</cel-str> + </cel-var-get> + <cel-str>1</cel-str> + </cel-cmp-eq> + <cel-cond-if> + <cel-logic-or> + <cel-cmp-eq> + <cel-var-get> + <cel-str>kb-option-mainoptimization</cel-str> + </cel-var-get> + <cel-str>-O2</cel-str> + </cel-cmp-eq> + <cel-cmp-eq> + <cel-var-get> + <cel-str>kb-option-mainoptimization</cel-str> + </cel-var-get> + <cel-str>-O3</cel-str> + </cel-cmp-eq> + </cel-logic-or> + <cel-var-set> + <cel-str>return</cel-str> + <cel-str>option implied by -O2 and -O3</cel-str> + </cel-var-set> + </cel-cond-if> + </cel-cond-if> + <cel-var-get> + <cel-str>return</cel-str> + </cel-var-get> + </cel-function-def> + </cel> Index: description.xml =================================================================== RCS file: /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/share/KB/gxx/description.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** description.xml 13 Mar 2007 17:42:10 -0000 1.1 --- description.xml 13 Mar 2007 20:27:32 -0000 1.2 *************** *** 160,163 **** --- 160,360 ---- </option> + <option id="float-store"> + <value>-ffloat-store</value> + <short-description>Do not store floating point variables in registers</short-description> + <editor-description> + Do not store floating point variables in registers. This prevents + undesirable excess precision on machines such as the 68000 + where the floating registers (of the 68881) keep more precision + than a double is supposed to have. + + For most programs, the excess precision does only good, but a + few programs rely on the precise definition of IEEE floating + point. Use `-ffloat-store' for such programs. + </editor-description> + </option> + + <option id="force-addr"> + <value>-fforce-addr</value> + <short-description>Force memory address constants to be copied in registers</short-description> + <editor-description> + Force memory address constants to be copied into registers before + doing arithmetic on them. This may produce better code + just as `-fforce-mem' may. I am interested in hearing about the + difference this makes. + </editor-description> + </option> + + <option id="force-mem"> + <value>-fforce-mem</value> + <short-description>Force memory operands to be copied into registers</short-description> + <editor-description> + Force memory operands to be copied into registers before doing + arithmetic on them. This may produce better code by making all + memory references potential common subexpressions. When they + are not common subexpressions, instruction combination should + eliminate the separate register-load. I am interested in hearing + about the difference this makes. + </editor-description> + </option> + + <option id="inline-functions"> + <value>-finline-functions</value> + <short-description>Integrate all simple functions into their callers</short-description> + <editor-description> + Integrate all simple functions into their callers. The compiler + heuristically decides which functions are simple enough to be + worth integrating in this way. + + If all calls to a given function are integrated, and the function + is declared static, then GCC normally does not output the + function as assembler code in its own right. + </editor-description> + </option> + + <option id="omit-frame-pointer"> + <value>-fomit-frame-pointer</value> + <short-description>Remove frame pointer from register when useless</short-description> + <editor-description> + Don't keep the frame pointer in a register for functions that + don't need one. This avoids the instructions to save, set up + and restore frame pointers; it also makes an extra register + available in many functions. It also makes debugging impossible + on most machines. + + On some machines, such as the Vax, this flag has no effect, because + the standard calling sequence automatically handles the + frame pointer and nothing is saved by pretending it doesn't exist. + The machine-description macro FRAME_POINTER_REQUIRED controls + whether a target machine supports this flag. + </editor-description> + </option> + + <option id="rerun-cse-after-loop"> + <value>-frerun-cse-after-loop</value> + <short-description>Re-run CSE after loop optimizations</short-description> + <editor-description> + Re-run common subexpression elimination after loop optimizations + has been performed. + </editor-description> + </option> + + <option id="schedule-insns"> + <value>-fschedule-insns</value> + <short-description>Attempt to reorder instructions to eliminate stalls</short-description> + <editor-description> + If supported for the target machine, attempt to reorder instructions + to eliminate execution stalls due to required data being + unavailable. This helps machines that have slow floating point + or memory load instructions by allowing other instructions to be + issued until the result of the load or floating point instruction + is required. + </editor-description> + </option> + + <option id="schedule-insns2"> + <value>-fschedule-insns2</value> + <short-description>Attempt to reorder instructions to eliminate stalls (also watch for registers)</short-description> + <editor-description> + Similar to `-fschedule-insns', but requests an additional pass + of instruction scheduling after register allocation has been + done. This is especially useful on machines with a relatively + small number of registers and where memory load instructions + take more than one cycle. + </editor-description> + </option> + + <option id="strength-reduce"> + <value>-fstrength-reduce</value> + <short-description>Loop optimizations</short-description> + <editor-description> + Perform the optimizations of loop strength reduction and + elimination of iteration variables. + </editor-description> + </option> + + <option id="thread-jumps"> + <value>-fthread-jumps</value> + <short-description>Jump shortcuts' detection</short-description> + <editor-description> + Perform optimizations where we check to see if a jump branches + to a location where another comparison subsumed by the first is + found. If so, the first branch is redirected to either the + destination of the second branch or a point immediately following + it, depending on whether the condition is known to be true or + false. + </editor-description> + </option> + + + <option id="unroll-all-loops"> + <value>-funroll-all-loops</value> + <short-description>Global loop unrolling optimization</short-description> + <editor-description> + Perform the optimization of loop unrolling. This is done for + all loops. This usually makes programs run more slowly. + </editor-description> + </option> + + + <option id="unroll-loops"> + <value>-funroll-loops</value> + <short-description>Loop unrolling optimizations</short-description> + <editor-description> + Perform the optimization of loop unrolling. This is only done + for loops whose number of iterations can be determined at com- + pile time or run time. + </editor-description> + </option> + + <option id="m486"> + <value>-m486</value> + <short-description>Generate i486 optimized code</short-description> + <editor-description> + Control whether or not code is optimized for a 486 instead of an + 386. Code generated for a 486 will run on a 386 and vice versa. + </editor-description> + </option> + + + <option id="no-fp-ret-in-387"> + <value>-fno-fp-ret-in-387</value> + <short-description>Do not use FPU to return values</short-description> + <editor-description> + Do not use the FPU registers for return values of functions. + + The usual calling convention has functions return values of + types float and double in an FPU register, even if there is no + FPU. The idea is that the operating system should emulate an + FPU. + + The option `-mno-fp-ret-in-387' causes such values to be + returned in ordinary CPU registers instead. + </editor-description> + </option> + + + <option id=""> + <value></value> + <short-description></short-description> + <editor-description> + </editor-description> + </option> + + + <option id=""> + <value></value> + <short-description></short-description> + <editor-description> + </editor-description> + </option> + + <option id=""> + <value></value> + <short-description></short-description> + <editor-description> + </editor-description> + </option> + <option id=""> <value></value> *************** *** 194,196 **** --- 391,394 ---- </editor-description> </option> + </options> \ No newline at end of file Index: cse.xml =================================================================== RCS file: /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/share/KB/gxx/cse.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** cse.xml 13 Mar 2007 17:42:10 -0000 1.1 --- cse.xml 13 Mar 2007 20:27:32 -0000 1.2 *************** *** 93,95 **** --- 93,139 ---- </cel-var-get> </cel-function-def> + + <!-- rerun-cse-after-loop --> + <cel-function-def> + <cel-str>kb-gxx-option-rerun-cse-after-loop-is-compatible</cel-str> + + <cel-var-set> + <cel-str>return</cel-str> + <cel-function-call> + <cel-str>kb-gxx-option-gcc2.95-is-compatible</cel-str> + </cel-function-call> + </cel-var-set> + + <cel-cond-if> + <cel-cmp-eq> + <cel-var-get> + <cel-str>return</cel-str> + </cel-var-get> + <cel-str>1</cel-str> + </cel-cmp-eq> + <cel-cond-if> + <cel-logic-or> + <cel-cmp-eq> + <cel-var-get> + <cel-str>kb-option-mainoptimization</cel-str> + </cel-var-get> + <cel-str>-O2</cel-str> + </cel-cmp-eq> + <cel-cmp-eq> + <cel-var-get> + <cel-str>kb-option-mainoptimization</cel-str> + </cel-var-get> + <cel-str>-O3</cel-str> + </cel-cmp-eq> + </cel-logic-or> + <cel-var-set> + <cel-str>return</cel-str> + <cel-str>option implied by -O2 and -O3</cel-str> + </cel-var-set> + </cel-cond-if> + </cel-cond-if> + <cel-var-get> + <cel-str>return</cel-str> + </cel-var-get> + </cel-function-def> </cel> \ No newline at end of file |
From: Frederic T. <xf...@us...> - 2007-03-13 20:27:11
|
Update of /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/share/KB/gxx In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv27532 Added Files: arch.xml inline.xml loops.xml Log Message: First import. --- NEW FILE: loops.xml --- <?xml version="1.0" ?> <!-- Loop related options for gxx --> <!-- included by gxx/options.xml --> <cel> <!-- strength-reduce --> <cel-function-def> <cel-str>kb-gxx-option-strength-reduce-is-compatible</cel-str> <cel-var-set> <cel-str>return</cel-str> <cel-function-call> <cel-str>kb-gxx-option-gcc2.95-is-compatible</cel-str> </cel-function-call> </cel-var-set> <cel-cond-if> <cel-cmp-eq> <cel-var-get> <cel-str>return</cel-str> </cel-var-get> <cel-str>1</cel-str> </cel-cmp-eq> <cel-cond-if> <cel-logic-or> <cel-cmp-eq> <cel-var-get> <cel-str>kb-option-mainoptimization</cel-str> </cel-var-get> <cel-str>-O2</cel-str> </cel-cmp-eq> <cel-cmp-eq> <cel-var-get> <cel-str>kb-option-mainoptimization</cel-str> </cel-var-get> <cel-str>-O3</cel-str> </cel-cmp-eq> </cel-logic-or> <cel-var-set> <cel-str>return</cel-str> <cel-str>option implied by -O2 and -O3</cel-str> </cel-var-set> </cel-cond-if> </cel-cond-if> <cel-var-get> <cel-str>return</cel-str> </cel-var-get> </cel-function-def> <!-- thread-jumps --> <cel-function-def> <cel-str>kb-gxx-option-thread-jumps-is-compatible</cel-str> <cel-var-set> <cel-str>return</cel-str> <cel-function-call> <cel-str>kb-gxx-option-gcc2.95-is-compatible</cel-str> </cel-function-call> </cel-var-set> <cel-cond-if> <cel-cmp-eq> <cel-var-get> <cel-str>return</cel-str> </cel-var-get> <cel-str>1</cel-str> </cel-cmp-eq> <cel-cond-if> <cel-logic-or> <cel-cmp-eq> <cel-var-get> <cel-str>kb-option-mainoptimization</cel-str> </cel-var-get> <cel-str>-O2</cel-str> </cel-cmp-eq> <cel-cmp-eq> <cel-var-get> <cel-str>kb-option-mainoptimization</cel-str> </cel-var-get> <cel-str>-O3</cel-str> </cel-cmp-eq> </cel-logic-or> <cel-var-set> <cel-str>return</cel-str> <cel-str>option implied by -O2 and -O3</cel-str> </cel-var-set> </cel-cond-if> </cel-cond-if> <cel-var-get> <cel-str>return</cel-str> </cel-var-get> </cel-function-def> <!-- unroll-all-loops --> <cel-function-def> <cel-str>kb-gxx-option-unroll-all-loops-is-compatible</cel-str> <cel-function-call> <cel-str>kb-gxx-option-gcc2.95-is-compatible</cel-str> </cel-function-call> </cel-function-def> <!-- unroll-loops --> <cel-function-def> <cel-str>kb-gxx-option-unroll-loops-is-compatible</cel-str> <cel-function-call> <cel-str>kb-gxx-option-gcc2.95-is-compatible</cel-str> </cel-function-call> </cel-function-def> </cel> --- NEW FILE: inline.xml --- <?xml version="1.0" ?> <!-- inlining related options for gxx --> <!-- included by gxx/options.xml --> <cel> <!-- inline-functions --> <cel-function-def> <cel-str>kb-gxx-option-inline-functions-is-compatible</cel-str> <cel-var-set> <cel-str>return</cel-str> <cel-function-call> <cel-str>kb-gxx-option-gcc2.95-is-compatible</cel-str> </cel-function-call> </cel-var-set> <cel-cond-if> <cel-cmp-eq> <cel-var-get> <cel-str>return</cel-str> </cel-var-get> <cel-str>1</cel-str> </cel-cmp-eq> <cel-cond-if> <cel-cmp-eq> <cel-var-get> <cel-str>kb-option-mainoptimization</cel-str> </cel-var-get> <cel-str>-O3</cel-str> </cel-cmp-eq> <cel-var-set> <cel-str>return</cel-str> <cel-str>option implied by -O3</cel-str> </cel-var-set> </cel-cond-if> </cel-cond-if> <cel-var-get> <cel-str>return</cel-str> </cel-var-get> </cel-function-def> <!-- Not integrated (seem useless for optimizations measurement : --> <!-- keep-inline-functions --> <!-- no-default-inline --> </cel> --- NEW FILE: arch.xml --- <?xml version="1.0" ?> <!-- Architecture related options for gxx --> <!-- included by gxx/options.xml --> <!-- !!! Should check real platform architecture in matches --> <cel> <!-- m486 --> <cel-function-def> <cel-str>kb-gxx-option-m486-is-compatible</cel-str> <cel-var-set> <cel-str>result</cel-str> <cel-function-call> <cel-str>kb-gxx-option-gcc2.95-is-compatible</cel-str> </cel-function-call> </cel-var-set> <cel-cond-if> <cel-cmp-eq> <cel-var-get> <cel-str>result</cel-str> </cel-var-get> <cel-str>1</cel-str> </cel-cmp-eq> <cel-block> <cel-stack-push> <cel-str>kb-option-cpu</cel-str> </cel-stack-push> <cel-stack-push> <cel-str>-m486</cel-str> </cel-stack-push> <cel-var-set> <cel-str>result</cel-str> <cel-function-call> <cel-str>kb-common-option-apply</cel-str> </cel-function-call> </cel-var-set> </cel-block> </cel-cond-if> <cel-var-get> <cel-str>result</cel-str> </cel-var-get> </cel-function-def> <!-- no-fp-ret-in-387 --> <cel-function-def> <cel-str>kb-gxx-option-no-fp-ret-in-387-is-compatible</cel-str> <cel-function-call> <cel-str>kb-gxx-option-gcc2.95-is-compatible</cel-str> </cel-function-call> </cel-function-def> <!-- Not integrated (seem useless for optimizations measurement) : --> <!-- -msoft-float --> </cel> |
From: Frederic T. <xf...@us...> - 2007-03-13 20:26:44
|
Update of /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/share/KB/g++ In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv27156 Modified Files: options.xml Log Message: nonnull-objects added. Index: options.xml =================================================================== RCS file: /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/share/KB/g++/options.xml,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** options.xml 13 Mar 2007 20:26:24 -0000 1.2 --- options.xml 13 Mar 2007 20:26:37 -0000 1.3 *************** *** 29,33 **** <cel-cmp-eq> <cel-var-get> ! <cel-str>kb-option-mainoptimization</cel-str> </cel-var-get> <cel-str>-O2</cel-str> --- 29,33 ---- <cel-cmp-eq> <cel-var-get> ! n <cel-str>kb-option-mainoptimization</cel-str> </cel-var-get> <cel-str>-O2</cel-str> |
From: Frederic T. <xf...@us...> - 2007-03-13 20:26:27
|
Update of /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/share/KB/g++ In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv27136 Modified Files: options.xml Log Message: nonnull-objects added. Index: options.xml =================================================================== RCS file: /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/share/KB/g++/options.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** options.xml 13 Mar 2007 17:41:54 -0000 1.1 --- options.xml 13 Mar 2007 20:26:24 -0000 1.2 *************** *** 1,4 **** --- 1,5 ---- <?xml version="1.0" ?> + <!-- !!! must checks for g++ only (not gcc) --> <cel> <cel-include> *************** *** 49,51 **** --- 50,61 ---- </cel-var-get> </cel-function-def> + + <!-- nonnull-objects --> + <cel-function-def> + <cel-str>kb-gxx-option-nonnull-objects-is-compatible</cel-str> + + <cel-function-call> + <cel-str>kb-gxx-option-gcc2.95-is-compatible</cel-str> + </cel-function-call> + </cel-function-def> </cel> |
From: Frederic T. <xf...@us...> - 2007-03-13 20:25:49
|
Update of /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/share/KB/common In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv26771 Modified Files: common.xml Log Message: Global variable to handle (unique) architecture specifier. Index: common.xml =================================================================== RCS file: /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/share/KB/common/common.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** common.xml 13 Mar 2007 17:41:40 -0000 1.1 --- common.xml 13 Mar 2007 20:25:42 -0000 1.2 *************** *** 15,18 **** --- 15,23 ---- </cel-var-set> + <cel-var-set> + <cel-str>kb-option-cpu</cel-str> + <cel-str>0</cel-str> + </cel-var-set> + <!-- Set to 1 if an option is inhibiting binary size optimizations --> *************** *** 37,40 **** --- 42,50 ---- </cel-var-set> + <cel-var-set> + <cel-str>kb-option-cpu</cel-str> + <cel-str>0</cel-str> + </cel-var-set> + <cel-array-undef> <cel-str>kb-options</cel-str> |
From: Frederic T. <xf...@us...> - 2007-03-13 17:43:34
|
Update of /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/CEL In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv30537 Modified Files: CEL-Include.cpp CEL-Include.h Log Message: CEL Include paths can be set. Attach included files to the <cel-include/> tag/object. Index: CEL-Include.h =================================================================== RCS file: /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/CEL/CEL-Include.h,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** CEL-Include.h 11 Mar 2007 18:47:49 -0000 1.2 --- CEL-Include.h 13 Mar 2007 17:43:28 -0000 1.3 *************** *** 14,17 **** --- 14,19 ---- /** \brief ? */ + void CelIncludePathAdd(std::string _path); + class CelInclude : public CelAtom { protected: Index: CEL-Include.cpp =================================================================== RCS file: /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/CEL/CEL-Include.cpp,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** CEL-Include.cpp 11 Mar 2007 18:47:49 -0000 1.2 --- CEL-Include.cpp 13 Mar 2007 17:43:28 -0000 1.3 *************** *** 9,15 **** --- 9,40 ---- #include <CEL/CEL-Include.h> #include <CEL/CEL-Reader.h> + #include <System/System.h> using namespace CBM; + std::vector<std::string> celincludespaths; + + void CBM::CelIncludePathAdd(std::string _path) + { + celincludespaths.push_back(_path); + } + + std::string CelFullIncludeName(std::string _relativeFN) + { + int i; + int n = celincludespaths.size(); + std::string r; + + for(i=0; i<n; i++) { + r=celincludespaths[i]; + r+="/"; + r+=_relativeFN; + if (cbmSystem->fileExists(r)) { + return(r); + } + } + return(_relativeFN); + } + CelInclude::CelInclude() : CelAtom() *************** *** 35,40 **** for(i=0; i<n; i++) { N=childs[i]; ! CelReader R(N->Evaluate()); I=R.parse(); r=I->Evaluate(); } --- 60,66 ---- for(i=0; i<n; i++) { N=childs[i]; ! CelReader R(CelFullIncludeName(N->Evaluate())); I=R.parse(); + add(I); r=I->Evaluate(); } |
From: Frederic T. <xf...@us...> - 2007-03-13 17:42:14
|
Update of /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/share/KB/gxx In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv30138 Added Files: cse.xml description.xml mainopt.xml options.xml Log Message: First import. --- NEW FILE: options.xml --- <?xml version="1.0" ?> <cel> <cel-include> <cel-str>common/common.xml</cel-str> <cel-str>gxx/mainopt.xml</cel-str> <cel-str>gxx/cse.xml</cel-str> </cel-include> <!-- Utility functions --> <!-- Returns 1 if the compiler on the stack is gcc or g++ --> <cel-function-def> <cel-str>kb-gxx-option-gxx-compiler</cel-str> <cel-var-set> <cel-str>compiler-id</cel-str> <cel-stack-pop/> </cel-var-set> <cel-var-set> <cel-str>return</cel-str> <cel-str>1</cel-str> </cel-var-set> <cel-cond-if> <cel-logic-not> <cel-logic-or> <cel-cmp-eq> <cel-var-get> <cel-str>compiler-id</cel-str> </cel-var-get> <cel-str>g++</cel-str> </cel-cmp-eq> <cel-cmp-eq> <cel-var-get> <cel-str>compiler-id</cel-str> </cel-var-get> <cel-str>gcc</cel-str> </cel-cmp-eq> </cel-logic-or> </cel-logic-not> <cel-var-set> <cel-str>return</cel-str> <cel-str>g++ or gcc needed</cel-str> </cel-var-set> </cel-cond-if> <cel-var-get> <cel-str>return</cel-str> </cel-var-get> </cel-function-def> <!-- Returns 1 if the compiler version and the compiler-id on the stack --> <!-- match a gcc/g++ 2.95.0 or above --> <cel-function-def> <cel-str>kb-gxx-option-gcc2.95-is-compatible</cel-str> <cel-var-set> <cel-str>compiler-version</cel-str> <cel-stack-pop/> </cel-var-set> <cel-var-set> <cel-str>compiler-id</cel-str> <cel-stack-pop/> </cel-var-set> <cel-var-set> <cel-str>return</cel-str> <cel-block> <cel-stack-push> <cel-var-get> <cel-str>compiler-id</cel-str> </cel-var-get> </cel-stack-push> <cel-function-call> <cel-str>kb-gxx-option-gxx-compiler</cel-str> </cel-function-call> </cel-block> </cel-var-set> <cel-cond-if> <cel-cmp-eq> <cel-var-get> <cel-str>return</cel-str> </cel-var-get> <cel-str>1</cel-str> </cel-cmp-eq> <cel-var-set> <cel-str>return</cel-str> <cel-block> <cel-stack-push> <cel-version>2.95.0</cel-version> </cel-stack-push> <cel-stack-push> <cel-var-get> <cel-str>compiler-version</cel-str> </cel-var-get> </cel-stack-push> <cel-function-call> <cel-str>kb-common-option-version-is-compatible</cel-str> </cel-function-call> </cel-block> </cel-var-set> </cel-cond-if> <cel-var-get> <cel-str>return</cel-str> </cel-var-get> </cel-function-def> <!-- caller-saves --> <cel-function-def> <cel-str>kb-gxx-option-caller-saves-is-compatible</cel-str> <cel-function-call> <cel-str>kb-gxx-option-gcc2.95-is-compatible</cel-str> </cel-function-call> </cel-function-def> <!-- delayed-branch --> <cel-function-def> <cel-str>kb-gxx-option-delayed-branch-is-compatible</cel-str> <cel-var-set> <cel-str>return</cel-str> <cel-function-call> <cel-str>kb-gxx-option-gcc2.95-is-compatible</cel-str> </cel-function-call> </cel-var-set> <cel-cond-if> <cel-cmp-eq> <cel-var-get> <cel-str>return</cel-str> </cel-var-get> <cel-str>1</cel-str> </cel-cmp-eq> <cel-cond-if> <cel-logic-or> <cel-cmp-eq> <cel-var-get> <cel-str>kb-option-mainoptimization</cel-str> </cel-var-get> <cel-str>-O2</cel-str> </cel-cmp-eq> <cel-cmp-eq> <cel-var-get> <cel-str>kb-option-mainoptimization</cel-str> </cel-var-get> <cel-str>-O3</cel-str> </cel-cmp-eq> </cel-logic-or> <cel-var-set> <cel-str>return</cel-str> <cel-str>option implied by -O2 and -O3</cel-str> </cel-var-set> </cel-cond-if> </cel-cond-if> <cel-var-get> <cel-str>return</cel-str> </cel-var-get> </cel-function-def> <!-- expensive-optimizations --> <cel-function-def> <cel-str>kb-gxx-option-expensive-optimizations-is-compatible</cel-str> <cel-var-set> <cel-str>return</cel-str> <cel-function-call> <cel-str>kb-gxx-option-gcc2.95-is-compatible</cel-str> </cel-function-call> </cel-var-set> <cel-cond-if> <cel-cmp-eq> <cel-var-get> <cel-str>return</cel-str> </cel-var-get> <cel-str>1</cel-str> </cel-cmp-eq> <cel-cond-if> <cel-logic-or> <cel-cmp-eq> <cel-var-get> <cel-str>kb-option-mainoptimization</cel-str> </cel-var-get> <cel-str>-O2</cel-str> </cel-cmp-eq> <cel-cmp-eq> <cel-var-get> <cel-str>kb-option-mainoptimization</cel-str> </cel-var-get> <cel-str>-O3</cel-str> </cel-cmp-eq> </cel-logic-or> <cel-var-set> <cel-str>return</cel-str> <cel-str>option implied by -O2 and -O3</cel-str> </cel-var-set> </cel-cond-if> </cel-cond-if> <cel-var-get> <cel-str>return</cel-str> </cel-var-get> </cel-function-def> <!-- fast-math --> <cel-function-def> <cel-str>kb-gxx-option-fast-math-is-compatible</cel-str> <cel-function-call> <cel-str>kb-gxx-option-gcc2.95-is-compatible</cel-str> </cel-function-call> </cel-function-def> </cel> --- NEW FILE: description.xml --- <?xml version="1.0" ?> <!-- Options for 'gxx' (includes gcc and g++) --> <!-- cel-interface is gxx/options.xml by default and should be evaluated --> <!-- globaly; that's the default since all compilers'll have their --> <!-- own descriptions --> <options> <option id="O0"> <value>-O0</value> <short-description>Globally disable compiler optimization</short-description> <editor-description> Do not optimize. This is the default </editor-description> </option> <option id="Os"> <value>-Os</value> <short-description>Globally optimize for size</short-description> <editor-description> Optimize for size. -Os enables all -O2 optimizations that do not typically increase code size. It also performs further optimizations designed to reduce code size. -Os disables the following optimization flags: -falign-functions -falign-jumps -falign-loops -falign-labels -freorder-blocks -fprefetch-loop-arrays If you use multiple -O options, with or without level numbers, the last such option is the one that is effective. </editor-description> </option> <option id="O1"> <value>-O1</value> <short-description>Global optimization, level 1</short-description> <editor-description> Optimize. Optimizing compilation takes somewhat more time, and a lot more memory for a large function. Without `-O', the compiler's goal is to reduce the cost of compilation and to make debugging produce the expected results. Statements are independent: if you stop the program with a breakpoint between statements, you can then assign a new value to any variable or change the program counter to any other statement in the function and get exactly the results you would expect from the source code. Without `-O', only variables declared register are allocated in registers. The resulting compiled code is a little worse than produced by PCC without `-O'. With `-O', the compiler tries to reduce code size and execution time. When you specify `-O', the two options `-fthread-jumps' and `-fdefer-pop' are turned on. On machines that have delay slots, the `-fdelayed-branch' option is turned on. For those machines that can support debugging even without a frame pointer, the `-fomit-frame-pointer' option is turned on. On some machines other flags may also be turned on. </editor-description> </option> <option id="O2"> <value>-O2</value> <short-description>Global optimization, level 2</short-description> <editor-description> Optimize even more than -O1. Nearly all supported optimizations that do not involve a space-speed tradeoff are performed. Loop unrolling and function inlining are not done, for example. As compared to -O, this option increases both compilation time and the performance of the generated code. </editor-description> </option> <option id="O3"> <value>-O2</value> <short-description>Global optimization, level 3</short-description> <editor-description> Optimize yet more. This turns on everything -O2 does, along with also turning on -finline-functions. </editor-description> </option> <option id="caller-save"> <value>-fcaller-saves</value> <short-description>Try allocating registers that'll be cloberred by function calls</short-description> <editor-description> Enable values to be allocated in registers that will be clobbered by function calls, by emitting extra instructions to save and restore the registers around such calls. Such allocation is done only when it seems to result in better code than would otherwise be produced. This option is enabled by default on certain machines, usually those which have no call-preserved registers to use instead. </editor-description> </option> <option id="cse-follow-jumps"> <value>-fcse-follow-jumps</value> <short-description>Always scan through jump instructions in common subexpression elimination</short-description> <editor-description> In common subexpression elimination, scan through jump instructions when the target of the jump is not reached by any other path. For example, when CSE encounters an if statement with an else clause, CSE will follow the jump when the condition tested is false. </editor-description> </option> <option id="cse-skip-blocks"> <value>-fcse-skip-blocks</value> <short-description>Always scan through conditionnal jump instructions in common subexpression elimination</short-description> <editor-description> This is similar to `-fcse-follow-jumps', but causes CSE to follow jumps which conditionally skip over blocks. When CSE encounters a simple if statement with no else clause, `-fcse-skip-blocks' causes CSE to follow the jump around the body of the if. </editor-description> </option> <option id="delayed-branch"> <value>-fdelayed-branch</value> <short-description>Attempt to reorder instructions to increase slot utilisation</short-description> <editor-description> If supported for the target machine, attempt to reorder instructions to exploit instruction slots available after delayed branch instructions. </editor-description> </option> <option id="expensive-optimizations"> <value>-fexpensive-optimizations</value> <short-description>Perform a number of minor optimizations</short-description> <editor-description> Perform a number of minor optimizations that are relatively expensive. </editor-description> </option> <option id="fast-math"> <value>-ffast-math</value> <short-description>Violate ANSI or IEEE rules/specifications for optimizing code</short-description> <editor-description> This option allows GCC to violate some ANSI or IEEE rules/specifications in the interest of optimizing code for speed. For example, it allows the compiler to assume arguments to the sqrt function are non-negative numbers. This option should never be turned on by any `-O' option since it can result in incorrect output for programs which depend on an exact implementation of IEEE or ANSI rules/specifications for math functions. </editor-description> </option> <option id=""> <value></value> <short-description></short-description> <editor-description> </editor-description> </option> <option id=""> <value></value> <short-description></short-description> <editor-description> </editor-description> </option> <option id=""> <value></value> <short-description></short-description> <editor-description> </editor-description> </option> <option id=""> <value></value> <short-description></short-description> <editor-description> </editor-description> </option> <option id=""> <value></value> <short-description></short-description> <editor-description> </editor-description> </option> </options> --- NEW FILE: mainopt.xml --- <?xml version="1.0" ?> <!-- 'Main optimization' options for gxx --> <!-- included by gxx/options.xml --> <cel> <!-- Option related functions --> <!-- O0 --> <cel-function-def> <cel-str>kb-gxx-option-O0-is-compatible</cel-str> <cel-var-set> <cel-str>result</cel-str> <cel-function-call> <cel-str>kb-gxx-option-gcc2.95-is-compatible</cel-str> </cel-function-call> </cel-var-set> <cel-cond-if> <cel-cmp-eq> <cel-var-get> <cel-str>result</cel-str> </cel-var-get> <cel-str>1</cel-str> </cel-cmp-eq> <cel-block> <cel-stack-push> <cel-str>kb-option-mainoptimization</cel-str> </cel-stack-push> <cel-stack-push> <cel-str>-O0</cel-str> </cel-stack-push> <cel-var-set> <cel-str>result</cel-str> <cel-function-call> <cel-str>kb-common-option-apply</cel-str> </cel-function-call> </cel-var-set> </cel-block> </cel-cond-if> <cel-var-get> <cel-str>result</cel-str> </cel-var-get> </cel-function-def> <!-- Os --> <cel-function-def> <cel-str>kb-gxx-option-Os-is-compatible</cel-str> <cel-var-set> <cel-str>result</cel-str> <cel-function-call> <cel-str>kb-gxx-option-gcc2.95-is-compatible</cel-str> </cel-function-call> </cel-var-set> <cel-cond-if> <cel-cmp-eq> <cel-var-get> <cel-str>result</cel-str> </cel-var-get> <cel-str>1</cel-str> </cel-cmp-eq> <cel-block> <cel-stack-push> <cel-str>kb-option-mainoptimization</cel-str> </cel-stack-push> <cel-stack-push> <cel-str>-Os</cel-str> </cel-stack-push> <cel-var-set> <cel-str>result</cel-str> <cel-function-call> <cel-str>kb-common-option-apply</cel-str> </cel-function-call> </cel-var-set> </cel-block> </cel-cond-if> <cel-var-get> <cel-str>result</cel-str> </cel-var-get> </cel-function-def> <!-- O1 --> <cel-function-def> <cel-str>kb-gxx-option-O1-is-compatible</cel-str> <cel-var-set> <cel-str>result</cel-str> <cel-function-call> <cel-str>kb-gxx-option-gcc2.95-is-compatible</cel-str> </cel-function-call> </cel-var-set> <cel-cond-if> <cel-cmp-eq> <cel-var-get> <cel-str>result</cel-str> </cel-var-get> <cel-str>1</cel-str> </cel-cmp-eq> <cel-block> <cel-stack-push> <cel-str>kb-option-mainoptimization</cel-str> </cel-stack-push> <cel-stack-push> <cel-str>-O1</cel-str> </cel-stack-push> <cel-var-set> <cel-str>result</cel-str> <cel-function-call> <cel-str>kb-common-option-apply</cel-str> </cel-function-call> </cel-var-set> </cel-block> </cel-cond-if> <cel-var-get> <cel-str>result</cel-str> </cel-var-get> </cel-function-def> <!-- O2 --> <cel-function-def> <cel-str>kb-gxx-option-O2-is-compatible</cel-str> <cel-var-set> <cel-str>result</cel-str> <cel-function-call> <cel-str>kb-gxx-option-gcc2.95-is-compatible</cel-str> </cel-function-call> </cel-var-set> <cel-cond-if> <cel-cmp-eq> <cel-var-get> <cel-str>result</cel-str> </cel-var-get> <cel-str>1</cel-str> </cel-cmp-eq> <cel-block> <cel-stack-push> <cel-str>kb-option-mainoptimization</cel-str> </cel-stack-push> <cel-stack-push> <cel-str>-O2</cel-str> </cel-stack-push> <cel-var-set> <cel-str>result</cel-str> <cel-function-call> <cel-str>kb-common-option-apply</cel-str> </cel-function-call> </cel-var-set> </cel-block> </cel-cond-if> <cel-var-get> <cel-str>result</cel-str> </cel-var-get> </cel-function-def> <!-- O3 --> <cel-function-def> <cel-str>kb-gxx-option-O3-is-compatible</cel-str> <cel-var-set> <cel-str>result</cel-str> <cel-function-call> <cel-str>kb-gxx-option-gcc2.95-is-compatible</cel-str> </cel-function-call> </cel-var-set> <cel-cond-if> <cel-cmp-eq> <cel-var-get> <cel-str>result</cel-str> </cel-var-get> <cel-str>1</cel-str> </cel-cmp-eq> <cel-block> <cel-stack-push> <cel-str>kb-option-mainoptimization</cel-str> </cel-stack-push> <cel-stack-push> <cel-str>-O3</cel-str> </cel-stack-push> <cel-var-set> <cel-str>result</cel-str> <cel-function-call> <cel-str>kb-common-option-apply</cel-str> </cel-function-call> </cel-var-set> </cel-block> </cel-cond-if> <cel-var-get> <cel-str>result</cel-str> </cel-var-get> </cel-function-def> </cel> --- NEW FILE: cse.xml --- <?xml version="1.0" ?> <!-- CSE (common subexpression elimination) related options for gxx --> <!-- included by gxx/options.xml --> <cel> <!-- cse-follow-jumps --> <cel-function-def> <cel-str>kb-gxx-option-cse-follow-jumps-is-compatible</cel-str> <cel-var-set> <cel-str>return</cel-str> <cel-function-call> <cel-str>kb-gxx-option-gcc2.95-is-compatible</cel-str> </cel-function-call> </cel-var-set> <cel-cond-if> <cel-cmp-eq> <cel-var-get> <cel-str>return</cel-str> </cel-var-get> <cel-str>1</cel-str> </cel-cmp-eq> <cel-cond-if> <cel-logic-or> <cel-cmp-eq> <cel-var-get> <cel-str>kb-option-mainoptimization</cel-str> </cel-var-get> <cel-str>-O2</cel-str> </cel-cmp-eq> <cel-cmp-eq> <cel-var-get> <cel-str>kb-option-mainoptimization</cel-str> </cel-var-get> <cel-str>-O3</cel-str> </cel-cmp-eq> </cel-logic-or> <cel-var-set> <cel-str>return</cel-str> <cel-str>option implied by -O2 and -O3</cel-str> </cel-var-set> </cel-cond-if> </cel-cond-if> <cel-var-get> <cel-str>return</cel-str> </cel-var-get> </cel-function-def> <!-- cse-skip-blocks --> <cel-function-def> <cel-str>kb-gxx-option-cse-skip-blocks-is-compatible</cel-str> <cel-var-set> <cel-str>return</cel-str> <cel-function-call> <cel-str>kb-gxx-option-gcc2.95-is-compatible</cel-str> </cel-function-call> </cel-var-set> <cel-cond-if> <cel-cmp-eq> <cel-var-get> <cel-str>return</cel-str> </cel-var-get> <cel-str>1</cel-str> </cel-cmp-eq> <cel-cond-if> <cel-logic-or> <cel-cmp-eq> <cel-var-get> <cel-str>kb-option-mainoptimization</cel-str> </cel-var-get> <cel-str>-O2</cel-str> </cel-cmp-eq> <cel-cmp-eq> <cel-var-get> <cel-str>kb-option-mainoptimization</cel-str> </cel-var-get> <cel-str>-O3</cel-str> </cel-cmp-eq> </cel-logic-or> <cel-var-set> <cel-str>return</cel-str> <cel-str>option implied by -O2 and -O3</cel-str> </cel-var-set> </cel-cond-if> </cel-cond-if> <cel-var-get> <cel-str>return</cel-str> </cel-var-get> </cel-function-def> </cel> |