Commit Graph

3294 Commits

Author SHA1 Message Date
gingerBill
66941aed0a Clamp maximum optimization level to 2 for -llvm-api 2021-03-29 15:51:15 +01:00
gingerBill
fc8c94324e Fix typo 2021-03-29 15:43:33 +01:00
gingerBill
8c20ac1bf0 Add optional LLVM_USE_BASIC_PASSES build flag. If evaluates to a truthy value, it will be do only basic passes for -llvm-api 2021-03-29 14:55:37 +01:00
gingerBill
371094b067 Remove LLVMAddScalarReplAggregatesPass from passes 2021-03-29 14:50:09 +01:00
gingerBill
c1e125a009 Change alignment of alloca to a larger one if OdinLLVMBuildTransmute requires it 2021-03-29 14:31:26 +01:00
gingerBill
48767301a4 Another minor change to OdinLLVMBuildTransmute regarding minimum source alignment 2021-03-29 14:11:02 +01:00
gingerBill
253a3edd30 Change OdinLLVMBuildTransmute when to deal with loads 2021-03-29 14:07:25 +01:00
gingerBill
8239cd34eb Issue #823 - Change semantics of disabled attribute to not evaluate any of the parameters at run time 2021-03-27 17:59:01 +00:00
gingerBill
818942b72e Minor code style change 2021-03-27 17:26:38 +00:00
gingerBill
9bac9af022 Clean up code for record type checking 2021-03-27 17:25:56 +00:00
gingerBill
342761e83a Refactor record polymorphic params code for unification 2021-03-27 17:21:12 +00:00
gingerBill
87bc9275fe Correct poly type determination of a where clause for an enumerated array 2021-03-27 16:49:56 +00:00
gingerBill
5ade037b7d Refactor polymorphic parameter for records; Improve error message for parametric polymorphic enumerated array index types 2021-03-27 16:42:42 +00:00
gingerBill
1e587d6635 Fix #883 - polymorphic specialization with target types of enumerated arrays 2021-03-27 15:22:05 +00:00
gingerBill
e21d716720 Fix endian conversion to and from floats and ints 2021-03-27 14:33:33 +00:00
gingerBill
d62ff39e60 Remove extra passes 2021-03-27 13:30:15 +00:00
gingerBill
0ccf103160 Fix byte swapping for endian specific types in -llvm-api 2021-03-27 12:48:29 +00:00
gingerBill
01c2662de4 Simplify ir_print.cpp escape byte code 2021-03-27 12:17:12 +00:00
gingerBill
bd607b131e Fix #882 2021-03-27 12:13:17 +00:00
gingerBill
43ac6ca8f4 Add linalg.matrix_cast 2021-03-26 16:24:56 +00:00
gingerBill
62d2656f69 Add linalg.matrix_cast 2021-03-26 14:33:46 +00:00
gingerBill
a611cf545d Add basic error correction in parser to check for unattached else 2021-03-26 11:39:46 +00:00
gingerBill
7463ad23d8 Move variable declarations to aid other compilers 2021-03-25 22:59:15 +00:00
gingerBill
6271d10af7 Fix to OdinLLVMBuildTransmute to goto general_end on different sized data 2021-03-25 22:54:49 +00:00
gingerBill
c5c82e0551 Fix pseudo-constant local slice initialization 2021-03-25 22:47:23 +00:00
gingerBill
29ed1d5459 Minor zero enforcement 2021-03-25 22:34:35 +00:00
gingerBill
50b439daa8 Fix pseudo-constant local embedded slice generation 2021-03-25 22:27:52 +00:00
gingerBill
23c68b4f7a Change to assert to test both LLVMIsConstant and LLVMIsGlobalConstant 2021-03-25 22:14:38 +00:00
gingerBill
615104afd1 Revert change :D 2021-03-25 20:59:24 +00:00
gingerBill
d3665331c7 Another minor fix to OdinLLVMBuildTransmute 2021-03-25 20:47:10 +00:00
gingerBill
04be6d190e Minor fix to OdinLLVMBuildTransmute 2021-03-25 20:45:22 +00:00
gingerBill
6668fd44cf Merge branch 'master' of https://github.com/odin-lang/Odin 2021-03-25 20:23:49 +00:00
gingerBill
0007ac63ed Correct #c_vararg behaviour on -llvm-api 2021-03-25 20:23:43 +00:00
gingerBill
f656968aea Merge pull request #880 from breeo7/master
Add `container.Priority_Queue`
2021-03-25 16:02:22 +00:00
breeo
24e7b5ea78 Add container.Priority_Queue 2021-03-25 15:50:33 +01:00
gingerBill
7c951cbf0a Add SOA struct len/cap/allocator fields for the debug symbols 2021-03-24 23:12:54 +00:00
gingerBill
2d0e2625ac Ensure pointers are of the same type in LLVM ICmp 2021-03-24 23:01:48 +00:00
gingerBill
1aecd7f5ff Add support for soa slice reference iteration 2021-03-24 22:39:29 +00:00
gingerBill
5faf859a56 Support using on intermediate soa field value from a for-in statement 2021-03-24 22:34:55 +00:00
gingerBill
7028797d53 Implement soa_unzip 2021-03-24 19:29:25 +00:00
gingerBill
6c9d3715d8 Add type hinting to soa_zip 2021-03-24 18:08:34 +00:00
gingerBill
989a03dc77 soa_zip (-llvm-api only): creates an #soa[]struct from passed slices
x := []i32{1, 3, 9};
y := []f32{2, 4, 16};
z := []b32{true, false, true};

s_anonymous := soa_zip(x, y, z);
assert(s_anonymous[0]._1 == 2);

s_named := soa_zip(a=x, b=y, c=z);
assert(s_anonymous[0].b == 2);
2021-03-24 17:33:05 +00:00
gingerBill
7a045bd957 Merge pull request #877 from Kelimion/datetime
Add core:datetime_to_time
2021-03-24 16:59:19 +00:00
gingerBill
a5329ae48c Add better package declaration specific error message (#878) 2021-03-24 14:34:30 +00:00
gingerBill
2ec3326653 Support #soa array iteration in a for in loop for -llvm-api backend only 2021-03-24 14:31:44 +00:00
gingerBill
bec42e8dd3 Improve core:odin/ast ast.Range_Stmt to use generic number of vals rather than the fixed two to aid with parsing errors 2021-03-24 12:34:06 +00:00
gingerBill
d969d0b264 Make for in logic a bit more generic 2021-03-24 12:31:05 +00:00
gingerBill
0e3ecc350a Make the parser support as many identifiers on the LHS in for in loops to improve error messages 2021-03-24 12:11:00 +00:00
gingerBill
295c1550a8 Support using variables in debug information 2021-03-24 10:57:00 +00:00
gingerBill
fc1a352285 For bit_set, allow + and - to be aliases for | and &~, respectively 2021-03-23 23:34:01 +00:00