mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-12-02 18:08:58 +00:00
3b46c1ff10
Previously, when resolving Phi's type, we would insert the coercion instruction at the end of the block in which the instruction is. This causes 3 problems: - With RemoveDeadResumePointOperands, which looks at the live time of instructions based on where they are consumed, which is fooled by not following the coerced type. - By increasing the register pressure by keeping multiple value alive while only one is needed. - By potentially adding fallible instruction before it could be guarded by precoditions, thus potentially be the source of repeated bailouts. This patch changes `TypeAnalyzer::adjustPhiInputs` to insert instructions at the end of the matching block preceeding the Phi instruction. Doing so should avoid all 3 issues previously seen. Differential Revision: https://phabricator.services.mozilla.com/D200281 |
||
---|---|---|
.. | ||
examples | ||
loader | ||
public | ||
src | ||
xpconnect | ||
app.mozbuild | ||
ffi.configure | ||
moz.build | ||
moz.configure | ||
sub.configure |