Commit graph

7152 commits

Author SHA1 Message Date
J.Teeuwissen
14a338e15b
fixed drop specialization assert for unreachable switch branches on unions 2024-12-16 14:38:36 -08:00
Brendan Hansknecht
32e0ea38ef
Merge pull request #7370 from roc-lang/disable-morphic
limit morphic to trivial analysis to avoid inplace mutation bugs
2024-12-16 11:03:07 -08:00
Richard Feldman
a1d61c5a3c
Merge pull request #7373 from roc-lang/specialize-exprs-when
Specialize when expressions
2024-12-14 22:08:05 -05:00
Agus Zubiaga
a51ae4d980
Test multiple patterns per branch 2024-12-14 19:34:29 -03:00
Agus Zubiaga
1503ec4751
Expose to_mono_pattern 2024-12-14 19:30:57 -03:00
Agus Zubiaga
19619e6bf8
Specific lifetime for mono_patterns 2024-12-14 19:29:05 -03:00
Agus Zubiaga
03f9fa31f9
Specialize when branch guards 2024-12-14 19:23:36 -03:00
Agus Zubiaga
dbaa6417a9
Implement dbg mono pattern for CompilerBug 2024-12-14 19:19:18 -03:00
Agus Zubiaga
48e7c5d5d6
Specialize underscore pattern 2024-12-14 19:17:15 -03:00
Agus Zubiaga
90b76db5b1
Specialize number patterns 2024-12-14 18:56:16 -03:00
Agus Zubiaga
3948f485a0
Implement dbg for when mono exprs 2024-12-14 18:14:09 -03:00
Brendan Hansknecht
9fd65ff41b
clarify todo about renabling morphic and perf 2024-12-14 10:31:05 -08:00
Anton-4
1e55134f3b
Merge pull request #7356 from roc-lang/cli-examples-cleanup
cli example removal cleanup
2024-12-14 11:21:43 +01:00
Brendan Hansknecht
1830b3a1f4
limit morphic to trivial analysis to avoid inplace mutation bugs
Surprisingly this actually increases perf of some benchmarks.
My guess is that it fixes bugs during looping and thus reduces work.
Specifically cFold and derive see minor gains ~1.5%; rBTreeCk sees a big gain ~4%.
NQueens is the only benchmark that sees a lost at ~2%.

False interpreter also see a 0-5% perf improvement depending on the exact input.
That said, the improvement was noisy.

ref #7367
2024-12-13 23:11:36 -08:00
Agus Zubiaga
222af2e484
Use MaybeUninit in WhenBranches 2024-12-13 18:46:28 -03:00
Joshua Warner
2389040b39
Fix return backpassing case 2024-12-13 13:45:12 -08:00
Joshua Warner
d56b6b7b20
Add missing indent call 2024-12-13 13:45:12 -08:00
Joshua Warner
3acc6940b4
Fix parenthesized spaces in tag unions 2024-12-13 13:45:12 -08:00
Joshua Warner
02e07f95e7
Fix when indent in the presence of weird multiline patterns 2024-12-13 13:45:12 -08:00
Joshua Warner
1d51f5fbec
Don't eliminate empty record assignment for a return 2024-12-13 13:45:11 -08:00
Joshua Warner
f193c778d5
clippy 2024-12-13 13:45:11 -08:00
Joshua Warner
f233c5328d
lift to spaces in ann_lift_to_node default case 2024-12-13 13:45:11 -08:00
Joshua Warner
d3426ebce1
Fix empty SpaceBefore instance 2024-12-13 13:45:11 -08:00
Joshua Warner
f1d9667ea0
Fix multiline str pattern newline multiplication 2024-12-13 13:45:11 -08:00
Joshua Warner
e9a8588c3e
Refactor pattern apply 2024-12-13 13:45:10 -08:00
Joshua Warner
16c3d4e512
Don't drop spaces before return 2024-12-13 13:45:10 -08:00
Joshua Warner
5a6e0f546b
Generalize RecordAccess special-cases to include TupleAccess 2024-12-13 13:45:10 -08:00
Joshua Warner
d66f51db7b
Don't mix spaces before/after the field separator 2024-12-13 13:45:10 -08:00
Joshua Warner
2857833c35
Normalize return's 'after' 2024-12-13 13:45:10 -08:00
Joshua Warner
17849ca556
Fully normalize in expr record-like things, during formatting 2024-12-13 13:45:10 -08:00
Joshua Warner
f5cd0568dd
Fix newlines after multiline apply func pattern (#7342) 2024-12-13 13:45:09 -08:00
Joshua Warner
8701b922b4
Fix missing indent call (#7346) 2024-12-13 13:45:09 -08:00
Joshua Warner
07f7252573
Implement better comparisons between alias and body 2024-12-13 13:45:09 -08:00
Joshua Warner
8b3abafa08
Force newlines after multi-line tuple pattern elements 2024-12-13 13:45:09 -08:00
Joshua Warner
0cc16b0d2c
Fix bug with when not passing down options 2024-12-13 13:45:09 -08:00
Anton-4
d4cd3cd50b
cli example removal cleanup
examples/cli was removed in https://github.com/roc-lang/roc/pull/6921
2024-12-13 18:37:42 +01:00
Brendan Hansknecht
6ecf25bd3e
revert wasm_linking_test_host changes 2024-12-12 19:22:26 -08:00
Brendan Hansknecht
de18f25a65
attempt more zig cache clearing 2024-12-12 18:55:43 -08:00
Brendan Hansknecht
5a326f1a80
ensure sorting in wasm linker test 2024-12-12 18:23:29 -08:00
Brendan Hansknecht
0f5f5fbe54
wasm does not like PIC 2024-12-12 17:45:31 -08:00
Agus Zubiaga
30532bf565
Specialize when idents 2024-12-12 22:28:41 -03:00
Agus Zubiaga
8f1f4a8c2a
Add MonoExpr::When type 2024-12-12 19:21:42 -03:00
Brendan Hansknecht
d74a3c0746
Merge remote-tracking branch 'origin/main' into upgrade-llvm-zig 2024-12-12 13:29:10 -08:00
Brendan Hansknecht
109cafcafe
fix how benchmark script is loaded on main
To get #6921 working, we need the benchmark script to pull glue.zig correctly on main.
As such, we need to load it into a lib dir such that it is found in the correct relative path.
This hopefully will get the benchmarking working on the other PR.

Also, switch over to `lib` dir first cause that is what is seen in the wide.
2024-12-12 09:54:36 -08:00
Eli Dowling
27b36a8f1f
Merge pull request #7335 from faldor20/add-lsp-range-info-for-file-load-errors-
Add lsp range info for file load errors
2024-12-12 21:41:22 +10:00
faldor20
c731c5daae
resolve comments 2024-12-12 20:54:25 +10:00
faldor20
a7308130cf
clippy on everything 2024-12-12 20:54:25 +10:00
faldor20
7eb81fbcf3
drilling into every error type when getting region 2024-12-12 20:54:25 +10:00
faldor20
81f2095e61
basic working
compiling, but still missing positions from expression errors
2024-12-12 20:54:25 +10:00
Brendan Hansknecht
2475feeb2f
more wasm fixes 2024-12-11 21:47:18 -08:00