summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
diff options
context:
space:
mode:
authorHal Finkel <hfinkel@anl.gov>2013-04-06 19:30:30 +0000
committerHal Finkel <hfinkel@anl.gov>2013-04-06 19:30:30 +0000
commitd61d4f80e6db0dd3f94bb041c5107c5a91ae093d (patch)
treea8e013fb99b73c42cc4ba744f71bd5d0c8896d3a /llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
parent8fc33e5d9559fef34a1dd6c1a3febe38df0b4279 (diff)
downloadbcm5719-llvm-d61d4f80e6db0dd3f94bb041c5107c5a91ae093d.tar.gz
bcm5719-llvm-d61d4f80e6db0dd3f94bb041c5107c5a91ae093d.zip
Implement PPCInstrInfo::FoldImmediate
There are certain PPC instructions into which we can fold a zero immediate operand. We can detect such cases by looking at the register class required by the using operand (so long as it is not otherwise constrained). llvm-svn: 178961
Diffstat (limited to 'llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp')
-rw-r--r--llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp b/llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
index 1d61a3a8eac..3f5f6c26ffa 100644
--- a/llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
+++ b/llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
@@ -76,6 +76,8 @@ PPCRegisterInfo::PPCRegisterInfo(const PPCSubtarget &ST,
const TargetRegisterClass *
PPCRegisterInfo::getPointerRegClass(const MachineFunction &MF, unsigned Kind)
const {
+ // Note that PPCInstrInfo::FoldImmediate also directly uses this Kind value
+ // when it checks for ZERO folding.
if (Kind == 1) {
if (Subtarget.isPPC64())
return &PPC::G8RC_NOX0RegClass;
OpenPOWER on IntegriCloud