From: Dylan McKay Date: Mon, 7 Nov 2016 06:02:55 +0000 (+0000) Subject: [AVR] Enable the ISel, frame analyzer, and alloca passes X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=3e6b5bc83fc2b89b0d3624c3ba5d36af162a225c;p=llvm [AVR] Enable the ISel, frame analyzer, and alloca passes git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@286095 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/AVR/AVRTargetMachine.cpp b/lib/Target/AVR/AVRTargetMachine.cpp index f630a5ddccb..e1a67272a62 100644 --- a/lib/Target/AVR/AVRTargetMachine.cpp +++ b/lib/Target/AVR/AVRTargetMachine.cpp @@ -93,15 +93,21 @@ const AVRSubtarget *AVRTargetMachine::getSubtargetImpl(const Function &) const { //===----------------------------------------------------------------------===// bool AVRPassConfig::addInstSelector() { + // Install an instruction selector. + addPass(createAVRISelDag(getAVRTargetMachine(), getOptLevel())); + // Create the frame analyzer pass used by the PEI pass. + addPass(createAVRFrameAnalyzerPass()); + return false; } void AVRPassConfig::addPreRegAlloc() { + // Create the dynalloc SP save/restore pass to handle variable sized allocas. + addPass(createAVRDynAllocaSRPass()); } void AVRPassConfig::addPreSched2() { } -void AVRPassConfig::addPreEmitPass() { -} +void AVRPassConfig::addPreEmitPass() { } } // end of namespace llvm