gingerBill
|
40822be595
|
Reorganize llvm_backend.cpp into separate files for easier maintenance
|
2021-08-07 12:01:48 +01:00 |
|
gingerBill
|
a5d6fda433
|
Define which mutexes are blocking and recursive explicitly
|
2021-07-27 23:14:01 +01:00 |
|
gingerBill
|
d9e6ade030
|
Add experimental support for a threaded semantic checker to -threaded-checker
|
2021-07-10 23:51:37 +01:00 |
|
gingerBill
|
8d31ba492d
|
Fix #1042
|
2021-06-28 11:32:23 +01:00 |
|
gingerBill
|
abe728dbbb
|
Add intrinsics.type_is_endian_platform
|
2021-06-17 20:39:00 +01:00 |
|
gingerBill
|
f19bb0f4d4
|
Make default calling convention code more correct to read
|
2021-06-08 14:33:49 +01:00 |
|
gingerBill
|
89890d7900
|
Correct union tag size for large alignments
|
2021-06-06 16:34:51 +01:00 |
|
gingerBill
|
599d18f26f
|
Experimental support for inline swizzling for array types of len <= 4 e.g. v.xyz, v.argb, v.xxx
|
2021-06-05 17:22:39 +01:00 |
|
gingerBill
|
7b7081d607
|
Remove old dead code
|
2021-05-15 18:59:54 +01:00 |
|
gingerBill
|
e4286d0ff9
|
Force zero_init in lb_add_local in certain cases
|
2021-05-03 15:57:35 +01:00 |
|
gingerBill
|
1a3784c4df
|
Allow unions which are comparable to also be valid map keys (i.e. hashable)
|
2021-05-03 13:38:15 +01:00 |
|
gingerBill
|
518ecaf9c9
|
Allow unions to be comparable if all their variants are comparable
|
2021-05-03 13:17:16 +01:00 |
|
gingerBill
|
24fce21d90
|
Add "naked" calling convention (removes prologue and epilogue)
|
2021-04-28 10:49:30 +01:00 |
|
gingerBill
|
6383714bff
|
Remove old procedure ABI code
|
2021-04-25 19:56:46 +01:00 |
|
gingerBill
|
b68b090f13
|
Add intrinsics: overflow_add, overflow_sub, overflow_mul; Change byte swap behaviour in -llvm-api to be the same as the intrinsic
|
2021-04-22 11:33:46 +01:00 |
|
gingerBill
|
0a66f8c9a3
|
Remove intrinsics.x86_mmx type
|
2021-04-22 10:39:20 +01:00 |
|
gingerBill
|
47c7dc6a9b
|
Add new intrinsics: debug_trap, trap, read_cycle_counter, expect
|
2021-04-22 10:35:17 +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
|
3e1b4c17ac
|
Fix alignment for complex32 and quaternion64
|
2021-04-01 11:10:17 +01:00 |
|
gingerBill
|
54e6c50769
|
Implement f16 functionality
|
2021-04-01 10:06:00 +01:00 |
|
gingerBill
|
d88d6a1fdd
|
bit_set support in debug symbols by treating them like a bit field of 1 bit booleans
|
2021-03-23 22:09:16 +00:00 |
|
gingerBill
|
331167e91f
|
Improve debug type names for composite types (arrays, map, struct, union)
|
2021-03-23 20:41:49 +00:00 |
|
gingerBill
|
667aa3671e
|
Fix Addressing for SOA on store; Add intrinsics.type_struct_field_count(T)
|
2021-03-01 17:54:49 +00:00 |
|
gingerBill
|
41b854f192
|
Remove #opaque types
|
2021-02-23 15:45:06 +00:00 |
|
gingerBill
|
28ed310f31
|
Remove "pure" and "pure_none" calling conventions
|
2021-02-23 13:10:23 +00:00 |
|
gingerBill
|
595885d3db
|
Remove bit_field in type info, runtime, and general core library
|
2021-02-19 11:36:23 +00:00 |
|
gingerBill
|
efdee0dafb
|
Remove bit_field type from Odin (keyword and dead runtime code still exists)
|
2021-02-19 11:31:14 +00:00 |
|
gingerBill
|
5faa560f82
|
Make container.Map have similar semantics to the built-in map type
|
2020-12-15 23:23:07 +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
|
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
|
4762d2f2d1
|
map type internal reorganization
|
2020-11-23 16:56:31 +00:00 |
|
gingerBill
|
67bc35e882
|
Fix logic for comparisons of struct #raw_union types
|
2020-11-23 16:19:26 +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
|
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
|
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
|
3c1c10a178
|
Begin clarifying allocation patterns by changing from heap_allocator to specific arenas
|
2020-11-15 18:08:52 +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
|
c26cb470a2
|
Fix LLVM-API type cycle for procedures of named procedures
|
2020-11-09 10:27:27 +00:00 |
|
gingerBill
|
44baf56d62
|
Fix cyclic check in is_type_polymorphic
|
2020-11-08 23:54:09 +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
|
feeb342c00
|
Improve multiple return value copy-elision
|
2020-10-20 17:08:55 +01:00 |
|
gingerBill
|
f8e697dbbb
|
Fix indirect selector bug with using on offset_of
|
2020-10-15 14:58:57 +01:00 |
|
gingerBill
|
609af3a651
|
Fix and clean up default procedure parameter code for non-constant types
|
2020-09-22 12:06:05 +01:00 |
|