From 4f658e9e4b2c7c25779c304a90f460615d35e555 Mon Sep 17 00:00:00 2001 From: Evan Cheng Date: Fri, 29 Feb 2008 17:52:15 +0000 Subject: [PATCH] Fix PR2112: don't run loop aligner if target doesn't have a TargetLowering object. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47755 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/CodeGen/LoopAligner.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/CodeGen/LoopAligner.cpp b/lib/CodeGen/LoopAligner.cpp index a40bb50565d..1888391d5e7 100644 --- a/lib/CodeGen/LoopAligner.cpp +++ b/lib/CodeGen/LoopAligner.cpp @@ -24,8 +24,6 @@ using namespace llvm; namespace { class LoopAligner : public MachineFunctionPass { - const TargetLowering *TLI; - public: static char ID; LoopAligner() : MachineFunctionPass((intptr_t)&ID) {} @@ -51,7 +49,11 @@ bool LoopAligner::runOnMachineFunction(MachineFunction &MF) { if (MLI->begin() == MLI->end()) return false; // No loops. - unsigned Align = MF.getTarget().getTargetLowering()->getPrefLoopAlignment(); + const TargetLowering *TLI = MF.getTarget().getTargetLowering(); + if (!TLI) + return false; + + unsigned Align = TLI->getPrefLoopAlignment(); if (!Align) return false; // Don't care about loop alignment.