1195098Sed//===-- MipsTargetTransformInfo.h - Mips specific TTI -----------*- C++ -*-===// 2195098Sed// 3195098Sed// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4195098Sed// See https://llvm.org/LICENSE.txt for license information. 5195098Sed// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6195098Sed// 7195098Sed//===----------------------------------------------------------------------===// 8195098Sed 9195098Sed#ifndef LLVM_LIB_TARGET_MIPS_MIPSTARGETTRANSFORMINFO_H 10195098Sed#define LLVM_LIB_TARGET_MIPS_MIPSTARGETTRANSFORMINFO_H 11249423Sdim 12249423Sdim#include "MipsTargetMachine.h" 13205218Srdivacky#include "llvm/Analysis/TargetTransformInfo.h" 14249423Sdim#include "llvm/CodeGen/BasicTTIImpl.h" 15249423Sdim 16226633Sdimnamespace llvm { 17226633Sdim 18249423Sdimclass MipsTTIImpl : public BasicTTIImplBase<MipsTTIImpl> { 19249423Sdim using BaseT = BasicTTIImplBase<MipsTTIImpl>; 20207618Srdivacky using TTI = TargetTransformInfo; 21195098Sed 22218893Sdim friend BaseT; 23234353Sdim 24249423Sdim const MipsSubtarget *ST; 25249423Sdim const MipsTargetLowering *TLI; 26234353Sdim 27195098Sed const MipsSubtarget *getST() const { return ST; } 28195098Sed const MipsTargetLowering *getTLI() const { return TLI; } 29207618Srdivacky 30207618Srdivackypublic: 31208599Srdivacky explicit MipsTTIImpl(const MipsTargetMachine *TM, const Function &F) 32207618Srdivacky : BaseT(TM, F.getParent()->getDataLayout()), ST(TM->getSubtargetImpl(F)), 33207618Srdivacky TLI(ST->getTargetLowering()) {} 34226633Sdim 35249423Sdim bool hasDivRemOp(Type *DataType, bool IsSigned); 36249423Sdim}; 37234353Sdim 38221345Sdim} // end namespace llvm 39221345Sdim 40249423Sdim#endif 41249423Sdim