• Daniel Clifford's avatar
    Ensure CSA-generated code can handle one-input phis · a5f1d5d4
    Daniel Clifford authored
    In general, TurboFan doesn't encounter phi nodes with only a single
    data input in the backend. However, CSA-based builtins (especially
    auto-generated ones, e.g. from Torque), may contain single-input phi nodes,
    although outside the auto-generated case this doesn't happen much in practice.
    
    Single input phi nodes (i.e. phis in blocks with one predecessor) don't have
    any side effects and are essentially useless and harmless, but to avoid problems
    in the backend of TurboFan (whose SSA deconstruction disallows control flow
    splits that continue to blocks with phis), this CL tweaks the existing
    CSA-only control flow and graph sanitization in the CSA path to ensure
    no no-op phis.
    
    Change-Id: I109f4dc6cde5ad1794585a09609a230b1848e0d5
    Reviewed-on: https://chromium-review.googlesource.com/963711Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
    Commit-Queue: Daniel Clifford <danno@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#52056}
    a5f1d5d4
Name
Last commit
Last update
benchmarks Loading commit data...
build_overrides Loading commit data...
docs Loading commit data...
gni Loading commit data...
include Loading commit data...
infra Loading commit data...
samples Loading commit data...
src Loading commit data...
test Loading commit data...
testing Loading commit data...
third_party Loading commit data...
tools Loading commit data...
.clang-format Loading commit data...
.editorconfig Loading commit data...
.git-blame-ignore-revs Loading commit data...
.gitignore Loading commit data...
.gn Loading commit data...
.vpython Loading commit data...
.ycm_extra_conf.py Loading commit data...
AUTHORS Loading commit data...
BUILD.gn Loading commit data...
CODE_OF_CONDUCT.md Loading commit data...
ChangeLog Loading commit data...
DEPS Loading commit data...
LICENSE Loading commit data...
LICENSE.fdlibm Loading commit data...
LICENSE.strongtalk Loading commit data...
LICENSE.v8 Loading commit data...
LICENSE.valgrind Loading commit data...
OWNERS Loading commit data...
PRESUBMIT.py Loading commit data...
README.md Loading commit data...
WATCHLISTS Loading commit data...
codereview.settings Loading commit data...
snapshot_toolchain.gni Loading commit data...