bjorn3
|
87d6953719
|
Add documentation about the UB of the stack2reg optimization
|
2020-01-04 11:31:56 +01:00 |
|
bjorn3
|
e9a8d8bf67
|
Enable incr comp in release mode
|
2020-01-03 21:30:56 +01:00 |
|
bjorn3
|
196008bee3
|
Disable stack2reg opt when optimizations are disabled
|
2019-12-31 16:43:24 +01:00 |
|
bjorn3
|
4c7abd504c
|
Revert some changes
|
2019-12-31 15:59:49 +01:00 |
|
bjorn3
|
dbb118a5bc
|
Fix some warnings
|
2019-12-31 15:56:33 +01:00 |
|
bjorn3
|
0cb2b60559
|
Don't print debug messages in release mode
|
2019-12-31 15:56:28 +01:00 |
|
bjorn3
|
b47c89de0e
|
Remove unnecessary check from temporal_order
|
2019-12-31 15:56:28 +01:00 |
|
bjorn3
|
790132523f
|
Support store to load forwarding for different types of the same size
|
2019-12-31 15:56:28 +01:00 |
|
bjorn3
|
fd5efa0921
|
Fix potential_stores_for_load
|
2019-12-31 15:56:28 +01:00 |
|
bjorn3
|
d6c2db2aea
|
Return use domtree.dominates in temporal_order
|
2019-12-31 15:56:28 +01:00 |
|
bjorn3
|
7c4debdb7c
|
Add functions to remove loads stores etc
|
2019-12-31 15:56:28 +01:00 |
|
bjorn3
|
79148a3c1e
|
Extract potential_stores_for_load and potential_loads_of_store functions
|
2019-12-31 15:56:28 +01:00 |
|
bjorn3
|
af5a2a8509
|
Let remove_unused_stack_addr_and_stack_load take OptimizeContext
|
2019-12-31 15:56:28 +01:00 |
|
bjorn3
|
0f3eab589e
|
Add OptimizeContext
|
2019-12-31 15:56:28 +01:00 |
|
bjorn3
|
df7f68236c
|
Remove stack_store without following stack_load
|
2019-12-31 15:56:28 +01:00 |
|
bjorn3
|
6320c65484
|
Fix temporal_order argument order for store to load forwarding
|
2019-12-31 15:56:28 +01:00 |
|
bjorn3
|
7579663199
|
Extract temporal_order function
|
2019-12-31 15:56:28 +01:00 |
|
bjorn3
|
9022e09a3e
|
Fix compilation
|
2019-12-31 15:56:28 +01:00 |
|
bjorn3
|
b0814a3fd8
|
Check for cross-ebb temporal overlap between loads and stores
|
2019-12-31 15:56:28 +01:00 |
|
bjorn3
|
c5f42aef1d
|
Run dead stack_store removal after stack_store to stack_load forwarding
|
2019-12-31 15:56:28 +01:00 |
|
bjorn3
|
7d35db5319
|
[WIP] Implement basic stack store to load forwarding
|
2019-12-31 15:56:28 +01:00 |
|
bjorn3
|
be6cdb28d0
|
Refactor stack_store removal
|
2019-12-31 15:56:28 +01:00 |
|
bjorn3
|
943b81bb40
|
Extract remove_unused_stack_addr_and_stack_load
|
2019-12-31 15:56:28 +01:00 |
|
bjorn3
|
a8daa7115e
|
Group by stack slot earlier
|
2019-12-31 15:56:28 +01:00 |
|
bjorn3
|
9d77cb95e1
|
Merge stack_{addr,load}_insts_users
|
2019-12-31 15:56:28 +01:00 |
|
bjorn3
|
5047856f00
|
Use BTreeSet and BTreeMap instead of SecondaryMap
|
2019-12-31 15:56:28 +01:00 |
|
bjorn3
|
c84b1fee09
|
Record users of stack_addr and stack_load return values
|
2019-12-31 15:56:28 +01:00 |
|
bjorn3
|
73961709d6
|
Outline combine_stack_addr_with_load_store and remove unused stack_load insts
|
2019-12-31 15:56:28 +01:00 |
|
bjorn3
|
b6642e5cd8
|
Re-order some code
|
2019-12-31 15:56:28 +01:00 |
|
bjorn3
|
8b82f4f989
|
[WIP] Add stack2reg optimization pass
|
2019-12-31 15:56:28 +01:00 |
|
bjorn3
|
7564a043d0
|
Fix some warnings
|
2019-12-31 15:53:18 +01:00 |
|
bjorn3
|
7e6d533af2
|
Rustup to rustc 1.42.0-nightly (a9dd56ff9 2019-12-30)
|
2019-12-31 15:47:58 +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
|
958c58545f
|
Only codegen a trap for functions with uninhabited arguments
Fixes #847
|
2019-12-28 11:10:21 +01:00 |
|
bjorn3
|
8bf5cd345e
|
Rustup to rustc 1.42.0-nightly (74c4e6a98 2019-12-27)
|
2019-12-28 10:57:49 +01:00 |
|
bjorn3
|
7b4fc34d8b
|
Merge pull request #842 from bjorn3/real_simd
Codegen simd intrinsics as simd clif instructions
|
2019-12-25 19:49:07 +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
|
0ebc14cc40
|
Remove unused macro args
|
2019-12-25 14:38:51 +01:00 |
|
bjorn3
|
9eb9436481
|
Fix indentation
|
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
|
5e984a32d9
|
Use simd instructions for int and float simd intrinsics
|
2019-12-25 14:38:51 +01:00 |
|
bjorn3
|
f8e846dee0
|
Add load_vector function
|
2019-12-25 14:38:37 +01:00 |
|
bjorn3
|
dadfbeab6c
|
Don't use stack_{load,store} for vectors
|
2019-12-25 14:38:37 +01:00 |
|
bjorn3
|
78cdcd62be
|
Don't limit vector size
|
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
|
2920cc48e6
|
Fix SSA analysis for value types with PassMode::ByRef
|
2019-12-25 14:35:16 +01:00 |
|
bjorn3
|
ca93bcba5d
|
Improve lane_type_and_count
|
2019-12-25 14:34:59 +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 |
|