llvm-6502/lib/Target/Mips/MipsDirectObjLower.h
Jack Carter a7570a3d86 There are some Mips instructions that are lowered by the
assembler such as shifts greater than 32. In the case 
of direct object, the code gen needs to do this lowering 
since the assembler is not involved.

With the advent of the llvm-mc assembler, it also needs 
to do the same lowering.

This patch makes that specific lowering code accessible 
to both the direct object output and the assembler.

This patch does not affect generated output.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163287 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-06 02:31:34 +00:00

29 lines
838 B
C++

//===-- MipsDirectObjLower.h - Mips LLVM direct object lowering *- C++ -*--===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
#ifndef MIPSDIRECTOBJLOWER_H
#define MIPSDIRECTOBJLOWER_H
#include "llvm/ADT/SmallVector.h"
#include "llvm/Support/Compiler.h"
namespace llvm {
class MCInst;
class MCStreamer;
namespace Mips {
/// MipsDirectObjLower - This name space is used to lower MCInstr in cases
// where the assembler usually finishes the lowering
// such as large shifts.
void LowerLargeShift(MCInst &Inst);
void LowerDextDins(MCInst &Inst);
}
}
#endif