gingerBill
|
afe185ee22
|
Fix procedure entity finding
|
2021-04-27 21:08:18 +01:00 |
|
gingerBill
|
24f2d97c0e
|
Make atomic compare related intrinsics optional ok
|
2021-04-27 16:55:39 +01:00 |
|
gingerBill
|
e7e1866e50
|
Fix #893
|
2021-04-27 13:09:37 +01:00 |
|
gingerBill
|
04535b2913
|
Fix constant aliasing for debug information
|
2021-04-26 22:36:20 +01:00 |
|
gingerBill
|
43b55223af
|
Merge branch 'master' into old-backend-removal
|
2021-04-26 11:46:58 +01:00 |
|
gingerBill
|
aa846d0ea5
|
Fix union #maybe comparison against nil -llvm-api
|
2021-04-26 11:46:26 +01:00 |
|
gingerBill
|
2691c394e0
|
Add intrinsics.count_zeros
|
2021-04-25 20:50:25 +01:00 |
|
gingerBill
|
7086b49ae6
|
Rename intrinsics to count_trailing_zeros and count_leading_zeros
|
2021-04-25 20:26:11 +01:00 |
|
gingerBill
|
72aa0e6e38
|
Replace many foreign llvm calls with intrinsics
|
2021-04-25 20:22:26 +01:00 |
|
gingerBill
|
6383714bff
|
Remove old procedure ABI code
|
2021-04-25 19:56:46 +01:00 |
|
gingerBill
|
ff620422fa
|
Fix #857
|
2021-04-25 19:40:02 +01:00 |
|
gingerBill
|
5685a8d885
|
Fix #911 for -llvm-api backend
|
2021-04-25 19:19:44 +01:00 |
|
gingerBill
|
2b4010998d
|
Up ci.yml
|
2021-04-24 20:55:50 +01:00 |
|
gingerBill
|
c29b643a58
|
Move out some intrinsics into separate procedures in llvm_backend.cpp; Rename InlineRangeStmt to UnrollRangeStmt (eventually merge the two AST nodes)
|
2021-04-24 15:00:01 +01:00 |
|
gingerBill
|
ac53577e9b
|
Improve auto_cast logic
|
2021-04-22 17:29:48 +01:00 |
|
gingerBill
|
896057b5a7
|
Reuse unused 'context' variables to minimize stack usage (-llvm-api)
|
2021-04-22 16:56:02 +01:00 |
|
gingerBill
|
01db195b47
|
Make main calling convention "odin" rather than "contextless" to simplify code generation
|
2021-04-22 16:26:28 +01:00 |
|
gingerBill
|
8a86c4c7cc
|
Remove old code
|
2021-04-22 14:24:30 +01:00 |
|
gingerBill
|
1c9f48031d
|
Change function pass manager passes
|
2021-04-22 13:54:26 +01:00 |
|
gingerBill
|
7fcd5ecbd5
|
Change how lb_populate_function_pass_manager works by using the default LLVM passes when not using minimal optimizations
|
2021-04-22 12:35:01 +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
|
542098dc6f
|
Add intrinsics: byte_swap (integers and floats); count_ones; trailing_zeros; reverse_bits
|
2021-04-22 11:06:16 +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
|
65551ba8fb
|
Add optimization_mode attribute for procedures
Allowed modes: "none", "minimal", "size", "speed"
Currently: none == minimal and size == speed
|
2021-04-22 00:04:47 +01:00 |
|
gingerBill
|
2fb0383e82
|
Add -build-mode:llvm-ir for -llvm-api backend
|
2021-04-21 23:25:08 +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
|
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
|
e8bf1f2064
|
Minor fixes to platform checking code
|
2021-04-11 18:59:54 +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
|
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
|
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
|
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
|
439e2c9242
|
Fix shifting limits and LLVM code gen bug relating to shifts
|
2021-03-29 23:15:31 +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
|
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
|
e21d716720
|
Fix endian conversion to and from floats and ints
|
2021-03-27 14:33:33 +00:00 |
|