1
0
Fork 0
mirror of https://github.com/Ryujinx/Ryujinx.git synced 2024-11-14 11:16:39 +00:00
Ryujinx/ARMeilleure/Translation
FICTURE7 f2a7b300c4
Fix type mismatch in BitwiseAnd simplification (#2571)
* Fix type mismatch in `BitwiseAnd` simplification

`TryEliminateBitwiseAnd` would turn the `BitwiseAnd` operation into a
copy of the wrong type. E.g:

Before `Simplification`:
```llvm
i64 %0 = BitwiseAnd i64 0x0, %1
```

After `Simplication`:
```llvm
i64 %0 = Copy i32 0x0
```

Since the with the changes in #2515, we iterate in reverse order and
`Simplication`, `ConstantFolding` does not indicate if it modified
the CFG, the second pass to "retype" the copy into the proper
destination type does not happen.

This also blocked copy propagation since its destination type did not
match with its source type. But in the cases I've seen, the
`PreAllocator` would insert a copy for the propagated constant, which
results in no diffs.

Since the copy remained as is, asserts are fired when generating it.

* Set PPTC version
2021-08-20 14:42:00 -03:00
..
Cache Add multi-level function table (#2228) 2021-05-29 18:06:28 -03:00
PTC Fix type mismatch in BitwiseAnd simplification (#2571) 2021-08-20 14:42:00 -03:00
ArmEmitterContext.cs Reduce JIT GC allocations (#2515) 2021-08-17 15:08:34 -03:00
Compiler.cs Reduce JIT GC allocations (#2515) 2021-08-17 15:08:34 -03:00
CompilerContext.cs
CompilerOptions.cs
ControlFlowGraph.cs Reduce JIT GC allocations (#2515) 2021-08-17 15:08:34 -03:00
DelegateHelper.cs Add Profiled Persistent Translation Cache. (#769) 2020-06-16 20:28:02 +02:00
DelegateInfo.cs PPTC Follow-up. (#1712) 2020-12-17 20:32:09 +01:00
Delegates.cs Add multi-level function table (#2228) 2021-05-29 18:06:28 -03:00
DispatcherFunction.cs Add multi-level function table (#2228) 2021-05-29 18:06:28 -03:00
Dominance.cs Replace LinkedList by IntrusiveList to avoid allocations on JIT (#931) 2020-02-17 22:30:54 +01:00
EmitterContext.cs Reduce JIT GC allocations (#2515) 2021-08-17 15:08:34 -03:00
GuestFunction.cs
RegisterToLocal.cs Reduce JIT GC allocations (#2515) 2021-08-17 15:08:34 -03:00
RegisterUsage.cs Reduce JIT GC allocations (#2515) 2021-08-17 15:08:34 -03:00
RejitRequest.cs Add Profiled Persistent Translation Cache. (#769) 2020-06-16 20:28:02 +02:00
SsaConstruction.cs Reduce JIT GC allocations (#2515) 2021-08-17 15:08:34 -03:00
SsaDeconstruction.cs Reduce JIT GC allocations (#2515) 2021-08-17 15:08:34 -03:00
TranslatedFunction.cs Add inlined on translation call counting (#2190) 2021-04-18 23:43:53 +02:00
Translator.cs Reduce JIT GC allocations (#2515) 2021-08-17 15:08:34 -03:00
TranslatorStubs.cs Reduce JIT GC allocations (#2515) 2021-08-17 15:08:34 -03:00