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
bjorn3
08fc673190
Handle SIMD vectors in CPlace::place_field
2020-07-25 12:28:24 +02:00
bjorn3
abc99c6259
Allow storing SIMD vectors in SSA values
2020-07-25 12:16:41 +02:00
bjorn3
798fb85651
Fix assert_assignable
2020-07-03 16:40:57 +02:00
Santiago Pastorino
9ec2be7d63
Extract transmute_value as a function to avoid code repetition
2020-07-03 09:43:02 -03:00
Santiago Pastorino
aa80ed0a2d
Store pairs in SSA
2020-07-02 19:23:21 -03: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
9c0d18c8db
Simplify assert_assignable
...
Assignments are no longer used to implicitly cast between &mut T and &T
2020-06-21 10:35:45 +02:00
bjorn3
6b54b7c9f4
Remove sign extension for ty::Int from CValue::const_val
2020-06-05 12:16:05 +02:00
bjorn3
9a378c3f3f
Fix transmute of non-scalar to scalar
...
Fixes #967
2020-04-17 10:57:20 +02:00
bjorn3
40cdcf0e5e
Remove one usage of force_stack
2020-04-13 14:53:25 +02:00
bjorn3
ea1a99900e
Remove unchecked_cast_to
2020-04-11 15:01:15 +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
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
a59479bd37
Add clif ir comments for stack2reg opt
2020-03-20 12:18:40 +01:00
bjorn3
240d56c33c
Support virtual calls with unsized self argument
2020-03-10 20:41:31 +01:00
bjorn3
6156f48ffe
Update Cranelift and use the new ineg instruction
2020-02-15 11:59:45 +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
c4acc78e4d
Allow more types in CValue::const_val
2020-01-22 18:56:36 +01:00
bjorn3
217beab62a
Reduce the amount of calls to layout_of
2020-01-15 13:18:54 +01:00
bjorn3
7564a043d0
Fix some warnings
2019-12-31 15:53:18 +01:00
bjorn3
50d7497708
Write scalars separately for Abi::ScalarPair in write_cvalue
...
This makes it easier to perform store to load forwarding
2019-12-31 15:28:15 +01:00
bjorn3
30a760dda2
Make it possible it use value_field for SIMD values stored ByVal
2019-12-25 14:38:51 +01:00
bjorn3
b35a5da4ea
Remove vector support from load_scalar
2019-12-25 14:38:51 +01:00
bjorn3
f8e846dee0
Add load_vector function
2019-12-25 14:38:37 +01:00
bjorn3
73fd311291
[WIP] Real simd support
2019-12-25 14:38:37 +01:00
bjorn3
c3daf6d220
Add clif ir comment for write_cvalue
2019-12-25 14:38:22 +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
ad72afaad3
Remove CPlaceInner::Stack
2019-12-20 22:00:12 +01:00
bjorn3
fbbc910ddc
[OPT] Emit stack_{load,store} where possible
2019-12-20 19:30:56 +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
ab7ad2caeb
Use set_val_label before every def_var
2019-12-16 12:07:12 +01:00
bjorn3
c0aedfef96
[WIP] debuginfo for locals
2019-12-16 12:04:34 +01:00
bjorn3
4a8b0ca274
Correctly align returned addr for to_addr on NoPlace
2019-11-24 14:56:51 +01:00
bjorn3
177b0d2f57
Rustup to rustc 1.41.0-nightly ( ded5ee001
2019-11-13)
2019-11-14 21:13:40 +01:00
bjorn3
44792f1089
Rustup to rustc 1.40.0-nightly ( 084beb83e
2019-09-27)
2019-09-28 14:06:12 +02:00
bjorn3
c34ada7cca
Fix foreign type handling
2019-09-14 17:53:36 +02:00
bjorn3
a2e905f22d
Correctly align offset for dst field projections
...
Fixes #681
2019-09-02 20:09:37 +02:00
Atul Bhosale
f481a4b685
Format code using 'cargo fmt'
2019-08-31 22:58:09 +05:30
bjorn3
15b9834d7d
Don't copy ByRef passed types to local stack slot when not necessary
...
Eg when the local is immutable **and** the type is freeze.
This makes the simple raytracer runtime benchmark 1% faster than cg_llvm
without optimizations. Before it was 2% slower.
cc #691
cc #684
2019-08-30 15:42:07 +02:00