bjorn3
|
ca92695a2c
|
Use IndexVec for ebb_map
cc #745
|
2020-01-04 13:23:42 +01:00 |
|
bjorn3
|
ff1c62365e
|
Remove faerie machO alignment workaround
Fixes #738
|
2020-01-04 13:12:13 +01:00 |
|
bjorn3
|
c9034e54e5
|
Add two FIXME's
|
2020-01-04 12:40:56 +01:00 |
|
bjorn3
|
82213a3b7f
|
Merge pull request #853 from bjorn3/opt_stack2reg
Add stack2reg optimization pass
|
2020-01-04 12:40:10 +01:00 |
|
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 |
|