summaryrefslogtreecommitdiff
path: root/lib/CodeGen/IfConversion.cpp
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2012-05-30 00:42:02 +0000
committerEvan Cheng <evan.cheng@apple.com>2012-05-30 00:42:02 +0000
commit3d4166dff0624b8843338acc156987e8bc890e9b (patch)
treea7494248186bbb7a4aac2755ecf30c1c29c90293 /lib/CodeGen/IfConversion.cpp
parentef09705ee52de78f37ef05878ea6e277ebfe1555 (diff)
downloadllvm-3d4166dff0624b8843338acc156987e8bc890e9b.tar.gz
llvm-3d4166dff0624b8843338acc156987e8bc890e9b.tar.bz2
llvm-3d4166dff0624b8843338acc156987e8bc890e9b.tar.xz
If-converter models predicated defs as read + write. The read should be marked as 'undef' since it may not already be live. This appeases -verify-machineinstrs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157662 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/IfConversion.cpp')
-rw-r--r--lib/CodeGen/IfConversion.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/CodeGen/IfConversion.cpp b/lib/CodeGen/IfConversion.cpp
index 75ae5b9c2c..00ea3c599f 100644
--- a/lib/CodeGen/IfConversion.cpp
+++ b/lib/CodeGen/IfConversion.cpp
@@ -993,7 +993,8 @@ static void UpdatePredRedefs(MachineInstr *MI, SmallSet<unsigned,4> &Redefs,
if (AddImpUse)
// Treat predicated update as read + write.
MI->addOperand(MachineOperand::CreateReg(Reg, false/*IsDef*/,
- true/*IsImp*/,false/*IsKill*/));
+ true/*IsImp*/,false/*IsKill*/,
+ false/*IsDead*/,true/*IsUndef*/));
} else {
Redefs.insert(Reg);
for (const uint16_t *SR = TRI->getSubRegisters(Reg); *SR; ++SR)