summary refs log tree commit diff stats
path: root/compiler/semparallel.nim
Commit message (Collapse)AuthorAgeFilesLines
* fixes #20958; fixes the return type of slice function [backport] (#20959)ringabout2022-11-291-0/+3
| | | | | * fixes #20958; fixes the return type of slice function * add a testcase
* fixes #20572 (#20585)Andreas Rumpf2022-10-171-2/+2
| | | | | * fixes #20572 * added a test case
* minor typos (#17668)flywind2021-04-071-2/+2
|
* IC: green tests (#17311)Andreas Rumpf2021-03-191-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * IC: renamed to_packed_ast module to ic module * IC: don't store the --forceBuild flag, makes it easier to test * IC: enable hello world test * Codegen: refactorings for IC; changed the name mangling algorithm * fixed the HCR regressions * life is too short for HCR * tconvexhull is now allowed to use deepCopy * IC exposed a stdlib bug, required a refactoring * codegen: code cleanups * IC: even if a module is outdated, its dependencies might come from disk * IC: progress * IC: better name mangling, module IDs are not stable * IC: another refactoring helping with --ic:on --gc:arc * disable arraymancer on Windows for the time being * disable arraymancer altogether * IC: make basic test work with 'nim cpp' * IC: progress on --ic:on --gc:arc * wip; name mangling for type info
* fixes #11225; generic sandwich problems; [backport:1.2] (#17255)Andreas Rumpf2021-03-091-1/+2
| | | | | * fixes #11225; generic sandwich problems; [backport:1.2] * progress * delegating these symbols must be done via 'bind'
* IC: next steps (#16729)Andreas Rumpf2021-01-231-10/+10
| | | | | | | | | | | * IC: dead code elimination pass * preparations for a different codegen strategy * added documentation to the newly written code * IC: backend code * IC: backend adjustments * optimized the compiler a bit * IC: yet another massive refactoring * fixes regressions * cleanups
* big steps torwards an efficient, simple IC implementation (#16543)Andreas Rumpf2021-01-021-1/+1
| | | | | | | | | | | | | | | | | | | * reworked ID handling * the packed AST now has its own ID mechanism * basic serialization code works * extract rodfiles to its own module * rodfiles: store and compare configs * rodfiles: store dependencies * store config at the end * precise dependency tracking * dependency tracking for rodfiles * completed loading of PSym, PType, etc * removed dead code * bugfix: do not realloc seqs when taking addr into an element * make IC opt-in for now * makes tcompilerapi green again * final cleanups Co-authored-by: Andy Davidoff <github@andy.disruptek.com>
* explicit ID generation for easier IC (#15559)Andreas Rumpf2020-10-251-15/+15
| | | | | | | | | | | | | | | | | * refactoring: idents don't need inheritance * refactoring: adding an IdGenerator (part 1) * refactoring: adding an IdGenerator (part 2) * refactoring: adding an IdGenerator (part 3) * refactoring: adding an IdGenerator (part 4) * refactoring: adding an IdGenerator (part 5) * refactoring: adding an IdGenerator (part 5) * IdGenerator must be a ref type; hello world works again * make bootstrapping work again * progress: add back the 'exactReplica' ideas * added back the missing exactReplica hacks * make tcompilerapi work again * make important packages green * attempt to fix the build for 32 bit machines (probably need a better solution here)
* [cleanup] fix UnusedImport sempass2 compiler/semparallel.nim (#14426)Timothee Cour2020-05-211-1/+1
|
* drnim: tiny progress (#13882)Andreas Rumpf2020-04-151-1/+1
| | | | | | | | | | | * drnim: tiny progress * refactoring complete * drnim: prove .ensures annotations * Moved code around to avoid code duplication * drnim: first implementation of the 'old' property * drnim: be precise about the assignment statement * first implementation of --assumeUnique * progress on forall/exists handling
* new feature: --staticBoundChecks:on to enforce static array index checking ↵Andreas Rumpf2020-03-181-8/+8
| | | | (#10965)
* Cosmetic compiler cleanup (#12718)Clyybber2019-11-281-41/+40
| | | | | | | | | | | | | | | | | | * Cleanup compiler code base * Unify add calls * Unify len invocations * Unify range operators * Fix oversight * Remove {.procvar.} pragma * initCandidate -> newCandidate where reasonable * Unify safeLen calls
* [refactoring] moves transformation for 'spawn' into its own spawn.nim ↵Araq2019-07-141-1/+1
| | | | implementation
* more destructor based changes (#10885)Andreas Rumpf2019-03-231-1/+1
| | | | | | | | | | | * mark user defined destructors with sfOverriden to simplify the logic * refactoring in preparation to merge liftings and generic instantiations for destructors * ast: introduce nkHiddenTryStmt for destructor generation in order to be able to optimize better the code later on * renamed 'patterns' switch to 'trmacros' as it was totally misleading before * destructors: introduce tfCheckedForDestructor flag in preparation of strict =destroy checking * test for invalid/too late destructor introductions * liftdestructors: make code robust for nimsuggest * --newruntime works for hello world again * newruntime: code generation for closures
* Field checks for everybody (#8957)LemonBoy2018-10-091-2/+2
| | | | | | | | | | | | | | | | | | | | | * Field checks for JS backend * Clean nkCall nodes with no arguments Generating a nkEmpty in place of no arguments makes no sense form the AST point of view and also trips up the VM codegen. * Field checks for VM backend * Test case for #6612 This patchset fixes #6612 * Add test case for LHS double evaluation * Prevent LHS double-eval for JS backend * Prevent double evaluation in VM backend
* refactoring: remove idents.legacy global variable and pass the IdentCache ↵Andreas Rumpf2018-05-271-1/+1
| | | | around explicitly
* platform.nim doesn't use globals anymore; prepare msgs.nim for not using globalsAndreas Rumpf2018-05-181-2/+2
|
* remove ast.emptyNode global; cleanup configuration.nimAraq2018-05-161-1/+1
|
* more modules compile againAndreas Rumpf2018-05-121-62/+66
|
* fixes #2779Andreas Rumpf2018-04-111-1/+2
|
* deprecated unary '<'Andreas Rumpf2017-10-291-12/+12
|
* first implementation of the 'func' keywordAndreas Rumpf2017-09-231-1/+1
|
* compiler almost free of deprecated expr/stmt namesAndreas Rumpf2016-07-301-1/+1
|
* stdlib and compiler don't use .immediate anymoreAndreas Rumpf2016-07-291-1/+1
|
* fixes #2758Andreas Rumpf2016-07-151-3/+3
|
* disjoint checker is smarter (and slower)Araq2015-09-231-2/+2
|
* made disjoint checker smarter; fixes regressionsAraq2015-09-231-11/+18
|
* when nimvm stmt proof of conceptYuriy Glukhov2015-09-041-1/+1
|
* disjoint checker works with the new countup iteratorsAraq2015-03-141-3/+4
|
* fixes #2287Araq2015-03-121-2/+2
|
* Happy new year!Guillaume Gelin2015-01-061-1/+1
|
* fixes #1597Araq2014-12-111-8/+24
|
* 'let' within 'parallel' now worksAraq2014-09-221-2/+2
|
* Nimrod renamed to NimAraq2014-08-281-1/+1
|
* renamefestAraq2014-08-231-3/+3
|
* progress on 'spawn'Araq2014-08-101-4/+9
|
* 'parallel' statement works againAraq2014-08-081-1/+0
|
* Promises are now refsAraq2014-06-051-3/+3
|
* tdisjoint_slice2 worksAraq2014-05-311-1/+1
|
* 'parallel' proves array boundsAraq2014-05-291-10/+20
|
* 'parallel' statement almost workingAraq2014-05-221-38/+51
|
* 'parallel' statement: next stepsAraq2014-05-141-13/+28
|
* progress for the 'parallel' statementAraq2014-05-141-71/+84
|
* initial non-compiling version of 'parallel'Araq2014-05-121-0/+414