Koakuma
31f24dbc55
stage2: sparc64: Implement airWrapErrUnionErr
2022-06-06 20:34:53 +07:00
Koakuma
c00d493a00
stage2: sparc64: Add some notes about stack space allocation
2022-06-06 20:34:53 +07:00
Koakuma
5d61f32887
stage2: sparc64: Implement airSlice
2022-06-06 20:34:53 +07:00
Koakuma
8b70abfcc6
stage2: sparc64: Fix & optimize 64-bit truncRegister
2022-06-06 20:34:53 +07:00
Koakuma
4d50e52c37
stage2: sparc64: Implement SPARCv9 xor, xnor, & not
2022-06-06 20:34:53 +07:00
Koakuma
97f9bf7e90
stage2: sparc64: Add BPr relocation to performReloc
2022-06-06 20:34:53 +07:00
Koakuma
23150de9c4
stage2: sparc64: Implement airNot
2022-06-06 20:34:53 +07:00
Koakuma
9ad74b6087
stage2: sparc64: Implement SPARCv9 addcc and movcc
2022-06-06 20:34:53 +07:00
Koakuma
97c43afefe
stage2: sparc64: Spill CCR before doing calls
2022-06-06 20:34:53 +07:00
Koakuma
2dfe307d60
stage2: sparc64: Some bookkeeping fixes
2022-06-06 20:34:53 +07:00
Koakuma
89b4195c69
stage2: sparc64: Account for delay slot in airBlock
2022-06-06 20:34:53 +07:00
Koakuma
3220e0b61c
stage2: sparc64: Proper handling of compare flags
2022-06-06 20:34:53 +07:00
Koakuma
9db81fee5d
stage2: sparc64: Implement airStructFieldVal
2022-06-06 20:34:53 +07:00
Koakuma
3d662cfaf4
stage2: sparc64: Implement airAddSubOverflow
2022-06-06 20:34:53 +07:00
Koakuma
093332c02e
stage2: sparc64: Implement condition code spilling
2022-06-06 20:34:53 +07:00
Koakuma
38aa431e03
stage2: sparc64: Fix CompareOperator <-> ICondition mapping
2022-06-06 20:34:52 +07:00
Gregory Anders
135b91aecd
Treat blocks with "return" as "noreturn"
...
Block statements that end with "break" should not be considered
"noreturn" for the enclosing scope, but other "noreturn" instructions
(return, panic, compile error, etc.) should be. This differentiation
necessitates handling "break" differently from the other "noreturn"
instructions when inside a block statement.
2022-06-06 13:13:52 +03:00
Jakub Konka
33826a6a2e
x64: disable misbehaving behavior tests
2022-06-05 10:36:54 +02:00
Jakub Konka
1b5dd4e148
Merge pull request #11790 from joachimschmidt557/stage2-arm
...
stage2 ARM: implement basic switch expressions
2022-06-05 09:10:12 +02:00
Andrew Kelley
43db697b46
Merge pull request #11789 from Vexu/stage2
...
Stage2 fixes towards `zig2 build test-std` working
2022-06-04 16:29:26 -04:00
joachimschmidt557
d5ee451177
stage2 ARM: introduce support for basic switch expressions
2022-06-04 19:58:34 +02:00
Veikka Tuominen
50a6b0f3ac
Sema: fix function type callconv inference
2022-06-04 11:33:18 +03:00
Veikka Tuominen
6d44c0a16c
std: update tests to stage2 semantics
2022-06-03 20:21:20 +03:00
Veikka Tuominen
1a7b4ddeae
std: disable tests that crash stage2
2022-06-03 20:21:20 +03:00
Veikka Tuominen
2b93546b39
Sema: fix initialization of array with comptime only elem type
2022-06-03 20:21:20 +03:00
Veikka Tuominen
4e1aa5d543
Sema: handle the_only_possible_value in beginComptimePtrMutation
2022-06-03 15:25:53 +03:00
Veikka Tuominen
019537cb2a
Sema: @sizeOf function should give an error
2022-06-03 15:24:58 +03:00
Veikka Tuominen
8f45e81c84
stage2: ignore asm inputs named _
...
This is a hacky solution but the entire asm syntax is supposed to be
reworked anyways.
2022-06-03 15:10:37 +03:00
Veikka Tuominen
5c65b086d6
Value: implement {read,write}Value for more types
2022-06-03 14:29:24 +03:00
Veikka Tuominen
3db4513b33
Sema: fix type of alloc
2022-06-03 14:28:56 +03:00
Veikka Tuominen
1258b5f7d6
Type: implement elemType2 for anyframe
2022-06-03 14:28:10 +03:00
Veikka Tuominen
9aae4d57cb
compiler_rt: fix infinite loop
2022-06-03 14:27:45 +03:00
joachimschmidt557
4fdacca512
stage2 ARM: rework cmp in preparation for switch
2022-06-02 20:19:18 +02:00
Jakub Konka
e498fb1550
tapi: sync with upstream
...
gitrev kubkon/zig-yaml 8cf8dc3bb901fac8189f441392fc0989ad14cf71
Calculate line and col info indexed by token index. We can then
re-use this info to track current column number (aka indentation
level) of each "key:value" pair (map) or "- element" (list).
This significantly cleans up the code, and leads naturally to
handling of unindented lists in tbd files.
2022-06-02 10:41:13 +02:00
Andrew Kelley
288e89b606
Sema: fix compiler crash with comptime arithmetic involving @ptrToInt
2022-06-01 16:45:28 -07:00
Andrew Kelley
a4cdb49a58
Merge pull request #11763 from Vexu/stage2-alloc-const
...
Stage2: detect when initializer of const variable is comptime known
2022-06-01 18:59:13 -04:00
Andrew Kelley
b82cccc9e9
Sema: fix alignment of element ptr result type
2022-06-01 15:43:21 -07:00
Andrew Kelley
b095aa6986
CI: skip single-threaded tests on Drone
...
sure would be nice if they would just give us another hour of CI run time.
2022-06-01 14:05:58 -07:00
Andrew Kelley
de14fba247
LLVM: convert two ArrayLists into a MultiArrayList
2022-06-01 11:53:47 -07:00
Andrew Kelley
69323fc143
CI: skip non native ReleaseFast and ReleaseSafe tests on drone
...
Because we're hitting the 2 hour time limit.
2022-06-01 11:19:19 -07:00
Veikka Tuominen
94624893d8
disable failing test
2022-06-01 13:06:31 +03:00
Veikka Tuominen
9431100736
Sema: apply previous changes to validateUnionInit
2022-06-01 13:01:39 +03:00
Andrew Kelley
cbb806da6e
stage2: -fbuild-id causes default linker to be LLD
...
until zig's self-hosted linker gains this functionality.
2022-05-31 22:56:39 -07:00
Andrew Kelley
8c0f4e6f54
LLVM: add target-cpu and target-features fn attributes
2022-05-31 22:13:24 -07:00
Andrew Kelley
2f9533f639
LLVM: pass slices as ptr/len combo
...
LLVM optimization passes handle this better, and it allows Zig to
specify pointer parameter attributes such as readonly, nonnull, noalias,
and alignment.
closes #561
2022-05-31 18:25:57 -07:00
Andrew Kelley
356a865b87
stage2: introduce support for noalias
...
Not implemented yet is enhancements to coerceInMemory to account for
noalias parameters.
Related to #11498 .
2022-05-31 17:38:42 -07:00
Andrew Kelley
602af1b88f
Merge pull request #11765 from ziglang/llvm-param-attrs
...
LLVM: add readonly, nonnull, align attributes to pointer params
2022-05-31 20:25:13 -04:00
Veikka Tuominen
3c4e7abfbf
Sema: handle dbg_smtts when deleting runtime instructions in validateStructInit
2022-06-01 02:18:45 +03:00
Veikka Tuominen
a73895339a
Sema: handle bitcasts produced by coerce_result_ptr in validate{Array,Struct}Init
2022-06-01 02:10:18 +03:00
Andrew Kelley
ec919c3c9b
LLVM: integrate param attrs with iterateParamTypes
...
This moves some logic from resolveLlvmFunction to updateFunc and takes
advantage of the iteration we already do that takes into account C ABI
lowering, making LLVM parameter attributes accurate for C ABI functions
as well as our own unspecified calling convention.
Related to #11498 .
2022-05-31 15:32:15 -07:00