diff options
author | Chris Lattner <sabre@nondot.org> | 2004-11-13 19:31:40 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2004-11-13 19:31:40 +0000 |
commit | 65aedc1a4edc146c1368a0f4e8d67ff6026a38e5 (patch) | |
tree | 47b13a715249ad0063821cc439737cbea1405315 /lib/Transforms/TransformInternals.cpp | |
parent | 0c3b390a547188e3db01b963918af0a57548cd04 (diff) |
Fold:
(X + (X << C2)) --> X * ((1 << C2) + 1)
((X << C2) + X) --> X * ((1 << C2) + 1)
This means that we now canonicalize "Y+Y+Y" into:
%tmp.2 = mul long %Y, 3 ; <long> [#uses=1]
instead of:
%tmp.10 = shl long %Y, ubyte 1 ; <long> [#uses=1]
%tmp.6 = add long %Y, %tmp.10 ; <long> [#uses=1]
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17701 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Transforms/TransformInternals.cpp')
0 files changed, 0 insertions, 0 deletions