Andrew Kelley
af958e95cc
Merge pull request #13744 from Vexu/stage2-fixes
...
Improve error messages, fix dependency loops
2023-01-09 14:55:12 -07:00
Veikka Tuominen
aa7e65d5ba
Merge pull request #13719 from Vexu/debug
...
Improve debuggability of programs built by the self hosted compiler
2023-01-09 14:48:00 -07:00
Andrew Kelley
9d214f6f9d
LLVM: fix canElideLoad behavior with loops
...
closes #13546
2023-01-09 14:46:40 -07:00
Veikka Tuominen
3357425b87
llvm: improve emitted debug info
...
* ensure parameter debug info is in the subroutine di scope
* slit sub file path into basename and dirname
Closes #12257
Closes #12665
2023-01-09 14:44:53 -07:00
Andrew Kelley
05afb3f358
Merge pull request #13632 from ziglang/cbe
2023-01-09 14:40:44 -07:00
Veikka Tuominen
a3232c6764
Merge pull request #13585 from Vexu/stage2-fixes
...
Stage2 bug fixes
2023-01-09 14:35:42 -07:00
Guillaume Wenzek
58ac0082d2
compute LLVMTypes in ParamTypeIterator ( #13592 )
...
follow up on #13376 - fixes a bug in the x86_64 C ABI.
Co-authored-by: Veikka Tuominen <git@vexu.eu >
2023-01-09 14:33:43 -07:00
Jimmi Holst Christensen
dd175e2928
c backend: Output string literals for array init of bytes
2023-01-09 14:29:59 -07:00
Andrew Kelley
6064477928
Merge pull request #13561 from jacobly0/gcc-warnings
2023-01-09 14:17:06 -07:00
Veikka Tuominen
4ed0cd51c0
Merge pull request #13558 from Vexu/stage2-fixes
...
Stage2 bug fixes to get third party projects building
2023-01-09 14:06:50 -07:00
Veikka Tuominen
b494f6a9dc
Merge pull request #13497 from Vexu/stage2-fixes
...
Stage2 bug fixes
2023-01-09 14:01:01 -07:00
Cody Tapscott
bc33243650
stage2: Support modifiers in inline asm
...
These are supported using %[ident:mod] syntax. This allows requesting,
e.g., the "w" (32-bit) vs. "x" (64-bit) views of AArch64 registers.
See https://llvm.org/docs/LangRef.html#asm-template-argument-modifiers
2023-01-09 14:00:11 -07:00
Andrew Kelley
48798da29b
Merge pull request #13074 from topolarity/stage2-opt
...
stage2: Miscellaneous fixes to vector arithmetic and copy elision
2023-01-09 13:59:04 -07:00
Veikka Tuominen
c1fc15f913
llvm: implement packed unions
...
Closes #13340
2023-01-09 13:56:14 -07:00
Veikka Tuominen
a7b8d011a3
Merge pull request #13420 from jacobly0/c-backend
...
cbe: enough fixes to bootstrap a compiler with a working c backend
2023-01-09 13:45:06 -07:00
Andrew Kelley
a0ac10d903
Merge pull request #13389 from jacobly0/fix-only-c
...
cbe: enough fixes for `-Donly-c` to be able to produce an executable
2022-11-02 14:11:31 -07:00
Andrew Kelley
5f11e341d8
Merge pull request #13396 from Luukdegram/fix-12880
...
llvm: mangle extern function names for Wasm target
2022-11-02 14:11:10 -07:00
Cody Tapscott
f354ad638a
stage2 llvm: Respect alignment for .union_init
...
Resolves #13232 .
2022-11-02 14:11:00 -07:00
Andrew Kelley
57caec8585
Merge pull request #13368 from jacobly0/fix-aarch64-c
2022-11-02 14:09:45 -07:00
Jacob Young
48a2783969
cbe: implement optional slice representation change
2022-10-29 05:58:41 -04:00
Andrew Kelley
2991e4a454
Merge pull request #13288 from Vexu/opt-slice
...
Optimize size of optional slices (+ some fixes)
2022-10-27 22:09:17 -04:00
Andrew Kelley
1d1c7ae5de
Merge pull request #13257 from topolarity/ctype-fixes
...
stage 2: Update `CType` size/alignment
2022-10-27 21:15:22 -04:00
Veikka Tuominen
d03c47bf85
Sema: use runtime_value instead of creating allocs
2022-10-27 21:08:25 -04:00
Veikka Tuominen
f3a3fb3d88
llvm: pass optional slices like regular slices
2022-10-27 01:31:18 +03:00
Veikka Tuominen
595ccecd88
llvm: do not return undefined pointers from array_to_slice
2022-10-27 01:31:18 +03:00
Veikka Tuominen
78a7bb108a
llvm: handle namespace like packed structs
...
Closes #13159
Closes #13188
2022-10-27 01:31:18 +03:00
Veikka Tuominen
dd437ae399
stage2: optimize size of optional slices
2022-10-27 01:31:17 +03:00
Jacob Young
e20d2b3151
cbe: fix floating point builtins
2022-10-25 07:02:06 -04:00
Jacob Young
94425fe46e
cbe: improve floating point type support
2022-10-25 05:22:55 -04:00
Jacob Young
6021edd7ce
cbe: add support for all float literals types
2022-10-25 05:22:55 -04:00
Jacob Young
54326cc554
cbe: implement field_parent_ptr
2022-10-25 05:11:29 -04:00
Jacob Young
361035fe7a
cbe: implement cmp_lt_errors_len
2022-10-25 05:11:29 -04:00
Jacob Young
ab468d57e3
cbe: implement packed structs
...
Sometimes you have to break a test to make progress :)
2022-10-25 05:11:29 -04:00
Jacob Young
1bab854868
cbe: implement 128-bit and fix smaller integer builtins
2022-10-25 05:11:29 -04:00
Jacob Young
65a48df532
cbe: fix globals that reference functions
...
Global constant initializers can reference functions, so forward declare
the constants and initialize them later with the function definitions,
which guarantees that they appear after all declarations.
2022-10-25 05:11:29 -04:00
Jacob Young
8b6a3ba74e
cbe: fix typedef declaration order
2022-10-25 05:11:29 -04:00
Jacob Young
3d90ee50ff
cbe: allow immediate and register asm constraints in naked functions
2022-10-25 05:11:29 -04:00
Jacob Young
4fdac5f1c9
cbe: fix C syntax when rendering initializers
2022-10-25 05:11:29 -04:00
Jacob Young
4765294ca4
cbe: get enough things working to support basic programs
...
* Enable advanced start support.
* Enable advanced test_runner support.
* Zig Language Reference's Hello World now works.
2022-10-25 05:11:29 -04:00
Jacob Young
912b84bbad
cbe: fix atomics
2022-10-25 05:11:29 -04:00
Jacob Young
6921b0a850
cbe: implement some float ops
2022-10-25 05:11:29 -04:00
Jacob Young
b48417aed2
cbe: misc fixes
2022-10-25 05:11:29 -04:00
Jacob Young
1dd4a6102f
cbe: implement global assembly
2022-10-25 05:11:29 -04:00
Jacob Young
e8bda9eb3a
cbe: implement ptr slice ptr
2022-10-25 05:11:29 -04:00
Jacob Young
87d432328e
cbe: implement aggregate_init of struct
2022-10-25 05:11:29 -04:00
Jacob Young
feb8f81cd9
cbe: canonicalize types that have the same C type when emitting typedefs
2022-10-25 05:11:29 -04:00
Jacob Young
5eafc10bf4
cbe: fix global access fix
2022-10-25 05:11:29 -04:00
Jacob Young
c126a1018e
cbe: implement more asm features
2022-10-25 05:11:28 -04:00
Jacob Young
a12535f501
cbe: fix global access
2022-10-25 05:11:28 -04:00
Jacob Young
f399dd107a
cbe: implement tag name
2022-10-25 05:11:28 -04:00