CohenArthur
0d1f8c802e
FunctionCx: Refactor fx.cx.tcx
into fx.tcx
2020-08-22 16:47:31 +02:00
CohenArthur
5cf4577352
FunctionCx: Add tcx field for easier access
2020-08-22 16:45:50 +02:00
CohenArthur
7b534d653d
FunctionCx: Rename codegen_cx -> cx
2020-08-22 16:17:58 +02:00
CohenArthur
429e75fe40
FunctionCx: WIP: Remove more common fields from CodegenCx
2020-08-22 15:49:16 +02:00
CohenArthur
1a6365f95f
FunctionCx: WIP: Fix overzealous sed usage
2020-08-22 15:25:36 +02:00
CohenArthur
ad4a7a1f0c
FunctionCx: WIP: Fix syntax error on sed codegen_cx -> .codegen_cx
2020-08-22 15:21:38 +02:00
CohenArthur
cb69c7019c
FunctionCx: Replace .module with .codegen_cx.module
2020-08-22 15:19:09 +02:00
CohenArthur
297d65c247
FunctionCx: WIP: Replace .tcx with .codegen_cx.tcx
2020-08-22 15:18:39 +02:00
CohenArthur
5a59c24eee
FunctionCx: Store reference to CodegenCx instead
2020-08-22 15:18:10 +02:00
bjorn3
c1efc33941
Fix panic
2020-07-25 13:17:49 +02:00
bjorn3
abc99c6259
Allow storing SIMD vectors in SSA values
2020-07-25 12:16:41 +02:00
bjorn3
1b8df386aa
Fix -Zpolymorphize
2020-07-23 18:08:15 +02:00
bjorn3
3f2589acd9
Fix multiple inline asm blocks in the same function
2020-07-23 12:37:03 +02:00
bjorn3
a0580610b2
Use From::from
instead of as
where possible
2020-07-14 16:38:50 +02:00
bjorn3
726e329f46
Add basic inline asm support for x86_64
2020-07-10 21:34:26 +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
ef01b4e3dd
Store fat pointers in ssa variables
2020-07-03 09:48:22 -03:00
Santiago Pastorino
aa80ed0a2d
Store pairs in SSA
2020-07-02 19:23:21 -03:00
bjorn3
a299d0e632
Don't panic on unevaluatable promoted constants
2020-07-01 14:15:23 +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
a3cd293148
Don't perform a double substitution in some cases
2020-06-24 12:10:20 +02:00
bjorn3
eb8fd197ab
Prelude cleanup
2020-06-20 18:44:49 +02:00
bjorn3
ef4186a85b
Use Cranelift legalization for icmp.i128
...
The previous translation was wrong for signed 128bit comparisions
This fixes several libcore tests
2020-06-20 13:23:31 +02:00
bjorn3
7031c96fb3
Call panic lang item on failed TerminatorKind::Assert
...
Fixes #164
2020-04-25 19:07:53 +02:00
bjorn3
cd684e39e0
Fix saturated_* intrinsics for 128bit ints
...
Fixes #968
2020-04-17 14:14:24 +02:00
bjorn3
016673b0c3
Fix rustc::internals lint warnings
2020-04-09 12:12:55 +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
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
f288959c00
Limit publicness to crate where possible and remove unused imports
2020-03-27 12:14:45 +01:00
bjorn3
e9db3e7817
Avoid u/i*::{min.max}_value()
...
They will be deprecated in the future
2020-03-20 16:29:05 +01:00
bjorn3
240d56c33c
Support virtual calls with unsized self argument
2020-03-10 20:41:31 +01:00
bjorn3
c1bf153049
Rustup to rustc 1.43.0-nightly ( 8aa9d2014
2020-02-21)
2020-02-22 14:20:37 +01:00
bjorn3
430f738392
Update Cranelift for basic blocks
2020-02-14 18:23:29 +01:00
bjorn3
bae0d9bb72
[OPT] Don't call monomorphize from clif_type
2020-02-07 20:27:37 +01:00
bjorn3
01f6f40ac2
Rustup to rustc 1.43.0-nightly ( 442ae7f04
2020-02-06)
2020-02-07 13:49:48 +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
6652f466ef
Rustup to rustc 1.42.0-nightly ( bc1571cc3
2020-01-05)
2020-01-06 20:11:03 +01:00
bjorn3
1bb848d4ac
Re-use cranelift_codegen::ir::Function for every function
...
Fixes #844
2020-01-04 17:58:38 +01:00
bjorn3
ca92695a2c
Use IndexVec for ebb_map
...
cc #745
2020-01-04 13:23:42 +01:00
bjorn3
7ff01a4d59
Use mir::SourceInfo again in FunctionCx.source_info_set
...
Fixes #800
2019-12-24 12:44:07 +01:00
bjorn3
399cada762
Directly depend on cranelift_{codegen,frontend}
...
Fixes #838
2019-12-24 12:43:20 +01:00
bjorn3
e63a94fca6
Rustup to rustc 1.42.0-nightly ( fc5deca21
2019-12-21)
2019-12-22 16:53:06 +01:00
bjorn3
172522c2e7
[OPT] Push fx.monomorphize to the callers of fx.layout_of
...
This prevents some repeated monomorphizations
2019-12-17 16:58:34 +01:00
bjorn3
d502f8e652
[OPT] Avoid calling target_triple for every call to codegen
2019-12-17 16:34:48 +01:00
bjorn3
88277f983a
Remove some workarounds for missing inst legalizations
2019-12-08 11:52:04 +01:00