gingerBill
|
efdee0dafb
|
Remove bit_field type from Odin (keyword and dead runtime code still exists)
|
2021-02-19 11:31:14 +00:00 |
|
gingerBill
|
d168c7936e
|
Fix slices of slices in procedures for -llvm-api
|
2021-01-27 15:56:32 +00:00 |
|
gingerBill
|
069c6cac3f
|
Add package name and source code location to Type_Info_Named
|
2020-12-05 20:47:50 +00:00 |
|
gingerBill
|
1a8ea6113a
|
Remove hash field in runtime.Source_Code_Location
|
2020-12-05 19:52:08 +00:00 |
|
gingerBill
|
05a3bdad58
|
Allow nested procedures to access @(static) and @(thread_local) variables
|
2020-12-04 11:28:14 +00:00 |
|
gingerBill
|
047586afc6
|
Change ExactValue layout for complex/quaternion types to minimize its size
|
2020-12-03 14:21:33 +00:00 |
|
gingerBill
|
7389ffba6d
|
Fix -llvm-api const initialization of &T{}
|
2020-12-02 21:07:15 +00:00 |
|
gingerBill
|
996c854071
|
Disable lb_const_hash for the time being
|
2020-12-02 11:48:50 +00:00 |
|
gingerBill
|
2d0c0a7a83
|
Fix typo
|
2020-12-01 15:38:15 +00:00 |
|
gingerBill
|
400816ebf7
|
Fix Pointer store in LLVM backend
|
2020-12-01 00:40:54 +00:00 |
|
gingerBill
|
5803fcc158
|
Revert function passes
|
2020-11-29 20:41:01 +00:00 |
|
gingerBill
|
dd4f8e9747
|
Improve default pass manager for -llvm-api
|
2020-11-29 18:32:49 +00:00 |
|
gingerBill
|
f06f33872c
|
Make 16 simple hasher cases for small types
|
2020-11-29 18:17:21 +00:00 |
|
gingerBill
|
9e13416312
|
Simplify simple compare hasher code
|
2020-11-29 17:58:54 +00:00 |
|
gingerBill
|
5ab7ec5b16
|
Support any comparable type for map keys
|
2020-11-29 16:37:19 +00:00 |
|
gingerBill
|
57f5976ac1
|
Support map keys for simple compare types
|
2020-11-29 16:12:21 +00:00 |
|
gingerBill
|
7fbc081119
|
Improve const hash
|
2020-11-29 16:03:21 +00:00 |
|
gingerBill
|
1dfe0cdd1d
|
Simplify hashing approach map
|
2020-11-29 15:50:29 +00:00 |
|
gingerBill
|
97c66c9c73
|
Add intrinsics.type_hasher_proc; Make map work with generic hasher procedure
|
2020-11-29 15:27:53 +00:00 |
|
gingerBill
|
39bed567b3
|
Add intrinsics.type_equal_proc; Make map use an internal equal procedure to compare keys
|
2020-11-29 14:22:42 +00:00 |
|
gingerBill
|
c77098a91c
|
Fix for in enum type
|
2020-11-26 10:19:45 +00:00 |
|
gingerBill
|
70f5d7a1c9
|
Enforce zeroing through memset to ensure padding is zeroed with llvm api
|
2020-11-25 19:50:48 +00:00 |
|
gingerBill
|
dbaf4d24f6
|
Update package json for new map layout; Correct llvm-api includes for *nix
|
2020-11-25 16:19:56 +00:00 |
|
gingerBill
|
776c3f4e90
|
Prepare for M1 Mac
|
2020-11-24 12:20:48 +00:00 |
|
gingerBill
|
a55568b0c4
|
Make hash internal key be uintptr rather than u64 to reduce entry size
|
2020-11-23 19:14:36 +00:00 |
|
gingerBill
|
91758656f6
|
Change internal layout of map[K]V
|
2020-11-23 18:25:01 +00:00 |
|
gingerBill
|
4762d2f2d1
|
map type internal reorganization
|
2020-11-23 16:56:31 +00:00 |
|
gingerBill
|
4e370e6ed8
|
Add equal procedure field to runtime.Type_Info_Struct
|
2020-11-23 15:53:49 +00:00 |
|
gingerBill
|
0b30c3dc5a
|
Add flags: Type_Info_Flags, to runtime.Type_Info
|
2020-11-23 14:35:31 +00:00 |
|
gingerBill
|
9e42cb1595
|
Add comparisons to structs where all fields are comparable == and !=
|
2020-11-23 12:20:04 +00:00 |
|
gingerBill
|
a2461bdf6b
|
Modify llvm_abi.cpp to work correctly for win64 abi of i128 types. (it's a pain)
|
2020-11-22 21:38:45 +00:00 |
|
gingerBill
|
63e4a2341f
|
Support string literals for fixed arrays of runes; Add %q support for arrays/slices of bytes
|
2020-11-20 16:24:23 +00:00 |
|
gingerBill
|
6416a6f39c
|
Allow string literals for [N]byte
|
2020-11-20 16:01:59 +00:00 |
|
gingerBill
|
2bd0fd932a
|
Begin rudimentary work on implementing odin test tooling with *_test.odin files
|
2020-11-17 18:50:30 +00:00 |
|
gingerBill
|
ca4b0527e8
|
Minimize memory usage for AST nodes by using Slice<T> rather than Array<T> when the parameter doesn't need to grow
|
2020-11-16 15:18:25 +00:00 |
|
gingerBill
|
db0bcbc4f4
|
Fix calling convention for new LLVM ABI, and changePtrSet index to be u32 rather than isize
|
2020-11-15 21:19:08 +00:00 |
|
gingerBill
|
0d6f5cec37
|
Implement custom temporary allocator using ring buffer
|
2020-11-15 19:36:37 +00:00 |
|
gingerBill
|
17ec3e72a6
|
Add SCOPED_TEMPORARY_BLOCK for temporary allocations within a block
|
2020-11-15 18:45:40 +00:00 |
|
gingerBill
|
30d922b059
|
Make set_procedure_abi_types use the permanent_allocator
|
2020-11-15 18:11:49 +00:00 |
|
gingerBill
|
3c1c10a178
|
Begin clarifying allocation patterns by changing from heap_allocator to specific arenas
|
2020-11-15 18:08:52 +00:00 |
|
gingerBill
|
9f93042163
|
Improve lb_abi_to_odin_type
|
2020-11-14 17:09:42 +00:00 |
|
gingerBill
|
a64ea342df
|
Improve USE_NEW_LLVM_ABI_SYSTEM's System V ABI
|
2020-11-12 23:40:13 +00:00 |
|
gingerBill
|
70b8b3c7dd
|
Update LLVM backend to begin work on a generic ABI system
|
2020-11-12 00:43:49 +00:00 |
|
gingerBill
|
ee3b3fe6a3
|
Fix typeid_of bug
|
2020-11-10 14:48:57 +00:00 |
|
gingerBill
|
c26cb470a2
|
Fix LLVM-API type cycle for procedures of named procedures
|
2020-11-09 10:27:27 +00:00 |
|
gingerBill
|
4629754f7c
|
Inline asm expression (-llvm-api)
See https://llvm.org/docs/LangRef.html#inline-assembler-expressions
Example:
```
x := asm(i32) -> i32 {
"bswap $0",
"=r,r",
}(123);
```
Allowed directives `#side_effect`, `#align_stack`, `#att`, `#intel` e.g. `asm() #side_effect #intel {...}`
|
2020-10-24 16:32:37 +01:00 |
|
gingerBill
|
5fa488f163
|
Add intrinsics.cpu_relax for llvm-api
|
2020-10-24 15:08:35 +01:00 |
|
gingerBill
|
feeb342c00
|
Improve multiple return value copy-elision
|
2020-10-20 17:08:55 +01:00 |
|
gingerBill
|
c4dbc88a12
|
Improve array programming code generation
|
2020-10-20 15:38:41 +01:00 |
|
gingerBill
|
f4b4cd0433
|
Specific set the code gen level for -llvm-api
|
2020-10-20 12:43:15 +01:00 |
|