[turbofan] Remove int32 narrowing during typed lowering.
authorJaroslav Sevcik <jarin@chromium.org>
Mon, 17 Nov 2014 09:04:30 +0000 (10:04 +0100)
committerJaroslav Sevcik <jarin@chromium.org>
Mon, 17 Nov 2014 09:04:52 +0000 (09:04 +0000)
commitc3af691e72b7b9003c89caa7c43490ce3d3e6c65
tree5f9ff9ede48ac1256b468548268d29bdac776194
parent6714365a30b0f6a8cfd8713b301c59f80f46e315
[turbofan] Remove int32 narrowing during typed lowering.

With Int32Add we lose the int/uint distinction, so later, in simplified lowering we can make a wrong decision. E.g., see the attached test case, where we lower NumberAdd -> Int32Add because inputs are Uint32, but during simplified lowering we change the inputs to Int32, so we get a wrong result.

Simplified lowering will lower the NumberAdd operations anyway, so we should lose performance.

BUG=
R=bmeurer@chromium.org

Review URL: https://codereview.chromium.org/721723004

Cr-Commit-Position: refs/heads/master@{#25368}
src/compiler/js-typed-lowering.cc
test/cctest/compiler/test-js-typed-lowering.cc
test/mjsunit/regress/regress-unsigned-mul-add.js [new file with mode: 0644]