summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/AVR/AVRTargetMachine.cpp
diff options
context:
space:
mode:
authorDylan McKay <dylanmckay34@gmail.com>2016-11-07 06:02:55 +0000
committerDylan McKay <dylanmckay34@gmail.com>2016-11-07 06:02:55 +0000
commitc988b334b6a97a87b887df7aa22500961faf7701 (patch)
tree94fe01aa0bc67e7db035c0800a1e48a2d952a0e7 /llvm/lib/Target/AVR/AVRTargetMachine.cpp
parent2980b0a15ef2dff32fb7579d2d2aed1e0455ad90 (diff)
downloadbcm5719-llvm-c988b334b6a97a87b887df7aa22500961faf7701.tar.gz
bcm5719-llvm-c988b334b6a97a87b887df7aa22500961faf7701.zip
[AVR] Enable the ISel, frame analyzer, and alloca passes
llvm-svn: 286095
Diffstat (limited to 'llvm/lib/Target/AVR/AVRTargetMachine.cpp')
-rw-r--r--llvm/lib/Target/AVR/AVRTargetMachine.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/llvm/lib/Target/AVR/AVRTargetMachine.cpp b/llvm/lib/Target/AVR/AVRTargetMachine.cpp
index f630a5ddccb..e1a67272a62 100644
--- a/llvm/lib/Target/AVR/AVRTargetMachine.cpp
+++ b/llvm/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
OpenPOWER on IntegriCloud