Changes in / [ef22ad6:2c60af75]


Ignore:
Files:
16 edited

Legend:

Unmodified
Added
Removed
  • Jenkins/FullBuild

    ref22ad6 r2c60af75  
    132132
    133133<img src="https://cforall.uwaterloo.ca/jenkins/job/Cforall/job/master/plot/Compilation/getPlot?index=0" >
    134 <img src="https://cforall.uwaterloo.ca/jenkins/job/Cforall/job/master/plot/Compilation/getPlot?index=1" >
    135134
    136135<p>- Logs ----------------------------------------------------------------</p>
  • Jenkinsfile

    ref22ad6 r2c60af75  
    197197                if( Settings.Publish && !Settings.RunBenchmark ) { echo 'No results to publish!!!' }
    198198
    199                 def groupCompile = new PlotGroup('Compilation', 'duration (s) - lower is better', true)
    200                 def groupConcurrency = new PlotGroup('Concurrency', 'duration (n) - lower is better', false)
     199                def groupCompile = new PlotGroup('Compilation', 'seconds', true)
     200                def groupConcurrency = new PlotGroup('Concurrency', 'nanoseconds', false)
    201201
    202202                //Then publish the results
    203                 do_plot(Settings.RunBenchmark && Settings.Publish, 'compile'       , groupCompile    , false, 'Compilation')
    204                 do_plot(Settings.RunBenchmark && Settings.Publish, 'compile.diff'  , groupCompile    , true , 'Compilation (relative)')
    205                 do_plot(Settings.RunBenchmark && Settings.Publish, 'ctxswitch'     , groupConcurrency, false, 'Context Switching')
    206                 do_plot(Settings.RunBenchmark && Settings.Publish, 'ctxswitch.diff', groupConcurrency, true , 'Context Switching (relative)')
    207                 do_plot(Settings.RunBenchmark && Settings.Publish, 'mutex'         , groupConcurrency, false, 'Mutual Exclusion')
    208                 do_plot(Settings.RunBenchmark && Settings.Publish, 'mutex.diff'    , groupConcurrency, true , 'Mutual Exclusion (relative)')
    209                 do_plot(Settings.RunBenchmark && Settings.Publish, 'signal'        , groupConcurrency, false, 'Internal and External Scheduling')
    210                 do_plot(Settings.RunBenchmark && Settings.Publish, 'signal.diff'   , groupConcurrency, true , 'Internal and External Scheduling (relative)')
     203                do_plot(Settings.RunBenchmark && Settings.Publish, 'compile'       , groupCompile    , 'Compilation')
     204                do_plot(Settings.RunBenchmark && Settings.Publish, 'compile.diff'  , groupCompile    , 'Compilation Speed-Up')
     205                do_plot(Settings.RunBenchmark && Settings.Publish, 'ctxswitch'     , groupConcurrency, 'Context Switching')
     206                do_plot(Settings.RunBenchmark && Settings.Publish, 'ctxswitch.diff', groupConcurrency, 'Context Switching Speed-Up')
     207                do_plot(Settings.RunBenchmark && Settings.Publish, 'mutex'         , groupConcurrency, 'Mutual Exclusion')
     208                do_plot(Settings.RunBenchmark && Settings.Publish, 'mutex.diff'    , groupConcurrency, 'Mutual Exclusion Speed-Up')
     209                do_plot(Settings.RunBenchmark && Settings.Publish, 'signal'        , groupConcurrency, 'Internal and External Scheduling')
     210                do_plot(Settings.RunBenchmark && Settings.Publish, 'signal.diff'   , groupConcurrency, 'Internal and External Scheduling Speed-Up')
    211211        }
    212212}
     
    466466}
    467467
    468 def do_plot(boolean new_data, String file, PlotGroup group, boolean relative, String title) {
     468def do_plot(boolean new_data, String file, PlotGroup group, String title) {
    469469
    470470        if(new_data) {
     
    489489                        exclZero: false,
    490490                        keepRecords: false,
    491                         logarithmic: !relative && group.log,
     491                        logarithmic: group.log,
    492492                        numBuilds: '120',
    493493                        useDescr: true,
  • libcfa/src/Makefile.am

    ref22ad6 r2c60af75  
    2626VPATH += :../prelude
    2727
    28 gdbwaittarget=""
    29 
    3028# AM_CFLAGS for all cfa source
    3129# AM_CFAFLAGS for only cfa source
    3230# use -no-include-stdhdr to prevent rebuild cycles
    3331# The built sources must not depend on the installed headers
    34 AM_CFAFLAGS = -quiet -in-tree -I$(srcdir)/stdhdr $(if $(findstring ${gdbwaittarget}, ${@}), -XCFA --gdb)  @CONFIG_CFAFLAGS@
     32AM_CFAFLAGS = -quiet -in-tree -I$(srcdir)/stdhdr @CONFIG_CFAFLAGS@
    3533AM_CFLAGS = -g -Wall -Wno-unused-function -fPIC @ARCH_FLAGS@ @CONFIG_CFLAGS@
    3634AM_CCASFLAGS = -g -Wall -Wno-unused-function @ARCH_FLAGS@ @CONFIG_CFLAGS@
  • libcfa/src/Makefile.in

    ref22ad6 r2c60af75  
    435435am__v_UPP_1 =
    436436lib_LTLIBRARIES = libcfa.la libcfathread.la
    437 gdbwaittarget = ""
    438437
    439438# AM_CFLAGS for all cfa source
     
    441440# use -no-include-stdhdr to prevent rebuild cycles
    442441# The built sources must not depend on the installed headers
    443 AM_CFAFLAGS = -quiet -in-tree -I$(srcdir)/stdhdr $(if $(findstring ${gdbwaittarget}, ${@}), -XCFA --gdb)  @CONFIG_CFAFLAGS@
     442AM_CFAFLAGS = -quiet -in-tree -I$(srcdir)/stdhdr @CONFIG_CFAFLAGS@
    444443AM_CFLAGS = -g -Wall -Wno-unused-function -fPIC @ARCH_FLAGS@ @CONFIG_CFLAGS@
    445444AM_CCASFLAGS = -g -Wall -Wno-unused-function @ARCH_FLAGS@ @CONFIG_CFLAGS@
  • src/ResolvExpr/AlternativeFinder.cc

    ref22ad6 r2c60af75  
    11881188                assert( toType );
    11891189                toType = resolveTypeof( toType, indexer );
    1190                 assert(!dynamic_cast<TypeofType *>(toType));
    11911190                SymTab::validateType( toType, &indexer );
    11921191                adjustExprType( toType, env, indexer );
  • src/SynTree/ApplicationExpr.cc

    ref22ad6 r2c60af75  
    99// Author           : Richard C. Bilson
    1010// Created On       : Mon May 18 07:44:20 2015
    11 // Last Modified By : Andrew Beach
    12 // Last Modified On : Mon Aug 12 14:28:00 2019
    13 // Update Count     : 5
     11// Last Modified By : Rob Schluntz
     12// Last Modified On : Tue Apr 26 12:41:06 2016
     13// Update Count     : 4
    1414//
    1515
     
    7676}
    7777
    78 bool ApplicationExpr::get_lvalue() const {
    79         return result->get_lvalue();
    80 }
    81 
    8278void ApplicationExpr::print( std::ostream &os, Indenter indent ) const {
    8379        os << "Application of" << std::endl << indent+1;
  • src/SynTree/CommaExpr.cc

    ref22ad6 r2c60af75  
    99// Author           : Richard C. Bilson
    1010// Created On       : Mon May 18 07:44:20 2015
    11 // Last Modified By : Andrew Beach
    12 // Last Modified On : Mon Arg 12 16:11:00 2016
    13 // Update Count     : 2
     11// Last Modified By : Rob Schluntz
     12// Last Modified On : Mon May 02 15:19:44 2016
     13// Update Count     : 1
    1414//
    1515
     
    3939}
    4040
    41 bool CommaExpr::get_lvalue() const {
    42         // xxx - as above, shouldn't be an lvalue but that information is used anyways.
    43         return result->get_lvalue();
    44 }
    45 
    4641void CommaExpr::print( std::ostream &os, Indenter indent ) const {
    4742        os << "Comma Expression:" << std::endl;
  • src/SynTree/Expression.cc

    ref22ad6 r2c60af75  
    1010// Created On       : Mon May 18 07:44:20 2015
    1111// Last Modified By : Andrew Beach
    12 // Last Modified On : Thr Aug 15 13:43:00 2019
    13 // Update Count     : 64
     12// Last Modified On : Wed Aug  7 17:03:00 2019
     13// Update Count     : 62
    1414//
    1515
     
    6464
    6565bool Expression::get_lvalue() const {
    66         assert( !result->get_lvalue() );
    67         return false;
     66        return result->get_lvalue();
    6867}
    6968
     
    139138}
    140139
    141 bool VariableExpr::get_lvalue() const {
    142         return result->get_lvalue();
    143 }
    144 
    145140VariableExpr * VariableExpr::functionPointer( FunctionDecl * func ) {
    146141        VariableExpr * funcExpr = new VariableExpr( func );
     
    274269CastExpr::~CastExpr() {
    275270        delete arg;
    276 }
    277 
    278 bool CastExpr::get_lvalue() const {
    279         return result->get_lvalue();
    280271}
    281272
     
    389380        // don't delete the member declaration, since it points somewhere else in the tree
    390381        delete aggregate;
    391 }
    392 
    393 bool MemberExpr::get_lvalue() const {
    394         assert( result->get_lvalue() );
    395         return true;
    396382}
    397383
     
    446432}
    447433
    448 bool UntypedExpr::get_lvalue() const {
    449         return result->get_lvalue();
    450 }
    451434
    452435void UntypedExpr::print( std::ostream & os, Indenter indent ) const {
     
    507490        delete arg2;
    508491        delete arg3;
    509 }
    510 
    511 bool ConditionalExpr::get_lvalue() const {
    512         return result->get_lvalue();
    513492}
    514493
     
    569548}
    570549
    571 bool ConstructorExpr::get_lvalue() const {
    572         return result->get_lvalue();
    573 }
    574 
    575550void ConstructorExpr::print( std::ostream & os, Indenter indent ) const {
    576551        os <<  "Constructor Expression: " << std::endl << indent+1;
     
    590565CompoundLiteralExpr::~CompoundLiteralExpr() {
    591566        delete initializer;
    592 }
    593 
    594 bool CompoundLiteralExpr::get_lvalue() const {
    595         assert( result->get_lvalue() );
    596         return true;
    597567}
    598568
     
    646616                result = new VoidType( Type::Qualifiers() );
    647617        }
    648 }
    649 bool StmtExpr::get_lvalue() const {
    650         return result->get_lvalue();
    651618}
    652619void StmtExpr::print( std::ostream & os, Indenter indent ) const {
  • src/SynTree/Expression.h

    ref22ad6 r2c60af75  
    1010// Created On       : Mon May 18 07:44:20 2015
    1111// Last Modified By : Andrew Beach
    12 // Last Modified On : Thr Aug 15 13:46:00 2019
    13 // Update Count     : 54
     12// Last Modified On : Wed Aug  7 16:56:00 2019
     13// Update Count     : 51
    1414//
    1515
     
    7171        const Type * get_result() const { return result; }
    7272        void set_result( Type * newValue ) { result = newValue; }
    73         virtual bool get_lvalue() const;
     73        bool get_lvalue() const;
    7474
    7575        TypeSubstitution * get_env() const { return env; }
     
    9999        virtual ~ApplicationExpr();
    100100
    101         bool get_lvalue() const final;
    102 
    103101        Expression * get_function() const { return function; }
    104102        void set_function( Expression * newValue ) { function = newValue; }
     
    123121        UntypedExpr( const UntypedExpr & other );
    124122        virtual ~UntypedExpr();
    125 
    126         bool get_lvalue() const final;
    127123
    128124        Expression * get_function() const { return function; }
     
    213209        virtual ~CastExpr();
    214210
    215         bool get_lvalue() const final;
    216 
    217211        Expression * get_arg() const { return arg; }
    218212        void set_arg( Expression * newValue ) { arg = newValue; }
     
    298292        virtual ~MemberExpr();
    299293
    300         bool get_lvalue() const final;
    301 
    302294        DeclarationWithType * get_member() const { return member; }
    303295        void set_member( DeclarationWithType * newValue ) { member = newValue; }
     
    322314        VariableExpr( const VariableExpr & other );
    323315        virtual ~VariableExpr();
    324 
    325         bool get_lvalue() const final;
    326316
    327317        DeclarationWithType * get_var() const { return var; }
     
    511501        virtual ~ConditionalExpr();
    512502
    513         bool get_lvalue() const final;
    514 
    515503        Expression * get_arg1() const { return arg1; }
    516504        void set_arg1( Expression * newValue ) { arg1 = newValue; }
     
    537525        virtual ~CommaExpr();
    538526
    539         bool get_lvalue() const final;
    540 
    541527        Expression * get_arg1() const { return arg1; }
    542528        void set_arg1( Expression * newValue ) { arg1 = newValue; }
     
    625611        ~ConstructorExpr();
    626612
    627         bool get_lvalue() const final;
    628 
    629613        Expression * get_callExpr() const { return callExpr; }
    630614        void set_callExpr( Expression * newValue ) { callExpr = newValue; }
     
    645629        CompoundLiteralExpr( const CompoundLiteralExpr & other );
    646630        virtual ~CompoundLiteralExpr();
    647 
    648         bool get_lvalue() const final;
    649631
    650632        Initializer * get_initializer() const { return initializer; }
     
    705687        virtual ~TupleExpr();
    706688
    707         bool get_lvalue() const final;
    708 
    709689        std::list<Expression*>& get_exprs() { return exprs; }
    710690
     
    725705        TupleIndexExpr( const TupleIndexExpr & other );
    726706        virtual ~TupleIndexExpr();
    727 
    728         bool get_lvalue() const final;
    729707
    730708        Expression * get_tuple() const { return tuple; }
     
    776754        StmtExpr( const StmtExpr & other );
    777755        virtual ~StmtExpr();
    778 
    779         bool get_lvalue() const final;
    780756
    781757        CompoundStmt * get_statements() const { return statements; }
  • src/SynTree/TupleExpr.cc

    ref22ad6 r2c60af75  
    99// Author           : Richard C. Bilson
    1010// Created On       : Mon May 18 07:44:20 2015
    11 // Last Modified By : Andrew Beach
    12 // Last Modified On : Wed Aug 14 14:34:00 2019
    13 // Update Count     : 5
     11// Last Modified By : Peter A. Buhr
     12// Last Modified On : Fri Mar 17 09:42:29 2017
     13// Update Count     : 3
    1414//
    1515
     
    5757}
    5858
    59 bool TupleExpr::get_lvalue() const {
    60         return result->get_lvalue();
    61 }
    62 
    6359void TupleExpr::print( std::ostream &os, Indenter indent ) const {
    6460        os << "Tuple:" << std::endl;
     
    8076TupleIndexExpr::~TupleIndexExpr() {
    8177        delete tuple;
    82 }
    83 
    84 bool TupleIndexExpr::get_lvalue() const {
    85         assert( result->get_lvalue() );
    86         return true;
    8778}
    8879
  • src/main.cc

    ref22ad6 r2c60af75  
    1010// Created On       : Fri May 15 23:12:02 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Fri Aug 23 06:50:08 2019
    13 // Update Count     : 607
     12// Last Modified On : Thu Aug 22 13:06:18 2019
     13// Update Count     : 605
    1414//
    1515
     
    1717#include <execinfo.h>                       // for backtrace, backtrace_symbols
    1818#include <getopt.h>                         // for no_argument, optind, geto...
     19#include <signal.h>                         // for signal, SIGABRT, SIGSEGV
    1920#include <cassert>                          // for assertf
    2021#include <cstdio>                           // for fopen, FILE, fclose, stdin
    2122#include <cstdlib>                          // for exit, free, abort, EXIT_F...
    22 #include <csignal>                         // for signal, SIGABRT, SIGSEGV
    2323#include <cstring>                          // for index
    2424#include <fstream>                          // for ofstream
     
    9696DeclarationNode * parseTree = nullptr;                                  // program parse tree
    9797
    98 static bool waiting_for_gdb = false;                                    // flag to set cfa-cpp to wait for gdb on start
    99 
    10098static std::string PreludeDirector = "";
    10199
     
    169167} // sigAbortHandler
    170168
     169
    171170int main( int argc, char * argv[] ) {
    172171        FILE * input;                                                                           // use FILE rather than istream because yyin is FILE
     
    185184        parse_cmdline( argc, argv );                                            // process command-line arguments
    186185        CodeGen::FixMain::setReplaceMain( !nomainp );
    187 
    188         if ( waiting_for_gdb ) {
    189                 std::cerr << "Waiting for gdb" << std::endl;
    190                 std::cerr << "run :" << std::endl;
    191                 std::cerr << "  gdb attach " << getpid() << std::endl;
    192                 raise(SIGSTOP);
    193         } // if
    194186
    195187        try {
     
    453445        { "statistics", required_argument, nullptr, 'S' },
    454446        { "tree", no_argument, nullptr, 't' },
    455         { "gdb", no_argument, nullptr, 'g' },
    456447        { "", no_argument, nullptr, 0 },                                        // -w
    457448        { "", no_argument, nullptr, 0 },                                        // -W
     
    471462        "<directory> prelude directory for debug/nodebug",      // no flag
    472463        "<option-list> enable profiling information:\n          counters,heap,time,all,none", // -S
    473         "building cfa standard lib",                                                                    // -t
    474         "wait for gdb to attach",                                                                       // -g
     464        "build in tree",                                                                        // -t
    475465        "",                                                                                                     // -w
    476466        "",                                                                                                     // -W
     
    582572                        Stats::parse_params( optarg );
    583573                        break;
    584                   case 't':                                                                             // building cfa stdlib
     574                  case 't':                                                                             // build in tree
    585575                        treep = true;
    586                         break;
    587                   case 'g':                                                                             // wait for gdb
    588                         waiting_for_gdb = true;
    589576                        break;
    590577                  case 'w':                                                                             // suppress all warnings, hidden
  • tests/Makefile.am

    ref22ad6 r2c60af75  
    2222debug=yes
    2323installed=no
    24 archiveerrors=
    2524
    2625INSTALL_FLAGS=-in-tree
     
    5756#----------------------------------------------------------------------------------------------------------------
    5857all-local :
    59         @+${TEST_PY} --debug=${debug}  --install=${installed} --archive-errors=${archiveerrors} ${concurrent} ${timeouts} ${quick_test}
     58        @+${TEST_PY} --debug=${debug}  --install=${installed} ${concurrent} ${timeouts} ${quick_test}
    6059
    6160all-tests :
    62         @+${TEST_PY} --debug=${debug}  --install=${installed} --archive-errors=${archiveerrors} ${concurrent} ${timeouts} --all # '@' => do not echo command (SILENT), '+' => allows recursive make from within python program
     61        @+${TEST_PY} --debug=${debug}  --install=${installed} ${concurrent} ${timeouts} --all # '@' => do not echo command (SILENT), '+' => allows recursive make from within python program
    6362
    6463clean-local :
  • tests/Makefile.in

    ref22ad6 r2c60af75  
    377377debug = yes
    378378installed = no
    379 archiveerrors =
    380379INSTALL_FLAGS = -in-tree
    381380DEBUG_FLAGS = -debug -O0
     
    771770#----------------------------------------------------------------------------------------------------------------
    772771all-local :
    773         @+${TEST_PY} --debug=${debug}  --install=${installed} --archive-errors=${archiveerrors} ${concurrent} ${timeouts} ${quick_test}
     772        @+${TEST_PY} --debug=${debug}  --install=${installed} ${concurrent} ${timeouts} ${quick_test}
    774773
    775774all-tests :
    776         @+${TEST_PY} --debug=${debug}  --install=${installed} --archive-errors=${archiveerrors} ${concurrent} ${timeouts} --all # '@' => do not echo command (SILENT), '+' => allows recursive make from within python program
     775        @+${TEST_PY} --debug=${debug}  --install=${installed} ${concurrent} ${timeouts} --all # '@' => do not echo command (SILENT), '+' => allows recursive make from within python program
    777776
    778777clean-local :
  • tests/pybin/settings.py

    ref22ad6 r2c60af75  
    44from . import tools
    55
    6 global original_path
    7 
    86try :
    9         original_path = os.getcwd()
    107        testpath = os.path.dirname(os.path.abspath(os.path.join(os.getcwd(), sys.argv[0])))
    118        sys.path.append(testpath)
     
    116113        global timeout
    117114        global output_width
    118         global archive
    119115
    120116        dry_run      = options.dry_run
     
    126122        timeout      = Timeouts(options.timeout, options.global_timeout)
    127123        output_width = 24
    128         archive      = os.path.abspath(os.path.join(original_path, options.archive_errors)) if options.archive_errors else None
    129124
    130125
  • tests/pybin/tools.py

    ref22ad6 r2c60af75  
    22import argparse
    33import contextlib
    4 import datetime
    54import fileinput
    65import multiprocessing
     
    274273################################################################################
    275274
    276 def pretty_now():
    277         ts = time.time()
    278         print(ts, file=sys.stderr)
    279         return datetime.datetime.fromtimestamp(ts).strftime('%Y-%m-%d_%H:%M:%S')
    280 
    281275# check if arguments is yes or no
    282276def yes_no(string):
     
    310304        return sh('gdb', '-n', path, core, '-batch', '-x', cmd, output=subprocess.PIPE)
    311305
    312 def core_archive(dst, name, exe):
    313         # Get the files to copy
    314         core = os.path.join(os.getcwd(), "core" )
    315 
    316         # Uncomment if we want timestamps on coredumps
    317         # dst  = os.path.join(dst, "%s_%s" % (name, pretty_now()))
    318 
    319         # make a directory for this test
    320         mkdir(os.path.join(dst, "dir"))
    321 
    322         # moves the files
    323         mv( core, os.path.join(dst, "core" ) )
    324         mv( exe , os.path.join(dst, name   ) )
    325 
    326         # return explanatory test
    327         return "Archiving %s (executable and core) to %s" % (os.path.relpath(exe, settings.BUILDDIR), os.path.relpath(dst, settings.original_path))
    328 
    329306class Timed:
    330307    def __enter__(self):
  • tests/test.py

    ref22ad6 r2c60af75  
    9191        parser.add_argument('--all', help='Run all test available', action='store_true')
    9292        parser.add_argument('--regenerate-expected', help='Regenerate the .expect by running the specified tets, can be used with --all option', action='store_true')
    93         parser.add_argument('--archive-errors', help='If called with a valid path, on test crashes the test script will copy the core dump and the executable to the specified path.', type=str, default='')
    9493        parser.add_argument('-j', '--jobs', help='Number of tests to run simultaneously', type=int)
    9594        parser.add_argument('--list-comp', help='List all valide arguments', action='store_true')
     
    180179                        error = error + info if error else info
    181180
    182                         if settings.archive:
    183                                 error = error + '\n' + core_archive(settings.archive, test.target(), exe_file)
    184 
    185181
    186182
     
    299295        # users may want to simply list the tests
    300296        if options.list_comp :
    301                 print("-h --help --debug --dry-run --list --arch --all --regenerate-expected --archive-errors --install --timeout --global-timeout -j --jobs ", end='')
     297                print("-h --help --debug --dry-run --list --arch --all --regenerate-expected --install --timeout --global-timeout -j --jobs ", end='')
    302298                print(" ".join(map(lambda t: "%s" % (t.target()), tests)))
    303299
Note: See TracChangeset for help on using the changeset viewer.