summary refs log tree commit diff stats
path: root/compiler
Commit message (Collapse)AuthorAgeFilesLines
* arc: cursors for simple for loop variables (#15008)Andreas Rumpf2020-07-172-3/+23
| | | | | * arc: cursors for simple for loop variables * merged devel
* Show that a variable is cursor in --expandArc (#15002)Clyybber2020-07-173-11/+11
|
* cursor inference: hotfix (#14999)Andreas Rumpf2020-07-161-8/+13
|
* disable debug outputAndreas Rumpf2020-07-151-1/+1
|
* An optimizer for ARC (#14962)Andreas Rumpf2020-07-157-30/+632
| | | | | | | | | | | | | | | | | | | | * WIP: an optimizer for ARC * do not optimize away destructors in 'finally' if unstructured control flow is involved * optimized the optimizer * minor code cleanup * first steps to .cursor inference * cursor inference: big steps to a working solution * baby steps * better .cursor inference * new feature: expandArc for easy inspection of the AST after ARC transformations * added topt_cursor test * adapt tests * cleanups, make tests green * optimize common traversal patterns * moved test case * fixes .cursor inference so that npeg compiles once again * cursor inference: more bugfixes Co-authored-by: Clyybber <darkmine956@gmail.com>
* Fix #14990 (#14991)Clyybber2020-07-151-2/+2
| | | | | * Fix #14990 * Add testcase
* Fix #14985 (#14988)Clyybber2020-07-151-2/+2
|
* injectdestructors fixes and refactor (#14964)Clyybber2020-07-142-193/+110
| | | | | | | | | | | | | | | | | | | | | | | | | | | * injectdestructors fixes and refactor * Tiny cleanup * Refactor and expand testcase * Closes #14902 by adding testcase * Better naming * Fix test failures * Misc cleanup * Add testcase for #14968 * Better approach; expand testcases * Optimizations and fixes * Add testcase * typo * Tiny cleanup
* fix #6608 (#14963)flywind2020-07-141-1/+10
| | | | * fix #6608
* fix #14912, make `--useVersion:1.0` work again (#14945)Miran2020-07-101-0/+1
| | | | | * fix #14912, make `--useVersion:1.0` work again * a better fix * add test
* fixes a minor regressionAraq2020-07-101-1/+1
|
* fixes the tcontrolflow regression, clen idea of an escaping expressionAraq2020-07-101-20/+44
|
* no wasMoved() calls after destructors necessaryAraq2020-07-101-6/+6
|
* optimize sinks even when in a loopAraq2020-07-101-23/+12
|
* renderer.nim: more obvious debug outputAraq2020-07-101-1/+11
|
* Move `wasMoved` out of `=destroy`Clyybber2020-07-103-16/+8
|
* CosmeticsClyybber2020-07-101-52/+51
|
* cleanup of PR #14833 (VM profiler)Araq2020-07-091-13/+16
|
* VM profiler (#14833)Ico Doornekamp2020-07-097-15/+85
| | | | | | | | | | | | | | | | | | | | | | | | | * Crude VM profiler * Added --profileVM flag, refactoring * fixed FileLine hash * Use TLineInfo instead of own FileLine, updated formatting * Refactoring, moved PStackFrame to vmdefs for cleaner data structure * Moved vmprofiler to separate file * Simplified TLineInfo hash, use toFileLineCol for output * Hash * Moved profile data into Config, dump only once at end of run * Changed profile output header to show '#instr' instead of 'count' * Do not accumulate instrcount for non-top frames Co-authored-by: Ico Doornekamp <git@zevv.nl>
* fixes #14925 (#14947)Andreas Rumpf2020-07-091-0/+4
|
* fix #11009 (#14935)flywind2020-07-092-1/+7
|
* fixes #14865 (#14937)Andreas Rumpf2020-07-082-0/+2
|
* Make arc compile laser againClyybber2020-07-081-1/+1
|
* fixes #14900, this time for real, maybe (#14934)Andreas Rumpf2020-07-081-2/+8
|
* fixes #14805Araq2020-07-081-1/+1
|
* fixes #14900Araq2020-07-081-38/+42
|
* fixes #14899Araq2020-07-081-4/+37
|
* progressAraq2020-07-081-17/+33
|
* injectdestructors: refactoring, added more cases explicitly (#14929)Andreas Rumpf2020-07-071-7/+68
|
* speed up Nim's lexer by using cstring instead of string. C optimizers are ↵Araq2020-07-071-9/+15
| | | | fragile.
* Fix #14911 (#14922) [backport]Clyybber2020-07-071-1/+1
| | | | | | | * Fix #14911 * Add testcase * Fix test
* Update btrees.nim (#14916)Dean Eigenmann2020-07-061-0/+3
|
* Fix #14396 (#14793)Clyybber2020-07-042-45/+102
| | | | | | | | | | | | | | | | | | | | | | * Correct Left-To-Right evaluation of proc args * Fix CPP backend * Add testcase * closes #14396 * closes #14345 * Improve test and optimize * Improve testcase and optimize literals * Fix bug * Expand testcase and use DFA to optimize * Turn genParams into proc * Turn withTmpIfNeeded into a proc * Cleanup * Fix crash * Better analysis * Cleanup * Trailing newline.. * Fix build * Tiny cleanup Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
* scoped memory management (#14790)Andreas Rumpf2020-07-048-437/+367
| | | | | | | * fixes the regressions * closes #13936 * scope based memory management implemented * enabled tcontrolflow.nim test case * final cleanups
* deprecate existsDir; use dirExists instead (#14884)Timothee Cour2020-07-031-1/+1
|
* typetraits.$: $((int, float), int)` is now `"((int, float), int)"` instead ↵Timothee Cour2020-07-021-2/+1
| | | | | of `"(tuple of (int, float), int)" (#14812) Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
* {.deprecated: [existsFile: fileExists].} (#14735)Timothee Cour2020-07-022-2/+2
| | | | | | | | | * {.deprecated: [existsFile: fileExists].} * s/existsFile/fileExists/ except under deps * workaround pending #14819 * fix test
* Fix #12745 (#14879)Tomohiro2020-07-022-11/+6
|
* allow packed union (#14868)Clyybber2020-07-011-9/+7
| | | Co-authored-by: Arne Döring <arne.doering@gmx.net>
* fix #14401, trailing comma confuses nimpretty (#14867)Miran2020-07-011-0/+3
|
* Clean out oldast (#14837)Juan Carlos2020-06-304-23/+13
| | | | * Clean out old Deprecated CLI switch * Update to remove --oldast CLI option
* New freebsd platforms (#14801)lbartoletti2020-06-291-1/+1
| | | | | * add riscv as riscv64 * add all platforms supported by FreeBSD
* fix #13432 typetraits.$: $(int,) is now (int,); $tuple[] is now tuple[] (#14799)Timothee Cour2020-06-291-1/+2
| | | | | * typetraits.$: $(int,) is now (int,); $tuple[] is now tuple[] * changelog
* Make unreachable code a warning instead of an error (#14816)Clyybber2020-06-292-6/+6
| | | | | | | * Make unreachable code a warning * Adapt test * Trigger CI
* DFA and injectdestructors cleanup (#14824)Clyybber2020-06-282-157/+118
| | | | | | | | | | | | | | | * DFA and injectdestructors cleanup * More precise write analysis * Cleanup obsoleted path * Unify defInstrTargets and useInstrTargets * Misc cleanups * Nicer CFG printing * Misc cleanups 2
* Fix #14647 (#14776)Clyybber2020-06-282-8/+5
| | | | | | | | | * Fix #14647 * Correct fix * Typo and add test * For real now :p
* expr => untyped; stmt => typed (#14804)Timothee Cour2020-06-251-2/+2
| | | | | * expr => untyped; stmt => typed * changelog + comment
* fix #14802 (#14803)Timothee Cour2020-06-251-1/+2
|
* Reject casts to builtin typeclasses (#14788)Danil Yarantsev2020-06-241-0/+2
| | | | | * Closes #14231, closes #14452 * Merge test to tcast.nim
* [backport] fix #14748, move gdb files to other section of installer.ini (#14772)Miran2020-06-231-2/+2
|