diff options
author | Tim Shen <timshen91@gmail.com> | 2017-05-12 19:25:37 +0000 |
---|---|---|
committer | Tim Shen <timshen91@gmail.com> | 2017-05-12 19:25:37 +0000 |
commit | 10c64e6aea87a75da6dff41a95ede1935282d71d (patch) | |
tree | cdde3ab1b1dfd24c74ba82c51ebed9368f1fb83a /llvm/lib/CodeGen/TargetPassConfig.cpp | |
parent | dd3a739d52ddb9ec2c79cc5cef1b57750f48d85d (diff) | |
download | bcm5719-llvm-10c64e6aea87a75da6dff41a95ede1935282d71d.tar.gz bcm5719-llvm-10c64e6aea87a75da6dff41a95ede1935282d71d.zip |
[PPC] Move the combine "a << (b % (sizeof(a) * 8)) -> (PPCshl a, b)" to the backend. NFC.
Summary:
Eli pointed out that it's unsafe to combine the shifts to ISD::SHL etc.,
because those are not defined for b > sizeof(a) * 8, even after some of
the combiners run.
However, PPCISD::SHL defines that behavior (as the instructions themselves).
Move the combination to the backend.
The tests in shift_mask.ll still pass.
Reviewers: echristo, hfinkel, efriedma, iteratee
Subscribers: nemanjai, llvm-commits
Differential Revision: https://reviews.llvm.org/D33076
llvm-svn: 302937
Diffstat (limited to 'llvm/lib/CodeGen/TargetPassConfig.cpp')
0 files changed, 0 insertions, 0 deletions