gingerBill
d88b052d2d
Naïve optimization of named _split_ multiple return valued when defer is never used
...
This is a naïve optimization but it helps a lot in the general case where callee temporary stack variables
are not allocated to represent the named return values by using that specific memory.
In the future, try to check if a specific named return value is ever used a `defer` within a procedure or not,
or is ever passed to a nested procedure call (e.g. possibly escapes).
2022-11-25 23:57:55 +00:00
gingerBill
c663566cd5
Fixed comparison against nil for maps
2022-11-20 01:34:57 +00:00
gingerBill
d2019e3e4d
Enforce pointer cast
2022-11-13 23:50:45 +00:00
gingerBill
16fc961010
Begin work on map static set
2022-11-11 14:45:22 +00:00
gingerBill
8852d090b6
Correct static map get; make get take a pointer to simplify compiler internals
2022-11-10 12:46:53 +00:00
gingerBill
1bcec3f769
Change map internal calls to use a pointer
2022-11-09 22:21:36 +00:00
gingerBill
046dd55032
Change __dynamic_map_get signature
2022-11-08 13:02:32 +00:00
gingerBill
2b7ca2bdd6
Fix #2160 (deep subtyping through using of _)
2022-11-01 13:14:20 +00:00
gingerBill
9da37ed394
Optimize #caller_location and #location to use read only data section where possible
2022-10-31 00:04:15 +00:00
gingerBill
532133d648
Minor technical improvement
2022-09-22 00:55:28 +01:00
gingerBill
ff97a73152
Reduce unnecessary map gets
2022-09-21 13:03:13 +01:00
gingerBill
7840c1b89f
Change __dynamic_map_get and __dynamic_map_set to use separate parameters rather than take a singular struct
2022-09-17 12:48:12 +01:00
gingerBill
4998cf80c1
Fix #2017 mismatched types in binary matrix expression for flt * (mat * vec)
2022-09-05 16:35:56 +01:00
gingerBill
3e3b9ae2df
Fix #1994 Returning to err: Maybe(Error) raises compiler assert
2022-09-01 16:33:44 +01:00
gingerBill
aeacf3a9d8
Correct max alignment handling throughout the llvm backend
2022-08-24 13:07:41 +01:00
gingerBill
777aa8b118
Merge pull request #1955 from jaspergeer/fix-endian-type-conversion
...
fix #1759 endian float type conversion errors
2022-08-24 12:49:57 +01:00
gingerBill
c8c076f970
Fix #1963
2022-08-19 16:57:36 +01:00
Jasper Geer
5387ec5f29
Remove erroneous byte swap
2022-08-16 19:22:52 -07:00
gingerBill
a19494d3a7
Minor refactoring of lb_build_addr
2022-08-11 16:12:07 +01:00
gingerBill
d2a362fd52
Clean up compound literal backend stuff some more
2022-08-11 16:07:55 +01:00
gingerBill
0f3562ef02
Improve compound literal generation for array-like types
2022-08-11 16:01:46 +01:00
gingerBill
cb0a59bb2c
Eliminate use of LLVMGetElementType for pointers
2022-08-09 15:36:18 +01:00
gingerBill
076700bd22
Merge pull request #1933 from lerno/reduce_reliance_on_ptr_type
...
Removed use of deprecated functions. Cleaned up most deprecated use o…
2022-08-09 15:18:09 +01:00
gingerBill
5e3cf45df3
Add #soa pointer type to aid with refactoring to #soa data types
...
a: #soa[16]Foo
p := &a[6]
#assert(type_of(p) == #soa^#soa[16]Foo)
p^.x = 123
p.x = 123
2022-08-08 15:07:00 +01:00
Christoffer Lerno
9c0a3b6c60
Removed use of deprecated functions. Cleaned up most deprecated use of LLVMGetElementType.
2022-08-07 19:26:28 +02:00
gingerBill
6caab6225d
Fix #1930
2022-08-05 11:36:12 +01:00
gingerBill
2542983d70
Fix #1793
2022-07-24 12:54:05 +01:00
gingerBill
d492fb3501
Fix and improve x->y() behaviour to minimize duplicate evaluation
2022-07-24 12:39:59 +01:00
gingerBill
6c7e5748a8
Integrate numerous debug fixes from #1877
2022-07-18 12:49:29 +01:00
gingerBill
78826071c0
Fix #1836
2022-07-16 23:14:09 +01:00
gingerBill
f886632bf1
Fix #1880
2022-07-16 22:18:07 +01:00
gingerBill
041625381c
Fix #1888
2022-07-16 17:36:03 +01:00
gingerBill
618d3bf62f
Improve vector comparison == != for horizontal reduction
2022-05-28 13:42:58 +01:00
gingerBill
d0e8a735ba
Add arithmetic operator support for simd vectors; Add intrinsics.simd_and_not
2022-05-26 17:09:46 +01:00
gingerBill
f308f37ba1
Remove need for simd.splat
2022-05-26 14:51:50 +01:00
gingerBill
09f936b04d
Correct casting between integer and boolean #simd
2022-05-25 23:24:32 +01:00
gingerBill
0203bb657e
Allow for non-constant simd vector compound types
2022-05-25 20:39:22 +01:00
gingerBill
f21e9ee712
Allow basic casting of simd vectors
2022-05-25 18:59:47 +01:00
gitlost
fdbbf24271
Fix issue #1592 "LLVM code gen error when using a constant in an if"
...
Changes lb_build_if_stmt() to return null lbValue if condition is
cmpAnd, cmpOr or non-const neg and check in lb_build_if_stmt()
to avoid short circuiting if that's the case
Adds test to "tests/issues" and adds step in CI to check this dir
2022-03-18 13:57:22 +00:00
gingerBill
a7adb2fb6e
Merge branch 'master' into freestanding_amd64
2022-03-14 11:02:59 +00:00
gingerBill
dc8d28c383
Fix #1607
2022-03-09 15:15:30 +00:00
gingerBill
278e239973
Commit rest of code for -disallow-rtti
2022-02-28 13:40:01 +00:00
gingerBill
0e5928ff39
Correct pseudo selector code generation
2022-02-15 15:16:30 +00:00
gingerBill
f8afda3b22
Add more objc attributes
2022-02-11 22:54:51 +00:00
gingerBill
19aec13a10
Support rank-2 arrays (matrix-like) for transpose
2022-02-06 11:42:59 +00:00
gingerBill
445ca70521
Correct implicit union cast
2022-02-05 16:11:48 +00:00
gingerBill
24e7356825
Add #no_type_assert and #type_assert to disable implicit type assertions with x.(T)
2022-01-27 16:08:47 +00:00
gingerBill
b190404b21
Fix double map dereference indexing
2022-01-26 16:37:16 +00:00
gingerBill
29ebe0c3c9
Rename architecture 386 to i386
2022-01-15 17:40:00 +00:00
gingerBill
0d7cb02386
Fix conversion from float to quaternion
2021-12-31 23:20:14 +00:00