gingerBill
ba9f0dd553
Hack ABI for windows passing pointers to structures
2021-04-19 23:03:22 +01:00
gingerBill
c3b3194a00
Update builtin procedures to support the new allocator features (without breaking other code)
2021-04-19 22:44:20 +01:00
gingerBill
201cad51a9
Fix typo
2021-04-19 22:41:52 +01:00
gingerBill
d21e522208
Add code that was accidentally removed
2021-04-19 22:35:59 +01:00
gingerBill
f1bdd2e60f
Improve #optional_ok logic for procedures; Add #optional_second for package runtime usage
2021-04-19 22:31:14 +01:00
gingerBill
0eb75886d1
Allow assignment of procedure calls with #optional_ok to single values
2021-04-19 16:02:36 +01:00
gingerBill
3612569624
Allow casting of #optional_ok call expressions
2021-04-19 15:46:12 +01:00
gingerBill
c83d13d0cb
Fix update_expr_type behaviour, along with fixing procedure groups updating the proc expr type
2021-04-19 15:12:10 +01:00
gingerBill
f98c4d6837
Improve the Allocator interface to support returning Allocator_Error to allow for safer calls
...
Virtually all code (except for user-written custom allocators) should work as normal. Extra features will need to be added to make the current procedures support the `Allocator_Error` return value (akin to #optional_ok)
2021-04-19 12:31:31 +01:00
gingerBill
a4d0092b16
Remove temporary reference types
2021-04-19 11:02:09 +01:00
gingerBill
eb49b5f84a
Fix override_entity_in_scope behaviour to correctly to report the changes upstream better
2021-04-19 11:01:00 +01:00
gingerBill
ae04af4e4e
Add package flags
2021-04-18 20:19:03 +01:00
gingerBill
3baddd4116
Improve init_string determination for constants
2021-04-18 20:13:20 +01:00
gingerBill
6ae468828c
Improve odin-doc type information for Named types by storing the base type
2021-04-18 19:59:24 +01:00
gingerBill
b59e110fec
Add calling_convention to Type
2021-04-18 19:26:36 +01:00
gingerBill
4282688e60
Add calling_convention to odin-doc Type format
2021-04-18 19:26:21 +01:00
gingerBill
9b3fb25a41
Fix enumerated arrays for .odin-doc
2021-04-18 19:15:14 +01:00
gingerBill
2ce9873464
Remove dead comment
2021-04-18 18:53:19 +01:00
gingerBill
986844a0f0
Change elem_counts to i64le from u64
2021-04-18 18:48:56 +01:00
gingerBill
7c1f538c02
Change u32 to u32le
2021-04-18 18:46:29 +01:00
gingerBill
2f1c896290
Add -doc-format command for the new .odin-doc file format (to be used to generate documentation tools)
2021-04-18 18:33:15 +01:00
gingerBill
8827818b1d
Clean-up fallback io.read_at and io.write_at behaviour
2021-04-14 21:25:46 +01:00
gingerBill
e19958152a
Fix floattidf
2021-04-14 20:45:05 +01:00
gingerBill
05a181d719
Fix style issues; Use new attribute @(cold) where appropriate in the new sync package
2021-04-14 20:19:02 +01:00
gingerBill
d24784074c
Add extra error to io.Error
2021-04-14 20:17:54 +01:00
gingerBill
cd2476e084
Add buffer_read_at buffer_write_at
2021-04-14 20:13:26 +01:00
gingerBill
ebbc33fdb5
Mockup of the new package os interface (incomplete and non-functioning)
2021-04-14 19:39:12 +01:00
gingerBill
3a4373641b
Correct call site attributes
2021-04-14 17:16:10 +01:00
gingerBill
9adec628c1
Add @(cold) attribute to procedure declarations
2021-04-14 17:15:28 +01:00
gingerBill
d602709133
Fix typo
2021-04-14 12:14:44 +01:00
gingerBill
8e1120bc09
Fix typo
2021-04-13 19:23:12 +01:00
gingerBill
ebed29fc09
Revert *nix thread stuff to old sync
...
(I was just testing)
2021-04-13 19:09:04 +01:00
gingerBill
bee8beb2c9
Default to pthreads in sync2 for *nix
2021-04-13 19:04:44 +01:00
gingerBill
12296a0dcc
Allow intrinsics entities to be exported from other packages if wanted
2021-04-13 18:57:47 +01:00
gingerBill
2b36069924
Fix typo
2021-04-12 17:13:05 +01:00
gingerBill
4fb4ada2c7
Update sync2 to just use atomic intrinsics rather than the parapoly wrappers
2021-04-12 15:22:40 +01:00
gingerBill
e3ee005404
Clean up path_unix.odin to make it not depend on package os
2021-04-11 19:05:01 +01:00
gingerBill
e8bf1f2064
Minor fixes to platform checking code
2021-04-11 18:59:54 +01:00
gingerBill
1156bd9dd0
Remove thread stuff from sync2; Cleanup package thread
2021-04-11 18:25:56 +01:00
gingerBill
52c193316b
Add Thread stuff to new sync package
2021-04-11 15:36:55 +01:00
gingerBill
2db1fe7429
New redesign of core:sync (stored under core:sync/sync2 for the time being)
2021-04-11 15:18:28 +01:00
gingerBill
2d99a348b8
Fix proc literal bug not finding the associated DeclInfo
2021-04-09 11:27:44 +01:00
gingerBill
18ab7fb68b
Add break; for sanity
2021-04-08 15:32:59 +01:00
gingerBill
3eaf3327d4
Add "Dwarf Version" metadata for darwin on -llvm-api
2021-04-08 15:06:23 +01:00
gingerBill
d721ffa6fa
Add assertion check on parameter types for lb_emit_call_internal
2021-04-06 11:26:57 +01:00
gingerBill
535048e2b3
Fix LLVMConstIntOfArbitraryPrecision usage for a pointer
2021-04-06 11:07:05 +01:00
gingerBill
19470683e7
Add runtime.extendhfsf2 to dependency list
2021-04-05 18:57:09 +01:00
gingerBill
394e4fcbad
Add __extendhfsf2 for macOS
2021-04-05 18:44:08 +01:00
gingerBill
f78b2a6090
Undo fix
2021-04-03 18:04:39 +01:00
gingerBill
46bf39cae1
Fix lb_emit_array_ep
2021-04-03 18:03:36 +01:00
gingerBill
46c5c7d1ec
Experiment with different opt passes
2021-04-01 23:41:01 +01:00
gingerBill
bcda9ddee7
Add core:math/fixed
2021-04-01 17:09:34 +01:00
gingerBill
4a66cbb1f4
Fix signed fixed arithmetic intrinsics
2021-04-01 17:08:34 +01:00
gingerBill
f0392d0c75
Cleanup again
2021-04-01 15:46:07 +01:00
gingerBill
3bd39886a0
Cleanup code for fixed-point intrinsics
2021-04-01 15:43:50 +01:00
gingerBill
cef698afd6
Implement fixed-point arithmetic intrinsics for -llvm-api backend
2021-04-01 14:36:06 +01:00
gingerBill
0fc04a939e
Add f16 support to core:math/linalg
2021-04-01 11:12:40 +01:00
gingerBill
3e1b4c17ac
Fix alignment for complex32 and quaternion64
2021-04-01 11:10:17 +01:00
gingerBill
b3e788b9d9
Fix missing complex32/quaternion64 checks
2021-04-01 10:56:57 +01:00
gingerBill
63bb26c0e0
Add f16 specific procedures to core:math
2021-04-01 10:52:46 +01:00
gingerBill
b3dce34bc6
Add min(f16) and max(f16) support
2021-04-01 10:35:07 +01:00
gingerBill
491b282615
Add extra optimization level pass -opt:2 in lb_populate_module_pass_manager
2021-04-01 10:31:46 +01:00
gingerBill
54e6c50769
Implement f16 functionality
2021-04-01 10:06:00 +01:00
gingerBill
3359d0323a
Change >> behaviour in LLVM to prevent stupid UB
2021-03-30 20:38:04 +01:00
gingerBill
fbd01660ee
Experiment with new grammatical parsing rule for expression level (-strict-style) idea
2021-03-30 11:48:32 +01:00
gingerBill
439e2c9242
Fix shifting limits and LLVM code gen bug relating to shifts
2021-03-29 23:15:31 +01:00
gingerBill
6fb0868517
Remove dead code and comments
2021-03-29 22:45:36 +01:00
gingerBill
e1588c9322
Remove LLVMPassManagerBuilder usage in lb_populate_module_pass_manager; simplify lb_populate_function_pass_manager
2021-03-29 22:04:54 +01:00
gingerBill
8fcc6ca464
Add LLVM_USE_NO_EXTRA_PASSES build flag
2021-03-29 16:51:06 +01:00
gingerBill
faa0240900
Change how lb_populate_module_pass_manager handles the LLVMPassManagerBuilder calls
2021-03-29 16:40:39 +01:00
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