]> git.lizzy.rs Git - rust.git/log
rust.git
4 years agoRustup to rustc 1.42.0-nightly (3ebcfa145 2020-01-12)
bjorn3 [Mon, 13 Jan 2020 20:38:46 +0000 (21:38 +0100)]
Rustup to rustc 1.42.0-nightly (3ebcfa145 2020-01-12)

4 years agoMove all cold code to the end of the function
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'

4 years agoImplement `#[track_caller]`
bjorn3 [Sat, 11 Jan 2020 15:49:42 +0000 (16:49 +0100)]
Implement `#[track_caller]`

Fixes #848

4 years agoDon't panic on reported const eval errors
bjorn3 [Sat, 11 Jan 2020 13:20:55 +0000 (14:20 +0100)]
Don't panic on reported const eval errors

4 years agoFix PlaceElem::Subslice length computation
bjorn3 [Sat, 11 Jan 2020 13:15:24 +0000 (14:15 +0100)]
Fix PlaceElem::Subslice length computation

4 years agoFix build
bjorn3 [Sat, 11 Jan 2020 13:27:26 +0000 (14:27 +0100)]
Fix build

4 years agoImprove build time for build scripts in release mode
bjorn3 [Fri, 10 Jan 2020 13:21:45 +0000 (14:21 +0100)]
Improve build time for build scripts in release mode

4 years agoBetter self profiling integration
bjorn3 [Fri, 10 Jan 2020 13:15:14 +0000 (14:15 +0100)]
Better self profiling integration

4 years agoRemove faerie support
bjorn3 [Fri, 10 Jan 2020 12:30:21 +0000 (13:30 +0100)]
Remove faerie support

4 years agoUpdate Cranelift
bjorn3 [Fri, 10 Jan 2020 12:12:49 +0000 (13:12 +0100)]
Update Cranelift

4 years agoPrepare for basic blocks
bjorn3 [Fri, 10 Jan 2020 11:14:28 +0000 (12:14 +0100)]
Prepare for basic blocks

4 years agoDisable read feature of gimli
bjorn3 [Thu, 9 Jan 2020 16:59:59 +0000 (17:59 +0100)]
Disable read feature of gimli

4 years agoUpdate dependencies
bjorn3 [Thu, 9 Jan 2020 16:45:40 +0000 (17:45 +0100)]
Update dependencies

4 years agoUpdate Cranelift
bjorn3 [Thu, 9 Jan 2020 16:43:21 +0000 (17:43 +0100)]
Update Cranelift

4 years agoRustup to rustc 1.42.0-nightly (caa231d99 2020-01-08)
bjorn3 [Thu, 9 Jan 2020 16:43:10 +0000 (17:43 +0100)]
Rustup to rustc 1.42.0-nightly (caa231d99 2020-01-08)

4 years agoRustup to rustc 1.42.0-nightly (bc1571cc3 2020-01-05)
bjorn3 [Mon, 6 Jan 2020 19:11:03 +0000 (20:11 +0100)]
Rustup to rustc 1.42.0-nightly (bc1571cc3 2020-01-05)

4 years agoRevert "Use simd instructions for int and float simd intrinsics"
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

4 years agoFix codegen of unimpl in simd_extract and unimpl simd_insert
bjorn3 [Sat, 4 Jan 2020 17:20:00 +0000 (18:20 +0100)]
Fix codegen of unimpl in simd_extract and unimpl simd_insert

4 years agoRe-use cranelift_codegen::ir::Function for every function
bjorn3 [Sat, 4 Jan 2020 16:58:38 +0000 (17:58 +0100)]
Re-use cranelift_codegen::ir::Function for every function

Fixes #844

4 years agoUse DUMMY_SP in less places
bjorn3 [Sat, 4 Jan 2020 16:49:00 +0000 (17:49 +0100)]
Use DUMMY_SP in less places

Fixes #845

4 years agoUse IndexVec for ebb_map
bjorn3 [Sat, 4 Jan 2020 12:23:42 +0000 (13:23 +0100)]
Use IndexVec for ebb_map

cc #745

4 years agoRemove faerie machO alignment workaround
bjorn3 [Sat, 4 Jan 2020 11:57:38 +0000 (12:57 +0100)]
Remove faerie machO alignment workaround

Fixes #738

4 years agoAdd two FIXME's
bjorn3 [Sat, 4 Jan 2020 11:33:39 +0000 (12:33 +0100)]
Add two FIXME's

4 years agoMerge pull request #853 from bjorn3/opt_stack2reg
bjorn3 [Sat, 4 Jan 2020 11:40:10 +0000 (12:40 +0100)]
Merge pull request #853 from bjorn3/opt_stack2reg

Add stack2reg optimization pass

4 years agoAdd documentation about the UB of the stack2reg optimization
bjorn3 [Sat, 4 Jan 2020 10:31:56 +0000 (11:31 +0100)]
Add documentation about the UB of the stack2reg optimization

4 years agoEnable incr comp in release mode
bjorn3 [Fri, 3 Jan 2020 20:30:56 +0000 (21:30 +0100)]
Enable incr comp in release mode

4 years agoDisable stack2reg opt when optimizations are disabled
bjorn3 [Tue, 31 Dec 2019 15:43:24 +0000 (16:43 +0100)]
Disable stack2reg opt when optimizations are disabled

4 years agoRevert some changes
bjorn3 [Tue, 31 Dec 2019 14:59:49 +0000 (15:59 +0100)]
Revert some changes

4 years agoFix some warnings
bjorn3 [Tue, 31 Dec 2019 14:36:29 +0000 (15:36 +0100)]
Fix some warnings

4 years agoDon't print debug messages in release mode
bjorn3 [Tue, 31 Dec 2019 14:26:58 +0000 (15:26 +0100)]
Don't print debug messages in release mode

4 years agoRemove unnecessary check from temporal_order
bjorn3 [Tue, 31 Dec 2019 11:25:23 +0000 (12:25 +0100)]
Remove unnecessary check from temporal_order

4 years agoSupport store to load forwarding for different types of the same size
bjorn3 [Mon, 30 Dec 2019 20:26:49 +0000 (21:26 +0100)]
Support store to load forwarding for different types of the same size

4 years agoFix potential_stores_for_load
bjorn3 [Mon, 30 Dec 2019 20:20:17 +0000 (21:20 +0100)]
Fix potential_stores_for_load

4 years agoReturn use domtree.dominates in temporal_order
bjorn3 [Mon, 30 Dec 2019 19:52:57 +0000 (20:52 +0100)]
Return use domtree.dominates in temporal_order

4 years agoAdd functions to remove loads stores etc
bjorn3 [Mon, 30 Dec 2019 19:25:34 +0000 (20:25 +0100)]
Add functions to remove loads stores etc

4 years agoExtract potential_stores_for_load and potential_loads_of_store functions
bjorn3 [Mon, 30 Dec 2019 19:02:32 +0000 (20:02 +0100)]
Extract potential_stores_for_load and potential_loads_of_store functions

4 years agoLet remove_unused_stack_addr_and_stack_load take OptimizeContext
bjorn3 [Sat, 28 Dec 2019 17:16:43 +0000 (18:16 +0100)]
Let remove_unused_stack_addr_and_stack_load take OptimizeContext

4 years agoAdd OptimizeContext
bjorn3 [Sat, 28 Dec 2019 17:07:51 +0000 (18:07 +0100)]
Add OptimizeContext

4 years agoRemove stack_store without following stack_load
bjorn3 [Sat, 28 Dec 2019 16:51:22 +0000 (17:51 +0100)]
Remove stack_store without following stack_load

4 years agoFix temporal_order argument order for store to load forwarding
bjorn3 [Sat, 28 Dec 2019 15:11:04 +0000 (16:11 +0100)]
Fix temporal_order argument order for store to load forwarding

4 years agoExtract temporal_order function
bjorn3 [Sat, 28 Dec 2019 14:52:42 +0000 (15:52 +0100)]
Extract temporal_order function

4 years agoFix compilation
bjorn3 [Sat, 28 Dec 2019 12:00:28 +0000 (13:00 +0100)]
Fix compilation

4 years agoCheck for cross-ebb temporal overlap between loads and stores
bjorn3 [Sat, 28 Dec 2019 11:41:03 +0000 (12:41 +0100)]
Check for cross-ebb temporal overlap between loads and stores

4 years agoRun dead stack_store removal after stack_store to stack_load forwarding
bjorn3 [Sat, 28 Dec 2019 10:36:00 +0000 (11:36 +0100)]
Run dead stack_store removal after stack_store to stack_load forwarding

4 years ago[WIP] Implement basic stack store to load forwarding
bjorn3 [Fri, 27 Dec 2019 20:13:27 +0000 (21:13 +0100)]
[WIP] Implement basic stack store to load forwarding

4 years agoRefactor stack_store removal
bjorn3 [Fri, 27 Dec 2019 15:50:41 +0000 (16:50 +0100)]
Refactor stack_store removal

4 years agoExtract remove_unused_stack_addr_and_stack_load
bjorn3 [Fri, 27 Dec 2019 15:37:49 +0000 (16:37 +0100)]
Extract remove_unused_stack_addr_and_stack_load

4 years agoGroup by stack slot earlier
bjorn3 [Fri, 27 Dec 2019 15:27:05 +0000 (16:27 +0100)]
Group by stack slot earlier

4 years agoMerge stack_{addr,load}_insts_users
bjorn3 [Fri, 27 Dec 2019 14:55:39 +0000 (15:55 +0100)]
Merge stack_{addr,load}_insts_users

4 years agoUse BTreeSet and BTreeMap instead of SecondaryMap
bjorn3 [Fri, 27 Dec 2019 14:40:44 +0000 (15:40 +0100)]
Use BTreeSet and BTreeMap instead of SecondaryMap

4 years agoRecord users of stack_addr and stack_load return values
bjorn3 [Fri, 27 Dec 2019 14:14:42 +0000 (15:14 +0100)]
Record users of stack_addr and stack_load return values

4 years agoOutline combine_stack_addr_with_load_store and remove unused stack_load insts
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

4 years agoRe-order some code
bjorn3 [Fri, 27 Dec 2019 13:55:11 +0000 (14:55 +0100)]
Re-order some code

4 years ago[WIP] Add stack2reg optimization pass
bjorn3 [Thu, 26 Dec 2019 12:37:10 +0000 (13:37 +0100)]
[WIP] Add stack2reg optimization pass

4 years agoFix some warnings
bjorn3 [Tue, 31 Dec 2019 14:53:18 +0000 (15:53 +0100)]
Fix some warnings

4 years agoRustup to rustc 1.42.0-nightly (a9dd56ff9 2019-12-30)
bjorn3 [Tue, 31 Dec 2019 14:47:58 +0000 (15:47 +0100)]
Rustup to rustc 1.42.0-nightly (a9dd56ff9 2019-12-30)

4 years agoWrite scalars separately for Abi::ScalarPair in write_cvalue
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

4 years agoOnly codegen a trap for functions with uninhabited arguments
bjorn3 [Sat, 28 Dec 2019 10:10:21 +0000 (11:10 +0100)]
Only codegen a trap for functions with uninhabited arguments

Fixes #847

4 years agoRustup to rustc 1.42.0-nightly (74c4e6a98 2019-12-27)
bjorn3 [Sat, 28 Dec 2019 09:57:49 +0000 (10:57 +0100)]
Rustup to rustc 1.42.0-nightly (74c4e6a98 2019-12-27)

4 years agoMerge pull request #842 from bjorn3/real_simd
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

4 years agoMake it possible it use value_field for SIMD values stored ByVal
bjorn3 [Wed, 25 Dec 2019 11:38:18 +0000 (12:38 +0100)]
Make it possible it use value_field for SIMD values stored ByVal

4 years agoRemove unused macro args
bjorn3 [Mon, 23 Dec 2019 16:25:32 +0000 (17:25 +0100)]
Remove unused macro args

4 years agoFix indentation
bjorn3 [Mon, 23 Dec 2019 16:20:24 +0000 (17:20 +0100)]
Fix indentation

4 years agoRemove vector support from load_scalar
bjorn3 [Mon, 23 Dec 2019 16:19:14 +0000 (17:19 +0100)]
Remove vector support from load_scalar

4 years agoUse simd instructions for int and float simd intrinsics
bjorn3 [Mon, 23 Dec 2019 16:11:57 +0000 (17:11 +0100)]
Use simd instructions for int and float simd intrinsics

4 years agoAdd load_vector function
bjorn3 [Mon, 23 Dec 2019 15:48:19 +0000 (16:48 +0100)]
Add load_vector function

4 years agoDon't use stack_{load,store} for vectors
bjorn3 [Mon, 23 Dec 2019 14:56:20 +0000 (15:56 +0100)]
Don't use stack_{load,store} for vectors

4 years agoDon't limit vector size
bjorn3 [Mon, 23 Dec 2019 14:56:03 +0000 (15:56 +0100)]
Don't limit vector size

4 years ago[WIP] Real simd support
bjorn3 [Mon, 18 Nov 2019 20:29:34 +0000 (21:29 +0100)]
[WIP] Real simd support

4 years agoAdd clif ir comment for write_cvalue
bjorn3 [Mon, 23 Dec 2019 15:48:43 +0000 (16:48 +0100)]
Add clif ir comment for write_cvalue

4 years agoFix SSA analysis for value types with PassMode::ByRef
bjorn3 [Mon, 23 Dec 2019 14:48:43 +0000 (15:48 +0100)]
Fix SSA analysis for value types with PassMode::ByRef

4 years agoImprove lane_type_and_count
bjorn3 [Mon, 18 Nov 2019 20:15:43 +0000 (21:15 +0100)]
Improve lane_type_and_count

4 years agoUse mir::SourceInfo again in FunctionCx.source_info_set
bjorn3 [Tue, 24 Dec 2019 11:44:07 +0000 (12:44 +0100)]
Use mir::SourceInfo again in FunctionCx.source_info_set

Fixes #800

4 years agoDirectly depend on cranelift_{codegen,frontend}
bjorn3 [Tue, 24 Dec 2019 11:40:18 +0000 (12:40 +0100)]
Directly depend on cranelift_{codegen,frontend}

Fixes #838

4 years agoRustup to rustc 1.42.0-nightly (9ae6cedb8 2019-12-23)
bjorn3 [Tue, 24 Dec 2019 11:27:11 +0000 (12:27 +0100)]
Rustup to rustc 1.42.0-nightly (9ae6cedb8 2019-12-23)

4 years agoMove simd intrinsics to intrinsics/simd.rs
bjorn3 [Mon, 18 Nov 2019 19:58:33 +0000 (20:58 +0100)]
Move simd intrinsics to intrinsics/simd.rs

4 years agoMake llvm_intrinsics a submodule of intrinsics
bjorn3 [Mon, 18 Nov 2019 19:45:32 +0000 (20:45 +0100)]
Make llvm_intrinsics a submodule of intrinsics

4 years agoMerge pull request #841 from bjorn3/dependabot/cargo/smallvec-1.1.0
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

4 years agoBump 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>
4 years agoRustup to rustc 1.42.0-nightly (9b98af84c 2019-12-22)
bjorn3 [Mon, 23 Dec 2019 12:25:22 +0000 (13:25 +0100)]
Rustup to rustc 1.42.0-nightly (9b98af84c 2019-12-22)

4 years agoImprove local ir comments
bjorn3 [Sun, 22 Dec 2019 14:27:25 +0000 (15:27 +0100)]
Improve local ir comments

4 years agoUpdate Cranelift
bjorn3 [Sun, 22 Dec 2019 13:43:24 +0000 (14:43 +0100)]
Update Cranelift

bytecodealliance/cranelift#1305 has been fixed.

4 years agoRustup to rustc 1.42.0-nightly (fc5deca21 2019-12-21)
bjorn3 [Sun, 22 Dec 2019 13:49:10 +0000 (14:49 +0100)]
Rustup to rustc 1.42.0-nightly (fc5deca21 2019-12-21)

4 years agoRustup to rustc 1.42.0-nightly (01a46509a 2019-12-20)
bjorn3 [Sat, 21 Dec 2019 10:22:12 +0000 (11:22 +0100)]
Rustup to rustc 1.42.0-nightly (01a46509a 2019-12-20)

4 years agoRevert "Update Cranelift"
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

4 years agoRemove CPlaceInner::Stack
bjorn3 [Fri, 20 Dec 2019 21:00:12 +0000 (22:00 +0100)]
Remove CPlaceInner::Stack

4 years agoUpdate log dependency
bjorn3 [Fri, 20 Dec 2019 20:39:21 +0000 (21:39 +0100)]
Update log dependency

4 years agoUpdate Cranelift
bjorn3 [Fri, 20 Dec 2019 20:34:46 +0000 (21:34 +0100)]
Update Cranelift

4 years agoMerge pull request #839 from bjorn3/fold_offset_into_load_store
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

4 years ago[OPT] Emit stack_{load,store} where possible
bjorn3 [Fri, 20 Dec 2019 18:11:06 +0000 (19:11 +0100)]
[OPT] Emit stack_{load,store} where possible

4 years agoRemove to_addr and to_addr_maybe_unsized
bjorn3 [Fri, 20 Dec 2019 18:10:08 +0000 (19:10 +0100)]
Remove to_addr and to_addr_maybe_unsized

4 years agoSet memflags for vtable loads
bjorn3 [Fri, 20 Dec 2019 15:16:28 +0000 (16:16 +0100)]
Set memflags for vtable loads

4 years ago[OPT] Use load and store offsets instead of iadd_imm
bjorn3 [Fri, 20 Dec 2019 15:02:47 +0000 (16:02 +0100)]
[OPT] Use load and store offsets instead of iadd_imm

4 years agoFix init and uninit intrinsics for u/i128
bjorn3 [Fri, 20 Dec 2019 11:24:48 +0000 (12:24 +0100)]
Fix init and uninit intrinsics for u/i128

4 years ago[OPT] Don't force return value of call to stack
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'

4 years agoFix codegen of ctlz and cttz intrinsics
bjorn3 [Fri, 20 Dec 2019 11:01:55 +0000 (12:01 +0100)]
Fix codegen of ctlz and cttz intrinsics

4 years agoMonomorphize type of promoted
bjorn3 [Wed, 18 Dec 2019 19:41:07 +0000 (20:41 +0100)]
Monomorphize type of promoted

4 years agoFix some warnings
bjorn3 [Wed, 18 Dec 2019 19:26:41 +0000 (20:26 +0100)]
Fix some warnings

4 years agoFix debug build
bjorn3 [Wed, 18 Dec 2019 19:25:05 +0000 (20:25 +0100)]
Fix debug build

4 years ago[OPT] Use RETURN_PLACE instead of fn_sig.output() to get return layout
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