Commit Graph

3766 Commits

Author SHA1 Message Date
gingerBill
1692dcf8d5 Merge pull request #2514 from ryuukk/patch-2
Missing cast
2023-05-18 11:26:02 +01:00
gingerBill
5ec4719124 Merge pull request #2523 from jcmoyer/fix-2056
Zero non-diagonal elements when converting to matrix
2023-05-18 11:25:44 +01:00
gingerBill
171f38b9b5 Allow implicit conversion between boolean types within or_return
This is to improve the experience using third-party code, especially foreign C-like code which may use a distinct boolean or a different sized one
2023-05-18 11:06:02 +01:00
gingerBill
bb4ff84a4a Add extra mutex for error block stuff 2023-05-16 11:52:02 +01:00
gingerBill
8693a045bb Revert "Change intrinsics.read_cycle_counter on ARM64"
This reverts commit b567679eb6.
2023-05-12 11:50:49 +01:00
gingerBill
b567679eb6 Change intrinsics.read_cycle_counter on ARM64 2023-05-12 11:34:01 +01:00
matias
277ae4e2b0 Patch "no_copy" typo in parser.cpp 2023-05-10 02:58:17 -04:00
J.C. Moyer
ed580b3060 Zero non-diagonal elements when converting to matrix
Fixes #2056
2023-05-09 12:00:38 -04:00
ryuukk
f313538ea5 Missing cast 2023-05-06 18:00:33 +02:00
gingerBill
fda1e4409c When using -debug, default to -o:none unless explicitly specified 2023-05-02 14:44:56 +01:00
gingerBill
b3aa6afba9 Fix #2481 2023-04-27 11:35:14 +01:00
gingerBill
7df1cc075c Fix #2487 2023-04-27 11:31:05 +01:00
gingerBill
b0f0a02d3c Make !x be an untyped boolean 2023-04-27 11:26:15 +01:00
gingerBill
d6d34bd62f Add extra nullptr check 2023-04-27 11:16:02 +01:00
gingerBill
68dde07d5d Require parentheses around certain uses of or_return expressions 2023-04-27 11:13:05 +01:00
gingerBill
acd8a4bc95 Unify check_constant_parameter_value logic 2023-04-27 10:58:17 +01:00
gingerBill
f2ec438166 Add ifdef block 2023-04-21 12:50:36 +01:00
gingerBill
a95b064d6d Fix memory leak caused by awful realloc usage on Linux 2023-04-21 13:29:38 +01:00
gingerBill
9d23a392a6 Merge branch 'master' of https://github.com/odin-lang/Odin 2023-04-20 11:27:14 +01:00
gingerBill
6726df4d58 Allow aliasing foreign import name 2023-04-20 11:20:15 +01:00
gingerBill
02a58c1247 Merge pull request #2464 from ap29600/simd_unaligned_load
Improve code generation for `intrinsics.unaligned_load/store` on `#simd` types
2023-04-20 10:33:32 +01:00
gingerBill
72a7b35513 Merge pull request #2450 from destroycomputers/master
Fix intrinsics.alloca code generation
2023-04-20 10:25:43 +01:00
gingerBill
843eaf8893 Fix race condition with -use-separate-modules due to type determination 2023-04-18 17:20:50 +01:00
gingerBill
30fa8f8ac2 Add missing enum 2023-04-18 16:08:54 +01:00
gingerBill
0ec4e8d5d4 Inline static map calls for map get, and improve readability of the LLVM IR 2023-04-18 15:17:16 +01:00
Andrea Piseri
af63eff8d7 improve code generation for intrinsics.unaligned_load/store on #simd types
the default implementation calls memcpy on an `alloca` constant, which
seems to heavily confuse the optimizer and produces overall suboptimal
code.

Introducing this specialization simplifies the intermediate
representation produced, resulting in more efficient code.
2023-04-16 15:01:30 +02:00
gingerBill
e24315eed8 Improve grammar 2023-04-15 16:16:16 +01:00
gingerBill
dc55e88588 Add @(deferred_*_by_ptr=<proc>) 2023-04-15 16:04:04 +01:00
gingerBill
5da76ae34b Add struct #no_copy 2023-04-15 15:37:32 +01:00
destroycomputers
b6f356c211 Fix intrinsics.alloca code generation
There was a disconnect between the declared return type for alloca
intrinsic in check_builtin.cpp (multi_pointer(t_u8)) and the generated
result type in llvm_backend_proc.cpp (t_u8_ptr).

This allowed slicing the return type, but in the code generation process
the type of the expression wasn't sliceable, which triggered the assert.

Fixes #2139
2023-04-11 01:11:01 +02:00
gingerBill
ae6e76bbb3 Merge pull request #2435 from Lperlind/master
Fix type comparison not accounting for parapoly params
2023-04-06 12:56:25 +01:00
gingerBill
70ce878dfb Add -max-error-count:<integer> 2023-04-04 12:11:12 +01:00
gingerBill
adcaace03c Fix allow_field_separator for foreign import 2023-04-03 21:09:26 +01:00
Lucas Perlind
08bc6a1698 Fix type comparison not accounting for parapoly params 2023-04-03 12:47:28 +10:00
Mark Naughton
bd7ffcc048 Change help text to output to stdout 2023-03-29 16:30:02 +01:00
Alexander Goussas
99d6c58971 Fix typo in warning message in parser 2023-03-24 15:37:17 -05:00
gingerBill
d986eee36b Fix typo 2023-03-21 15:28:52 +00:00
gingerBill
b3e712e0b8 Correctly handle end comment for doc generation 2023-03-21 15:22:11 +00:00
gingerBill
2c4a478987 Add @(extra_linker_flags=<string>) 2023-03-21 13:30:58 +00:00
gingerBill
ba02ef8f25 Change trailing comma require to -strict-style only 2023-03-21 13:16:03 +00:00
gingerBill
fe533fb809 Improve llreg integer type generation for SysV ABI 2023-03-19 01:29:53 +00:00
gingerBill
1f5bb99548 Improve SysV ABI for multiple return values that fit into a single register; Fixes #2384 2023-03-19 00:51:57 +00:00
gingerBill
bfb231fb8a Simplify copy elision on variable declarations 2023-03-16 17:24:29 +00:00
gingerBill
8dc70f797c Increase use of temporary_allocator() where possible 2023-03-16 15:16:17 +00:00
gingerBill
c1c7128634 Minimize severe memory usage by enforcing the heap_allocator() in places 2023-03-16 15:04:57 +00:00
gingerBill
49cf0125a9 Fix minor memory leak 2023-03-16 13:01:06 +00:00
gingerBill
0602a16ad6 Reserve memory for procedures when generating the LLVM IR 2023-03-16 12:44:03 +00:00
gingerBill
00f24a3249 Merge pull request #2380 from flysand7/master
Add -no-thread-local flag
2023-03-14 13:04:34 +00:00
Florian Behr
8d5c865814 Fix missing commas in -target-featues string by adding missing i increment. 2023-03-14 13:39:08 +01:00
bumbread
5134d6bc63 rename -no-tls to -no-thread-local 2023-03-14 16:32:42 +11:00