[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