[SimplifyLibCalls] Fix inverted condition that lead to an uninitialized memory read...
authorBenjamin Kramer <benny.kra@googlemail.com>
Sat, 28 Nov 2015 21:43:12 +0000 (21:43 +0000)
committerBenjamin Kramer <benny.kra@googlemail.com>
Sat, 28 Nov 2015 21:43:12 +0000 (21:43 +0000)
Found by msan!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@254238 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/Utils/SimplifyLibCalls.cpp

index 67e1697c7da5900db07baba5e3dbad91ea3a1180..8389e39f7af030fb5dbda2cdd2ea6b3988697708 100644 (file)
@@ -1454,8 +1454,8 @@ LibCallSimplifier::classifyArgUse(Value *Val, BasicBlock *BB, bool IsFloat,
 
   Function *Callee = CI->getCalledFunction();
   LibFunc::Func Func;
 
   Function *Callee = CI->getCalledFunction();
   LibFunc::Func Func;
-  if (Callee && (!TLI->getLibFunc(Callee->getName(), Func) || !TLI->has(Func) ||
-                 !isTrigLibCall(CI)))
+  if (!Callee || !TLI->getLibFunc(Callee->getName(), Func) || !TLI->has(Func) ||
+      !isTrigLibCall(CI))
     return;
 
   if (IsFloat) {
     return;
 
   if (IsFloat) {