Ryan Houdek
7e2ddc6fb6
Adds a new UI application for setting config options
2020-12-08 07:24:52 -08:00
Stefanos Kornilios Mitsis Poiitidis
3ebc080bd4
Merge pull request #566 from Sonicadvance1/overlay_config
...
Switches over to having a correctly layered configuration system
2020-12-08 11:14:16 +02:00
Ryan Houdek
f14cd54791
Switches over to having a correctly layered configuration system
...
Instead of having the configuration being loaded and stored in to a
frontend system. First moves the backing store of the configuration in
to FEXCore.
Each layer that is constructed then loads its particular configuration.
After the layers are loaded, then a meta layer is constructed that
merges the layers flat.
This means we will no longer hit the problem where a configuration is
stored in the "main" configuration file, then environment and arguments
passed manage to overwrite it.
The order of the layers going from inner most layer to outer most, with
outermost overwriting previous layer configurations is as follows:
Main < Global application < Local application < Arguments < Environment
One step that needs to be changed in the future is that FEXCore can then
just load its configuration from the layers directly since the data is
in FEXCore now. This will be reserved for a future change so we are less
disruptive.
2020-12-07 11:15:48 -08:00
Ryan Houdek
48e675e9de
Removes the lockstep runner
...
This has long been broken and will block configuration changes
2020-12-05 21:17:52 -08:00
Ryan Houdek
1b1edda72d
Adds an environment variable for installation directly
...
This will allow us to look for a global application profile in our
install location.
Once we have things to install there.
2020-12-05 21:17:52 -08:00
Stefanos Kornilios Mitsis Poiitidis
7ddf520480
Merge pull request #563 from Sonicadvance1/more_32bit_fixes2
...
More 32bit syscall fixes
2020-12-04 22:21:46 +02:00
Ryan Houdek
f091878100
More 32bit syscall fixes
...
fstatfs64 and statfs64 was wrong, the syscall doesn't quite match the
glibc definition
Fixes recvmsg. Specifically the aux data was failing, thus SCM_RIGHTS
wasn't getting passed correctly.
Fixes a couple of time syscalls where their arguments are optional.
2020-12-04 09:30:33 -08:00
Stefanos Kornilios Mitsis Poiitidis
7f11d6ba44
Merge pull request #562 from Sonicadvance1/last_small_mul
...
Removes the last usage of 8bit and 16bit multiply
2020-12-04 19:17:50 +02:00
Ryan Houdek
30dc9128ca
Removes the last usage of 8bit and 16bit multiply
...
This was causing issues in 32bit xeyes.
A couple of the multiply ops were still using 8bit and 16bit multiply
while the other one was already sexting or zexting the source.
2020-12-04 08:59:52 -08:00
Ryan Houdek
3baab043b8
Merge pull request #549 from FEX-Emu/skmp/fcmp-bypass
...
FCMP: Add frontend bypass, backend float support in OP_CONDJUMP & OP_SELECT
2020-12-04 07:52:43 -08:00
Stefanos Kornilios Mitsis Poiitidis
b2b0d9318a
arm64: Fix OP_SELECT & OP_CONDJUMP gpr/fpr detection
2020-12-04 16:04:27 +02:00
Stefanos Kornilios Mitsis Poiitidis
1363be8239
x64: Add support for floats in OP_SELECT & OP_CONDJUMP
2020-12-04 15:30:55 +02:00
Stefanos Kornilios Mitsis Poiitidis
b32ed1db8c
x64: Refactor CC logic, add float compares
2020-12-04 15:30:55 +02:00
Stefanos Kornilios Mitsis Poiitidis
b044413952
OpDisp, IR, Backends: Add Float compares to Select, CondJump, COND_F*
2020-12-04 15:30:55 +02:00
Stefanos Kornilios Mitsis Poiitidis
e024667c7e
Merge pull request #548 from FEX-Emu/skmp/faster-fcmp-op
...
IR: Change FCMP to return x86-style flags
2020-12-04 09:08:40 +02:00
Stefanos Kornilios Mitsis Poiitidis
cfdf6ebf6b
IR: Change FCMP to return x86-style flags
2020-12-04 08:55:19 +02:00
Stefanos Kornilios Mitsis Poiitidis
3bc13581a8
Merge pull request #557 from FEX-Emu/skmp/memops-imm-pooling
...
ConstProp: LoadMem/StoreMem imm pooling
2020-12-04 08:54:13 +02:00
Stefanos Kornilios Mitsis Poiitidis
9b6f0df657
Merge pull request #545 from FEX-Emu/skmp/add-dfprse
...
IR: Add a rather ineffective DeadFPRStoreElim Pass
2020-12-04 08:52:47 +02:00
Stefanos Kornilios Mitsis Poiitidis
8e62a6891b
Merge pull request #544 from FEX-Emu/skmp/lse-remove-partial-writes
...
LSE: Also optimize away partial writes
2020-12-04 08:52:21 +02:00
Stefanos Kornilios Mitsis Poiitidis
b9f1bfe362
Merge pull request #540 from Sonicadvance1/32bit_fixes_rebase
...
A wackload of new 32bit syscall support
2020-12-04 08:51:47 +02:00
Stefanos Kornilios Mitsis Poiitidis
003991e495
Merge pull request #503 from Sonicadvance1/remove_duplicate_compaction
...
Remove duplicated compaction pass
2020-12-04 08:44:21 +02:00
Stefanos Kornilios Mitsis Poiitidis
c29f890d7a
IR: Add a rather ineffective DeadFPRStoreElim Pass
2020-12-04 08:08:23 +02:00
Stefanos Kornilios Mitsis Poiitidis
2f12fd6ee4
ConstProp: LoadMem/StoreMem imm pooling
...
If imms used in memops are close enough, generate them with address gen instead
of allocating a new const
2020-12-04 08:04:44 +02:00
Stefanos Kornilios Mitsis Poiitidis
d622e7b557
LSE: Also optimize away partial writes
2020-12-04 07:53:33 +02:00
Ryan Houdek
c116a20e13
Merge pull request #542 from FEX-Emu/skmp/frontend-improve-reps
...
OpDisp: Read DF outside REP loops as it won't change
2020-12-03 20:23:40 -08:00
Ryan Houdek
bce3d3be8d
Merge pull request #556 from FEX-Emu/skmp/fcmp-optimization
...
ConstProp: FCMP Optimization
2020-12-03 20:21:35 -08:00
Ryan Houdek
a0149dff07
Merge pull request #554 from FEX-Emu/skmp/cmt-around-select
...
CMT: Move unary ops before selects
2020-12-03 20:20:45 -08:00
Ryan Houdek
439d49b802
Merge pull request #550 from FEX-Emu/skmp/improve-dead-flags
...
DFSE: Fix dead clag calculation, Extend InvalidateFlags
2020-12-03 20:18:43 -08:00
Ryan Houdek
c7c2e56ae5
Merge pull request #552 from FEX-Emu/skmp/perblock-debug-data
...
JITSYMS: Per-block symbol information
2020-12-03 20:13:34 -08:00
Ryan Houdek
91ee753cae
Merge pull request #553 from FEX-Emu/skmp/mul-to-lshl
...
ConstProp: Mul x,#powof2 -> Lshl x,ctz(#powof2)
2020-12-03 20:10:13 -08:00
Ryan Houdek
4187123b49
Merge pull request #551 from FEX-Emu/skmp/arm64-backend-opts
...
arm64: Backend Opts
2020-12-03 20:08:53 -08:00
Ryan Houdek
eb57f5f489
Merge pull request #547 from FEX-Emu/skmp/optimize-flag-access
...
IR: Move BFEs to SetFlag, remove from OP_STOREFLAG
2020-12-03 20:07:53 -08:00
Ryan Houdek
12237abf67
Merge pull request #543 from FEX-Emu/skmp/frontend-improve-ss-sd
...
frontend: Improve IR for some *SS/*SD opcodes
2020-12-03 20:06:47 -08:00
Ryan Houdek
310252b97d
A wackload of new 32bit syscall support
...
This implements a bunch of new 32bit syscalls which almost gets FEX to
be able to run Steam.
The main missing syscalls are mremap, shmat, and ioctl for supporting
Steam execution.
2020-12-03 20:03:15 -08:00
Ryan Houdek
17402aa02d
Remove duplicated compaction pass
...
RA Pass and passmanager compaction pass don't need to be independent.
This saves some memory.
In the future we should allow passes to fetch passes by name, that will
be part of the PassManager improvement in the future
2020-12-03 19:58:47 -08:00
Ryan Houdek
273edbb6e5
Merge pull request #559 from FEX-Emu/skmp/fix-pop-tests
...
Pop_Segments: pop cs is not a valid opcode
2020-12-03 15:23:38 -08:00
Stefanos Kornilios Mitsis Poiitidis
f6ef1fc8b5
Pop_Segments: pop cs is not a valid opcode
2020-12-04 01:17:39 +02:00
Ryan Houdek
d3201ff498
Merge pull request #546 from FEX-Emu/skmp/sfbe-sext-switcheroo
...
IR: Replace Sext with Sbfe
2020-12-03 15:03:19 -08:00
Ryan Houdek
64ec74f1f5
Merge pull request #558 from FEX-Emu/skmp/fix-ra-global-values
...
RA: Fix global value range expansion
2020-12-03 14:40:30 -08:00
Stefanos Kornilios Mitsis Poiitidis
62a5bc457d
OpDisp: Read DF outside REP loops as it won't change
2020-12-03 20:19:00 +02:00
Stefanos Kornilios Mitsis Poiitidis
0024b7bd46
RA: Fix global value range expansion
2020-12-03 20:19:00 +02:00
Stefanos Kornilios Mitsis Poiitidis
b2d862a8c7
IR: Replace Sext with Sbfe
2020-12-03 20:08:08 +02:00
Stefanos Kornilios Mitsis Poiitidis
2e314400bc
ConstProp: FCMP Optimization
...
Removes unused flags from OP_FCMPs
2020-12-03 19:34:57 +02:00
Stefanos Kornilios Mitsis Poiitidis
c802b82450
CMT: Move unary ops before selects, if both True & False values are consts
2020-12-03 19:11:25 +02:00
Stefanos Kornilios Mitsis Poiitidis
46fb0503f0
ConstProp: Mul x,#powof2 -> Lshl x,clz(#powof2)
2020-12-03 19:06:14 +02:00
Stefanos Kornilios Mitsis Poiitidis
bc5b235b7c
CompileService: Fix DebugData
2020-12-03 18:58:58 +02:00
Stefanos Kornilios Mitsis Poiitidis
28bff432e5
DebugData: Add Subblock list, populate it from arm64 backend
2020-12-03 18:43:38 +02:00
Stefanos Kornilios Mitsis Poiitidis
12fcd5c2c7
arm64: Avoid needless movs in OP_VMOV
2020-12-03 18:41:51 +02:00
Stefanos Kornilios Mitsis Poiitidis
27e2c4fbfd
arm64: Optimize VIns* to only use temp reg if it must
2020-12-03 18:41:44 +02:00
Stefanos Kornilios Mitsis Poiitidis
d7316fe2d0
OpDisp, IR: Extend InvalidateFlags to invalidate a bitfield, invalidate PF when not emulated
2020-12-03 18:38:16 +02:00