Commit 7e93c62d by John Porto

Extracts an TargetX86Base target which will be used as the common X86{32,64} implementation.

parent e587d949
......@@ -199,8 +199,8 @@ SRCS = \
IceRNG.cpp \
IceTargetLowering.cpp \
IceTargetLoweringARM32.cpp \
IceTargetLoweringX8632.cpp \
IceTargetLoweringMIPS32.cpp \
IceTargetLoweringX8632.cpp \
IceThreading.cpp \
IceTimerTree.cpp \
IceTranslator.cpp \
......
//===- subzero/src/IceAssemberX8664.h - Assembler for x86-64 ----*- C++ -*-===//
//
// The Subzero Code Generator
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
//
// This file implements the Assembler class for x86-64.h.
//
//===----------------------------------------------------------------------===//
#ifndef SUBZERO_SRC_ICEASSEMBLERX8664_H
#define SUBZERO_SRC_ICEASSEMBLERX8664_H
#include "IceAssembler.h"
namespace Ice {
namespace X8664 {
class AssemblerX8664 final : public Assembler {
AssemblerX8664(const AssemblerX8664 &) = delete;
AssemblerX8664 &operator=(const AssemblerX8664 &) = delete;
public:
explicit AssemblerX8664(bool use_far_branches = false) : Assembler() {
llvm::report_fatal_error("Not yet implemented");
}
void alignFunction() override {
llvm::report_fatal_error("Not yet implemented");
}
void padWithNop(intptr_t Padding) override {
llvm::report_fatal_error("Not yet implemented");
}
SizeT getBundleAlignLog2Bytes() const override {
llvm::report_fatal_error("Not yet implemented");
}
const char *getNonExecPadDirective() const override {
llvm::report_fatal_error("Not yet implemented");
}
llvm::ArrayRef<uint8_t> getNonExecBundlePadding() const override {
llvm::report_fatal_error("Not yet implemented");
}
void bindCfgNodeLabel(SizeT NodeNumber) override {
llvm::report_fatal_error("Not yet implemented");
}
bool fixupIsPCRel(FixupKind Kind) const override {
llvm::report_fatal_error("Not yet implemented");
}
};
} // end of namespace X8664
} // end of namespace Ice
#endif // SUBZERO_SRC_ICEASSEMBLERX8664_H
......@@ -16,6 +16,7 @@
#ifndef SUBZERO_SRC_ICEINST_H
#define SUBZERO_SRC_ICEINST_H
#include "IceCfg.h"
#include "IceDefs.h"
#include "IceInst.def"
#include "IceIntrinsics.h"
......
......@@ -17,6 +17,7 @@
#include "IceAssemblerARM32.h"
#include "IceAssemblerX8632.h"
#include "IceAssemblerX8664.h"
#include "assembler_mips32.h"
#include "IceCfg.h" // setError()
#include "IceCfgNode.h"
......@@ -27,6 +28,7 @@
#include "IceTargetLoweringARM32.h"
#include "IceTargetLoweringMIPS32.h"
#include "IceTargetLoweringX8632.h"
#include "IceTargetLoweringX8664.h"
namespace Ice {
......
This source diff could not be displayed because it is too large. You can view the blob instead.
//===- subzero/src/IceTargetLoweringX8664.h - x86-64 lowering ---*- C++ -*-===//
//
// The Subzero Code Generator
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
//
// This file declares the TargetLoweringX8664 class, which
// implements the TargetLowering interface for the x86-64
// architecture.
//
//===----------------------------------------------------------------------===//
#ifndef SUBZERO_SRC_ICETARGETLOWERINGX8664_H
#define SUBZERO_SRC_ICETARGETLOWERINGX8664_H
#include "IceDefs.h"
#include "IceTargetLowering.h"
namespace Ice {
class TargetX8664 : public TargetLowering {
TargetX8664() = delete;
TargetX8664(const TargetX8664 &) = delete;
TargetX8664 &operator=(const TargetX8664 &) = delete;
public:
static TargetX8664 *create(Cfg *) {
llvm::report_fatal_error("Not yet implemented");
}
};
class TargetDataX8664 : public TargetDataLowering {
TargetDataX8664() = delete;
TargetDataX8664(const TargetDataX8664 &) = delete;
TargetDataX8664 &operator=(const TargetDataX8664 &) = delete;
public:
static std::unique_ptr<TargetDataLowering> create(GlobalContext *Ctx) {
llvm::report_fatal_error("Not yet implemented");
}
};
class TargetHeaderX8664 : public TargetHeaderLowering {
TargetHeaderX8664() = delete;
TargetHeaderX8664(const TargetHeaderX8664 &) = delete;
TargetHeaderX8664 &operator=(const TargetHeaderX8664 &) = delete;
public:
static std::unique_ptr<TargetHeaderLowering> create(GlobalContext *Ctx) {
llvm::report_fatal_error("Not yet implemented");
}
};
} // end of namespace Ice
#endif // SUBZERO_SRC_ICETARGETLOWERINGX8664_H
This source diff could not be displayed because it is too large. You can view the blob instead.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment