With all the bug fixes going in -- you guys are going to make this the 
best triage week ever!

-Brad


On Tue, 16 Sep 2014, mppf wrote:

>  Branch: refs/heads/master
>  Home:   https://github.com/chapel-lang/chapel
>  Commit: 3c237579c4200a7fd326e0ab8403e68a42f9d321
>      
> https://github.com/chapel-lang/chapel/commit/3c237579c4200a7fd326e0ab8403e68a42f9d321
>  Author: Michael Ferguson <[email protected]>
>  Date:   2014-09-11 (Thu, 11 Sep 2014)
>
>  Changed paths:
>    M compiler/AST/expr.cpp
>    M compiler/include/llvmUtil.h
>    M compiler/util/llvmUtil.cpp
>
>  Log Message:
>  -----------
>  Fix problems with LLVM compilation
>
> - extern functions with by-value structures
> - extern functions with tuples
>
>
>  Commit: 6eebdfea37befc7522d4dbc866d638e5c2850ec6
>      
> https://github.com/chapel-lang/chapel/commit/6eebdfea37befc7522d4dbc866d638e5c2850ec6
>  Author: Michael Ferguson <[email protected]>
>  Date:   2014-09-11 (Thu, 11 Sep 2014)
>
>  Changed paths:
>    A test/extern/ferguson/crazyRecord.chpl
>    A test/extern/ferguson/crazyRecord.compopts
>    A test/extern/ferguson/crazyRecord.good
>    A test/extern/ferguson/crazyRecord.h
>
>  Log Message:
>  -----------
>  Add test case for extern record byval
>
>
>  Commit: 612a6452a9e03c71a2a8813471fdc059a30dcaa2
>      
> https://github.com/chapel-lang/chapel/commit/612a6452a9e03c71a2a8813471fdc059a30dcaa2
>  Author: Michael Ferguson <[email protected]>
>  Date:   2014-09-11 (Thu, 11 Sep 2014)
>
>  Changed paths:
>    M runtime/include/chpldirent.h
>    M runtime/include/chplglob.h
>    M test/studies/glob/globhelp.h
>
>  Log Message:
>  -----------
>  Migrate #defines to static inline to work with LLVM
>
> The LLVM backend can't handle using macros that
> are complicated, so we use static inline functions
> instead. One day it will work with macros...
>
>
>  Commit: a660fd67ce96613325a94cc4caa5d11462b18f5c
>      
> https://github.com/chapel-lang/chapel/commit/a660fd67ce96613325a94cc4caa5d11462b18f5c
>  Author: Michael Ferguson <[email protected]>
>  Date:   2014-09-11 (Thu, 11 Sep 2014)
>
>  Changed paths:
>    A test/compflags/shannon/cpplines/cppLines.skipif
>    M test/execflags/sungeun/about.skipif
>    A test/statements/diten/op_equals_using_C_primitive.skipif
>
>  Log Message:
>  -----------
>  Add skipifs for tests relying on C backend
>
>
>  Commit: e233304ca88f392ff81165883516e52d54f55af2
>      
> https://github.com/chapel-lang/chapel/commit/e233304ca88f392ff81165883516e52d54f55af2
>  Author: Michael Ferguson <[email protected]>
>  Date:   2014-09-11 (Thu, 11 Sep 2014)
>
>  Changed paths:
>    M modules/dists/CyclicDist.chpl
>    A test/distributions/bharshbarg/subQuery.chpl
>    A test/distributions/bharshbarg/subQuery.good
>    A test/distributions/bharshbarg/subQuery.numlocales
>    M test/functions/deitz/iterators/test_var_iterator5_error.good
>    M test/memory/shannon/printFinalMemStat.lm-numa.good
>    A test/parallel/cobegin/deitz/test_big_recursive_cobegin.execenv
>    M test/parallel/taskPool/figueroa/ManyThreads.execenv
>    A test/release/examples/benchmarks/lulesh/PREDIFF
>    R test/release/examples/benchmarks/lulesh/test3DLulesh.prediff
>    M util/quickstart/setchplenv.bash
>    M util/quickstart/setchplenv.csh
>    M util/quickstart/setchplenv.fish
>    M util/quickstart/setchplenv.sh
>
>  Log Message:
>  -----------
>  Merge remote-tracking branch 'upstream/master' into llvm-fixes-6
>
>
>  Commit: 01b927446683e64bdca2ce66054a212d2e7b225a
>      
> https://github.com/chapel-lang/chapel/commit/01b927446683e64bdca2ce66054a212d2e7b225a
>  Author: Michael Ferguson <[email protected]>
>  Date:   2014-09-11 (Thu, 11 Sep 2014)
>
>  Changed paths:
>    M compiler/AST/expr.cpp
>
>  Log Message:
>  -----------
>  Add some (debugging) asserts for LLVM
>
>
>  Commit: 04bab3b5d22f4239a07c647177fe4a1cd25c45aa
>      
> https://github.com/chapel-lang/chapel/commit/04bab3b5d22f4239a07c647177fe4a1cd25c45aa
>  Author: Michael Ferguson <[email protected]>
>  Date:   2014-09-11 (Thu, 11 Sep 2014)
>
>  Changed paths:
>    M compiler/util/llvmUtil.cpp
>
>  Log Message:
>  -----------
>  Fix problem with convertValueToType force
>
> I had gone too far in making it more conservative...
>
>
>  Commit: d4cd91d553d507a27d3a0a6a119513f6a5a2ec4f
>      
> https://github.com/chapel-lang/chapel/commit/d4cd91d553d507a27d3a0a6a119513f6a5a2ec4f
>  Author: Michael Ferguson <[email protected]>
>  Date:   2014-09-12 (Fri, 12 Sep 2014)
>
>  Changed paths:
>    M compiler/AST/symbol.cpp
>
>  Log Message:
>  -----------
>  Temporary workaround for --llvm errors about S_IRWXU
>
> Here we just disable the error... You'll get a different
> error if we try to use these.
>
>
>  Commit: 6d86b293ce0c6001aaaffc780d4a0b2cac56e340
>      
> https://github.com/chapel-lang/chapel/commit/6d86b293ce0c6001aaaffc780d4a0b2cac56e340
>  Author: Michael Ferguson <[email protected]>
>  Date:   2014-09-16 (Tue, 16 Sep 2014)
>
>  Changed paths:
>    M Makefile
>    M compiler/AST/build.cpp
>    M compiler/include/astutil.h
>    M compiler/include/flags_list.h
>    M compiler/include/passes.h
>    M compiler/main/checks.cpp
>    M compiler/resolution/functionResolution.cpp
>    M compiler/resolution/lowerIterators.cpp
>    M doc/release/README.chplenv
>    M doc/release/technotes/README.knc
>    M make/Makefile.base
>    M modules/internal/ChapelArray.chpl
>    M modules/internal/ChapelRange.chpl
>    M modules/internal/DefaultRectangular.chpl
>    M modules/internal/localeModels/flat/LocaleModel.chpl
>    M modules/internal/localeModels/numa/LocaleModel.chpl
>    M modules/standard/IO.chpl
>    A runtime/etc/Makefile.mem-cstdlib
>    R runtime/etc/Makefile.mem-default
>    M runtime/include/chpldirent.h
>    M runtime/include/chplsys.h
>    A runtime/include/mem/cstdlib/chpl-mem-impl.h
>    R runtime/include/mem/default/chpl-mem-impl.h
>    M runtime/include/sys_basic.h
>    M runtime/src/chpl-tasks.c
>    M runtime/src/chplsys.c
>    A runtime/src/mem/cstdlib/Makefile
>    A runtime/src/mem/cstdlib/Makefile.include
>    A runtime/src/mem/cstdlib/Makefile.share
>    A runtime/src/mem/cstdlib/mem-cstdlib.c
>    R runtime/src/mem/default/Makefile
>    R runtime/src/mem/default/Makefile.include
>    R runtime/src/mem/default/Makefile.share
>    R runtime/src/mem/default/mem-default.c
>    M runtime/src/qio/qio.c
>    M runtime/src/tasks/fifo/tasks-fifo.c
>    M runtime/src/tasks/massivethreads/tasks-massivethreads.c
>    M test/ANNOTATIONS.yaml
>    M test/REGRESSIONS
>    M test/TRIAGE
>    M test/associative/bharshbarg/domains/opEquals.chpl
>    M test/associative/bharshbarg/domains/opEquals.good
>    M 
> test/classes/bradc/arrayInClass/genericArrayInClass-otharrs-inline-iterators.bad
>    A 
> test/classes/bradc/arrayInClass/genericArrayInClass-otharrs-inline-iterators.prediff
>    M test/classes/hilde/explainInstantiation.good
>    M test/distributions/deitz/test_distribution_syntax2.bad
>    M test/distributions/dm/t2.chpl
>    M test/distributions/dm/t2.comm-none.good
>    M test/distributions/dm/t2.good
>    M test/distributions/dm/t8.chpl
>    M test/distributions/dm/t8.comm-none.good
>    M test/distributions/dm/t8.good
>    M test/functions/deitz/iterators/test_var_iterator5_error.good
>    R test/memory/vass/memleak-array-of-records-1.future
>    M test/parallel/cobegin/deitz/test_big_recursive_cobegin.execenv
>    R test/performance/hilde/coforallOnByRef.bad
>    R test/performance/hilde/coforallOnByRef.future
>    R test/performance/hilde/userSync.bad
>    R test/performance/hilde/userSync.future
>    M test/release/examples/benchmarks/lulesh/PREDIFF
>    A test/runtime/gbt/numThreadsSymbolicLogical.chpl
>    A test/runtime/gbt/numThreadsSymbolicLogical.cleanfiles
>    A test/runtime/gbt/numThreadsSymbolicLogical.execenv
>    A test/runtime/gbt/numThreadsSymbolicLogical.prediff
>    A test/runtime/gbt/numThreadsSymbolicLogical.skipif
>    A test/runtime/gbt/numThreadsSymbolicPhysical.chpl
>    A test/runtime/gbt/numThreadsSymbolicPhysical.cleanfiles
>    A test/runtime/gbt/numThreadsSymbolicPhysical.execenv
>    A test/runtime/gbt/numThreadsSymbolicPhysical.prediff
>    A test/runtime/gbt/numThreadsSymbolicPhysical.skipif
>    R test/statements/bradc/loops/modifyIndices.bad
>    R test/statements/bradc/loops/modifyIndices.future
>    A test/studies/590o/telmas/NOTEST
>    R test/studies/590o/telmas/dpll.future
>    M test/studies/filerator/walk.execopts
>    M test/studies/glob/Glob.chpl
>    M test/studies/glob/test_glob.chpl
>    A test/studies/madness/aniruddha/madchap/recordBug/test_likepy.bad
>    A test/studies/madness/aniruddha/madchap/recordBug/test_likepy.future
>    M test/studies/parboil/histo/histoSerial.chpl
>    M test/studies/shootout/fannkuch-redux/bradc/fannkuch-redux-blc.chpl
>    A test/trivial/deitz/test_max_range_iteration.compopts
>    R test/trivial/deitz/test_max_range_iteration.good
>    A test/trivial/deitz/test_max_range_iteration.optimized.bounds-checks.good
>    A 
> test/trivial/deitz/test_max_range_iteration.optimized.no-bounds-checks.good
>    A test/trivial/deitz/test_max_range_iteration.unoptimized.good
>    M test/types/atomic/ferguson/atomictest.chpl
>    M test/types/range/bradc/bigStride.chpl
>    M test/types/range/bradc/bigStride.good
>    A test/types/range/elliot/optimizedRangeItersChecks.good
>    A test/types/range/elliot/optimizedRangeItersNoChecks.good
>    A test/types/range/elliot/test_min_and_max_range_iteration.chpl
>    A test/types/range/elliot/test_min_and_max_range_iteration.compopts
>    A test/types/range/elliot/test_min_and_max_range_iteration.execopts
>    A test/types/range/elliot/unoptimizedRangeIters.good
>    A test/types/range/hilde/maximalRange.bounds.good
>    M test/types/range/hilde/maximalRange.chpl
>    M test/types/range/hilde/maximalRange.compopts
>    R test/types/range/hilde/maximalRange.good
>    A test/types/range/hilde/maximalRange.no-bounds.good
>    M test/users/ferguson/err_tmp.chpl
>    R test/users/ferguson/err_tmp.future
>    A test/users/ferguson/histogram/reductionex_class.bad
>    A test/users/ferguson/histogram/reductionex_record.bad
>    A test/users/ferguson/int32method.bad
>    A test/users/ferguson/module_new.bad
>    M test/users/ferguson/override_overload.future
>    A test/users/vass/isX/README
>    A test/users/vass/isX/isX.module-writeln.bad
>    A test/users/vass/isX/isX.module-writeln.chpl
>    A test/users/vass/isX/isX.module-writeln.future
>    A test/users/vass/isX/isX.module-writeln.good
>    A test/users/vass/isX/src/isX.module-writeln.decls-chpl
>    A test/users/vass/isX/src/isX.module-writeln.gen
>    A test/users/vass/isX/src/isX.module-writeln.py
>    M test/variables/kbrady/ref-in-tuple.future
>    M third-party/qthread/qthread-1.10/src/interfaces/chapel/tasks-qthreads.c
>    M third-party/re2/Makefile
>    M util/README
>    M util/buildRelease/gen_release
>    M util/buildRelease/smokeTest
>    A util/build_configs.py
>    M util/chplenv/chpl_mem.py
>    M util/chplenv/chpl_regexp.py
>    M util/cron/nightly
>    A util/cron/test-linux64-llvm-default.bash
>    M util/quickstart/setchplenv.bash
>    M util/quickstart/setchplenv.csh
>    M util/quickstart/setchplenv.fish
>    M util/quickstart/setchplenv.sh
>    R util/update-sources
>
>  Log Message:
>  -----------
>  Merge remote-tracking branch 'upstream/master' into llvm-fixes-6
>
>
>  Commit: 1f3bae07ab7940e3776a38e81b555c6f955f2943
>      
> https://github.com/chapel-lang/chapel/commit/1f3bae07ab7940e3776a38e81b555c6f955f2943
>  Author: Michael Ferguson <[email protected]>
>  Date:   2014-09-16 (Tue, 16 Sep 2014)
>
>  Changed paths:
>    M compiler/AST/expr.cpp
>
>  Log Message:
>  -----------
>  back out useless change swapping if
>
>
>  Commit: 4d6080ca46150eee592f4f701307d5d478cacc7a
>      
> https://github.com/chapel-lang/chapel/commit/4d6080ca46150eee592f4f701307d5d478cacc7a
>  Author: Michael Ferguson <[email protected]>
>  Date:   2014-09-16 (Tue, 16 Sep 2014)
>
>  Changed paths:
>    M compiler/util/llvmUtil.cpp
>
>  Log Message:
>  -----------
>  add comments
>
>
>  Commit: 9f3fe61a31161ca6c396cc09612af8f426b78589
>      
> https://github.com/chapel-lang/chapel/commit/9f3fe61a31161ca6c396cc09612af8f426b78589
>  Author: Michael Ferguson <[email protected]>
>  Date:   2014-09-16 (Tue, 16 Sep 2014)
>
>  Changed paths:
>    M test/extern/ferguson/crazyRecord.chpl
>    M test/extern/ferguson/crazyRecord.h
>
>  Log Message:
>  -----------
>  add comments, remove extra newline at end
>
>
>  Commit: 3388f5c182c21ac518105aa86c81087ec13c4004
>      
> https://github.com/chapel-lang/chapel/commit/3388f5c182c21ac518105aa86c81087ec13c4004
>  Author: Michael Ferguson <[email protected]>
>  Date:   2014-09-16 (Tue, 16 Sep 2014)
>
>  Changed paths:
>    M compiler/include/map.h
>    M compiler/optimizations/inlineFunctions.cpp
>    M compiler/resolution/functionResolution.cpp
>    M test/domains/sungeun/assoc/index_not_in_domain_1.good
>    M util/cron/common-knc.bash
>    M util/cron/common-whitebox.bash
>    M util/cron/common.bash
>
>  Log Message:
>  -----------
>  Merge remote-tracking branch 'upstream/master' into llvm-fixes-6
>
>
>  Commit: 2f8880afc36b2476b73daaa8748b81a23eaa2ce2
>      
> https://github.com/chapel-lang/chapel/commit/2f8880afc36b2476b73daaa8748b81a23eaa2ce2
>  Author: mppf <[email protected]>
>  Date:   2014-09-16 (Tue, 16 Sep 2014)
>
>  Changed paths:
>    M compiler/AST/expr.cpp
>    M compiler/AST/symbol.cpp
>    M compiler/include/llvmUtil.h
>    M compiler/util/llvmUtil.cpp
>    M runtime/include/chpldirent.h
>    M runtime/include/chplglob.h
>    A test/compflags/shannon/cpplines/cppLines.skipif
>    M test/execflags/sungeun/about.skipif
>    A test/extern/ferguson/crazyRecord.chpl
>    A test/extern/ferguson/crazyRecord.compopts
>    A test/extern/ferguson/crazyRecord.good
>    A test/extern/ferguson/crazyRecord.h
>    A test/statements/diten/op_equals_using_C_primitive.skipif
>    M test/studies/glob/globhelp.h
>
>  Log Message:
>  -----------
>  Merge pull request #399 from mppf/llvm-fixes-6
>
> Bug fixes for LLVM back-end
>
> Address a number of problems with the LLVM backend discovered
> in more thorough testing.
>
> All tests were printing out errors like
> $CHPL_HOME/modules/standard/IO.chpl:759: warning: Could not find extern
> def of S_IRWXU
> I've disabled this warning for now (so we can have more sane testing),
> but that's not the best long-term solution (see below).
>
> These tests rely on C backend functionality and gained a skipif:
> compflags/shannon/cpplines/cppLines
> statements/diten/op_equals_using_C_primitive
> execflags/sungeun/about
>
> These tests were failing because of a bug in how the LLVM backend
> handled calling functions compiled by clang that pass structures
> in registers or return structures in registers. I've fixed those bugs
> by reworking that section of code.
> extern/bradc/structs/externFloat4calls
> extern/bradc/structs/externFloat4calls.someFields
> I also added a new test to stress these capabilities:
> extern/ferguson/crazyRecord
>
> This test was failing because the LLVM backend tried to pass a homogenous
> tuple by value (instead of by pointer) to an extern function.
> users/ferguson/tuple_to_extern
> Because Chapel passes them by pointer and C always will (e.g. int arr[10] as
> an argument will pass a single pointer, and not 10 values, as function
> arguments), I've modified codegenValue to keep star tuples/homogenous tuples
> as pointers with isLVPtr set. (I investigating making them have isLVPtr=value
> but that messed up other logic to do with copying them...). Since
> codegenValue never really produces the value anymore, I needed to modify
> codegenCopy to always use memcpy for star tuples.
>
> These tests used #defines when a static inline function would do. That's
> a problem because the LLVM backend doesn't support complicated extern
> #defines (see below remaining issues).
> studies/filerator/findfiles
> studies/filerator/walk
> studies/filerator/globberator
> studies/glob/test_glob
> I changed the #defines to static inline functions.
>
> Remaining Issues:
> link/sungeun/static_dynamic does not work with --llvm
> S_IRWXU and friends won't work unless we:
>
>    manually add a wrapper
>    support math directly when handling macros
>    or, add some kind of macro-to-function feature.
>
> Testing:
> All tests pass with -compopts --llvm except for
>
> [Error matching compiler output for link/sungeun/static_dynamic (compopts: 1)]
> [Error matching compiler output for link/sungeun/static_dynamic (compopts: 2)]
> [Error matching compiler output for link/sungeun/static_dynamic (compopts: 3)]
>
> [Error matching compiler output for 
> modules/standard/gmp/ferguson/gmp_dist_array]
> [Error matching compiler output for modules/standard/gmp/ferguson/gmp_random]
> [Error matching compiler output for modules/standard/gmp/ferguson/gmp_test]
> [Error matching compiler output for modules/standard/gmp/ferguson/gmp_writeln]
> [Error matching compiler output for 
> modules/standard/gmp/studies/gmp-chudnovsky (compopts: 1)]
> [Error matching compiler output for 
> modules/standard/gmp/studies/gmp-simple-long-inout]
> [Error matching compiler output for 
> release/examples/benchmarks/shootout/pidigits]
> [Error matching compiler output for 
> studies/shootout/pidigits/bradc/pidigits-blc]
> [Error matching compiler output for 
> studies/shootout/pidigits/bradc/pidigits-iter]
> [Error matching compiler output for 
> studies/shootout/pidigits/bradc/pidigits-ledrug]
> [Error matching compiler output for 
> studies/shootout/pidigits/bradc/pidigits-ledrug-pretty]
> [Error matching compiler output for 
> studies/shootout/pidigits/bradc/pidigits-pretty1]
> [Error matching compiler output for 
> studies/shootout/pidigits/hilde/pidigits-hilde]
> [Error matching program output for 
> domains/sungeun/assoc/index_not_in_domain_1 (compopts: 1)]
> [Error matching program output for 
> domains/sungeun/assoc/index_not_in_domain_1 (compopts: 2)]
> [Error matching program output for io/fsouza/chown/permission_error]
>
> I'm leaving static_dynamic as future work and the and permission_error fails 
> for
> me in C backend testing. Note that GMP is not working with LLVM since
> GMP 6 uses #defines to declare *all* functions. Future work.
>
>
> Compare: 
> https://github.com/chapel-lang/chapel/compare/966de3a75c4f...2f8880afc36b

------------------------------------------------------------------------------
Want excitement?
Manually upgrade your production database.
When you want reliability, choose Perforce.
Perforce version control. Predictably reliable.
http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk
_______________________________________________
Chapel-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/chapel-developers

Reply via email to