bjorn3
5d85a24442
Merge commit '81dc066758ec150b43822d4a0c84aae20fe10f40' into sync_cg_clif-2023-10-09
2023-10-09 08:52:46 +00:00
Ralf Jung
f9f8bffaec
fix gcc, cranelift build
2023-09-15 10:43:44 +02:00
Ralf Jung
89f0d18bc8
clarify PassMode::Indirect as well
2023-09-15 10:43:44 +02:00
bjorn3
8bf550e616
Merge commit 'ef07e8e60f994ec014d049a95591426fb92ebb79' into sync_cg_clif-2023-04-29
2023-04-29 12:00:43 +00:00
Maybe Waffle
106db3ef59
Fix rustc_index
imports outside the compiler
2023-04-24 13:53:37 +00:00
bjorn3
7b3bd56ed9
Merge commit 'dec0daa8f6d0a0e1c702f169abb6bf3eee198c67' into sync_cg_clif-2023-03-15
2023-03-15 14:41:48 +00:00
Nicholas Nethercote
2d2a3be651
Move ArgAbi::pad_i32
into PassMode::Cast
.
...
Because it's only needed for that variant. This shrinks the types and
clarifies the logic.
2022-08-26 11:12:36 +10:00
Nicholas Nethercote
1c989472e4
Box CastTarget
within PassMode
.
...
Because `PassMode::Cast` is by far the largest variant, but is
relatively rare.
This requires making `PassMode` not impl `Copy`, and `Clone` is no
longer necessary. This causes lots of sigil adjusting, but nothing very
notable.
2022-08-26 09:35:28 +10:00
Jakob Degen
5011ae46a1
Refactor call terminator to always hold a destination place
2022-05-23 17:49:04 -04:00
bjorn3
d220159810
Merge commit '05677b6bd6c938ed760835d9b1f6514992654ae3' into sync_cg_clif-2021-08-06
2021-08-06 16:26:56 +02:00
bjorn3
07968a001d
Merge commit '0969bc6dde001e01e7e1f58c8ccd7750f8a49ae1' into sync_cg_clif-2021-03-29
2021-03-29 10:45:09 +02:00
bjorn3
27886cd6b6
Merge commit '9a0c32934ebe376128230aa8da3275697b2053e7' into sync_cg_clif-2021-03-05
2021-03-05 19:12:59 +01:00
bjorn3
a75f9bc3be
Merge commit 'd556c56f792756dd7cfec742b9f2e07612dc10f4' into sync_cg_clif-2021-02-01
2021-02-01 10:11:46 +01:00
bjorn3
0a5968dfd2
Use the new cranelift-module interface
...
This updates Cranelift to include bytecodealliance/wasmtime#2249
2020-10-08 19:00:21 +02:00
bjorn3
c8699076f9
Document almost all modules
...
Fixes #1082
2020-09-23 15:13:49 +02:00
bjorn3
934d56a646
Also allow returning PassMode::ByValPair directly into an ssa var
...
Benchmark #1 : ./raytracer_cg_clif_pre
Time (mean ± σ): 8.251 s ± 0.021 s [User: 8.245 s, System: 0.005 s]
Range (min … max): 8.225 s … 8.292 s 10 runs
Benchmark #2 : ./raytracer_cg_clif_post
Time (mean ± σ): 8.206 s ± 0.043 s [User: 8.199 s, System: 0.007 s]
Range (min … max): 8.168 s … 8.279 s 10 runs
2020-09-23 14:29:18 +02:00
bjorn3
552991e17e
Replace FxHashMap with IndexVec for local_map
...
Fixes #745
2020-09-16 18:45:19 +02:00
CohenArthur
4e685a512e
fmt: Run cargo fmt since it is available
2020-08-28 12:10:48 +02:00
bjorn3
942039b232
Pass ByRef values at fixed stack offset for extern "C"
...
This makes it possible to build proc macros using cg_clif
2020-07-17 12:41:01 +02:00
bjorn3
3ef6170142
Remove CPlace::NoPlace
2020-04-11 15:01:04 +02:00
bjorn3
291c75d10b
Enable the rust_2018_idioms and unused_lifetimes lints and fix all warnings
...
They are set to deny by default in the rust-lang/rust repo
2020-04-09 12:12:55 +02:00
bjorn3
017a9b7641
Rustup to rustc 1.44.0-nightly (699f83f52 2020-03-29)
2020-03-30 19:00:24 +02:00
bjorn3
f288959c00
Limit publicness to crate where possible and remove unused imports
2020-03-27 12:14:45 +01:00
bjorn3
b113e88ddb
Fix warnings
2020-03-24 13:41:19 +01:00
bjorn3
430f738392
Update Cranelift for basic blocks
2020-02-14 18:23:29 +01:00
bjorn3
9cfb9470c5
Allow unsized types as function parameters
2020-01-25 16:23:54 +01:00
bjorn3
09b44f5d25
Reduce visibility
2020-01-14 17:11:06 +01:00
bjorn3
38797f8bad
Implement #[track_caller]
...
Fixes #848
2020-01-11 17:10:42 +01:00
bjorn3
2920cc48e6
Fix SSA analysis for value types with PassMode::ByRef
2019-12-25 14:35:16 +01:00
bjorn3
8f5ef6172c
Remove to_addr and to_addr_maybe_unsized
2019-12-20 19:10:08 +01:00
bjorn3
967709f31a
[OPT] Use load and store offsets instead of iadd_imm
2019-12-20 16:02:47 +01:00
bjorn3
bfff2a50fd
Fix debug build
2019-12-18 20:25:05 +01:00
bjorn3
1c79cf4c0a
[OPT] Use RETURN_PLACE instead of fn_sig.output() to get return layout
2019-12-17 18:41:13 +01:00
bjorn3
86cdd1909b
[OPT] Use IndexVec instead of HashMap in ssa analysis
2019-12-17 17:49:12 +01:00
bjorn3
82fde5b622
Remove bitflags dependency
2019-10-06 17:52:23 +02:00
Atul Bhosale
f481a4b685
Format code using 'cargo fmt'
2019-08-31 22:58:09 +05:30
bjorn3
76d2e085db
Improve abi ir comments a bit
2019-08-30 15:07:15 +02:00
bjorn3
d731c4a6a7
Move ir comments generation to abi/comments.rs
...
Also list locals stored in ssa vars in the comments
2019-08-30 14:21:24 +02:00
bjorn3
16593d264c
Move return handling to abi/returning.rs
2019-08-30 12:30:57 +02:00