diff options
Diffstat (limited to 'llvm/lib/Target/Nios2/Nios2ISelDAGToDAG.cpp')
-rw-r--r-- | llvm/lib/Target/Nios2/Nios2ISelDAGToDAG.cpp | 76 |
1 files changed, 0 insertions, 76 deletions
diff --git a/llvm/lib/Target/Nios2/Nios2ISelDAGToDAG.cpp b/llvm/lib/Target/Nios2/Nios2ISelDAGToDAG.cpp deleted file mode 100644 index 5f967946611..00000000000 --- a/llvm/lib/Target/Nios2/Nios2ISelDAGToDAG.cpp +++ /dev/null @@ -1,76 +0,0 @@ -//===-- Nios2ISelDAGToDAG.cpp - A Dag to Dag Inst Selector for Nios2 ------===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// -// -// This file defines an instruction selector for the NIOS2 target. -// -//===----------------------------------------------------------------------===// - -#include "Nios2.h" -#include "Nios2TargetMachine.h" -#include "llvm/CodeGen/SelectionDAGISel.h" -#include "llvm/Support/Debug.h" -using namespace llvm; - -#define DEBUG_TYPE "nios2-isel" - -//===----------------------------------------------------------------------===// -// Instruction Selector Implementation -//===----------------------------------------------------------------------===// - -//===----------------------------------------------------------------------===// -// Nios2DAGToDAGISel - NIOS2 specific code to select NIOS2 machine -// instructions for SelectionDAG operations. -//===----------------------------------------------------------------------===// - -namespace { - -class Nios2DAGToDAGISel : public SelectionDAGISel { - /// Subtarget - Keep a pointer to the Nios2 Subtarget around so that we can - /// make the right decision when generating code for different targets. - const Nios2Subtarget *Subtarget; - -public: - explicit Nios2DAGToDAGISel(Nios2TargetMachine &TM, CodeGenOpt::Level OL) - : SelectionDAGISel(TM, OL) {} - - bool runOnMachineFunction(MachineFunction &MF) override { - Subtarget = &MF.getSubtarget<Nios2Subtarget>(); - return SelectionDAGISel::runOnMachineFunction(MF); - } - - void Select(SDNode *N) override; - - // Pass Name - StringRef getPassName() const override { - return "NIOS2 DAG->DAG Pattern Instruction Selection"; - } - -#include "Nios2GenDAGISel.inc" -}; -} // namespace - -// Select instructions not customized! Used for -// expanded, promoted and normal instructions -void Nios2DAGToDAGISel::Select(SDNode *Node) { - - // If we have a custom node, we already have selected! - if (Node->isMachineOpcode()) { - LLVM_DEBUG(errs() << "== "; Node->dump(CurDAG); errs() << "\n"); - Node->setNodeId(-1); - return; - } - - // Select the default instruction - SelectCode(Node); -} - -FunctionPass *llvm::createNios2ISelDag(Nios2TargetMachine &TM, - CodeGenOpt::Level OptLevel) { - return new Nios2DAGToDAGISel(TM, OptLevel); -} |