Scott Mansell
|
9c81fbb2fd
|
Merge pull request #736 from Sonicadvance1/remove_warnings_6
Removes warning from IRDumper
|
2021-02-01 16:42:52 +13:00 |
|
Scott Mansell
|
a156210064
|
Merge pull request #738 from Sonicadvance1/remove_warnings_9
Removes warnings from Register Allocation Pass
|
2021-02-01 16:32:05 +13:00 |
|
Ryan Houdek
|
0c3ddd3016
|
Removes warnings from Register Allocation Pass
|
2021-01-31 08:00:28 -08:00 |
|
Ryan Houdek
|
a90e2268f9
|
Removes warning from DeadStoreElimination
|
2021-01-31 07:59:26 -08:00 |
|
Ryan Houdek
|
175078b739
|
Removes warning from IRDumper
|
2021-01-31 07:58:58 -08:00 |
|
Stefanos Kornilios Mitsis Poiitidis
|
972219043d
|
Core: Refactor compilation driver, lifetime of objects
|
2021-01-29 10:42:55 +02:00 |
|
Stefanos Kornilios Mitsis Poiitidis
|
0e00d3dc15
|
RA: Optimize RAData
|
2021-01-29 10:42:48 +02:00 |
|
Stefanos Kornilios Mitsis Poiitidis
|
a45c2c34e9
|
RA: Use RAData directly
|
2021-01-29 10:42:40 +02:00 |
|
Stefanos Kornilios Mitsis Poiitidis
|
513112919b
|
RA: Move allocation data to RAData
|
2021-01-29 10:42:40 +02:00 |
|
Ryan Houdek
|
d4ffea5c31
|
Merge pull request #670 from FEX-Emu/skmp/faster-ra
IR: Optimize runtime of optimization passes
|
2021-01-22 04:54:08 -08:00 |
|
Stefanos Kornilios Mitsis Poiitidis
|
0546da7a75
|
Address review feedback
|
2021-01-22 11:01:36 +02:00 |
|
Stefanos Kornilios Mitsis Poiitidis
|
8b025d4c26
|
IRLoader: Actually set EntryRIP if the IR was parsed
|
2021-01-21 22:19:16 +02:00 |
|
Stefanos Kornilios Mitsis Poiitidis
|
13613c6de1
|
IR: Change ValidateCode to use two uint64_t instead of __uint128_t
|
2021-01-21 21:37:58 +02:00 |
|
Stefanos Kornilios Mitsis Poiitidis
|
1177c375ff
|
IR: Further parser cleanups, add fence types
|
2021-01-21 21:17:27 +02:00 |
|
Stefanos Kornilios Mitsis Poiitidis
|
072067b5fd
|
IR: Split parser from IRLoader, add IR::Parse()
|
2021-01-21 19:17:51 +02:00 |
|
Stefanos Kornilios Mitsis Poiitidis
|
00ca576644
|
IRCompaction: Only memset in debug
|
2021-01-21 13:06:43 +02:00 |
|
Stefanos Kornilios Mitsis Poiitidis
|
036771d825
|
IR: Fix Printing and Parsing for float conds
|
2021-01-21 10:16:08 +02:00 |
|
Stefanos Kornilios Mitsis Poiitidis
|
0e7db64ac7
|
RA: Run compation after spilling, not before
|
2021-01-21 01:01:02 +02:00 |
|
Stefanos Kornilios Mitsis Poiitidis
|
ac1036ac92
|
IR: Sync Invalid class with RA
|
2021-01-20 04:26:06 +02:00 |
|
Stefanos Kornilios Mitsis Poiitidis
|
9c462eb400
|
ConsProp: Revert to ordered set for identical codegen
|
2021-01-20 04:26:06 +02:00 |
|
Stefanos Kornilios Mitsis Poiitidis
|
8aef9cb6a7
|
RA: Exit after first spill per iteration is found
|
2021-01-20 04:26:06 +02:00 |
|
Stefanos Kornilios Mitsis Poiitidis
|
d3fc85e18d
|
RA: Make spans at least 1 offset long
|
2021-01-20 04:26:06 +02:00 |
|
Stefanos Kornilios Mitsis Poiitidis
|
9f3ce47917
|
RA: Expire ending intervals before starting new ones
|
2021-01-20 04:26:06 +02:00 |
|
Stefanos Kornilios Mitsis Poiitidis
|
e7e6b6654f
|
RA: Cleanups
|
2021-01-20 04:26:06 +02:00 |
|
Stefanos Kornilios Mitsis Poiitidis
|
c3682f9a3b
|
RA: Fix several bugs, get rid of virtual registers, remove unused complexity
|
2021-01-20 04:26:06 +02:00 |
|
Stefanos Kornilios Mitsis Poiitidis
|
47ee9af96c
|
ConstProp: Keep pools in heap
|
2021-01-20 04:26:06 +02:00 |
|
Stefanos Kornilios Mitsis Poiitidis
|
10b6fb02c4
|
RA: Rename CalculatePrecessors to CalculatePredecessors
|
2021-01-20 04:26:06 +02:00 |
|
Stefanos Kornilios Mitsis Poiitidis
|
9c760ff83b
|
RA: Get OP_JUMP/CONDJUMP without loop in CalculatePrecessors
|
2021-01-20 04:26:06 +02:00 |
|
Stefanos Kornilios Mitsis Poiitidis
|
f3e19ef015
|
DSE: No need to loop to find branching op
|
2021-01-20 04:26:06 +02:00 |
|
Stefanos Kornilios Mitsis Poiitidis
|
6bdf785223
|
DSE: Optimize map lookups
|
2021-01-20 04:26:06 +02:00 |
|
Stefanos Kornilios Mitsis Poiitidis
|
997650bafc
|
DSE: Merge logic more for perf
|
2021-01-20 04:26:06 +02:00 |
|
Stefanos Kornilios Mitsis Poiitidis
|
56ca73191d
|
DSE: Merge Flag/GPR/FPR passes for perf
|
2021-01-20 04:26:06 +02:00 |
|
Stefanos Kornilios Mitsis Poiitidis
|
900fc6d2a7
|
ConstProp: Switch maps to unordred_maps
|
2021-01-20 04:26:06 +02:00 |
|
Stefanos Kornilios Mitsis Poiitidis
|
af94e24ba3
|
RA: Simplify and optimize data structures
|
2021-01-20 04:26:06 +02:00 |
|
Stefanos Kornilios Mitsis Poiitidis
|
6380ab6bfd
|
RA: Optimize register conflict handling
|
2021-01-20 04:26:06 +02:00 |
|
Stefanos Kornilios Mitsis Poiitidis
|
91ddc1dd38
|
RCLSE: Optimize FindMemberInfo to be O(1)
|
2021-01-20 04:26:06 +02:00 |
|
Stefanos Kornilios Mitsis Poiitidis
|
77d072e35c
|
RA: Switch active set to also use BucketList
|
2021-01-20 04:26:06 +02:00 |
|
Stefanos Kornilios Mitsis Poiitidis
|
e847f94b69
|
RA: rework ConstrainedRAPass::CalculateNodeInterference
|
2021-01-20 04:26:06 +02:00 |
|
Stefanos Kornilios Mitsis Poiitidis
|
c42c57af35
|
IR: Pretty print %Invalid, don't print invalid regs
|
2021-01-20 04:06:37 +02:00 |
|
Stefanos Kornilios Mitsis Poiitidis
|
567e315854
|
Frontend, OpDisp: Don't assert on invalid instructions
|
2021-01-18 17:19:11 +02:00 |
|
Ryan Houdek
|
108992de80
|
Merge pull request #653 from Sonicadvance1/add_O0
Adds an option to disable optimization passes
|
2021-01-18 00:10:48 -08:00 |
|
Ryan Houdek
|
544a1f307f
|
Adds an option to disable optimization passes
Instead of forcing someone to test by modifying code, allow a -O0 option
to be passed in.
Also added to FEXConfig GUI for easily touching.
Fixes #652
|
2021-01-17 23:51:22 -08:00 |
|
Ryan Houdek
|
e7315d9a97
|
Merge pull request #339 from FEX-Emu/skmp/ir-constant-pooling
ConstProp: Allocate constants once per block
|
2021-01-17 23:49:31 -08:00 |
|
Stefanos Kornilios Mitsis Poiitidis
|
b322dcb3f6
|
RA: Spill any node that we can as a last resort
|
2021-01-16 17:15:35 +02:00 |
|
Stefanos Kornilios Mitsis Poiitidis
|
279a4f3c33
|
ConstProp: Allocate constants once per block
|
2021-01-16 17:11:46 +02:00 |
|
Stefanos Kornilios Mitsis Poiitidis
|
2e038c788b
|
IREmitter: Fix CreateNewCodeBlockAfter to append at the end when asked so, don't order block storage
|
2021-01-15 22:22:50 +02:00 |
|
Stefanos Kornilios Mitsis Poiitidis
|
41d0f84710
|
OpDisp: Improve block ordering interface, optimize branching order and conds
|
2021-01-15 21:05:29 +02:00 |
|
Stefanos Kornilios Mitsis Poiitidis
|
5fdbb8a9b2
|
OpDisp: Improve block ordering for multi-block ops
|
2021-01-15 21:05:29 +02:00 |
|
Ryan Houdek
|
96b2c6ca8b
|
Merge pull request #637 from FEX-Emu/skmp/unsyncronized-rip
Dispatch: ExitFunction InlineConstant & unsynchronized rip
|
2021-01-13 10:58:58 -08:00 |
|
Stefanos Kornilios Mitsis Poiitidis
|
8758348dfd
|
Dispatch: Support constant Rips, don't syncronize on context on ddisp
|
2021-01-13 17:26:40 +02:00 |
|