Commit graph

8806 commits

Author SHA1 Message Date
Richard Feldman
fb5f30e5ed
Rename Arm to Aarch32, fix some of its code gen
As far as I can tell, Aarch32 only supports 32-bit
registers, so its pointers should be 4 bytes and
its F64 alignment should be 4 bytes as well
(because it's emulated in software).
2022-05-24 12:08:08 -04:00
Richard Feldman
2a5e6ab172
Add PartialEq, Eq, and EnumIter to Architecture 2022-05-24 12:08:07 -04:00
Sean Hagstrom
e2e77a2324
formatter: add newlines between parens delimiters for multiline expressions 2022-05-24 11:19:30 +01:00
Folkert de Vries
37fed3fbdb
Merge pull request #3101 from rtfeldman/simd-interner-search
simd small string interner search
2022-05-23 19:37:51 +02:00
Richard Feldman
4eec34becf
Update to use new square brace formatting 2022-05-22 23:15:54 -04:00
Richard Feldman
a4a5f438e6
Update type pretty-printing 2022-05-22 18:35:56 -04:00
Richard Feldman
8fa80fa69b
Merge pull request #3116 from rtfeldman/formatter-remove-space-between-square-braces 2022-05-22 18:06:03 -04:00
Folkert
f8259913cc
clippy 2022-05-22 15:31:40 +02:00
Sean Hagstrom
c53f6cf2fe
formatter: remove spaces at the beginning and end of single-line square bracket expressions 2022-05-22 14:06:34 +01:00
Ayaz
d8eaa135b2
Merge pull request #3115 from rtfeldman/improve-range-checking
Optimize range checking
2022-05-22 08:43:53 -04:00
Sean Hagstrom
4981f081a7
formatter: refactor fmt_collection to receive enum for braces type 2022-05-22 11:44:10 +01:00
Richard Feldman
5baf1ac8b3
Merge pull request #3088 from rtfeldman/fast-comment-simd
use simd in actual comment parsing
2022-05-21 22:39:25 -04:00
Folkert
fb37d925dc
deal with aliases around number types 2022-05-21 21:28:31 +02:00
Sean Hagstrom
c7e6547c9a
formatter: support outdenting multi-line annotations for record types and tag unions 2022-05-21 20:18:32 +01:00
Folkert
99a879d795
cleanup 2022-05-21 20:56:56 +02:00
Folkert
d43bda83b4
cleanup 2022-05-21 20:50:06 +02:00
Folkert
98ce9f4d09
remove the snapshots 2022-05-21 20:42:19 +02:00
Folkert
cb40aab21f
refactor number bounds 2022-05-21 18:53:50 +02:00
Folkert
b46721e43b
exit early from range checking 2022-05-21 18:28:11 +02:00
Folkert de Vries
e3b6a38394
Merge pull request #3114 from rtfeldman/less-u128-special-casing
Less U128 special-casing
2022-05-21 18:18:42 +02:00
Folkert de Vries
feaf53371f
Merge pull request #3113 from rtfeldman/new-utable-copy
New utable variable copy
2022-05-21 18:17:56 +02:00
Richard Feldman
3cdaa52a30
Merge pull request #3110 from rtfeldman/handcrafted-unification-table
Handcrafted unification table
2022-05-21 11:39:58 -04:00
Richard Feldman
66bcb53eb1
Merge pull request #3108 from rtfeldman/check-derived2
Validate derives clauses after solving
2022-05-21 11:39:18 -04:00
Richard Feldman
ba2465989a
Merge pull request #3098 from rtfeldman/check-derived
Canonicalize "has"-deriving clauses
2022-05-21 11:38:59 -04:00
Richard Feldman
879af96ba1
Merge pull request #3112 from rtfeldman/roc-dec-alignment
Giving RocDec alignment of 16
2022-05-21 10:55:57 -04:00
Richard Feldman
b4e949ca2e
Don't special-case so many U128 literals 2022-05-21 10:36:45 -04:00
Folkert
722ae9da6b
pass along the specific pool we're adding to 2022-05-21 14:48:45 +02:00
Folkert
1814a69c30
remove closure that is used once 2022-05-21 14:42:48 +02:00
Folkert
8c44661bc2
use set_content_unchecked; replace modify with a single set 2022-05-21 14:06:43 +02:00
Folkert
f1e1c45f2f
some more unchecked operations 2022-05-21 13:52:44 +02:00
Folkert
a1894195d3
refactoring trivial copy detection 2022-05-21 13:48:28 +02:00
Richard Feldman
489fb31cc2
Combine aarch64 and non-aarch64 mono size assertions 2022-05-21 00:53:47 -04:00
Richard Feldman
49aea9d639
Use [u8; 16] to avoid number alignment bumps 2022-05-21 00:53:47 -04:00
Richard Feldman
4f43210218
Use target_info for discriminant alignment 2022-05-20 23:36:55 -04:00
Richard Feldman
c685acd3cd
Derive Eq for PtrWidth 2022-05-20 23:36:54 -04:00
Richard Feldman
f6b1d3b592
Add TargetInfo::ptr_size 2022-05-20 23:36:54 -04:00
Ayaz Hafiz
4a77ce9eca
<clip> 2022-05-20 17:47:21 -04:00
Ayaz Hafiz
ababfa4129
Use two caches instead of a unified one for obligation checking 2022-05-20 17:39:09 -04:00
Folkert
a705d6a6e8
unchecked in making the rank table 2022-05-20 23:28:56 +02:00
Folkert
e20ac3f38f
use unchecked operations in generalization 2022-05-20 23:18:27 +02:00
Folkert
6bedf126ae
unchecked variants of functions (don't check the rootness of the key 2022-05-20 23:06:47 +02:00
Folkert
d291a87945
more efficient use of Subs api 2022-05-20 22:55:00 +02:00
Folkert
a99489fb57
implement get_rank_set_mark natively 2022-05-20 22:54:51 +02:00
Folkert
afedc4ab01
implement .modify() natively 2022-05-20 22:54:33 +02:00
Folkert
ac30ec5489
inline OptVariable functions 2022-05-20 22:53:56 +02:00
Folkert
e9bdf0e5de
re-enable builtin module caching 2022-05-20 22:24:21 +02:00
Ayaz Hafiz
a4c122d5db
Validate derives clauses after solving 2022-05-20 15:56:55 -04:00
Ayaz Hafiz
4cf87510c8
Cleanup abilities_in_scope and rename to pending_abilities_in_scope
`abilities_in_scope` is a buffer we use to keep track of locally-defined
abilities before we've fully resolved them. We do this because we
canonicalize ability members signatures before we've registered an
ability to the abilities store, and canonicalization of signatures must
report `has` bounds that don't reference abilities.

So, this buffer is more appropriately named `pending_abilities_in_scope`.
There is also no reason to export it, because it is only relevant
during canonicalization of type defs in a module.
2022-05-20 15:56:55 -04:00
Ayaz Hafiz
9712cfe342
Canonicalize deriving 2022-05-20 15:55:45 -04:00
Folkert
2b94eeed60
switch to new unification table 2022-05-20 21:54:22 +02:00