gingerBill
|
f119fd1ee1
Use `shufflevector` when possible for lbAddr_Swizzle load
|
4 years ago |
gingerBill
|
46ab822316
Improved `lb_build_assign_stmt_array` logic
|
4 years ago |
gingerBill
|
a2f2041aa6
Fix `lb_build_assign_stmt_array` for `lbAddr_Swizzle`
|
4 years ago |
gingerBill
|
599d18f26f
Experimental support for inline swizzling for array types of len <= 4 e.g. `v.xyz`, `v.argb`, `v.xxx`
|
4 years ago |
gingerBill
|
8c943eb054
Make inline array arithmetic use `load+extractvalue` rather than `getelementptr+load` to give the optimizer a better hint for vectorization
|
4 years ago |
gingerBill
|
446703ba75
Improves to array arithmetic on += etc assignment statements
|
4 years ago |
gingerBill
|
2573da12fc
Fix #992
|
4 years ago |
gingerBill
|
bbc9c6a93c
Fix #999
|
4 years ago |
gingerBill
|
b8d6dd4eb7
Fix #1004
|
4 years ago |
gingerBill
|
0f91ffe28f
Add intrinsics.{ptr_offset, ptr_sub}
|
4 years ago |
gingerBill
|
4b46d691f8
Improve logic for intrinsics.{mem_copy, mem_copy_non_overlapping, mem_zero} to use the `*.inline` LLVM variants when possible
|
4 years ago |
gingerBill
|
bb7bd94b0a
Fix comparison bug of enumerated arrays
|
4 years ago |
gingerBill
|
4a886a1bc5
Disable copy elision on assignments for the time being
|
4 years ago |
gingerBill
|
c21c754b6f
Minimize copying on getting the address of a call if required
|
4 years ago |
gingerBill
|
0c46d06e63
Add `intrinsics.mem_zero`
|
4 years ago |
gingerBill
|
44b6e7c45d
Move the mem zero into a separate procedure for reuse
|
4 years ago |
gingerBill
|
284a2631fd
Refactoring of lbFunctionType retrieval
|
4 years ago |
gingerBill
|
3f156bcb4b
Refactor backend code for assignments; Refactor some statements into separate procedures
|
4 years ago |
gingerBill
|
d35a9e65b6
Heavily improve the copy elision logic in the backend
|
4 years ago |
gingerBill
|
c440296ae8
Add `@(link_section=<string>)` for global variables
|
4 years ago |
gingerBill
|
79f115d6a7
Handle #c_vararg correctly
|
4 years ago |
gingerBill
|
b8f8d4c3a1
Modify ABI for the Odin calling conventions on SysV slightly
|
4 years ago |
gingerBill
|
247f4f3293
Fix `..=` logic in the backend
|
4 years ago |
gingerBill
|
9c54ed5792
Add range-based error messages to `-verbose-errors`
|
4 years ago |
gingerBill
|
26ce40c188
Remove @(static) for global variables
|
4 years ago |
gingerBill
|
b34e4a9fd1
More minor linkage changes
|
4 years ago |
gingerBill
|
28561ef5f5
Minor change to internal linkage stuff
|
4 years ago |
gingerBill
|
e82e4398b6
Add `intrinsics.mem_copy` and `intrinsics.mem_copy_non_overlapping`
|
4 years ago |
gingerBill
|
e0225c3579
Add `intrinsics.sqrt` for floating-point values
|
4 years ago |
gingerBill
|
6ef96d3300
Improve untyped to typed logic for aiding the backend
|
4 years ago |