Jacob Young
a9f738e56b
x86_64: implement c abi for bool vectors
2024-02-12 05:25:07 +01:00
Ali Chraghi
72bd1cd378
spirv: remove now-redundant isUnused calls from AIR handler functions
2024-02-10 09:50:02 +03:30
Ali Chraghi
5ee96688a7
spirv: emit vectorized operations
2024-02-09 16:40:34 +03:30
Veikka Tuominen
ddcea2cad4
Merge pull request #18857 from alichraghi/shader
...
spirv: make rusticl the primary testing implementation
2024-02-09 14:11:31 +02:00
Ali Chraghi
37b0aa600a
spirv: make rusticl the primary testing implementation
2024-02-09 09:27:08 +03:30
Ali Chraghi
eb2d61d02e
spirv: merge construct(Struct/Vector/Array) into constructComposite
2024-02-09 09:27:05 +03:30
Andrew Kelley
3122fd0ba0
Merge pull request #17634 from ianprime0509/type-erased-writer
...
Add type-erased writer and GenericWriter
2024-02-07 23:52:53 -08:00
Jacob Young
38c2a25735
Builder: fix memory leaks
2024-02-06 22:31:13 -05:00
Andrew Kelley
78f15bc714
compiler: rename value.zig to Value.zig
...
This commit only does the file rename to be friendlier to version
control conflicts.
2024-02-05 18:13:07 -07:00
Ali Chraghi
739108c9f0
spirv: support enum integer values in Assembler
2024-02-05 11:55:14 +03:30
Ali Chraghi
b41aad0193
spirv: emit vectors whenever we can
2024-02-05 11:55:14 +03:30
Ali Chraghi
afa7793351
spirv: basic shader support
2024-02-05 11:55:14 +03:30
Robin Voetter
7634a115c5
Merge pull request #18580 from Snektron/spirv-more-vectors
...
spirv: more vector operations
2024-02-05 09:24:49 +01:00
Jacob Young
eaa6218f09
x86_64: fix errors compiling the compiler
...
This fixes issues targetting both `x86_64-linux` and `x86_64-macos` with
the self-hosted backend.
2024-02-04 22:58:38 -05:00
Robin Voetter
2511106150
spirv: air vector_store_element
2024-02-04 19:09:34 +01:00
Robin Voetter
1d548aa2aa
spirv: air splat
2024-02-04 19:09:33 +01:00
Robin Voetter
76d5696434
spirv: air abs
2024-02-04 19:09:32 +01:00
Robin Voetter
631d1b63a8
spirv: fix shuffle properly
2024-02-04 19:09:32 +01:00
Robin Voetter
9641d2ebdb
spirv: vectorize max, min
2024-02-04 19:09:31 +01:00
Robin Voetter
9f0227a326
spirv: vectorize int_cast, trunc
2024-02-04 19:09:31 +01:00
Robin Voetter
408c117246
spirv: air is_(non_)null_ptr, optional_payload_ptr
2024-02-04 19:09:30 +01:00
Robin Voetter
7dfd403da1
spirv: air mul_add
2024-02-04 19:09:30 +01:00
Robin Voetter
345d6e280d
spirv: air int_from_bool
2024-02-04 19:09:29 +01:00
Robin Voetter
77ef78a0ef
spirv: clean up arithmeticTypeInfo a bit
...
- No longer returns an error
- Returns more useful vector info
2024-02-04 19:09:29 +01:00
Robin Voetter
54ec936549
spirv: wrap strange its before instead of after operation
...
Wrapping strange integers before an operation was initially
done as an attempt to minimize the amount of normalizations
required: This way, there would not be a normalization
necessary between two modular operations. This was a
premature optimization, since the resulting logic is more
complicated than naive way of wrapping the result after
the operation.
This commit updates handling of strange integers to do
wrapping after each operation. It also seems slightly
more efficient in terms of size of generated code, as
it reduces the size of the behavior tests binary by
about 1%.
2024-02-04 19:09:28 +01:00
Robin Voetter
b67d983abd
spirv: vectorize add/sub overflow
2024-02-04 19:09:27 +01:00
Robin Voetter
761594e226
spirv: reduce, reduce_optimized
2024-02-04 19:09:27 +01:00
Robin Voetter
2f815853dc
spirv: shlWithOverflow
2024-02-04 19:09:26 +01:00
Robin Voetter
15cf5f88c1
spirv: vectors for air not
2024-02-04 19:09:25 +01:00
Robin Voetter
403c6262bb
spirv: use new vector stuff for arithOp and shift
2024-02-04 19:09:18 +01:00
Robin Voetter
cb9e20da00
spirv: element-wise operation helper
2024-02-04 19:09:00 +01:00
Robin Voetter
747f4ae3f5
spirv: sh[rl](_exact)?
2024-02-04 19:08:59 +01:00
mlugg
9eda6ccefc
InternPool: use separate key for slices
...
This change eliminates some problematic recursive logic in InternPool,
and provides a safer API.
2024-02-02 11:02:03 +00:00
Veikka Tuominen
7d75c3d3b8
llvm: ensure returned undef is 0xaa bytes when runtime safety is enabled
...
Closes #13178
2024-01-29 17:35:07 -08:00
Ian Johnson
2b2c9c5db8
Introduce type-erased writers to C backend codegen
...
This reduces generic instantiations of several write functions.
Before:
```
@as(type, io.writer.Writer(*array_list.ArrayListAligned(u8,null),error{OutOfMemory},(function 'appendWrite')))
@as(type, io.writer.Writer(*codegen.c.IndentWriter(io.writer.Writer(*array_list.ArrayListAligned(u8,null),error{OutOfMemory},(function 'appendWrite'))),error{OutOfMemory},(function 'write')))
```
After:
```
@as(type, io.GenericWriter(io.Writer,error{OutOfMemory},(function 'write')))
```
2024-01-29 19:02:18 -05:00
Andrew Kelley
f4f8036ec0
Merge pull request #18729 from Vexu/fixes
...
Fix some generic{Reader,Writer} related issues
2024-01-29 13:07:37 -08:00
Veikka Tuominen
f93a36c091
llvm: revert bad array access optimization
...
Closes #18723
2024-01-29 08:43:27 -08:00
Veikka Tuominen
78e982f7c3
llvm: fix alignment of array ptr when bitcasting vector
...
Closes #17996
2024-01-29 13:51:57 +02:00
ocrap7
1ce12db5c8
Skip all dbg instructions
2024-01-16 15:01:42 -08:00
Jacob Young
03ed3f56cf
Sema: fix @extern decls
...
Closes #18550
2024-01-15 07:39:05 +01:00
Andrew Kelley
30688c341b
LLVM: fix lowering of extern anyopaque
...
closes #18461
2024-01-11 01:00:49 -08:00
Veikka Tuominen
faeb0ef032
llvm: optional slices cannot be passed in parts when they allowzero
...
Closes #18428
2024-01-08 06:57:06 +02:00
Jacob Young
047d6d996e
cbe: fix non-msvc externs and exports
...
Closes #17817
2024-01-03 02:52:25 -05:00
Jacob Young
98b633ff17
Reapply "Merge pull request #17824 from kcbanner/fixup_msvc_fmax"
...
This reverts commit 2b589783602c5428ecde9dbb3f41a81f85eb0f25.
2024-01-03 02:41:21 -05:00
Andrew Kelley
0be97b5ae3
fix population of builtin.zig not making the parent dir
2024-01-01 17:51:20 -07:00
Andrew Kelley
2047a6b82d
fix remaining compile errors except one
2024-01-01 17:51:20 -07:00
Andrew Kelley
638db680f4
move dll_export_fns and rdynamic to Compilation.Config
2024-01-01 17:51:20 -07:00
Andrew Kelley
b54ad93175
update codegen.llvm references to bin_file.options
2024-01-01 17:51:19 -07:00
Andrew Kelley
2596f5d925
update bin_file.options references in Sema
...
mainly pertaining to error return tracing
2024-01-01 17:51:19 -07:00
Andrew Kelley
c49957dbe8
fix a round of compile errors caused by this branch
2024-01-01 17:51:19 -07:00