Putting an empty frame lowering in place
The binary interface of a platform not only defines how parameters are passed. It also includes how a stack frame is laid out: in which places are local variables stored, where registers are spilled to, and so on. Often, a special instruction sequence is required at the beginning and end of a function, called the prolog and the epilog. At the current development state, our target does not support the required machine instructions to create the prolog and the epilog. However, the framework code for instruction selection requires that a subclass of TargetFrameLowering
is available. The easy solution is to provide the M88kFrameLowering
class with an empty implementation.
The declaration of the class is in the M88kFrameLowering.h
file. All we must do here is override the pure virtual functions:
namespace llvm { class M88kFrameLowering : public TargetFrameLowering { public: M88kFrameLowering(); void emitPrologue...