Additional annotations for 'all' and various other graphs

git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@23512 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Updating the other versions of spectral-norm so that their size specifier
matches that of the release version.  Also moved the work of the "spectralnorm"
method into the main method, as main was trivial otherwise.



git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@23513 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Using a dynamic iterator

git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@23514 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Add mandelbrot failure on mac to REGRESSIONS.

git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@23515 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
--fast tests fixed by r23511.

Several --fast tests that began failing with gcc 4.7 are now fixed. This removes the entries from REGRESSIONS.

git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@23516 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Add note about lulesh timeout to TRIAGE.

git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@23517 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Add timeouts and failure from cray PrgEnv testing to test/TRIAGE.

git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@23518 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Extensions to code for tracking the time spent within the compiler


1) Introduced a new class PhaseTracker which collects the time
stamp at selected points during the execution of the compiler.


The PhaseTracker collects timestamps for calls to either of

  void StartPhase(const char* phaseName);
  void StartPhase(const char* passName, SubPhase subPhase);

are made.  The former is used outside runpasses() and the latter
is used at several points during a single call to runpass().


If the user adds either --print-passes or --print-passes-file on
the command line the PhaseTracker will emit a message at
the end of each phase, and then a more detailed pair of reports
at the end of the run.






2) Inserted a single PhaseTracker immediately after main() in driver.cpp
and collect the results just before clean_exit()

Defined a new "phase" immediately before the driver starts the
initialization phase and immediately after the return from runpasses.




3) Pulled out the old, and slighly clumsy, code for tracking time in
runpasses/runpass and replaced it with calls to the PhaseTracker.



4) If --print-passes or --print-passes-file is added to the command line
then the PhaseTracker will print the same output as these flags do today
but will also generate two new reports:

   a) A report with the time for every subphase or every pass sorted by
   pass.  This report also shows the percentage of the total time spent
   in that pass and the running total of these percentages.

   b) A similar report to (a) but sorted by the duration of each pass 
   with the slowest passes reported first.



5) Moved the declarations for printPasses and printPassesFile from 
runpasses.{h,cpp} to driver.{h,cpp}




The goal of offering more detailed information surfaced last week during
friendly discussion regarding the portion of time spent by various phases.
The new reports make it easy to track this.

The goal of ensuring that we capture all time from the entry to main()
to the call to clean_exit() arose from a recent regression that appears
to have caused setupOrderedGlobals() to become the second slowest
"pass" for simple Chapel programs and that may also be adding overhead
to makeBinary.  The production print-passes highlights the additional
time taken in makeBinary but did not reveal the new overhead in during
initialization.  This wasn't full appreciated until we ran "time chpl ..."
and compared the wall time with the reported time.


Compiled:  STD with clang on Mac and STD/LLVM with gcc on chap01

Tested:    Multiple runs on several small programs
           Paratest
           Elliot tested against the new output when commiting his
           patch for the nightly performance reporting

Reviewed:  Elliot




git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@23519 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Update compiler performance testing do to pass timing changes in r23519

[reviewed by mike]

r23519 Changed the behavior of --print-passes to also include init time in the
compiler and driverCleanup. It also removed time between passes and added this
time to each individual pass.

This updates the compiler performance testing to reflect these changes in the
.graph files, perfkeys and the prediff for the test that checks if the passes
have changed.

I will also make the corresponding changes in the .dat files for the nightly
performance testing.

Also fixed svn add in nightly to add new .dat files since I blew away the old
.dat files for chap08 and chap


git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@23520 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Adding a version that uses unrolling like the java entry

git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@23521 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Replace bool fields in Symbol classes with flags.

In the ArgSymbol class, replaced the bool fields instantiatedParam and
markedGeneric with FLAG_INSTANTIATED_PARAM and FLAG_MARKED_GENERIC,
repectively.  In the TypeSymbol class, replaced the bool field codegenned with
FLAG_CODEGENNED.

In flags_list.h, restored the alphabetization of some nearby flags.

[tested on / (--verify)]
[reviewed by noakes]


git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@23522 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Add --syspreexec support to start_test and sub_test scripts.

Turns out sub_test was not writing the compiler output to the exec log before
running preexec. That issue is also fixed with this commit.

r: eronaghan

git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@23523 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Update mac build scripts to use system preexec script instead of prediff.

Also, rename prediff-for-old-macs to preexec-for-old-macs

r: eronaghan

git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@23524 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Add back some timeouts I previously removed

r23510 removed timeouts for distributions/dm/t5a and
release/examples/benchmarks/ssca2/SSCA_main among others. These tests time out
compilation for PrgEnv-cray so I'm adding the timeouts back. The good news is
the timeouts are less than they used to be (500 seconds vs the previous 1800
for SSCA and 600 for t5a.) I also added notes in the timeouts to note why they
are there in hopes of removing them in future when compilation times get
better.


git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@23527 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Remove some more timeout files

[ok'd by perf team]

This continues a general cleaning up of the timeout files in the testing
directory. The primary reason is to get tests that actually require the timeout
down to under the default timeout to decrease testing time.

All of these tests currently appear to finish well under their timeouts so the
timeouts are being removed. Some of these were previously performance tests so
they might have taken longer, but overall I think compilation time/execution
time has decreased substantially for some tests in the last year or so that the
timeouts aren't needed anymore.

There's ~5 tests that still have timeouts 4 of which have known reasons (and
another 7 that have timeouts smaller than the default, which we are going to
leave in.)

Removed files and associated timeouts are:
  2000 - release/examples/benchmarks/hpcc/variants/TIMEOUT
  2000 - studies/hpcc/CommDiags/TIMEOUT
  600  - release/examples/benchmarks/miniMD/PERFTIMEOUT
  600  - release/examples/benchmarks/miniMD/explicit/PERFTIMEOUT

It's possible they might time out under some configurations and in particular
may time out compilation with the cray compiler. In such a case I can look into
the cause and at the very least put back in a much smaller timeout with a note
indicating why it is there.


git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@23528 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Correctly initialize all member variables; oversight highlighted by Coverity

I failed to initialize one of the member variables in an internal class
used by the new PhaseTracker.  Although this variable was in fact written
before it was read, it is good to assure that the instances are internally
consistent.

Compiled:  STD on clang
Tested:    Generated timeing information of Sequential Triad
Reviewed:  Elliot




git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@23529 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Update endCountTest/taskCount

The fork counts in these two tests (same source, taskCount uses
endCountTest) are racy by nature, so I changed the tests to be a
little less sensitive to false negatives in matching the .bad file and
also to print only the comm counts we care about to make maintaining
them a little easier.

For taskCount, we don't actually care about the number of forks, so
just print out the number of gets and puts, which is deterministic.
For endCountTest, we only print out the fork counts but also remove
the .bad file.

- changed endCountTest.chpl to enable selective printing of comm
  counts
- added compopts for both tests to enable the appropriate printing
- updated .good and .bad files as needed



git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@23530 3a8e244f-b0f2-452b-bcba-4c88e055c3ca