[llvm] r265265 - [CodeGenPrepare] Fix r265264.

Peter Zotov via llvm-commits llvm-commits at lists.llvm.org
Sun Apr 3 10:11:53 PDT 2016


Author: whitequark
Date: Sun Apr  3 12:11:53 2016
New Revision: 265265

URL: http://llvm.org/viewvc/llvm-project?rev=265265&view=rev
Log:
[CodeGenPrepare] Fix r265264.

The case where there was no TargetLowering was not handled,
leading to null pointer dereferences.

Modified:
    llvm/trunk/lib/CodeGen/CodeGenPrepare.cpp

Modified: llvm/trunk/lib/CodeGen/CodeGenPrepare.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/CodeGenPrepare.cpp?rev=265265&r1=265264&r2=265265&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/CodeGenPrepare.cpp (original)
+++ llvm/trunk/lib/CodeGen/CodeGenPrepare.cpp Sun Apr  3 12:11:53 2016
@@ -910,8 +910,8 @@ static bool SinkCmpExpression(CmpInst *C
   return MadeChange;
 }
 
-static bool OptimizeCmpExpression(CmpInst *CI, const TargetLowering &TLI) {
-  if (SinkCmpExpression(CI, TLI))
+static bool OptimizeCmpExpression(CmpInst *CI, const TargetLowering *TLI) {
+  if (TLI && SinkCmpExpression(CI, *TLI))
     return true;
 
   if (CombineUAddWithOverflow(CI))
@@ -5177,7 +5177,7 @@ bool CodeGenPrepare::optimizeInst(Instru
 
   if (CmpInst *CI = dyn_cast<CmpInst>(I))
     if (!TLI || !TLI->hasMultipleConditionRegisters())
-      return OptimizeCmpExpression(CI, *TLI);
+      return OptimizeCmpExpression(CI, TLI);
 
   if (LoadInst *LI = dyn_cast<LoadInst>(I)) {
     stripInvariantGroupMetadata(*LI);




More information about the llvm-commits mailing list