diff options
author | Nick Lewycky <nicholas@mxc.ca> | 2014-06-04 07:45:54 +0000 |
---|---|---|
committer | Nick Lewycky <nicholas@mxc.ca> | 2014-06-04 07:45:54 +0000 |
commit | 7270890505fc357826a822fb64c240a5889048d4 (patch) | |
tree | 5a44ce417c7542c1fe2798636ef3ddc3a2cfe891 | |
parent | 5f22dd78584bfd0a1125d313d04660df2c9c3c47 (diff) | |
download | llvm-7270890505fc357826a822fb64c240a5889048d4.tar.gz llvm-7270890505fc357826a822fb64c240a5889048d4.tar.bz2 llvm-7270890505fc357826a822fb64c240a5889048d4.tar.xz |
Fix a use of uninitialized value. OldCC is set when IsCmpZero || IsSwapped and read when ShouldUpdateCC || IsSwapped, and ShouldUpdateCC is independent. Fixes PR19932, but no test since I wasn't able to get any symptoms to appear, not even with valgrind and the testcase from the PR. It's clear what happened from inspection of the code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@210168 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Target/X86/X86InstrInfo.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/Target/X86/X86InstrInfo.cpp b/lib/Target/X86/X86InstrInfo.cpp index 6993577d19..a0ee1ee57b 100644 --- a/lib/Target/X86/X86InstrInfo.cpp +++ b/lib/Target/X86/X86InstrInfo.cpp @@ -3741,7 +3741,7 @@ optimizeCompareInstr(MachineInstr *CmpInstr, unsigned SrcReg, unsigned SrcReg2, continue; // EFLAGS is used by this instruction. - X86::CondCode OldCC; + X86::CondCode OldCC = X86::COND_INVALID; bool OpcIsSET = false; if (IsCmpZero || IsSwapped) { // We decode the condition code from opcode. |