compbench-devel Mailing List for CompBenchmarks (Page 20)
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-20 20:59:38
|
Update of /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/share/KB/gxx In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv30531 Modified Files: Makefile.am Added Files: bootstrap.xml Log Message: Descriptions moved in 2.95.x/ Index: Makefile.am =================================================================== RCS file: /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/share/KB/gxx/Makefile.am,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Makefile.am 13 Mar 2007 20:41:34 -0000 1.1 --- Makefile.am 20 Mar 2007 20:35:28 -0000 1.2 *************** *** 8,16 **** # ----------------------------------------------------------------------------- ! data_DATA = options.xml \ ! mainopt.xml \ ! arch.xml cse.xml \ ! inline.xml loops.xml ! datarootdir=@datarootdir@/compbenchmarks/@VERSION@/KB/gxx --- 8,12 ---- # ----------------------------------------------------------------------------- ! data_DATA = bootstrap.xml datarootdir=@datarootdir@/compbenchmarks/@VERSION@/KB/gxx --- NEW FILE: bootstrap.xml --- <?xml version="1.0" ?> <!-- $Id: bootstrap.xml,v 1.1 2007/03/20 20:35:28 xfred Exp $ This is free software. For details, see the GNU Public License in the COPYING file, or Look http://www.fsf.org --> <!-- This file is used by libcompbenchmarks to select the description file according passed compiler and compiler version --> <cel> <cel-function-def> <cel-str>kb-bootstrap-description-filename</cel-str> <cel-var-set> <cel-str>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-str>gxx/2.95.x/description.xml</cel-str> </cel-function-def> </cel> |
From: Frederic T. <xf...@us...> - 2007-03-20 20:59:37
|
Update of /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/share/KB/gxx/2.95.x In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv29738 Added Files: arch.xml cse.xml description.xml inline.xml loops.xml mainopt.xml Makefile.am options.xml Log Message: Moved from .. --- NEW FILE: options.xml --- <?xml version="1.0" ?> <!-- $Id: options.xml,v 1.1 2007/03/20 20:33:16 xfred Exp $ This is free software. For details, see the GNU Public License in the COPYING file, or Look http://www.fsf.org --> <cel> <cel-include> <cel-str>common/common.xml</cel-str> <cel-str>gxx/2.95.x/mainopt.xml</cel-str> <cel-str>gxx/2.95.x/cse.xml</cel-str> <cel-str>gxx/2.95.x/inline.xml</cel-str> <cel-str>gxx/2.95.x/loops.xml</cel-str> <cel-str>gxx/2.95.x/arch.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> <!-- 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> <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> <!-- 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> --- NEW FILE: inline.xml --- <?xml version="1.0" ?> <!-- $Id: inline.xml,v 1.1 2007/03/20 20:33:16 xfred Exp $ 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 --> <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" ?> <!-- $Id: arch.xml,v 1.1 2007/03/20 20:33:14 xfred Exp $ 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 --> <!-- !!! 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> --- NEW FILE: description.xml --- <?xml version="1.0" ?> <!-- $Id: description.xml,v 1.1 2007/03/20 20:33:16 xfred Exp $ 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++) --> <!-- 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>-O3</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="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> --> </options> --- NEW FILE: Makefile.am --- # ----------------------------------------------------------------------------- # $Id: Makefile.am,v 1.1 2007/03/20 20:33:16 xfred Exp $ # $Source: /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/share/KB/gxx/2.95.x/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/2.95.x EXTRA_DIST = $(data_DATA) --- NEW FILE: loops.xml --- <?xml version="1.0" ?> <!-- $Id: loops.xml,v 1.1 2007/03/20 20:33:16 xfred Exp $ 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 --> <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: mainopt.xml --- <?xml version="1.0" ?> <!-- $Id: mainopt.xml,v 1.1 2007/03/20 20:33:16 xfred Exp $ 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 --> <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" ?> <!-- $Id: cse.xml,v 1.1 2007/03/20 20:33:14 xfred Exp $ 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 --> <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> <!-- 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> |
From: Frederic T. <xf...@us...> - 2007-03-20 20:59:37
|
Update of /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/Compiler/Compiler-GCC In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv28520 Modified Files: Compiler-GCC.cpp Compiler-GCC.h Log Message: VanillaVersion() introduced. Index: Compiler-GCC.h =================================================================== RCS file: /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/Compiler/Compiler-GCC/Compiler-GCC.h,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** Compiler-GCC.h 19 Feb 2007 18:43:50 -0000 1.3 --- Compiler-GCC.h 20 Mar 2007 20:30:56 -0000 1.4 *************** *** 22,25 **** --- 22,27 ---- virtual std::string getCompilerName(void); virtual std::string getCompilerVersion(void); + virtual std::string getCompilerVanillaVersion(void); + virtual std::string Language(void); *************** *** 42,45 **** --- 44,49 ---- virtual std::string getCompilerName(void); virtual std::string getCompilerVersion(void); + virtual std::string getCompilerVanillaVersion(void); + virtual std::string Language(void); Index: Compiler-GCC.cpp =================================================================== RCS file: /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/Compiler/Compiler-GCC/Compiler-GCC.cpp,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** Compiler-GCC.cpp 19 Feb 2007 18:43:50 -0000 1.3 --- Compiler-GCC.cpp 20 Mar 2007 20:30:56 -0000 1.4 *************** *** 67,70 **** --- 67,91 ---- } + std::string CompilerGCC::getCompilerVanillaVersion(void) + { + std::string v = Version(); + std::string cmd = "I=`"; + std::string result; + + if (!(v.find("(GCC)")>0)) + return(v); + + cmd+=compilerBinary; + + cmd+=" --version | "; + cmd+=CBM_PROG_HEAD; + cmd+=" -1`; echo $I | "; + cmd+=CBM_PROG_CUT; + cmd+=" -f3 -d' '"; + + system->exec(cmd, result); + return(result); + } + std::string CompilerGCC::Language(void) { *************** *** 129,132 **** --- 150,174 ---- } + std::string CompilerGCC_cpp::getCompilerVanillaVersion(void) + { + std::string v = Version(); + std::string cmd = "I=`"; + std::string result; + + if (!(v.find("(GCC)")>0)) + return(v); + + cmd+=compilerBinary; + + cmd+=" --version | "; + cmd+=CBM_PROG_HEAD; + cmd+=" -1`; echo $I | "; + cmd+=CBM_PROG_CUT; + cmd+=" -f3 -d' '"; + + system->exec(cmd, result); + return(result); + } + std::string CompilerGCC_cpp::Language(void) { |
From: Frederic T. <xf...@us...> - 2007-03-20 20:59:36
|
Update of /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/share/KB/gxx/2.95.x In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv29349/2.95.x Log Message: Directory /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/share/KB/gxx/2.95.x added to the repository |
From: Frederic T. <xf...@us...> - 2007-03-20 20:59:36
|
Update of /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/share/KB/gxx In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv30123 Removed Files: arch.xml cse.xml description.xml inline.xml loops.xml mainopt.xml Log Message: Moved to 2.95.x/ --- inline.xml DELETED --- --- arch.xml DELETED --- --- description.xml DELETED --- --- loops.xml DELETED --- --- mainopt.xml DELETED --- --- cse.xml DELETED --- |
From: Frederic T. <xf...@us...> - 2007-03-20 20:59:36
|
Update of /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/share/KB/g++ In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv30928 Modified Files: description.xml options.xml Added Files: bootstrap.xml Log Message: gxx descriptions moved in gxx/2.95.x/ Index: options.xml =================================================================== RCS file: /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/share/KB/g++/options.xml,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** options.xml 13 Mar 2007 20:54:38 -0000 1.5 --- options.xml 20 Mar 2007 20:36:44 -0000 1.6 *************** *** 12,16 **** <cel> <cel-include> ! <cel-str>gxx/options.xml</cel-str> </cel-include> --- 12,16 ---- <cel> <cel-include> ! <cel-str>gxx/2.95.x/options.xml</cel-str> </cel-include> Index: description.xml =================================================================== RCS file: /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/share/KB/g++/description.xml,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** description.xml 14 Mar 2007 20:24:09 -0000 1.2 --- description.xml 20 Mar 2007 20:36:44 -0000 1.3 *************** *** 2,6 **** <options> ! <include description-path="gxx"/> <option id="elide-constructors"> --- 2,6 ---- <options> ! <include description-path="gxx/2.95.x"/> <option id="elide-constructors"> --- NEW FILE: bootstrap.xml --- <?xml version="1.0" ?> <!-- $Id: bootstrap.xml,v 1.1 2007/03/20 20:36:44 xfred Exp $ This is free software. For details, see the GNU Public License in the COPYING file, or Look http://www.fsf.org --> <!-- This file is used by libcompbenchmarks to select the description file according passed compiler and compiler version --> <cel> <cel-function-def> <cel-str>kb-bootstrap-description-filename</cel-str> <cel-var-set> <cel-str>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-str>g++/description.xml</cel-str> </cel-function-def> </cel> |
From: Frederic T. <xf...@us...> - 2007-03-20 20:59:36
|
Update of /cvsroot/compbench/CompBenchmarks++/CBM-PI/t/reference In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv31301 Added Files: compiler-fake-gcc-3.2.3-20-rh Log Message: First import. --- NEW FILE: compiler-fake-gcc-3.2.3-20-rh --- #!/bin/sh cat <<EOF gcc (GCC) 3.2.3 20030502 (Red Hat Linux 3.2.3-20) Copyright (C) 2002 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. EOF |
From: Frederic T. <xf...@us...> - 2007-03-20 20:59:35
|
Update of /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/Compiler/Compiler-TCC In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv28892 Modified Files: Compiler-TCC.cpp Compiler-TCC.h Log Message: VanillaVersion() introduced. Index: Compiler-TCC.h =================================================================== RCS file: /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/Compiler/Compiler-TCC/Compiler-TCC.h,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** Compiler-TCC.h 19 Feb 2007 18:44:02 -0000 1.3 --- Compiler-TCC.h 20 Mar 2007 20:31:40 -0000 1.4 *************** *** 22,25 **** --- 22,26 ---- virtual std::string getCompilerName(void); virtual std::string getCompilerVersion(void); + virtual std::string getCompilerVanillaVersion(void); virtual std::string Language(void); Index: Compiler-TCC.cpp =================================================================== RCS file: /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/Compiler/Compiler-TCC/Compiler-TCC.cpp,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** Compiler-TCC.cpp 19 Feb 2007 18:44:02 -0000 1.3 --- Compiler-TCC.cpp 20 Mar 2007 20:31:40 -0000 1.4 *************** *** 10,13 **** --- 10,15 ---- #include <System/System.h> + #include <config.h> + using namespace CBM; *************** *** 44,47 **** --- 46,62 ---- } + std::string CompilerTCC::getCompilerVanillaVersion(void) + { + std::string cmd; + std::string result; + + cmd+=compilerBinary; + cmd+=" -v | "; + cmd+=CBM_PROG_CUT; + cmd+=" -f3 -d' '"; + system->exec(cmd, result); /* !!! */ + return(result); + } + std::string CompilerTCC::Language(void) { |
From: Frederic T. <xf...@us...> - 2007-03-20 20:59:35
|
Update of /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/share/KB/gcc In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv30643 Added Files: bootstrap.xml description.xml Log Message: First import. --- NEW FILE: description.xml --- <?xml version="1.0" ?> <!-- $Id: description.xml,v 1.1 2007/03/20 20:36:05 xfred Exp $ This is free software. For details, see the GNU Public License in the COPYING file, or Look http://www.fsf.org --> <options> <include description-path="gxx/2.95.x"/> </options> --- NEW FILE: bootstrap.xml --- <?xml version="1.0" ?> <!-- $Id: bootstrap.xml,v 1.1 2007/03/20 20:36:05 xfred Exp $ This is free software. For details, see the GNU Public License in the COPYING file, or Look http://www.fsf.org --> <!-- This file is used by libcompbenchmarks to select the description file according passed compiler and compiler version --> <cel> <cel-function-def> <cel-str>kb-bootstrap-description-filename</cel-str> <cel-var-set> <cel-str>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-str>gcc/description.xml</cel-str> </cel-function-def> </cel> |
From: Frederic T. <xf...@us...> - 2007-03-20 20:30:46
|
Update of /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/Compiler In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv28479 Modified Files: Compiler.cpp Compiler.h Log Message: VanillaVersion() introduced. Index: Compiler.h =================================================================== RCS file: /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/Compiler/Compiler.h,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** Compiler.h 18 Mar 2007 21:47:59 -0000 1.7 --- Compiler.h 20 Mar 2007 20:30:28 -0000 1.8 *************** *** 45,52 **** /** Internal usage ! * Speeds up compilerVersion(). */ std::string cacheCompilerVersion; protected: /** Used internally to get information on compiler's binary */ --- 45,57 ---- /** Internal usage ! * Speeds up Version(). */ std::string cacheCompilerVersion; + /** Internal usage + * Speeds up VanillaVersion(). + */ + std::string cacheCompilerVanillaVersion; + protected: /** Used internally to get information on compiler's binary */ *************** *** 74,78 **** * \return std::string containing the version of the compiler * \sa Version() ! * \sa vanillaVersion() */ virtual std::string getCompilerVersion(void) = 0; --- 79,83 ---- * \return std::string containing the version of the compiler * \sa Version() ! * \sa getVanillaVersion() */ virtual std::string getCompilerVersion(void) = 0; *************** *** 83,89 **** * \return 'Simplified' version * \sa Version() */ ! virtual std::string vanillaVersion(void); public: virtual void setPlan(CBM_PLAN *_plan, int modifyPlanObject); --- 88,96 ---- * \return 'Simplified' version * \sa Version() */ ! virtual std::string getCompilerVanillaVersion(void) = 0; ! public: + virtual void setPlan(CBM_PLAN *_plan, int modifyPlanObject); *************** *** 102,105 **** --- 109,114 ---- virtual std::string Version(void); + virtual std::string VanillaVersion(void); + /** Gets compiler's program (as specified in constructor). \return The compiler program (absolute or relative, depending on method used in instanciation). */ Index: Compiler.cpp =================================================================== RCS file: /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/Compiler/Compiler.cpp,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** Compiler.cpp 18 Mar 2007 21:47:59 -0000 1.6 --- Compiler.cpp 20 Mar 2007 20:30:28 -0000 1.7 *************** *** 54,113 **** } ! std::string Compiler::Binary(void) { ! return(compilerBinary); } ! std::string Compiler::vanillaVersion(void) { ! std::string v = Version(); ! std::string tmp; ! std::string r; ! ! unsigned int d0; ! unsigned int d1; ! unsigned int d2; ! ! if (v.find(' ')>0) { ! tmp=cbmSystem->Split(v, ".", 0); ! if (!tmp.empty()) { ! r+=tmp; ! tmp=cbmSystem->Split(v, ".", 1); ! d0=v.find('.', 0); ! if (!tmp.empty()) { ! r+="."; ! r+=tmp; ! d1=v.find('.', d0); ! if (d1-d0>3) ! return("can't find 2d number for version"); ! ! tmp=cbmSystem->Split(v, ".", 2); ! d2=v.find('.', d1); ! if (!tmp.empty()) { ! r+="."; ! r+=tmp; ! d2=v.find('.', d1); ! if (d2-d1>3) ! return("can't find 3rd number for version"); ! } else ! return(r); ! } else { ! return("can't find first number for version"); ! } ! } else { ! return("can't find first number for version"); ! } ! } else { ! return(v); ! } ! return("can't find first number for version"); } CBM::CompilerOptionDescriptions *Compiler::OptionDescriptions(void) { - std::string vanilla = vanillaVersion(); - return(new CBM::CompilerOptionDescriptions(compiler(), ! vanilla)); } --- 54,76 ---- } ! std::string Compiler::VanillaVersion(void) { ! if (cacheCompilerVanillaVersion!="") ! return(cacheCompilerVanillaVersion); ! ! cacheCompilerVanillaVersion=getCompilerVanillaVersion(); ! system->Chomp(cacheCompilerVanillaVersion); ! return(cacheCompilerVanillaVersion); } ! std::string Compiler::Binary(void) { ! return(compilerBinary); } CBM::CompilerOptionDescriptions *Compiler::OptionDescriptions(void) { return(new CBM::CompilerOptionDescriptions(compiler(), ! VanillaVersion())); } |
Update of /cvsroot/compbench/CompBenchmarks++/CBM-PI/t In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv28058 Modified Files: 00-CBMSystem-public.pl 03-CBMCompilerSelector-public.pl 05-KB-Options.pl 05-Option-Descriptions.pl 07-compbenchmarks-core.pl Log Message: More tests. Index: 07-compbenchmarks-core.pl =================================================================== RCS file: /cvsroot/compbench/CompBenchmarks++/CBM-PI/t/07-compbenchmarks-core.pl,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** 07-compbenchmarks-core.pl 19 Feb 2007 18:44:29 -0000 1.4 --- 07-compbenchmarks-core.pl 20 Mar 2007 20:29:56 -0000 1.5 *************** *** 11,15 **** use CBM::LibUI; ! use Test::Simple tests => 107; sub test_options { --- 11,15 ---- use CBM::LibUI; ! use Test::Simple tests => 111; sub test_options { *************** *** 27,30 **** --- 27,32 ---- ['-qc', 255, ''], ['-q -cgcc', 0, '.+'], + ['-qac gcc', 0, '.+'], + ['-qac g++', 0, '.+'], ['-qx', 0, '.+'], ['-qab', 0, '.+'], Index: 03-CBMCompilerSelector-public.pl =================================================================== RCS file: /cvsroot/compbench/CompBenchmarks++/CBM-PI/t/03-CBMCompilerSelector-public.pl,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** 03-CBMCompilerSelector-public.pl 6 Feb 2007 19:42:51 -0000 1.6 --- 03-CBMCompilerSelector-public.pl 20 Mar 2007 20:29:55 -0000 1.7 *************** *** 14,18 **** 'compiler' => 'g++', 'compilerName' => 'g++ (GCC) 4.1.2 20060901 (prerelease) (Debian 4.1.1-13)', ! 'compilerVersion' => '4.1.2 20060901 (prerelease)' }, 'compiler-fake-gcc-4.1.1-13' => --- 14,26 ---- 'compiler' => 'g++', 'compilerName' => 'g++ (GCC) 4.1.2 20060901 (prerelease) (Debian 4.1.1-13)', ! 'compilerVersion' => '4.1.2 20060901 (prerelease)', ! 'vanilla' => '4.1.2' ! }, ! 'compiler-fake-gcc-3.2.3-20-rh' => ! {'language' => 'C', ! 'compiler' => 'gcc', ! 'compilerName' => 'gcc (GCC) 3.2.3 20030502 (Red Hat Linux 3.2.3-20)', ! 'compilerVersion' => '3.2.3', ! 'vanilla' => '3.2.3' }, 'compiler-fake-gcc-4.1.1-13' => *************** *** 20,24 **** 'compiler' => 'gcc', 'compilerName' => 'gcc (GCC) 4.1.2 20060901 (prerelease) (Debian 4.1.1-13)', ! 'compilerVersion' => '4.1.2 20060901 (prerelease)' }, 'compiler-fake-tcc-0.9.23', --- 28,33 ---- 'compiler' => 'gcc', 'compilerName' => 'gcc (GCC) 4.1.2 20060901 (prerelease) (Debian 4.1.1-13)', ! 'compilerVersion' => '4.1.2 20060901 (prerelease)', ! 'vanilla' => '4.1.2' }, 'compiler-fake-tcc-0.9.23', *************** *** 26,34 **** 'compiler' => 'tcc', 'compilerName' => 'Tiny C Compiler tcc version 0.9.23', ! 'compilerVersion' => 'tcc version 0.9.23' } ); ! plan tests => (keys %references)*4; $sys = CBM::Init(); --- 35,44 ---- 'compiler' => 'tcc', 'compilerName' => 'Tiny C Compiler tcc version 0.9.23', ! 'compilerVersion' => 'tcc version 0.9.23', ! 'vanilla' => '0.9.23' } ); ! plan tests => (keys %references)*5; $sys = CBM::Init(); *************** *** 43,50 **** %refdata=%{$references{$reffile}}; ! ok($refdata{language} eq $co->Language()); ! ok($refdata{compiler} eq $co->compiler()); ! ok($refdata{compilerName} eq $co->Name()); ! ok($refdata{compilerVersion} eq $co->Version()); } --- 53,61 ---- %refdata=%{$references{$reffile}}; ! ok($refdata{language} eq $co->Language(), "$reffile: Language is $refdata{language}"); ! ok($refdata{compiler} eq $co->compiler(), "$reffile: compiler is $refdata{compiler} (has " . $co->compiler() . ")"); ! ok($refdata{compilerName} eq $co->Name(), , "$reffile: Name is $refdata{compilerName} (has " . $co->Name() . ")"); ! ok($refdata{compilerVersion} eq $co->Version(), "$reffile: compilerVersion is $refdata{compilerVersion} (has " . $co->Version() . ")"); ! ok($refdata{vanilla} eq $co->VanillaVersion(), "$reffile: vanilla is $refdata{vanilla} (has " . $co->VanillaVersion() . ")"); } Index: 05-KB-Options.pl =================================================================== RCS file: /cvsroot/compbench/CompBenchmarks++/CBM-PI/t/05-KB-Options.pl,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** 05-KB-Options.pl 14 Mar 2007 19:44:50 -0000 1.2 --- 05-KB-Options.pl 20 Mar 2007 20:29:56 -0000 1.3 *************** *** 447,451 **** sub test_options_O { ! my $f = "$kb_srcdir/gxx/options.xml"; my $R = new CBM::CelReader($f); --- 447,451 ---- sub test_options_O { ! my $f = "$kb_srcdir/gxx/2.95.x/options.xml"; my $R = new CBM::CelReader($f); Index: 05-Option-Descriptions.pl =================================================================== RCS file: /cvsroot/compbench/CompBenchmarks++/CBM-PI/t/05-Option-Descriptions.pl,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** 05-Option-Descriptions.pl 18 Mar 2007 21:46:19 -0000 1.3 --- 05-Option-Descriptions.pl 20 Mar 2007 20:29:56 -0000 1.4 *************** *** 4,8 **** my $sys; - my $kb_srcdir; push(@INC, "lib"); --- 4,7 ---- *************** *** 26,29 **** --- 25,35 ---- my @COMPILERS = ('gcc-2.95.0', 'gxx-2.95.0', 'gcc-2.95.0', 'g++-2.95.0'); + my %COMPILER_INTERFACES = ('compiler-fake-gcc-3.2.3-20-rh' => 'gcc-2.95.0', + 'compiler-fake-g++-4.1.1-13' => 'g++-2.95.0', + 'compiler-fake-gcc-4.1.1-13' => 'gcc-2.95.0' ); + + my @COMPILER_INTERFACES = ('compiler-fake-gcc-3.2.3-20-rh', + 'compiler-fake-g++-4.1.1-13', + 'compiler-fake-gcc-4.1.1-13'); use Test::More; *************** *** 36,39 **** --- 42,50 ---- $n+=(2+($expect*6)); } + + foreach $c (@COMPILER_INTERFACES) { + my $expect = $OPTIONS{$COMPILER_INTERFACES{$c}}->{expect}; + $n+=(3+($expect*6)); + } return($n); } *************** *** 46,55 **** my $F; ! sub test_options_compiler { my $compiler = shift; - my ($compiler_id, $version) = split('-', $compiler); - - my $OD = new CBM::CompilerOptionDescriptions($compiler_id, $version); - ok($OD, "descriptions' initialization works for $compiler_id"); my $n; --- 57,63 ---- my $F; ! sub test_options_descriptions { ! my $OD = shift; my $compiler = shift; my $n; *************** *** 86,89 **** --- 94,108 ---- } + sub test_options_compiler { + my $compiler = shift; + my ($compiler_id, $version) = split('-', $compiler); + + my $OD = new CBM::CompilerOptionDescriptions($compiler_id, $version); + ok($OD, "descriptions' initialization works for $compiler_id"); + + + test_options_descriptions($OD, $compiler); + } + sub test_options { foreach(@COMPILERS) { *************** *** 91,96 **** --- 110,133 ---- } } + + sub test_compilers { + my $fake; + + my $CS = CBM::CompilerSelector->new($sys); + + foreach(@COMPILER_INTERFACES) { + $fake="$top_srcdir/reference/$_"; + ok(-x $fake, "$fake is an executable"); + my $C = $CS->select("$fake"); + ok(defined($C)); + + test_options_descriptions($C->OptionDescriptions(), + $COMPILER_INTERFACES{$_}); + } + } + $sys = CBM::Init(); test_options(); + test_compilers(); $sys->done(); Index: 00-CBMSystem-public.pl =================================================================== RCS file: /cvsroot/compbench/CompBenchmarks++/CBM-PI/t/00-CBMSystem-public.pl,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** 00-CBMSystem-public.pl 30 Jan 2007 19:58:11 -0000 1.5 --- 00-CBMSystem-public.pl 20 Mar 2007 20:29:55 -0000 1.6 *************** *** 5,9 **** require "libtest.pl"; ! use Test::Simple tests => 27; my $sys; --- 5,9 ---- require "libtest.pl"; ! use Test::Simple tests => 32; my $sys; *************** *** 15,18 **** --- 15,24 ---- ok($sys->Split("a\nb", "\n", 1) eq "b"); ok($sys->Split("a\nb\n", "\n", 1) eq "b"); + + ok($sys->Split("4.2.1", ".", 0) eq "4"); + ok($sys->Split("4.2.1", ".", 1) eq "2"); + ok($sys->Split("4.2.1", ".", 2) eq "1"); + ok($sys->Split("4.2.1", " ", 0) eq "", "Split('4.2.1', ' ', 0) is ''"); + ok($sys->Split("4.2.1", " ", 1) eq "", "Split('4.2.1', ' ', 1) is ''"); } |
From: Frederic T. <xf...@us...> - 2007-03-20 20:29:38
|
Update of /cvsroot/compbench/CompBenchmarks++ In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv27975 Modified Files: cloptions.cpp Log Message: a option supported with -qc (show option descriptions). Index: cloptions.cpp =================================================================== RCS file: /cvsroot/compbench/CompBenchmarks++/cloptions.cpp,v retrieving revision 1.22 retrieving revision 1.23 diff -C2 -d -r1.22 -r1.23 *** cloptions.cpp 19 Feb 2007 18:42:14 -0000 1.22 --- cloptions.cpp 20 Mar 2007 20:29:31 -0000 1.23 *************** *** 11,14 **** --- 11,16 ---- #include <Benchmark/Benchmark.h> #include <Compiler/Compiler.h> + #include <Compiler/Compiler-Option-Description.h> + #include <System/System.h> #include <UI/UI.h> *************** *** 172,175 **** --- 174,193 ---- } + void cbmShowOptionDescriptions(CBM::Compiler *C) + { + CBM::CompilerOptionDescriptions *DES = C->OptionDescriptions(); + int i; + int n = DES->DescriptionNumber(); + CBM::CompilerOptionDescription *D; + + for(i=0; i<n; i++) { + D=DES->Description(i); + std::cout << "Option ID : " << D->Id() << std::endl + << " Description : " << D->ShortDescription() << std::endl << std::endl + << " " << D->EditorDescription() << std::endl + << std::endl; + } + } + int cbmOptionsParse(int argc, char *argv[]) { *************** *** 442,447 **** break; } ! if ((!filter.all) && (!filter.installed)) { ! if (filter.host) { std::cout << "Architecture : " << cbmSystem->arch() << std::endl << "Host ID : " << cbmSystem->hostid() << std::endl --- 460,465 ---- break; } ! if (!filter.installed) { ! if ((!filter.all) && (filter.host)) { std::cout << "Architecture : " << cbmSystem->arch() << std::endl << "Host ID : " << cbmSystem->hostid() << std::endl *************** *** 466,469 **** --- 484,491 ---- << "Language : " << C->Language() << std::endl << "Binary : " << C->Binary() << std::endl; + + if (filter.all) { + cbmShowOptionDescriptions(C); + } parseExitValue=0; break; |
From: Frederic T. <xf...@us...> - 2007-03-18 22:59:38
|
Update of /cvsroot/compbench/CompBenchmarks++/CBM-PI/t In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv2756 Modified Files: 05-Option-Descriptions.pl Log Message: New tests. Take care of compiler's versions. Index: 05-Option-Descriptions.pl =================================================================== RCS file: /cvsroot/compbench/CompBenchmarks++/CBM-PI/t/05-Option-Descriptions.pl,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** 05-Option-Descriptions.pl 14 Mar 2007 19:44:50 -0000 1.2 --- 05-Option-Descriptions.pl 18 Mar 2007 21:46:19 -0000 1.3 *************** *** 19,28 **** ); ! my %OPTIONS = ('gxx' => \%OPTIONS_GXX, ! 'gcc' => \%OPTIONS_GCC, ! 'g++' => \%OPTIONS_GPP ); ! my @COMPILERS = ('gxx', 'gcc', 'g++'); use Test::More; --- 19,28 ---- ); ! my %OPTIONS = ('gxx-2.95.0' => \%OPTIONS_GXX, ! 'gcc-2.95.0' => \%OPTIONS_GCC, ! 'g++-2.95.0' => \%OPTIONS_GPP ); ! my @COMPILERS = ('gcc-2.95.0', 'gxx-2.95.0', 'gcc-2.95.0', 'g++-2.95.0'); use Test::More; *************** *** 47,53 **** sub test_options_compiler { ! my $compiler_id = shift; ! my $OD = new CBM::CompilerOptionDescriptions($compiler_id); ok($OD, "descriptions' initialization works for $compiler_id"); --- 47,54 ---- sub test_options_compiler { ! my $compiler = shift; ! my ($compiler_id, $version) = split('-', $compiler); ! my $OD = new CBM::CompilerOptionDescriptions($compiler_id, $version); ok($OD, "descriptions' initialization works for $compiler_id"); *************** *** 55,59 **** $n=$OD->DescriptionNumber(); ! ok($n eq $OPTIONS{$compiler_id}->{expect}, "$compiler_id: DescriptionNumber() returns $OPTIONS{$compiler_id}->{expect} (has $n)"); my $i; --- 56,60 ---- $n=$OD->DescriptionNumber(); ! ok($n eq $OPTIONS{$compiler}->{expect}, "$compiler: DescriptionNumber() returns $OPTIONS{$compiler}->{expect} (has $n)"); my $i; *************** *** 65,85 **** for($i=0; $i<$n; $i++) { $D = $OD->Description($i); ! ok($D->Id() ne "", "$compiler_id: D$i has identifier"); $unique_id{$D->Id()}++; ok($D->ShortDescription() ne "", ! "$compiler_id: D$i has short description"); ok($D->EditorDescription() ne "", ! "$compiler_id: D$i has editor's description"); ok($D->Option() ne "", ! "$compiler_id: D$i has option (value)"); $unique_id{$D->Option()}++; } foreach(keys %unique_id) { ! ok($unique_id{$_} == 1, "$compiler_id: option $_ is defined only once"); } foreach(keys %unique_opt) { ! ok($unique_opt{$_} == 1, "$compiler_id: value $_ is defined only once"); } } --- 66,86 ---- for($i=0; $i<$n; $i++) { $D = $OD->Description($i); ! ok($D->Id() ne "", "$compiler: D$i has identifier"); $unique_id{$D->Id()}++; ok($D->ShortDescription() ne "", ! "$compiler: D$i has short description"); ok($D->EditorDescription() ne "", ! "$compiler: D$i has editor's description"); ok($D->Option() ne "", ! "$compiler: D$i has option (value)"); $unique_id{$D->Option()}++; } foreach(keys %unique_id) { ! ok($unique_id{$_} == 1, "$compiler: option $_ is defined only once"); } foreach(keys %unique_opt) { ! ok($unique_opt{$_} == 1, "$compiler: value $_ is defined only once"); } } |
From: Frederic T. <xf...@us...> - 2007-03-18 22:59:37
|
Update of /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/Compiler In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv3200 Modified Files: Compiler.cpp Compiler.h Compiler-Option-Description.cpp Compiler-Option-Description.h Log Message: Look for compiler's versions (with bootstrap.xml) to get correct description.xml file. Index: Compiler.h =================================================================== RCS file: /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/Compiler/Compiler.h,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** Compiler.h 14 Mar 2007 20:35:40 -0000 1.6 --- Compiler.h 18 Mar 2007 21:47:59 -0000 1.7 *************** *** 73,78 **** /** Gets compiler's version * \return std::string containing the version of the compiler ! * \sa getCompilerVersion() */ virtual std::string getCompilerVersion(void) = 0; public: virtual void setPlan(CBM_PLAN *_plan, int modifyPlanObject); --- 73,88 ---- /** Gets compiler's version * \return std::string containing the version of the compiler ! * \sa Version() ! * \sa vanillaVersion() ! */ virtual std::string getCompilerVersion(void) = 0; + + /** Gets vanilla version + * Removes extra characters from getCompilerVersion() and just keeps + * something like <M>.<m>.<p> or <M>.<m> + * \return 'Simplified' version + * \sa Version() */ + virtual std::string vanillaVersion(void); + public: virtual void setPlan(CBM_PLAN *_plan, int modifyPlanObject); Index: Compiler-Option-Description.cpp =================================================================== RCS file: /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/Compiler/Compiler-Option-Description.cpp,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** Compiler-Option-Description.cpp 14 Mar 2007 19:45:38 -0000 1.2 --- Compiler-Option-Description.cpp 18 Mar 2007 21:47:59 -0000 1.3 *************** *** 9,12 **** --- 9,18 ---- #include <Compiler/Compiler-Option-Description.h> #include <CEL/CEL-Include.h> + #include <CEL/CEL-Reader.h> + #include <CEL/CEL-Stack.h> + #include <CEL/CEL-Function.h> + #include <CEL/CEL-Block.h> + #include <CEL/CEL-Str.h> + #include <Base/XMLReader.h> *************** *** 60,66 **** } ! CompilerOptionDescriptions::CompilerOptionDescriptions(std::string _compilerId) { ! parse(_compilerId); } --- 66,135 ---- } ! CompilerOptionDescriptions::CompilerOptionDescriptions(std::string _compilerId, ! std::string _compilerVanillaVersion) { ! std::string file = compilerDescriptionBootstrap(_compilerId, ! _compilerVanillaVersion); ! ! parse(file); ! } ! ! std::string CompilerOptionDescriptions::compilerDescriptionBootstrap(std::string _compilerId, ! std::string _compilerVanillaVersion) ! { ! std::string bootstrapFilename; ! CBM::CelAtom *bootstrapRoot; ! CBM::CelReader *R; ! ! CBM::CelBlock *Call_B; ! CBM::CelStackPush *Call_P0; ! CBM::CelStackPush *Call_P1; ! CBM::CelStr *Call_CID; ! CBM::CelStr *Call_V; ! CBM::CelStr *Call_FName; ! CBM::CelFunctionCall *Call; ! ! std::string result; ! ! bootstrapFilename=_compilerId; ! bootstrapFilename+="/bootstrap.xml"; ! ! bootstrapFilename=CBM::CelFullIncludeName(bootstrapFilename); ! ! R=new CBM::CelReader(bootstrapFilename); ! ! bootstrapRoot=R->parse(); ! if (!bootstrapRoot) { ! delete(R); ! return(""); ! } ! ! bootstrapRoot->Evaluate(); ! ! Call_B=new CBM::CelBlock(); ! ! Call_CID=new CBM::CelStr(_compilerId); ! Call_V=new CBM::CelStr(_compilerVanillaVersion); ! ! Call_P0=new CBM::CelStackPush(); ! Call_P1=new CBM::CelStackPush(); ! ! Call_P0->add(Call_CID); ! Call_P1->add(Call_V); ! ! Call_B->add(Call_P0); ! Call_B->add(Call_P1); ! ! Call=new CBM::CelFunctionCall(); ! Call_B->add(Call); ! Call_FName=new CBM::CelStr("kb-bootstrap-description-filename"); ! Call->add(Call_FName); ! ! result=Call_B->Evaluate(); ! CBM::CELFunctionUndef("kb-bootstrap-description-filename"); ! delete(Call_B); ! delete(bootstrapRoot); ! ! return(result); } *************** *** 75,79 **** XMLAttribute *A; ! _fileName+="/description.xml"; _fileName=CBM::CelFullIncludeName(_fileName); --- 144,148 ---- XMLAttribute *A; ! std::string tmp; _fileName=CBM::CelFullIncludeName(_fileName); *************** *** 100,105 **** if (N->Name() == "include") { A=N->getAttribute("description-path"); ! if (A) ! parse(A->Value()); } } --- 169,177 ---- if (N->Name() == "include") { A=N->getAttribute("description-path"); ! if (A) { ! tmp=A->Value(); ! tmp+="/description.xml"; ! parse(tmp); ! } } } Index: Compiler-Option-Description.h =================================================================== RCS file: /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/Compiler/Compiler-Option-Description.h,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** Compiler-Option-Description.h 14 Mar 2007 19:45:38 -0000 1.2 --- Compiler-Option-Description.h 18 Mar 2007 21:47:59 -0000 1.3 *************** *** 61,68 **** protected: virtual void parse(std::string _fileName); public: ! CompilerOptionDescriptions(std::string _compilerId); virtual int DescriptionNumber(void); --- 61,72 ---- protected: + virtual std::string compilerDescriptionBootstrap(std::string _compilerId, + std::string _compilerVanillaVersion); + virtual void parse(std::string _fileName); public: ! CompilerOptionDescriptions(std::string _compilerId, ! std::string _compilerVanillaVersion); virtual int DescriptionNumber(void); Index: Compiler.cpp =================================================================== RCS file: /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/Compiler/Compiler.cpp,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** Compiler.cpp 14 Mar 2007 20:35:40 -0000 1.5 --- Compiler.cpp 18 Mar 2007 21:47:59 -0000 1.6 *************** *** 59,65 **** } CBM::CompilerOptionDescriptions *Compiler::OptionDescriptions(void) { ! return(new CBM::CompilerOptionDescriptions(compiler())); } --- 59,113 ---- } + std::string Compiler::vanillaVersion(void) + { + std::string v = Version(); + std::string tmp; + std::string r; + + unsigned int d0; + unsigned int d1; + unsigned int d2; + + if (v.find(' ')>0) { + tmp=cbmSystem->Split(v, ".", 0); + if (!tmp.empty()) { + r+=tmp; + tmp=cbmSystem->Split(v, ".", 1); + d0=v.find('.', 0); + if (!tmp.empty()) { + r+="."; + r+=tmp; + d1=v.find('.', d0); + if (d1-d0>3) + return("can't find 2d number for version"); + + tmp=cbmSystem->Split(v, ".", 2); + d2=v.find('.', d1); + if (!tmp.empty()) { + r+="."; + r+=tmp; + d2=v.find('.', d1); + if (d2-d1>3) + return("can't find 3rd number for version"); + } else + return(r); + } else { + return("can't find first number for version"); + } + } else { + return("can't find first number for version"); + } + } else { + return(v); + } + return("can't find first number for version"); + } + CBM::CompilerOptionDescriptions *Compiler::OptionDescriptions(void) { ! std::string vanilla = vanillaVersion(); ! ! return(new CBM::CompilerOptionDescriptions(compiler(), ! vanilla)); } |
From: Frederic T. <xf...@us...> - 2007-03-18 22:59:37
|
Update of /cvsroot/compbench/CompBenchmarks++/CBM-PI/t/reference In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv2787 Modified Files: cel-str.xml Log Message: New entities. Index: cel-str.xml =================================================================== RCS file: /cvsroot/compbench/CompBenchmarks++/CBM-PI/t/reference/cel-str.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** cel-str.xml 11 Mar 2007 18:46:34 -0000 1.1 --- cel-str.xml 18 Mar 2007 21:46:53 -0000 1.2 *************** *** 2,5 **** <cel> ! <cel-str>test</cel-str> </cel> \ No newline at end of file --- 2,9 ---- <cel> ! <cel-str-concat> ! <cel-str/> ! <cel-str-sp/> ! <cel-str>test</cel-str> ! </cel-str-concat> </cel> \ No newline at end of file |
From: Frederic T. <xf...@us...> - 2007-03-18 22:59:37
|
Update of /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/CEL In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv3169 Modified Files: CEL-Function.cpp CEL-Function.h Log Message: Function can be undefined. Index: CEL-Function.cpp =================================================================== RCS file: /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/CEL/CEL-Function.cpp,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** CEL-Function.cpp 11 Mar 2007 18:47:49 -0000 1.2 --- CEL-Function.cpp 18 Mar 2007 21:47:18 -0000 1.3 *************** *** 19,23 **** std::vector<celFunction_t*> celFunctions; - celFunction_t *celFunctionGet(std::string _name) { --- 19,22 ---- *************** *** 34,37 **** --- 33,58 ---- } + void CBM::CELFunctionUndef(std::string _id) + { + celFunction_t *f = celFunctionGet(_id); + std::vector<celFunction_t*> ncelFunctions; + int i; + int n; + + if (!f) + return; + + n=celFunctions.size(); + + for(i=0;i<n;i++) { + if (celFunctions[i]!=f) { + ncelFunctions.push_back(celFunctions[i]); + } + } + + delete(f); + celFunctions=ncelFunctions; + } + void CBM::CELFunctionDone(void) { Index: CEL-Function.h =================================================================== RCS file: /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/CEL/CEL-Function.h,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** CEL-Function.h 11 Mar 2007 18:47:49 -0000 1.2 --- CEL-Function.h 18 Mar 2007 21:47:18 -0000 1.3 *************** *** 14,17 **** --- 14,19 ---- void CELFunctionDone(void); + + void CELFunctionUndef(std::string _id); /** \brief ? */ |
From: Frederic T. <xf...@us...> - 2007-03-14 20:39:34
|
Update of /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv20324 Modified Files: Makefile.am Log Message: CEL/ added. Index: Makefile.am =================================================================== RCS file: /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/Makefile.am,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** Makefile.am 25 Jan 2007 20:37:13 -0000 1.4 --- Makefile.am 14 Mar 2007 20:39:19 -0000 1.5 *************** *** 8,12 **** # ----------------------------------------------------------------------------- ! SUBDIRS = Base share System Compiler Benchmark Plan UI lib_LTLIBRARIES = libcompbenchmarks.la --- 8,13 ---- # ----------------------------------------------------------------------------- ! SUBDIRS = Base CEL share System Compiler \ ! Benchmark Plan UI lib_LTLIBRARIES = libcompbenchmarks.la *************** *** 15,18 **** --- 16,20 ---- libcompbenchmarks_la_LIBADD = Base/libBase.la \ + CEL/libCEL.la \ System/libSystem.la \ Compiler/libCompiler.la \ |
From: Frederic T. <xf...@us...> - 2007-03-14 20:35:43
|
Update of /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/Compiler In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv19619 Modified Files: Compiler.cpp Compiler.h Log Message: Compiler can return a CompilerOptionDescriptions instance. Index: Compiler.h =================================================================== RCS file: /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/Compiler/Compiler.h,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** Compiler.h 19 Feb 2007 18:43:38 -0000 1.5 --- Compiler.h 14 Mar 2007 20:35:40 -0000 1.6 *************** *** 18,26 **** --- 18,29 ---- %{ #include <Plan/Plan.h> + #include <Compiler/Compiler-Option-Description.h> %} #define CBM_PLAN CBM::Plan + #define CBM_COD CBM::CompilerOptionDescriptions #else # define CBM_PLAN class Plan + # define CBM_COD class CompilerOptionDescriptions #endif *************** *** 97,100 **** --- 100,108 ---- virtual std::string Language(void) = 0; /** Virtual destructor */ + + /** Return (supported) option descriptions + \return Option descriptions */ + virtual CBM_COD *OptionDescriptions(void); + virtual ~Compiler(); }; Index: Compiler.cpp =================================================================== RCS file: /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/Compiler/Compiler.cpp,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** Compiler.cpp 19 Feb 2007 18:43:38 -0000 1.4 --- Compiler.cpp 14 Mar 2007 20:35:40 -0000 1.5 *************** *** 10,13 **** --- 10,14 ---- #include <Compiler/Compiler-GCC/Compiler-GCC.h> #include <Compiler/Compiler-TCC/Compiler-TCC.h> + #include <Compiler/Compiler-Option-Description.h> #include <Plan/Plan.h> *************** *** 58,61 **** --- 59,67 ---- } + CBM::CompilerOptionDescriptions *Compiler::OptionDescriptions(void) + { + return(new CBM::CompilerOptionDescriptions(compiler())); + } + Compiler::~Compiler() { *************** *** 83,99 **** if ((int) raw.find("g++")>=0) { return(new CompilerGCC_cpp(system, ! compilerBinary)); } else return(new CompilerGCC(system, ! compilerBinary)); } raw=compilerBinary; if (((int) raw.find("g++")>0) || (raw=="g++")) { return(new CompilerGCC_cpp(system, ! compilerBinary)); } if (((int) raw.find("gcc")>0) || (raw=="gcc")) { return(new CompilerGCC(system, ! compilerBinary)); } } --- 89,105 ---- if ((int) raw.find("g++")>=0) { return(new CompilerGCC_cpp(system, ! compilerBinary)); } else return(new CompilerGCC(system, ! compilerBinary)); } raw=compilerBinary; if (((int) raw.find("g++")>0) || (raw=="g++")) { return(new CompilerGCC_cpp(system, ! compilerBinary)); } if (((int) raw.find("gcc")>0) || (raw=="gcc")) { return(new CompilerGCC(system, ! compilerBinary)); } } |
From: Frederic T. <xf...@us...> - 2007-03-14 20:24:30
|
Update of /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/share/KB/gxx In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv17309 Modified Files: description.xml Log Message: Minor changes. Index: description.xml =================================================================== RCS file: /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/share/KB/gxx/description.xml,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** description.xml 13 Mar 2007 20:53:23 -0000 1.3 --- description.xml 14 Mar 2007 20:24:25 -0000 1.4 *************** *** 11,15 **** <!-- 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 --> --- 11,16 ---- <!-- 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 --> *************** *** 86,90 **** <option id="O3"> ! <value>-O2</value> <short-description>Global optimization, level 3</short-description> <editor-description> --- 87,91 ---- <option id="O3"> ! <value>-O3</value> <short-description>Global optimization, level 3</short-description> <editor-description> *************** *** 342,396 **** </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> ! ! <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> --- 343,347 ---- </option> ! <!-- <option id=""> <value></value> *************** *** 399,402 **** --- 350,354 ---- </editor-description> </option> + --> </options> \ No newline at end of file |
From: Frederic T. <xf...@us...> - 2007-03-14 20:24:13
|
Update of /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/share/KB/g++ In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv17260 Modified Files: description.xml Log Message: Minor changes. Index: description.xml =================================================================== RCS file: /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/share/KB/g++/description.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** description.xml 13 Mar 2007 17:41:54 -0000 1.1 --- description.xml 14 Mar 2007 20:24:09 -0000 1.2 *************** *** 2,6 **** <options> ! <include file="gxx/description.xml"/> <option id="elide-constructors"> --- 2,6 ---- <options> ! <include description-path="gxx"/> <option id="elide-constructors"> |
From: Frederic T. <xf...@us...> - 2007-03-14 19:55:04
|
Update of /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/CEL In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv10111 Modified Files: CEL-Include.cpp Log Message: CellFullIncludeName(); is public. Index: CEL-Include.cpp =================================================================== RCS file: /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/CEL/CEL-Include.cpp,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** CEL-Include.cpp 13 Mar 2007 17:43:28 -0000 1.3 --- CEL-Include.cpp 14 Mar 2007 19:55:00 -0000 1.4 *************** *** 20,24 **** } ! std::string CelFullIncludeName(std::string _relativeFN) { int i; --- 20,24 ---- } ! std::string CBM::CelFullIncludeName(std::string _relativeFN) { int i; |
From: Frederic T. <xf...@us...> - 2007-03-14 19:54:26
|
Update of /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/CEL In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv10077 Modified Files: CEL-Include.h Log Message: CellFullIncludeName(); added. Index: CEL-Include.h =================================================================== RCS file: /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/CEL/CEL-Include.h,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** CEL-Include.h 13 Mar 2007 17:43:28 -0000 1.3 --- CEL-Include.h 14 Mar 2007 19:54:22 -0000 1.4 *************** *** 15,18 **** --- 15,19 ---- */ void CelIncludePathAdd(std::string _path); + std::string CelFullIncludeName(std::string _relativeFN); class CelInclude : public CelAtom { |
From: Frederic T. <xf...@us...> - 2007-03-14 19:45:45
|
Update of /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/Compiler In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv8066 Modified Files: Compiler-Option-Description.cpp Compiler-Option-Description.h Log Message: <include/> supported. Index: Compiler-Option-Description.cpp =================================================================== RCS file: /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/Compiler/Compiler-Option-Description.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Compiler-Option-Description.cpp 14 Mar 2007 19:27:21 -0000 1.1 --- Compiler-Option-Description.cpp 14 Mar 2007 19:45:38 -0000 1.2 *************** *** 62,66 **** CompilerOptionDescriptions::CompilerOptionDescriptions(std::string _compilerId) { ! std::string fileName = _compilerId; XMLNode *root; XMLNode *N; --- 62,70 ---- CompilerOptionDescriptions::CompilerOptionDescriptions(std::string _compilerId) { ! parse(_compilerId); ! } ! ! void CompilerOptionDescriptions::parse(std::string _fileName) ! { XMLNode *root; XMLNode *N; *************** *** 69,78 **** CompilerOptionDescription *D; XMLReader R; ! fileName+="/description.xml"; ! ! fileName=CBM::CelFullIncludeName(fileName); ! root=R.read(fileName); if (!root) return; --- 73,83 ---- CompilerOptionDescription *D; XMLReader R; + XMLAttribute *A; ! _fileName+="/description.xml"; + _fileName=CBM::CelFullIncludeName(_fileName); + root=R.read(_fileName); + if (!root) return; *************** *** 87,93 **** for(i=0; i<n; i++) { N=root->getNode(i); ! D=new CompilerOptionDescription(N); ! options.push_back(D); } } --- 92,108 ---- for(i=0; i<n; i++) { N=root->getNode(i); ! if (N->Name() == "option") { ! D=new CompilerOptionDescription(N); ! options.push_back(D); ! continue; ! } ! ! if (N->Name() == "include") { ! A=N->getAttribute("description-path"); ! if (A) ! parse(A->Value()); ! } } + } Index: Compiler-Option-Description.h =================================================================== RCS file: /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/Compiler/Compiler-Option-Description.h,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Compiler-Option-Description.h 14 Mar 2007 19:27:21 -0000 1.1 --- Compiler-Option-Description.h 14 Mar 2007 19:45:38 -0000 1.2 *************** *** 61,64 **** --- 61,66 ---- protected: + virtual void parse(std::string _fileName); + public: CompilerOptionDescriptions(std::string _compilerId); |
From: Frederic T. <xf...@us...> - 2007-03-14 19:44:56
|
Update of /cvsroot/compbench/CompBenchmarks++/CBM-PI/t In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv7776 Modified Files: 05-KB-Options.pl 05-Option-Descriptions.pl Log Message: More tests. Index: 05-KB-Options.pl =================================================================== RCS file: /cvsroot/compbench/CompBenchmarks++/CBM-PI/t/05-KB-Options.pl,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** 05-KB-Options.pl 12 Mar 2007 21:47:54 -0000 1.1 --- 05-KB-Options.pl 14 Mar 2007 19:44:50 -0000 1.2 *************** *** 9,12 **** --- 9,13 ---- require "libtest.pl"; + # !!! g++ options not checked my @OPTIONS_O = ( ['O0', "gcxc", "2.97.0", "g++ or gcc needed"], ['O0', "gcxc", "2.91.0", "g++ or gcc needed"], *************** *** 42,47 **** ['reset'], ! ['Os', "gcc", "4.1.0", "1"], ! ['O0', "gcc", "4.1.0", "-O0 is incompatible with -Os"], ); --- 43,387 ---- ['reset'], ! ['Os', "gcc", "2.95.0", "1"], ! ['O0', "gcc", "2.95.0", "-O0 is incompatible with -Os"], ! ! ['reset'], ! ['O1', "gcc", "2.95.0", "1"], ! ['O2', "gcc", "2.95.0", "-O2 is incompatible with -O1"], ! ! ['reset'], ! ['O2', "gcc", "2.95.0", "1"], ! ['O3', "gcc", "2.95.0", "-O3 is incompatible with -O2"], ! ! ['reset'], ! ['O3', "gcc", "2.95.0", "1"], ! ['O2', "gcc", "2.95.0", "-O2 is incompatible with -O3"], ! ! ['reset'], ! ['O0', "gcc", "2.95.0", "1"], ! ['caller-saves', "gcc", "2.95.0", "1"], ! ['reset'], ! ['Os', "gcc", "2.95.0", "1"], ! ['caller-saves', "gcc", "2.95.0", "1"], ! ['reset'], ! ['O1', "gcc", "2.95.0", "1"], ! ['caller-saves', "gcc", "2.95.0", "1"], ! ['reset'], ! ['O2', "gcc", "2.95.0", "1"], ! ['caller-saves', "gcc", "2.95.0", "1"], ! ['reset'], ! ['O3', "gcc", "2.95.0", "1"], ! ['caller-saves', "gcc", "2.95.0", "1"], ! ['reset'], ! ! ['O0', "gcc", "2.95.0", "1"], ! ['cse-follow-jumps', "gcc", "2.95.0", "1"], ! ['reset'], ! ['Os', "gcc", "2.95.0", "1"], ! ['cse-follow-jumps', "gcc", "2.95.0", "1"], ! ['reset'], ! ['O1', "gcc", "2.95.0", "1"], ! ['cse-follow-jumps', "gcc", "2.95.0", "1"], ! ['reset'], ! ['O2', "gcc", "2.95.0", "1"], ! ['cse-follow-jumps', "gcc", "2.95.0", "option implied by -O2 and -O3"], ! ['reset'], ! ['O3', "gcc", "2.95.0", "1"], ! ['cse-follow-jumps', "gcc", "2.95.0", "option implied by -O2 and -O3"], ! ['reset'], ! ! ['O0', "gcc", "2.95.0", "1"], ! ['cse-skip-blocks', "gcc", "2.95.0", "1"], ! ['reset'], ! ['Os', "gcc", "2.95.0", "1"], ! ['cse-skip-blocks', "gcc", "2.95.0", "1"], ! ['reset'], ! ['O1', "gcc", "2.95.0", "1"], ! ['cse-skip-blocks', "gcc", "2.95.0", "1"], ! ['reset'], ! ['O2', "gcc", "2.95.0", "1"], ! ['cse-skip-blocks', "gcc", "2.95.0", "option implied by -O2 and -O3"], ! ['reset'], ! ['O3', "gcc", "2.95.0", "1"], ! ['cse-skip-blocks', "gcc", "2.95.0", "option implied by -O2 and -O3"], ! ['reset'], ! ! ['O0', "gcc", "2.95.0", "1"], ! ['delayed-branch', "gcc", "2.95.0", "1"], ! ['reset'], ! ['Os', "gcc", "2.95.0", "1"], ! ['delayed-branch', "gcc", "2.95.0", "1"], ! ['reset'], ! ['O1', "gcc", "2.95.0", "1"], ! ['delayed-branch', "gcc", "2.95.0", "1"], ! ['reset'], ! ['O2', "gcc", "2.95.0", "1"], ! ['delayed-branch', "gcc", "2.95.0", "option implied by -O2 and -O3"], ! ['reset'], ! ['O3', "gcc", "2.95.0", "1"], ! ['delayed-branch', "gcc", "2.95.0", "option implied by -O2 and -O3"], ! ['reset'], ! ! ['O0', "gcc", "2.95.0", "1"], ! ['expensive-optimizations', "gcc", "2.95.0", "1"], ! ['reset'], ! ['Os', "gcc", "2.95.0", "1"], ! ['expensive-optimizations', "gcc", "2.95.0", "1"], ! ['reset'], ! ['O1', "gcc", "2.95.0", "1"], ! ['expensive-optimizations', "gcc", "2.95.0", "1"], ! ['reset'], ! ['O2', "gcc", "2.95.0", "1"], ! ['expensive-optimizations', "gcc", "2.95.0", "option implied by -O2 and -O3"], ! ['reset'], ! ['O3', "gcc", "2.95.0", "1"], ! ['expensive-optimizations', "gcc", "2.95.0", "option implied by -O2 and -O3"], ! ['reset'], ! ! ['O0', "gcc", "2.95.0", "1"], ! ['fast-math', "gcc", "2.95.0", "1"], ! ['reset'], ! ['Os', "gcc", "2.95.0", "1"], ! ['fast-math', "gcc", "2.95.0", "1"], ! ['reset'], ! ['O1', "gcc", "2.95.0", "1"], ! ['fast-math', "gcc", "2.95.0", "1"], ! ['reset'], ! ['O2', "gcc", "2.95.0", "1"], ! ['fast-math', "gcc", "2.95.0", "1"], ! ['reset'], ! ['O3', "gcc", "2.95.0", "1"], ! ['fast-math', "gcc", "2.95.0", "1"], ! ['reset'], ! ! ['O0', "gcc", "2.95.0", "1"], ! ['float-store', "gcc", "2.95.0", "1"], ! ['reset'], ! ['Os', "gcc", "2.95.0", "1"], ! ['float-store', "gcc", "2.95.0", "1"], ! ['reset'], ! ['O1', "gcc", "2.95.0", "1"], ! ['float-store', "gcc", "2.95.0", "1"], ! ['reset'], ! ['O2', "gcc", "2.95.0", "1"], ! ['float-store', "gcc", "2.95.0", "option implied by -O2 and -O3"], ! ['reset'], ! ['O3', "gcc", "2.95.0", "1"], ! ['float-store', "gcc", "2.95.0", "option implied by -O2 and -O3"], ! ['reset'], ! ! ['O0', "gcc", "2.95.0", "1"], ! ['force-addr', "gcc", "2.95.0", "1"], ! ['reset'], ! ['Os', "gcc", "2.95.0", "1"], ! ['force-addr', "gcc", "2.95.0", "1"], ! ['reset'], ! ['O1', "gcc", "2.95.0", "1"], ! ['force-addr', "gcc", "2.95.0", "1"], ! ['reset'], ! ['O2', "gcc", "2.95.0", "1"], ! ['force-addr', "gcc", "2.95.0", "option implied by -O2 and -O3"], ! ['reset'], ! ['O3', "gcc", "2.95.0", "1"], ! ['force-addr', "gcc", "2.95.0", "option implied by -O2 and -O3"], ! ['reset'], ! ! ['O0', "gcc", "2.95.0", "1"], ! ['force-mem', "gcc", "2.95.0", "1"], ! ['reset'], ! ['Os', "gcc", "2.95.0", "1"], ! ['force-mem', "gcc", "2.95.0", "1"], ! ['reset'], ! ['O1', "gcc", "2.95.0", "1"], ! ['force-mem', "gcc", "2.95.0", "1"], ! ['reset'], ! ['O2', "gcc", "2.95.0", "1"], ! ['force-mem', "gcc", "2.95.0", "option implied by -O2 and -O3"], ! ['reset'], ! ['O3', "gcc", "2.95.0", "1"], ! ['force-mem', "gcc", "2.95.0", "option implied by -O2 and -O3"], ! ['reset'], ! ! ['O0', "gcc", "2.95.0", "1"], ! ['inline-functions', "gcc", "2.95.0", "1"], ! ['reset'], ! ['Os', "gcc", "2.95.0", "1"], ! ['inline-functions', "gcc", "2.95.0", "1"], ! ['reset'], ! ['O1', "gcc", "2.95.0", "1"], ! ['inline-functions', "gcc", "2.95.0", "1"], ! ['reset'], ! ['O2', "gcc", "2.95.0", "1"], ! ['inline-functions', "gcc", "2.95.0", "1"], ! ['reset'], ! ['O3', "gcc", "2.95.0", "1"], ! ['inline-functions', "gcc", "2.95.0", "option implied by -O3"], ! ['reset'], ! ! ['O0', "gcc", "2.95.0", "1"], ! ['omit-frame-pointer', "gcc", "2.95.0", "1"], ! ['reset'], ! ['Os', "gcc", "2.95.0", "1"], ! ['omit-frame-pointer', "gcc", "2.95.0", "1"], ! ['reset'], ! ['O1', "gcc", "2.95.0", "1"], ! ['omit-frame-pointer', "gcc", "2.95.0", "1"], ! ['reset'], ! ['O2', "gcc", "2.95.0", "1"], ! ['omit-frame-pointer', "gcc", "2.95.0", "1"], ! ['reset'], ! ['O3', "gcc", "2.95.0", "1"], ! ['omit-frame-pointer', "gcc", "2.95.0", "1"], ! ['reset'], ! ! ['O0', "gcc", "2.95.0", "1"], ! ['rerun-cse-after-loop', "gcc", "2.95.0", "1"], ! ['reset'], ! ['Os', "gcc", "2.95.0", "1"], ! ['rerun-cse-after-loop', "gcc", "2.95.0", "1"], ! ['reset'], ! ['O1', "gcc", "2.95.0", "1"], ! ['rerun-cse-after-loop', "gcc", "2.95.0", "1"], ! ['reset'], ! ['O2', "gcc", "2.95.0", "1"], ! ['rerun-cse-after-loop', "gcc", "2.95.0", "option implied by -O2 and -O3"], ! ['reset'], ! ['O3', "gcc", "2.95.0", "1"], ! ['rerun-cse-after-loop', "gcc", "2.95.0", "option implied by -O2 and -O3"], ! ['reset'], ! ! ['O0', "gcc", "2.95.0", "1"], ! ['schedule-insns', "gcc", "2.95.0", "1"], ! ['reset'], ! ['Os', "gcc", "2.95.0", "1"], ! ['schedule-insns', "gcc", "2.95.0", "1"], ! ['reset'], ! ['O1', "gcc", "2.95.0", "1"], ! ['schedule-insns', "gcc", "2.95.0", "1"], ! ['reset'], ! ['O2', "gcc", "2.95.0", "1"], ! ['schedule-insns', "gcc", "2.95.0", "option implied by -O2 and -O3"], ! ['reset'], ! ['O3', "gcc", "2.95.0", "1"], ! ['schedule-insns', "gcc", "2.95.0", "option implied by -O2 and -O3"], ! ['reset'], ! ! ['O0', "gcc", "2.95.0", "1"], ! ['strength-reduce', "gcc", "2.95.0", "1"], ! ['reset'], ! ['Os', "gcc", "2.95.0", "1"], ! ['strength-reduce', "gcc", "2.95.0", "1"], ! ['reset'], ! ['O1', "gcc", "2.95.0", "1"], ! ['strength-reduce', "gcc", "2.95.0", "1"], ! ['reset'], ! ['O2', "gcc", "2.95.0", "1"], ! ['strength-reduce', "gcc", "2.95.0", "option implied by -O2 and -O3"], ! ['reset'], ! ['O3', "gcc", "2.95.0", "1"], ! ['strength-reduce', "gcc", "2.95.0", "option implied by -O2 and -O3"], ! ['reset'], ! ! ['O0', "gcc", "2.95.0", "1"], ! ['thread-jumps', "gcc", "2.95.0", "1"], ! ['reset'], ! ['Os', "gcc", "2.95.0", "1"], ! ['thread-jumps', "gcc", "2.95.0", "1"], ! ['reset'], ! ['O1', "gcc", "2.95.0", "1"], ! ['thread-jumps', "gcc", "2.95.0", "1"], ! ['reset'], ! ['O2', "gcc", "2.95.0", "1"], ! ['thread-jumps', "gcc", "2.95.0", "option implied by -O2 and -O3"], ! ['reset'], ! ['O3', "gcc", "2.95.0", "1"], ! ['thread-jumps', "gcc", "2.95.0", "option implied by -O2 and -O3"], ! ['reset'], ! ! ['O0', "gcc", "2.95.0", "1"], ! ['schedule-insns2', "gcc", "2.95.0", "1"], ! ['reset'], ! ['Os', "gcc", "2.95.0", "1"], ! ['schedule-insns2', "gcc", "2.95.0", "1"], ! ['reset'], ! ['O1', "gcc", "2.95.0", "1"], ! ['schedule-insns2', "gcc", "2.95.0", "1"], ! ['reset'], ! ['O2', "gcc", "2.95.0", "1"], ! ['schedule-insns2', "gcc", "2.95.0", "option implied by -O2 and -O3"], ! ['reset'], ! ['O3', "gcc", "2.95.0", "1"], ! ['schedule-insns2', "gcc", "2.95.0", "option implied by -O2 and -O3"], ! ['reset'], ! ! ['O0', "gcc", "2.95.0", "1"], ! ['unroll-loops', "gcc", "2.95.0", "1"], ! ['reset'], ! ['Os', "gcc", "2.95.0", "1"], ! ['unroll-loops', "gcc", "2.95.0", "1"], ! ['reset'], ! ['O1', "gcc", "2.95.0", "1"], ! ['unroll-loops', "gcc", "2.95.0", "1"], ! ['reset'], ! ['O2', "gcc", "2.95.0", "1"], ! ['unroll-loops', "gcc", "2.95.0", "1"], ! ['reset'], ! ['O3', "gcc", "2.95.0", "1"], ! ['unroll-loops', "gcc", "2.95.0", "1"], ! ['reset'], ! ! ['O0', "gcc", "2.95.0", "1"], ! ['unroll-all-loops', "gcc", "2.95.0", "1"], ! ['reset'], ! ['Os', "gcc", "2.95.0", "1"], ! ['unroll-all-loops', "gcc", "2.95.0", "1"], ! ['reset'], ! ['O1', "gcc", "2.95.0", "1"], ! ['unroll-all-loops', "gcc", "2.95.0", "1"], ! ['reset'], ! ['O2', "gcc", "2.95.0", "1"], ! ['unroll-all-loops', "gcc", "2.95.0", "1"], ! ['reset'], ! ['O3', "gcc", "2.95.0", "1"], ! ['unroll-all-loops', "gcc", "2.95.0", "1"], ! ['reset'], ! ! ['O0', "gcc", "2.95.0", "1"], ! ['m486', "gcc", "2.95.0", "1"], ! ['reset'], ! ['Os', "gcc", "2.95.0", "1"], ! ['m486', "gcc", "2.95.0", "1"], ! ['reset'], ! ['O1', "gcc", "2.95.0", "1"], ! ['m486', "gcc", "2.95.0", "1"], ! ['reset'], ! ['O2', "gcc", "2.95.0", "1"], ! ['m486', "gcc", "2.95.0", "1"], ! ['reset'], ! ['O3', "gcc", "2.95.0", "1"], ! ['m486', "gcc", "2.95.0", "1"], ! ['reset'], ! ['O3', "gcc", "2.95.0", "1"], ! ['m486', "gcc", "2.95.0", "1"], ! ['m486', "gcc", "2.95.0", "-m486 has already been set"], ! ['O3', "gcc", "2.95.0", "-O3 has already been set"], ! ['O2', "gcc", "2.95.0", "-O2 is incompatible with -O3"], ! ['reset'], ! ! ['O0', "gcc", "2.95.0", "1"], ! ['no-fp-ret-in-387', "gcc", "2.95.0", "1"], ! ['reset'], ! ['Os', "gcc", "2.95.0", "1"], ! ['no-fp-ret-in-387', "gcc", "2.95.0", "1"], ! ['reset'], ! ['O1', "gcc", "2.95.0", "1"], ! ['no-fp-ret-in-387', "gcc", "2.95.0", "1"], ! ['reset'], ! ['O2', "gcc", "2.95.0", "1"], ! ['no-fp-ret-in-387', "gcc", "2.95.0", "1"], ! ['reset'], ! ['O3', "gcc", "2.95.0", "1"], ! ['no-fp-ret-in-387', "gcc", "2.95.0", "1"], ! ['reset'], ); Index: 05-Option-Descriptions.pl =================================================================== RCS file: /cvsroot/compbench/CompBenchmarks++/CBM-PI/t/05-Option-Descriptions.pl,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** 05-Option-Descriptions.pl 14 Mar 2007 19:29:29 -0000 1.1 --- 05-Option-Descriptions.pl 14 Mar 2007 19:44:50 -0000 1.2 *************** *** 13,19 **** ); ! my %OPTIONS = ('gxx' => \%OPTIONS_GXX); ! my @COMPILERS = ('gxx'); use Test::More; --- 13,28 ---- ); ! my %OPTIONS_GCC = ( 'expect' => 25 ! ); ! my %OPTIONS_GPP = ( 'expect' => 26 ! ); ! ! my %OPTIONS = ('gxx' => \%OPTIONS_GXX, ! 'gcc' => \%OPTIONS_GCC, ! 'g++' => \%OPTIONS_GPP ! ); ! ! my @COMPILERS = ('gxx', 'gcc', 'g++'); use Test::More; |
From: Frederic T. <xf...@us...> - 2007-03-14 19:29:44
|
Update of /cvsroot/compbench/CompBenchmarks++/CBM-PI/t In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv4520 Added Files: 05-Option-Descriptions.pl Log Message: First import. --- NEW FILE: 05-Option-Descriptions.pl --- #!/usr/bin/perl -w -I .. use strict; use CBM; my $sys; my $kb_srcdir; push(@INC, "lib"); require "libtest.pl"; # !!! g++ options not checked my %OPTIONS_GXX = ( 'expect' => 25 ); my %OPTIONS = ('gxx' => \%OPTIONS_GXX); my @COMPILERS = ('gxx'); use Test::More; sub plan_count_tests { my $n = 0; my $c; foreach $c (@COMPILERS) { my $expect = $OPTIONS{$c}->{expect}; $n+=(2+($expect*6)); } return($n); } plan tests => (plan_count_tests()); our $top_srcdir; my $T; my $F; sub test_options_compiler { my $compiler_id = shift; my $OD = new CBM::CompilerOptionDescriptions($compiler_id); ok($OD, "descriptions' initialization works for $compiler_id"); my $n; $n=$OD->DescriptionNumber(); ok($n eq $OPTIONS{$compiler_id}->{expect}, "$compiler_id: DescriptionNumber() returns $OPTIONS{$compiler_id}->{expect} (has $n)"); my $i; my %unique_id; my %unique_opt; my $D; for($i=0; $i<$n; $i++) { $D = $OD->Description($i); ok($D->Id() ne "", "$compiler_id: D$i has identifier"); $unique_id{$D->Id()}++; ok($D->ShortDescription() ne "", "$compiler_id: D$i has short description"); ok($D->EditorDescription() ne "", "$compiler_id: D$i has editor's description"); ok($D->Option() ne "", "$compiler_id: D$i has option (value)"); $unique_id{$D->Option()}++; } foreach(keys %unique_id) { ok($unique_id{$_} == 1, "$compiler_id: option $_ is defined only once"); } foreach(keys %unique_opt) { ok($unique_opt{$_} == 1, "$compiler_id: value $_ is defined only once"); } } sub test_options { foreach(@COMPILERS) { test_options_compiler($_); } } $sys = CBM::Init(); test_options(); $sys->done(); |