ARM: Use the shifter operand to merge in previous shift instructions.
authoralexandre.rames@arm.com <alexandre.rames@arm.com@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Wed, 25 Jun 2014 15:11:00 +0000 (15:11 +0000)
committeralexandre.rames@arm.com <alexandre.rames@arm.com@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Wed, 25 Jun 2014 15:11:00 +0000 (15:11 +0000)
commita7408e512488b24f266a1e2e10b98bd0b46a225b
tree54d6e0eeab6677f4e9ceea64c13fc3391b6ed5c8
parentbd7652f1f5ac43a9d62802e478ba288a84fdd275
ARM: Use the shifter operand to merge in previous shift instructions.

When possible, we transform sequences of code of the form
    lsl r1, r2, #imm
    add r0, r5, r1
into
    add r0, r5, r2 LSL #imm

This is an adaptation of r21161.

R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22017 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
src/arm/assembler-arm.cc
src/arm/assembler-arm.h
src/arm/constants-arm.h
src/arm/lithium-arm.cc
src/arm/lithium-arm.h
src/arm/lithium-codegen-arm.cc
src/arm/lithium-codegen-arm.h