| Index: src/IceTargetLowering.cpp
|
| diff --git a/src/IceTargetLowering.cpp b/src/IceTargetLowering.cpp
|
| index 3bae59178d3dcf2c67a206ce7afd95ee3abf8b49..f6631559f9064a5049c842b74ba441c47da88b24 100644
|
| --- a/src/IceTargetLowering.cpp
|
| +++ b/src/IceTargetLowering.cpp
|
| @@ -15,6 +15,7 @@
|
| //
|
| //===----------------------------------------------------------------------===//
|
|
|
| +#include "assembler_ia32.h"
|
| #include "IceCfg.h" // setError()
|
| #include "IceCfgNode.h"
|
| #include "IceOperand.h"
|
| @@ -97,6 +98,15 @@ TargetLowering *TargetLowering::createLowering(TargetArch Target, Cfg *Func) {
|
| return NULL;
|
| }
|
|
|
| +Assembler *TargetLowering::createAssembler(TargetArch Target, Cfg *Func) {
|
| + // These statements can be #ifdef'd to specialize the assembler
|
| + // to a subset of the available targets. TODO: use CRTP.
|
| + if (Target == Target_X8632)
|
| + return new x86::AssemblerX86();
|
| + Func->setError("Unsupported target");
|
| + return NULL;
|
| +}
|
| +
|
| void TargetLowering::doAddressOpt() {
|
| if (llvm::isa<InstLoad>(*Context.getCur()))
|
| doAddressOptLoad();
|
|
|