XCore target: Lower FRAME_TO_ARGS_OFFSET

This requires a knowledge of the stack size which is not known until
the frame is complete, hence the need for the XCoreFTAOElim pass
which lowers the XCoreISD::FRAME_TO_ARGS_OFFSET instrution into its
final form.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@198614 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Robert Lytton
2014-01-06 14:21:00 +00:00
parent 12ad7cd730
commit af74cbf553
8 changed files with 128 additions and 0 deletions
+6
View File
@@ -48,6 +48,7 @@ public:
virtual bool addPreISel();
virtual bool addInstSelector();
virtual bool addPreEmitPass();
};
} // namespace
@@ -65,6 +66,11 @@ bool XCorePassConfig::addInstSelector() {
return false;
}
bool XCorePassConfig::addPreEmitPass() {
addPass(createXCoreFrameToArgsOffsetEliminationPass());
return false;
}
// Force static initialization.
extern "C" void LLVMInitializeXCoreTarget() {
RegisterTargetMachine<XCoreTargetMachine> X(TheXCoreTarget);