bjorn3
34823a7e4c
Rustup to rustc 1.46.0-nightly (5c9e5df3a 2020-07-16)
2020-07-17 19:15:33 +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
a0580610b2
Use From::from
instead of as
where possible
2020-07-14 16:38:50 +02:00
bjorn3
1987a3b6c0
Handle SysV64 abi
2020-07-09 15:25:37 +02:00
bjorn3
d032c24476
Merge pull request #1057 from spastorino/store-pairs-in-ssa
...
Store pairs in ssa
2020-07-03 15:04:29 +02:00
Santiago Pastorino
aa80ed0a2d
Store pairs in SSA
2020-07-02 19:23:21 -03:00
bjorn3
f3a91164a2
Rustup to rustc 1.46.0-nightly (f781babf8 2020-07-01)
2020-07-02 19:48:03 +02:00
bjorn3
3227203fe6
Don't use a 1-to-1 mapping between mir local and cranelift_frontend variable
2020-06-27 14:29:28 +02:00
bjorn3
48d4bc2fb6
Rustup to rustc 1.46.0-nightly (7750c3d46 2020-06-26)
2020-06-27 11:29:39 +02:00
bjorn3
98c83d21f5
Remove leftover of removed hack
2020-06-24 11:54:11 +02:00
bjorn3
fc5e583006
Warn on unsupported pass modes for extern "C"
...
cc #10
2020-06-20 19:03:54 +02:00
bjorn3
eb8fd197ab
Prelude cleanup
2020-06-20 18:44:49 +02:00
bjorn3
daad966be7
Some changes necessary for Windows support
...
cc #977
2020-06-16 11:36:39 +02:00
Ömer Sinan Ağacan
acbfa06ea2
Mark blocks that call cold funs as cold ( #1021 )
2020-05-29 11:06:29 +02:00
bjorn3
7031c96fb3
Call panic lang item on failed TerminatorKind::Assert
...
Fixes #164
2020-04-25 19:07:53 +02:00
bjorn3
6b8b4e54ba
Rustup to rustc 1.44.0-nightly (3360cc3a0 2020-04-24)
2020-04-25 11:42:46 +02:00
bjorn3
eab4c9063e
Sync fn_sig_for_fn_abi with upstream for generator resume args
...
Fixes #970
2020-04-18 15:45:42 +02:00
bjorn3
af016640b6
Cleanup codegen_terminator_call a bit
2020-04-13 19:12:44 +02:00
bjorn3
4bbae74458
Merge codegen_call_inner into codegen_terminator_call
2020-04-13 17:38:17 +02:00
bjorn3
04af24d418
Don't use codegen_call_inner in codegen_drop
2020-04-13 17:31:35 +02:00
bjorn3
8daca65e47
Rustup to rustc 1.44.0-nightly (3712e11a8 2020-04-12)
2020-04-13 13:30:39 +02:00
bjorn3
3ef6170142
Remove CPlace::NoPlace
2020-04-11 15:01:04 +02:00
bjorn3
53307fd2e1
Introduce PointerBase::Dangling
2020-04-11 14:59:01 +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
ac1c5d6954
Rustup to rustc 1.44.0-nightly (537ccdf3a 2020-04-02)
2020-04-03 11:54:18 +02:00
bjorn3
17f99b4a96
Take Place by value instead of by reference
2020-04-02 17:23:15 +02:00
bjorn3
13e3a3c8b0
Rustup to rustc 1.44.0-nightly (211365947 2020-03-30)
2020-03-31 13:20:19 +02:00
bjorn3
017a9b7641
Rustup to rustc 1.44.0-nightly (699f83f52 2020-03-29)
2020-03-30 19:00:24 +02:00
bjorn3
d2964f6a71
Rustup to rustc 1.44.0-nightly (75208942f 2020-03-27)
2020-03-28 14:20:24 +01: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
3c9ebdb194
Rustup to rustc 1.44.0-nightly (1edd389cc 2020-03-23)
2020-03-24 13:09:44 +01:00
bjorn3
a59479bd37
Add clif ir comments for stack2reg opt
2020-03-20 12:18:40 +01:00
bjorn3
992fae08c4
Simplify handling of unimplemented stuff
2020-03-17 16:26:56 +01:00
bjorn3
dcc86d306c
Emulate <Box<F> as FnOnce>::call_once
without alloca
...
Fixes #884
cc #15
2020-03-10 20:48:58 +01:00
bjorn3
240d56c33c
Support virtual calls with unsized self argument
2020-03-10 20:41:31 +01:00
bjorn3
430f738392
Update Cranelift for basic blocks
2020-02-14 18:23:29 +01:00
bjorn3
242f2e3c75
Fix correctness of optimization
2020-01-25 16:24:15 +01:00
bjorn3
9cfb9470c5
Allow unsized types as function parameters
2020-01-25 16:23:54 +01:00
bjorn3
e798f98bb4
Fix debug build
2020-01-15 13:18:54 +01:00
bjorn3
217beab62a
Reduce the amount of calls to layout_of
2020-01-15 13:18:54 +01:00
bjorn3
09b44f5d25
Reduce visibility
2020-01-14 17:11:06 +01:00
bjorn3
c74b306037
Move all cold code to the end of the function
...
Fixes #836
Benchmark #1 : simple-raytracer/raytracer_cg_clif
Time (mean ± σ): 9.250 s ± 0.056 s [User: 9.213 s, System: 0.015 s]
Range (min … max): 9.151 s … 9.348 s 20 runs
Benchmark #2 : simple-raytracer/raytracer_cg_clif_cold_separated
Time (mean ± σ): 9.179 s ± 0.101 s [User: 9.141 s, System: 0.016 s]
Range (min … max): 9.070 s … 9.473 s 20 runs
Summary
'simple-raytracer/raytracer_cg_clif_cold_separated' ran
1.01 ± 0.01 times faster than 'simple-raytracer/raytracer_cg_clif'
2020-01-11 17:57:18 +01:00
bjorn3
38797f8bad
Implement #[track_caller]
...
Fixes #848
2020-01-11 17:10:42 +01:00
bjorn3
33ad67c124
Rustup to rustc 1.42.0-nightly (caa231d99 2020-01-08)
2020-01-09 17:43:10 +01:00
bjorn3
ca92695a2c
Use IndexVec for ebb_map
...
cc #745
2020-01-04 13:23:42 +01:00
bjorn3
c3daf6d220
Add clif ir comment for write_cvalue
2019-12-25 14:38:22 +01:00
bjorn3
2920cc48e6
Fix SSA analysis for value types with PassMode::ByRef
2019-12-25 14:35:16 +01:00
bjorn3
399cada762
Directly depend on cranelift_{codegen,frontend}
...
Fixes #838
2019-12-24 12:43:20 +01:00
bjorn3
67a0fdad19
Make llvm_intrinsics a submodule of intrinsics
2019-12-23 13:57:55 +01:00