summaryrefslogtreecommitdiff
path: root/testsuite/tests/codeGen
Commit message (Collapse)AuthorAgeFilesLines
* Simplify .gitignore filesHerbert Valerio Riedel2014-06-281-11/+0
| | | | | | | | | It's a bit confusing to have .gitignore files spread all over the filesystem. This commit tries to consolidate those into one .gitignore file per component. Moreover, we try to describe files to be ignored which happen to have a common identifying pattern by glob patterns. Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
* Fix discarding of unreachable code in the register allocator (#9155)Simon Marlow2014-06-062-0/+31
| | | | | | | A previous fix to this was wrong: f5879acd018494b84233f26fba828ce376d0f81d and left some unreachable code behind. So rather than try to be clever and do this at the same time as the strongly-connected-component analysis, I'm doing a separate reachability pass first.
* Add .gitignore for autogenerated test files.Edward Z. Yang2014-05-291-0/+11
| | | | | | | | I used this shell command to automatically generate the lists: for i in `git ls-files -o --exclude-standard --directory`; do echo "`basename $i`" >> "`dirname "$i"`/.gitignore"; done Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
* Add missing stack checks to stg_ap_* functions (#9001)Simon Marlow2014-05-143-0/+10
|
* testsuite: fix cgrun051 exit codeAustin Seipp2014-05-091-1/+1
| | | | Signed-off-by: Austin Seipp <austin@well-typed.com>
* Remove external coreAustin Seipp2014-05-031-3/+1
| | | | Signed-off-by: Austin Seipp <austin@well-typed.com>
* Normalize GHC Trac URLsHerbert Valerio Riedel2014-04-191-1/+1
| | | | | | | | | | | | | | Update several old http://hackage.haskell.org/trac/ghc URLs references to the current http://ghc.haskell.org/trac/ghc URLs. Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
* CopySmallArrayStressTest needs randomJoachim Breitner2014-03-291-1/+1
|
* Add SmallArray# and SmallMutableArray# typesJohan Tibell2014-03-297-0/+752
| | | | | | | | | | | | | | | These array types are smaller than Array# and MutableArray# and are faster when the array size is small, as they don't have the overhead of a card table. Having no card table reduces the closure size with 2 words in the typical small array case and leads to less work when updating or GC:ing the array. Reduces both the runtime and memory allocation by 8.8% on my insert benchmark for the HashMap type in the unordered-containers package, which makes use of lots of small arrays. With tuned GC settings (i.e. `+RTS -A6M`) the runtime reduction is 15%. Fixes #8923.
* Add flags to control memcpy and memset inliningJohan Tibell2014-03-263-0/+24
| | | | | | | This adds -fmax-inline-memcpy-insns and -fmax-inline-memset-insns. These flags control when we inline calls to memcpy/memset with statically known arguments. The flag naming style is taken from GCC and the same limit is used by both GCC and LLVM.
* Enable popcnt test now when segfault is fixedJohan Tibell2014-03-221-1/+1
| | | | The fix was to ghc-prim.
* codeGen: inline allocation optimization for clone array primopsJohan Tibell2014-03-222-4/+83
| | | | | | | | | | | | | | | | | | | | | | | | The inline allocation version is 69% faster than the out-of-line version, when cloning an array of 16 unit elements on a 64-bit machine. Comparing the new and the old primop implementations isn't straightforward. The old version had a missing heap check that I discovered during the development of the new version. Comparing the old and the new version would requiring fixing the old version, which in turn means reimplementing the equivalent of MAYBE_CG in StgCmmPrim. The inline allocation threshold is configurable via -fmax-inline-alloc-size which gives the maximum array size, in bytes, to allocate inline. The size does not include the closure header size. Allowing the same primop to be either inline or out-of-line has some implication for how we lay out heap checks. We always place a heap check around out-of-line primops, as they may allocate outside of our knowledge. However, for the inline primops we only allow allocation via the standard means (i.e. virtHp). Since the clone primops might be either inline or out-of-line the heap check layout code now consults shouldInlinePrimOp to know whether a primop will be inlined.
* codeGen: allocate small byte arrays of statically known size inlineJohan Tibell2014-03-143-0/+54
| | | | | | | This results in a 57% runtime decrease when allocating an array of 128 bytes on a 64-bit machine. Fixes #8876.
* Validate computed sums in inline array allocation testJohan Tibell2014-03-111-1/+4
|
* Add test for inline array allocationJohan Tibell2014-03-113-0/+89
|
* T8256 needs vectorJoachim Breitner2014-02-081-1/+1
|
* Add test for T6084Simon Marlow2013-11-283-0/+32
|
* Update test-suite for new `array-0.5.0.0`Herbert Valerio Riedel2013-10-111-0/+1
|
* accept cgrun057(prof)Simon Marlow2013-10-111-3/+2
|
* Add tests for prefetch primops (#8256)Austin Seipp2013-10-013-0/+50
| | | | | Authored-by: Carter Tazio Schonwald <carter.schonwald@gmail.com> Signed-off-by: Austin Seipp <austin@well-typed.com>
* Mark those tests which depend on libraries not built when cross-compilingReid Barton2013-10-011-1/+1
| | | | | | Issue #8393 Signed-off-by: Austin Seipp <austin@well-typed.com>
* T7574 is now passing (#7574)Simon Marlow2013-09-231-1/+1
|
* Follow changes in comparison primops (see #6135)Jan Stolarek2013-09-185-15/+15
|
* Trailing whitespacesJan Stolarek2013-09-181-1/+1
|
* Delete trailing whitespace in cgrun070Austin Seipp2013-09-151-1/+1
| | | | Signed-off-by: Austin Seipp <austin@well-typed.com>
* Fix up cgrun072 a bit (#8250)Austin Seipp2013-09-152-9/+52
| | | | | | | | | | | | | | | | This includes: * Adding a test for bswap16 with a low byte >= 128 * Also test the byteSwapN functions from GHC.Word, tested both INLINE and not INLINE, so we test both independent parts: the compilation of base, and the backend compiling the code *using* base. * Fix the usage of byteSwapN# primitives in the test, by masking off * the higher bits when storing the results in Word16/Word32. Thanks to Reid Barton for the investigation. Authored-by: Reid Barton <rwbarton@gmail.com> Signed-off-by: Austin Seipp <austin@well-typed.com>
* Add tests for the new ByteArray# <-> Addr# copy primopsDuncan Coutts2013-09-152-0/+103
| | | | | | Essentially the same tests as for the existing ByteArray# ones. Signed-off-by: Austin Seipp <austin@well-typed.com>
* Suppress some known errors from Mac OS X.Edward Z. Yang2013-09-141-1/+1
| | | | Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
* Test for #8205Jan Stolarek2013-09-122-0/+11
| | | | | | This test is a bit speculative, because I can't reproduce problem on my machine. Still, it should work because it produces the same Cmm that originally caused the problem.
* Fix most AMP warnings.Austin Seipp2013-09-081-0/+10
| | | | | Authored-by: David Luposchainsky <dluposchainsky@gmail.com> Signed-off-by: Austin Seipp <aseipp@pobox.com>
* Add a regression test (see #7953)Austin Seipp2013-08-153-0/+73
| | | | Signed-off-by: Austin Seipp <aseipp@pobox.com>
* Add regression test for #8103Jan Stolarek2013-08-144-1/+17
|
* Add a failing test, see #7574.Austin Seipp2013-08-142-0/+12
| | | | Signed-off-by: Austin Seipp <aseipp@pobox.com>
* cgrun072 now passes.Austin Seipp2013-07-171-1/+1
| | | | Signed-off-by: Austin Seipp <aseipp@pobox.com>
* Revert "Add test for #7574"Simon Marlow2013-07-022-13/+0
| | | | | | This reverts commit abbf27e7922cf15df4c74b502e51f4bc12923215. (committed accidentally, the fix for that ticket isn't ready yet)
* Add test for #7574Simon Marlow2013-07-022-0/+13
|
* Mark cgrun072 as expect_broken( 7902 )Simon Peyton Jones2013-06-121-1/+1
| | | | Something is wrong with byte-swapping!
* Fix cgrun072Ian Lynagh2013-06-092-10/+7
|
* add test for the new bswap primopsIan Lynagh2013-06-093-0/+71
| | | | Patch from Vincent Hanquez.
* Make T7319 run in all waysSimon Peyton Jones2013-03-182-8/+8
| | | | | It used to give different answers because of different exceptoin behaviour (cf #7737) but now it's fine
* Remove uses of compose(s) in tests, and change how composition is handledIan Lynagh2013-02-141-3/+5
| | | | The driver now also supports nested lists of setup functions
* Error message wibbles when adding overloaded listsSimon Peyton Jones2013-02-143-3/+3
|
* Change '{if,unless}_arch' to 'arch'Ian Lynagh2013-02-112-3/+3
|
* Replace 'if_platform' and 'unless_platform' with 'platform'Ian Lynagh2013-02-081-3/+3
|
* Define 'when' and 'unless' helpersIan Lynagh2013-02-071-2/+2
| | | | This will reduce the number of helper functions that we need
* spellingGabor Greif2013-02-021-1/+1
|
* Rename some numeric tests: nnnn -> TnnnnIan Lynagh2013-01-2539-23/+23
|
* Test for #7600.David Terei2013-01-174-0/+198
|
* Add test for #7361Simon Marlow2013-01-093-0/+15
|
* Fix Word2Float# test on 32-bitJohan Tibell2013-01-075-1/+23
|