Commit Graph

40 Commits

Author SHA1 Message Date
Guillaume Gomez
189dd7022a Update gccjit dependency 2023-08-25 22:39:22 +02:00
Antoni Boucher
542c82ec37 Fix for libgccjit 12 2023-08-15 11:25:38 -04:00
Antoni Boucher
607ec893e7 Merge branch 'master' into sync_from_rust_2023_08_12 2023-08-13 09:59:34 -04:00
Antoni Boucher
43431e4db4 Update to nightly-2023-08-12 2023-08-13 09:37:32 -04:00
Guillaume Gomez
136548d3fe Update gccjit dependency 2023-07-22 14:44:20 +02:00
Guillaume Gomez
34922fc3ce Update gccjit-rs version 2023-07-17 23:22:45 +02:00
Guillaume Gomez
a6d1aa2810 Update gccjit dependency 2023-07-12 16:56:24 +02:00
Antoni Boucher
91e04000ea Add support for detecting CPU features 2023-07-05 13:54:14 -04:00
Guillaume Gomez
5920bad104 Update dependencies 2023-07-03 16:56:34 +02:00
Antoni Boucher
3dd0699e45 Update Cargo.lock 2023-06-19 20:44:01 -04:00
Antoni Boucher
b93041af0a Add support for inline attribute 2023-04-16 17:17:05 -04:00
Guillaume Gomez
7e2e5054a6 Update gccjit dependency version 2023-04-05 16:30:21 +02:00
Ulrich Weigand
2bfd89d91b Update gccjit and remove libc 0.1 dependency 2023-03-30 18:30:56 +02:00
Antoni Boucher
94538736a8 Update gccjit 2023-03-05 12:16:33 -05:00
Antoni Boucher
d725cfb6ab Merge commit '08a6d6e16b5efe217123e780398969946266268f' into sync-cg_gcc-2023-03-04 2023-03-05 12:03:19 -05:00
Antoni Boucher
a2f499f05f Fix tests 2023-03-04 14:30:29 -05:00
bjorn3
d1eb38f5b5 Rewrite LLVM's archive writer in Rust
This allows it to be used by other codegen backends
2023-02-28 19:24:11 -05:00
Antoni Boucher
0898eab220 Implement simd_gather 2023-02-25 17:41:08 -05:00
Antoni Boucher
2bf7fb402b Use gccjit from repo 2023-01-09 17:12:08 -05:00
Antoni Boucher
889a33a500 WIP: Implement unwinding 2023-01-02 14:57:38 -05:00
bjorn3
690085c2da Rewrite LLVM's archive writer in Rust
This allows it to be used by other codegen backends
2022-11-26 19:35:32 +00:00
Antoni Boucher
5c2dec038c Add used function attribute from inline asm 2022-08-27 17:26:46 -04:00
Antoni Boucher
672eec3055 Support symbol visibility 2022-08-03 19:34:47 -04:00
Antoni Boucher
85036a5afa Use gccjit from repo 2022-07-06 15:24:53 -04:00
Antoni Boucher
1c4ca283df Support #[target(enable)] function attribute 2022-07-06 15:24:53 -04:00
Antoni Boucher
fac57d9a06 Merge commit 'e8dca3e87d164d2806098c462c6ce41301341f68' into sync_from_cg_gcc 2022-06-06 22:04:37 -04:00
yvt
f26eb5a7a2 Update gccjit 2022-05-25 23:58:53 +09:00
Antoni Boucher
4d7de81199 Add feature for future libgccjit 12 release 2022-04-13 23:01:01 -04:00
Antoni Boucher
02970a6ca8 Add support for target builtins 2022-03-29 21:41:17 -04:00
bjorn3
3888aafe3a Merge commit '39683d8eb7a32a74bea96ecbf1e87675d3338506' into sync_cg_gcc-2022-03-26 2022-03-26 18:29:37 +01:00
Antoni Boucher
dcc0853a34 Add support for on_stack parameters 2022-02-27 22:23:03 -05:00
bjorn3
ac4baf3fd6 Allow unreachable blocks for now
The cleanup blocks normally executed when unwinding are unreachable for
now as unwinding is not yet implemented.
2022-02-26 19:35:33 +01:00
antoyo
41f20fa3a5
Support 128-bit integers on platforms without native support (#103)
* Use sized integer types

* Add support for integer types not supported on some platforms

* Add feature to test non-native integers in CI
2022-01-30 21:45:14 -05:00
antoyo
5dc660b106
Support upgrading the alignment of a global variable (#121)
* Renable failing test
* Update to newest gccjit.rs
2022-01-26 08:57:17 -05:00
bjorn3
54d2ec1a82 Merge commit '1411a98352ba6bee8ba3b0131c9243e5db1e6a2e' into sync_cg_clif-2021-12-31 2021-12-31 16:26:32 +01:00
antoyo
2989a25273
Feature/global rvalue initialization petter tomner (#111)
* Use new initialization functions

* Fix for new reflection patch

* Fix for new TLS patch
2021-12-15 23:48:10 -05:00
bjorn3
08183f9f2d
Remove unused dependency on object (#102) 2021-10-31 12:17:13 -04:00
antoyo
64c561dc22
Fix global initialization (#91)
* Make define_global() return a RValue directly
* Return LValue in functions declaring a global variable
* Remove useless cast
* Fix bytes_in_context to use an array rvalue
* Remove global_names which is unused
* Make const_struct create a constant struct
* Correctly initialize global in static_addr_of_mut
* Fix global variable initialization
* Remove workaround for ARGV
2021-09-26 12:20:02 -04:00
Commeownist
7c707e4b95
Implement basic inline asm support (#72)
* Implement basic support for inline assembly

* Disable LTO

We don't support it yet at all

* Handle `inout(reg) var` correctly

Turns out that `+` readwrite output registers cannot be tied with
input variables.

* Add limited support for llvm_asm!

* Handle CHANNEL correctly

* Add support for arbitrary explicit registers

* Handle symbols properly

* Add rudimentary asm tests

* Exclude llvm_asm! tests from tests runs

* Insert `__builtin_unreachable()` after diverging asm blocks
2021-09-05 11:26:01 -04:00
Antoni Boucher
afae271d5d Initial commit 2021-08-12 21:46:50 -04:00