724 Commits

Author SHA1 Message Date
antoyo
6abd12ade0
Merge pull request #308 from GuillaumeGomez/gimple
Add instructions on how to generate GIMPLE format
2023-07-22 08:52:39 -04:00
Guillaume Gomez
cd57c6ea1c Add instructions on how to generate GIMPLE format 2023-07-22 14:49:43 +02:00
antoyo
57d2ecb14e
Merge pull request #305 from GuillaumeGomez/pure-attr
Add support for "pure" function attribute
2023-07-17 18:10:00 -04:00
antoyo
ce0077c3a4
Merge pull request #306 from bjorn3/extract_helper
Extract a create_wrapper_function for use in allocator shim writing
2023-07-17 17:44:18 -04:00
Guillaume Gomez
34922fc3ce Update gccjit-rs version 2023-07-17 23:22:45 +02:00
bjorn3
7ba60ecb53 Extract a create_wrapper_function for use in allocator shim writing
This deduplicates some logic and makes it easier to follow what wrappers
are produced. In the future it may allow moving the code to determine
which wrappers to create to cg_ssa.
2023-07-15 12:37:47 +00:00
Guillaume Gomez
c04a631ea6 Add support for "pure" function attribute 2023-07-13 21:43:12 +02:00
antoyo
3a74f9352f
Merge pull request #301 from GuillaumeGomez/returns-twice
Add support for "returns_twice" function attribute
2023-07-12 21:17:33 -04:00
Guillaume Gomez
a6d1aa2810 Update gccjit dependency 2023-07-12 16:56:24 +02:00
Guillaume Gomez
97a0d35a8c Add support for "returns_twice" function attribute 2023-07-12 16:56:24 +02:00
antoyo
e062c2cc3b
Merge pull request #303 from rust-lang/license
Add license explanations
2023-07-09 10:18:27 -04:00
Antoni Boucher
e1092eb4d1 Add license explanations 2023-07-09 10:17:54 -04:00
antoyo
c4e86b6c3b
Merge pull request #299 from rust-lang/feature/jit-cpu-features
Add support for detecting CPU features
2023-07-05 17:45:59 -04:00
Antoni Boucher
91e04000ea Add support for detecting CPU features 2023-07-05 13:54:14 -04:00
antoyo
48a3613a73
Merge pull request #286 from GuillaumeGomez/cold-attribute
Add support for cold attribute
2023-07-03 12:36:36 -04:00
Guillaume Gomez
5920bad104 Update dependencies 2023-07-03 16:56:34 +02:00
Guillaume Gomez
afc6489394 Add support for cold attribute 2023-06-30 17:11:09 +02:00
antoyo
1bbee3e217
Merge pull request #282 from rust-lang/sync_from_rust_2023_06_11
Sync from rust 2023 06 11
2023-06-19 18:45:38 -04:00
Antoni Boucher
37413a2cea Fix indent 2023-06-18 19:42:20 -04:00
Antoni Boucher
607cbfda14 Cleanup and update to rustc 2023-06-19 2023-06-19 10:53:33 -04:00
Antoni Boucher
3d7ec5923d Fix for check_ptr_call for variadic functions 2023-06-17 13:19:41 -04:00
Antoni Boucher
8560b07ebf TO REVERT: temporarily add a patch for rustc 2023-06-15 20:52:45 -04:00
Antoni Boucher
45bca00520 Handle alignment of the load instruction 2023-06-16 12:48:09 -04:00
Antoni Boucher
218575a8ae Working, but requires a patched rustc 2023-06-15 20:45:20 -04:00
Antoni Boucher
9483008d71 Tests for the CI 2023-06-13 09:01:09 -04:00
Antoni Boucher
8bba64673c Cleanup 2023-06-11 20:01:24 -04:00
Antoni Boucher
ef037e6d30 Fix tests 2023-06-11 19:27:39 -04:00
Antoni Boucher
3371fce044 Fix tests 2023-06-11 18:21:00 -04:00
Antoni Boucher
90527b81c9 Some fixes and cleanups 2023-06-11 16:04:00 -04:00
Antoni Boucher
a0edbfb2d3 Test to fix UI tests 2023-06-11 11:52:50 -04:00
Antoni Boucher
e9708ebcef Add note 2023-06-11 11:52:44 -04:00
Antoni Boucher
984b9c52cc Improve sync instructions 2023-06-11 11:52:40 -04:00
Antoni Boucher
6f858a2b0f Add missing cast to fix another issue caused by opaque pointers 2023-06-11 11:52:34 -04:00
Antoni Boucher
e74bc5113d Attempt to fix the tests 2023-06-11 11:52:27 -04:00
Antoni Boucher
4115e09c13 Fix for opaque pointers 2023-06-11 11:52:15 -04:00
Antoni Boucher
3d4c59ed75 Merge branch 'master' into sync_from_rust_2023_06_11 2023-06-11 11:52:06 -04:00
Antoni Boucher
94e5c27012 Update libgccjit and mini_core 2023-06-11 11:41:32 -04:00
Antoni Boucher
c8376e4c78 Add usage of git subtree to readme 2023-06-11 11:41:14 -04:00
Antoni Boucher
8c2b14f708 Update to nightly-2023-06-11 2023-06-11 11:41:06 -04:00
antoyo
ffb092dbf1
Merge pull request #279 from GuillaumeGomez/regen-intrinsics
Regen intrinsics with latest LLVM version
2023-06-09 08:53:27 -04:00
Andrew Xie
8430ec5e50 Updated cranelift codegen to reflect modified trait signature 2023-06-04 21:54:38 -04:00
Guillaume Gomez
2c6b979295 Regen intrinsics with latest LLVM version 2023-06-02 16:22:50 +02:00
Deadbeef
f16ca93ded Use translatable diagnostics in rustc_const_eval 2023-06-01 14:45:18 +00:00
Scott McMurray
3d0a0dccae Add a distinct OperandValue::ZeroSized variant for ZSTs
These tend to have special handling in a bunch of places anyway, so the variant helps remember that.  And I think it's easier to grok than non-Scalar Aggregates sometimes being `Immediates` (like I got wrong and caused 109992).  As a minor bonus, it means we don't need to generate poison LLVM values for them to pass around in `OperandValue::Immediate`s.
2023-05-31 19:10:28 -07:00
bors
afe578791a Auto merge of #111768 - oli-obk:pair_const_llvm, r=cjgillot
Optimize scalar and scalar pair representations loaded from ByRef in llvm

in https://github.com/rust-lang/rust/pull/105653 I noticed that we were generating suboptimal LLVM IR if we had a `ConstValue::ByRef` that could be represented by a `ScalarPair`. Before https://github.com/rust-lang/rust/pull/105653 this is probably rare, but after it, every slice will go down this suboptimal code path that requires LLVM to untangle a bunch of indirections and translate static allocations that are only used once to read a scalar pair from.
2023-05-30 10:31:10 +00:00
Oli Scherer
80efecf18c Stop creating intermediate places just to immediate convert them to operands 2023-05-26 15:01:29 +00:00
clubby789
d9d12d7c36 Ensure Fluent messages are in alphabetical order 2023-05-25 23:49:35 +00:00
antoyo
4d8c6d3502
Merge pull request #277 from rust-lang/feature/global-visibility
Set visibility of global
2023-05-25 19:35:38 -04:00
bors
a3c1f42c18 Auto merge of #86844 - bjorn3:global_alloc_improvements, r=pnkfelix
Support #[global_allocator] without the allocator shim

This makes it possible to use liballoc/libstd in combination with `--emit obj` if you use `#[global_allocator]`. This is what rust-for-linux uses right now and systemd may use in the future. Currently they have to depend on the exact implementation of the allocator shim to create one themself as `--emit obj` doesn't create an allocator shim.

Note that currently the allocator shim also defines the oom error handler, which is normally required too. Once `#![feature(default_alloc_error_handler)]` becomes the only option, this can be avoided. In addition when using only fallible allocator methods and either `--cfg no_global_oom_handling` for liballoc (like rust-for-linux) or `--gc-sections` no references to the oom error handler will exist.

To avoid this feature being insta-stable, you will have to define `__rust_no_alloc_shim_is_unstable` to avoid linker errors.

(Labeling this with both T-compiler and T-lang as it originally involved both an implementation detail and had an insta-stable user facing change. As noted above, the `__rust_no_alloc_shim_is_unstable` symbol requirement should prevent unintended dependence on this unstable feature.)
2023-05-25 16:59:57 +00:00
Antoni Boucher
a512e98028 Set visibility of global 2023-05-25 10:03:41 -04:00