Author: milena.vujosevic.janicic Reviewers: sdardis The code implements size reduction pass for MicroMIPS. Load and store instructions are examined and transformed, if possible. lw32 instruction is transformed into 16-bit instruction lwsp sw32 instruction is transformed into 16-bit instruction swsp Arithmetic instrcutions are examined and transformed, if possible. addu32 instruction is transformed into 16-bit instruction addu16 subu32 instruction is transformed into 16-bit instruction subu16 Differential Revision: https://reviews.llvm.org/D15144 llvm-svn: 301540
39 lines
1.3 KiB
C++
39 lines
1.3 KiB
C++
//===-- Mips.h - Top-level interface for Mips representation ----*- C++ -*-===//
|
|
//
|
|
// The LLVM Compiler Infrastructure
|
|
//
|
|
// This file is distributed under the University of Illinois Open Source
|
|
// License. See LICENSE.TXT for details.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
//
|
|
// This file contains the entry points for global functions defined in
|
|
// the LLVM Mips back-end.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#ifndef LLVM_LIB_TARGET_MIPS_MIPS_H
|
|
#define LLVM_LIB_TARGET_MIPS_MIPS_H
|
|
|
|
#include "MCTargetDesc/MipsMCTargetDesc.h"
|
|
#include "llvm/Target/TargetMachine.h"
|
|
|
|
namespace llvm {
|
|
class MipsTargetMachine;
|
|
class ModulePass;
|
|
class FunctionPass;
|
|
|
|
ModulePass *createMipsOs16Pass(MipsTargetMachine &TM);
|
|
ModulePass *createMips16HardFloatPass(MipsTargetMachine &TM);
|
|
|
|
FunctionPass *createMipsModuleISelDagPass(MipsTargetMachine &TM);
|
|
FunctionPass *createMipsOptimizePICCallPass(MipsTargetMachine &TM);
|
|
FunctionPass *createMipsDelaySlotFillerPass(MipsTargetMachine &TM);
|
|
FunctionPass *createMipsHazardSchedule();
|
|
FunctionPass *createMipsLongBranchPass(MipsTargetMachine &TM);
|
|
FunctionPass *createMipsConstantIslandPass();
|
|
FunctionPass *createMicroMipsSizeReductionPass();
|
|
} // end namespace llvm;
|
|
|
|
#endif
|