]>
git.lizzy.rs Git - rust.git/log
bjorn3 [Mon, 13 Jan 2020 20:38:46 +0000 (21:38 +0100)]
Rustup to rustc 1.42.0-nightly (
3ebcfa145 2020-01-12)
bjorn3 [Sat, 11 Jan 2020 16:57:18 +0000 (17:57 +0100)]
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'
bjorn3 [Sat, 11 Jan 2020 15:49:42 +0000 (16:49 +0100)]
Implement `#[track_caller]`
Fixes #848
bjorn3 [Sat, 11 Jan 2020 13:20:55 +0000 (14:20 +0100)]
Don't panic on reported const eval errors
bjorn3 [Sat, 11 Jan 2020 13:15:24 +0000 (14:15 +0100)]
Fix PlaceElem::Subslice length computation
bjorn3 [Sat, 11 Jan 2020 13:27:26 +0000 (14:27 +0100)]
Fix build
bjorn3 [Fri, 10 Jan 2020 13:21:45 +0000 (14:21 +0100)]
Improve build time for build scripts in release mode
bjorn3 [Fri, 10 Jan 2020 13:15:14 +0000 (14:15 +0100)]
Better self profiling integration
bjorn3 [Fri, 10 Jan 2020 12:30:21 +0000 (13:30 +0100)]
Remove faerie support
bjorn3 [Fri, 10 Jan 2020 12:12:49 +0000 (13:12 +0100)]
Update Cranelift
bjorn3 [Fri, 10 Jan 2020 11:14:28 +0000 (12:14 +0100)]
Prepare for basic blocks
bjorn3 [Thu, 9 Jan 2020 16:59:59 +0000 (17:59 +0100)]
Disable read feature of gimli
bjorn3 [Thu, 9 Jan 2020 16:45:40 +0000 (17:45 +0100)]
Update dependencies
bjorn3 [Thu, 9 Jan 2020 16:43:21 +0000 (17:43 +0100)]
Update Cranelift
bjorn3 [Thu, 9 Jan 2020 16:43:10 +0000 (17:43 +0100)]
Rustup to rustc 1.42.0-nightly (
caa231d99 2020-01-08)
bjorn3 [Mon, 6 Jan 2020 19:11:03 +0000 (20:11 +0100)]
Rustup to rustc 1.42.0-nightly (
bc1571cc3 2020-01-05)
bjorn3 [Sat, 4 Jan 2020 17:27:00 +0000 (18:27 +0100)]
Revert "Use simd instructions for int and float simd intrinsics"
This reverts commit
5e984a32d9b8a381d0b7f192f4a915aac59f18db .
It was causing issues with vectors bigger than 128bit
bjorn3 [Sat, 4 Jan 2020 17:20:00 +0000 (18:20 +0100)]
Fix codegen of unimpl in simd_extract and unimpl simd_insert
bjorn3 [Sat, 4 Jan 2020 16:58:38 +0000 (17:58 +0100)]
Re-use cranelift_codegen::ir::Function for every function
Fixes #844
bjorn3 [Sat, 4 Jan 2020 16:49:00 +0000 (17:49 +0100)]
Use DUMMY_SP in less places
Fixes #845
bjorn3 [Sat, 4 Jan 2020 12:23:42 +0000 (13:23 +0100)]
Use IndexVec for ebb_map
cc #745
bjorn3 [Sat, 4 Jan 2020 11:57:38 +0000 (12:57 +0100)]
Remove faerie machO alignment workaround
Fixes #738
bjorn3 [Sat, 4 Jan 2020 11:33:39 +0000 (12:33 +0100)]
Add two FIXME's
bjorn3 [Sat, 4 Jan 2020 11:40:10 +0000 (12:40 +0100)]
Merge pull request #853 from bjorn3/opt_stack2reg
Add stack2reg optimization pass
bjorn3 [Sat, 4 Jan 2020 10:31:56 +0000 (11:31 +0100)]
Add documentation about the UB of the stack2reg optimization
bjorn3 [Fri, 3 Jan 2020 20:30:56 +0000 (21:30 +0100)]
Enable incr comp in release mode
bjorn3 [Tue, 31 Dec 2019 15:43:24 +0000 (16:43 +0100)]
Disable stack2reg opt when optimizations are disabled
bjorn3 [Tue, 31 Dec 2019 14:59:49 +0000 (15:59 +0100)]
Revert some changes
bjorn3 [Tue, 31 Dec 2019 14:36:29 +0000 (15:36 +0100)]
Fix some warnings
bjorn3 [Tue, 31 Dec 2019 14:26:58 +0000 (15:26 +0100)]
Don't print debug messages in release mode
bjorn3 [Tue, 31 Dec 2019 11:25:23 +0000 (12:25 +0100)]
Remove unnecessary check from temporal_order
bjorn3 [Mon, 30 Dec 2019 20:26:49 +0000 (21:26 +0100)]
Support store to load forwarding for different types of the same size
bjorn3 [Mon, 30 Dec 2019 20:20:17 +0000 (21:20 +0100)]
Fix potential_stores_for_load
bjorn3 [Mon, 30 Dec 2019 19:52:57 +0000 (20:52 +0100)]
Return use domtree.dominates in temporal_order
bjorn3 [Mon, 30 Dec 2019 19:25:34 +0000 (20:25 +0100)]
Add functions to remove loads stores etc
bjorn3 [Mon, 30 Dec 2019 19:02:32 +0000 (20:02 +0100)]
Extract potential_stores_for_load and potential_loads_of_store functions
bjorn3 [Sat, 28 Dec 2019 17:16:43 +0000 (18:16 +0100)]
Let remove_unused_stack_addr_and_stack_load take OptimizeContext
bjorn3 [Sat, 28 Dec 2019 17:07:51 +0000 (18:07 +0100)]
Add OptimizeContext
bjorn3 [Sat, 28 Dec 2019 16:51:22 +0000 (17:51 +0100)]
Remove stack_store without following stack_load
bjorn3 [Sat, 28 Dec 2019 15:11:04 +0000 (16:11 +0100)]
Fix temporal_order argument order for store to load forwarding
bjorn3 [Sat, 28 Dec 2019 14:52:42 +0000 (15:52 +0100)]
Extract temporal_order function
bjorn3 [Sat, 28 Dec 2019 12:00:28 +0000 (13:00 +0100)]
Fix compilation
bjorn3 [Sat, 28 Dec 2019 11:41:03 +0000 (12:41 +0100)]
Check for cross-ebb temporal overlap between loads and stores
bjorn3 [Sat, 28 Dec 2019 10:36:00 +0000 (11:36 +0100)]
Run dead stack_store removal after stack_store to stack_load forwarding
bjorn3 [Fri, 27 Dec 2019 20:13:27 +0000 (21:13 +0100)]
[WIP] Implement basic stack store to load forwarding
bjorn3 [Fri, 27 Dec 2019 15:50:41 +0000 (16:50 +0100)]
Refactor stack_store removal
bjorn3 [Fri, 27 Dec 2019 15:37:49 +0000 (16:37 +0100)]
Extract remove_unused_stack_addr_and_stack_load
bjorn3 [Fri, 27 Dec 2019 15:27:05 +0000 (16:27 +0100)]
Group by stack slot earlier
bjorn3 [Fri, 27 Dec 2019 14:55:39 +0000 (15:55 +0100)]
Merge stack_{addr,load}_insts_users
bjorn3 [Fri, 27 Dec 2019 14:40:44 +0000 (15:40 +0100)]
Use BTreeSet and BTreeMap instead of SecondaryMap
bjorn3 [Fri, 27 Dec 2019 14:14:42 +0000 (15:14 +0100)]
Record users of stack_addr and stack_load return values
bjorn3 [Fri, 27 Dec 2019 14:02:10 +0000 (15:02 +0100)]
Outline combine_stack_addr_with_load_store and remove unused stack_load insts
bjorn3 [Fri, 27 Dec 2019 13:55:11 +0000 (14:55 +0100)]
Re-order some code
bjorn3 [Thu, 26 Dec 2019 12:37:10 +0000 (13:37 +0100)]
[WIP] Add stack2reg optimization pass
bjorn3 [Tue, 31 Dec 2019 14:53:18 +0000 (15:53 +0100)]
Fix some warnings
bjorn3 [Tue, 31 Dec 2019 14:47:58 +0000 (15:47 +0100)]
Rustup to rustc 1.42.0-nightly (
a9dd56ff9 2019-12-30)
bjorn3 [Tue, 31 Dec 2019 11:13:04 +0000 (12:13 +0100)]
Write scalars separately for Abi::ScalarPair in write_cvalue
This makes it easier to perform store to load forwarding
bjorn3 [Sat, 28 Dec 2019 10:10:21 +0000 (11:10 +0100)]
Only codegen a trap for functions with uninhabited arguments
Fixes #847
bjorn3 [Sat, 28 Dec 2019 09:57:49 +0000 (10:57 +0100)]
Rustup to rustc 1.42.0-nightly (
74c4e6a98 2019-12-27)
bjorn3 [Wed, 25 Dec 2019 18:49:07 +0000 (19:49 +0100)]
Merge pull request #842 from bjorn3/real_simd
Codegen simd intrinsics as simd clif instructions
bjorn3 [Wed, 25 Dec 2019 11:38:18 +0000 (12:38 +0100)]
Make it possible it use value_field for SIMD values stored ByVal
bjorn3 [Mon, 23 Dec 2019 16:25:32 +0000 (17:25 +0100)]
Remove unused macro args
bjorn3 [Mon, 23 Dec 2019 16:20:24 +0000 (17:20 +0100)]
Fix indentation
bjorn3 [Mon, 23 Dec 2019 16:19:14 +0000 (17:19 +0100)]
Remove vector support from load_scalar
bjorn3 [Mon, 23 Dec 2019 16:11:57 +0000 (17:11 +0100)]
Use simd instructions for int and float simd intrinsics
bjorn3 [Mon, 23 Dec 2019 15:48:19 +0000 (16:48 +0100)]
Add load_vector function
bjorn3 [Mon, 23 Dec 2019 14:56:20 +0000 (15:56 +0100)]
Don't use stack_{load,store} for vectors
bjorn3 [Mon, 23 Dec 2019 14:56:03 +0000 (15:56 +0100)]
Don't limit vector size
bjorn3 [Mon, 18 Nov 2019 20:29:34 +0000 (21:29 +0100)]
[WIP] Real simd support
bjorn3 [Mon, 23 Dec 2019 15:48:43 +0000 (16:48 +0100)]
Add clif ir comment for write_cvalue
bjorn3 [Mon, 23 Dec 2019 14:48:43 +0000 (15:48 +0100)]
Fix SSA analysis for value types with PassMode::ByRef
bjorn3 [Mon, 18 Nov 2019 20:15:43 +0000 (21:15 +0100)]
Improve lane_type_and_count
bjorn3 [Tue, 24 Dec 2019 11:44:07 +0000 (12:44 +0100)]
Use mir::SourceInfo again in FunctionCx.source_info_set
Fixes #800
bjorn3 [Tue, 24 Dec 2019 11:40:18 +0000 (12:40 +0100)]
Directly depend on cranelift_{codegen,frontend}
Fixes #838
bjorn3 [Tue, 24 Dec 2019 11:27:11 +0000 (12:27 +0100)]
Rustup to rustc 1.42.0-nightly (
9ae6cedb8 2019-12-23)
bjorn3 [Mon, 18 Nov 2019 19:58:33 +0000 (20:58 +0100)]
Move simd intrinsics to intrinsics/simd.rs
bjorn3 [Mon, 18 Nov 2019 19:45:32 +0000 (20:45 +0100)]
Make llvm_intrinsics a submodule of intrinsics
bjorn3 [Mon, 23 Dec 2019 12:57:36 +0000 (13:57 +0100)]
Merge pull request #841 from bjorn3/dependabot/cargo/smallvec-1.1.0
Bump smallvec from 1.0.0 to 1.1.0
dependabot-preview[bot] [Mon, 23 Dec 2019 12:50:16 +0000 (12:50 +0000)]
Bump smallvec from 1.0.0 to 1.1.0
Bumps [smallvec](https://github.com/servo/rust-smallvec) from 1.0.0 to 1.1.0.
- [Release notes](https://github.com/servo/rust-smallvec/releases)
- [Commits](https://github.com/servo/rust-smallvec/compare/v1.0.0...v1.1.0)
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
bjorn3 [Mon, 23 Dec 2019 12:25:22 +0000 (13:25 +0100)]
Rustup to rustc 1.42.0-nightly (
9b98af84c 2019-12-22)
bjorn3 [Sun, 22 Dec 2019 14:27:25 +0000 (15:27 +0100)]
Improve local ir comments
bjorn3 [Sun, 22 Dec 2019 13:43:24 +0000 (14:43 +0100)]
Update Cranelift
bytecodealliance/cranelift#1305 has been fixed.
bjorn3 [Sun, 22 Dec 2019 13:49:10 +0000 (14:49 +0100)]
Rustup to rustc 1.42.0-nightly (
fc5deca21 2019-12-21)
bjorn3 [Sat, 21 Dec 2019 10:22:12 +0000 (11:22 +0100)]
Rustup to rustc 1.42.0-nightly (
01a46509a 2019-12-20)
bjorn3 [Fri, 20 Dec 2019 21:03:32 +0000 (22:03 +0100)]
Revert "Update Cranelift"
This reverts commit
81eb73365e798f949e40cd0da8026c1a408ce07e .
Caused SIGSEGV: https://github.com/bytecodealliance/cranelift/issues/1305
bjorn3 [Fri, 20 Dec 2019 21:00:12 +0000 (22:00 +0100)]
Remove CPlaceInner::Stack
bjorn3 [Fri, 20 Dec 2019 20:39:21 +0000 (21:39 +0100)]
Update log dependency
bjorn3 [Fri, 20 Dec 2019 20:34:46 +0000 (21:34 +0100)]
Update Cranelift
bjorn3 [Fri, 20 Dec 2019 20:32:39 +0000 (21:32 +0100)]
Merge pull request #839 from bjorn3/fold_offset_into_load_store
Some runtime optimizations
bjorn3 [Fri, 20 Dec 2019 18:11:06 +0000 (19:11 +0100)]
[OPT] Emit stack_{load,store} where possible
bjorn3 [Fri, 20 Dec 2019 18:10:08 +0000 (19:10 +0100)]
Remove to_addr and to_addr_maybe_unsized
bjorn3 [Fri, 20 Dec 2019 15:16:28 +0000 (16:16 +0100)]
Set memflags for vtable loads
bjorn3 [Fri, 20 Dec 2019 15:02:47 +0000 (16:02 +0100)]
[OPT] Use load and store offsets instead of iadd_imm
bjorn3 [Fri, 20 Dec 2019 11:24:48 +0000 (12:24 +0100)]
Fix init and uninit intrinsics for u/i128
bjorn3 [Fri, 20 Dec 2019 11:13:07 +0000 (12:13 +0100)]
[OPT] Don't force return value of call to stack
Benchmark #1: ./simple_raytracer_before
Time (mean ± σ): 14.420 s ± 0.568 s [User: 14.376 s, System: 0.026 s]
Range (min … max): 13.730 s … 15.170 s 10 runs
Benchmark #2: simple_raytracer_after
Time (mean ± σ): 13.679 s ± 0.576 s [User: 13.628 s, System: 0.020 s]
Range (min … max): 12.761 s … 14.552 s 10 runs
Summary
'./simple_raytracer_after' ran
1.05 ± 0.06 times faster than './simple_raytracer_before'
bjorn3 [Fri, 20 Dec 2019 11:01:55 +0000 (12:01 +0100)]
Fix codegen of ctlz and cttz intrinsics
bjorn3 [Wed, 18 Dec 2019 19:41:07 +0000 (20:41 +0100)]
Monomorphize type of promoted
bjorn3 [Wed, 18 Dec 2019 19:26:41 +0000 (20:26 +0100)]
Fix some warnings
bjorn3 [Wed, 18 Dec 2019 19:25:05 +0000 (20:25 +0100)]
Fix debug build
bjorn3 [Tue, 17 Dec 2019 17:41:13 +0000 (18:41 +0100)]
[OPT] Use RETURN_PLACE instead of fn_sig.output() to get return layout