• Junliang Yan's avatar
    PPC/s390: [turbofan] Initial Word64 support in representation selection. · 89304433
    Junliang Yan authored
    Port 6346cdb6
    
    Original Commit Message:
    
        This adds support to TurboFan's representation selection for the Word64
        representation, and makes use of that to handle indices for memory access
        and allocation instructions (i.e. LoadElement, StoreElement, Allocate,
        etc.). These instructions had previously used Word32 as representation
        for the indices / sizes, and then internally converted it to the correct
        representation (aka Word64 on 64-bit architectures) later on, but that
        was kind of brittle, and sometimes led to weird generated code.
    
        The change thus only adds support to convert integer values in the safe
        integer range from all kinds of representations to Word64 (on 64-bit
        architectures). We don't yet handle the opposite direction and none of
        the representation selection heuristics for the numeric operations were
        changed so far. This will be done in follow-up CLs.
    
        This CL itself is supposed to be neutral wrt. functionality, and only
        serves as a starting point, and a cleanup for the (weird) implicit
        Word64 index/size handling.
    
    R=bmeurer@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com
    BUG=
    LOG=N
    
    Change-Id: Ic7ea30639dea3c5f8a59e7100a15d5ed50073c20
    Reviewed-on: https://chromium-review.googlesource.com/1228416Reviewed-by: 's avatarJoran Siu <joransiu@ca.ibm.com>
    Commit-Queue: Junliang Yan <jyan@ca.ibm.com>
    Cr-Commit-Position: refs/heads/master@{#55970}
    89304433
Name
Last commit
Last update
benchmarks Loading commit data...
build_overrides Loading commit data...
custom_deps 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...
.clang-tidy Loading commit data...
.editorconfig Loading commit data...
.git-blame-ignore-revs Loading commit data...
.gitattributes 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...