LLVM API Documentation
#include "Mips16ISelLowering.h"
#include "MCTargetDesc/MipsBaseInfo.h"
#include "Mips16HardFloatInfo.h"
#include "MipsMachineFunction.h"
#include "MipsRegisterInfo.h"
#include "MipsTargetMachine.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/CodeGen/MachineInstrBuilder.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Target/TargetInstrInfo.h"
#include <string>
Go to the source code of this file.
Defines | |
#define | DEBUG_TYPE "mips-lower" |
#define | P_ "__mips16_call_stub_" |
#define | MAX_STUB_NUMBER 10 |
#define | T1 P "1", P "2", 0, 0, P "5", P "6", 0, 0, P "9", P "10" |
#define | T P "0" , T1 |
#define | P P_ |
#define | P P_ "sf_" |
#define | P P_ "df_" |
#define | P P_ "sc_" |
#define | P P_ "dc_" |
Functions | |
static unsigned | Mips16WhichOp8uOr16simm (unsigned shortOp, unsigned longOp, int64_t Imm) |
Variables | |
static cl::opt< bool > | DontExpandCondPseudos16 ("mips16-dont-expand-cond-pseudo", cl::init(false), cl::desc("Don't expand conditional move related ""pseudos for Mips 16"), cl::Hidden) |
static const Mips16Libcall | HardFloatLibCalls [] |
static const Mips16IntrinsicHelperType | Mips16IntrinsicHelper [] |
static char const * | vMips16Helper [MAX_STUB_NUMBER+1] |
static char const * | sfMips16Helper [MAX_STUB_NUMBER+1] |
static char const * | dfMips16Helper [MAX_STUB_NUMBER+1] |
static char const * | scMips16Helper [MAX_STUB_NUMBER+1] |
static char const * | dcMips16Helper [MAX_STUB_NUMBER+1] |
#define DEBUG_TYPE "mips-lower" |
Definition at line 27 of file Mips16ISelLowering.cpp.
#define MAX_STUB_NUMBER 10 |
Definition at line 350 of file Mips16ISelLowering.cpp.
Definition at line 369 of file Mips16ISelLowering.cpp.
Definition at line 369 of file Mips16ISelLowering.cpp.
Definition at line 369 of file Mips16ISelLowering.cpp.
Definition at line 369 of file Mips16ISelLowering.cpp.
Definition at line 369 of file Mips16ISelLowering.cpp.
#define P_ "__mips16_call_stub_" |
Definition at line 349 of file Mips16ISelLowering.cpp.
Definition at line 352 of file Mips16ISelLowering.cpp.
Referenced by llvm::AArch64MCAsmInfoELF::AArch64MCAsmInfoELF(), llvm::ImmutableMap< KeyT, ValT, ValInfo >::Factory::add(), llvm::ImutAVLFactory< ImutInfo >::add(), BinomialCoefficient(), llvm::BitsToDouble(), llvm::BitsToFloat(), llvm::APInt::bitsToFloat(), llvm::APInt::ceilLogBase2(), llvm::ConstantFoldBinaryInstruction(), llvm::SmallPtrSetImplBase::CopyFrom(), llvm::countLeadingZeros(), llvm::countTrailingZeros(), llvm::ImutAVLFactory< ImutInfo >::createNode(), createPPCMCCodeGenInfo(), llvm::CreateX86AsmInstrumentation(), createX86MCCodeGenInfo(), llvm::SpecificBumpPtrAllocator< SCC >::DestroyAll(), llvm::BlockFrequencyInfoImplBase::distributeMass(), llvm::AsmPrinter::doFinalization(), llvm::DoubleToBits(), llvm::DwarfDebug::DwarfDebug(), llvm::PointerUnion< const Value *, const PseudoSourceValue * >::dyn_cast(), llvm::PointerUnion3< PT1, PT2, PT3 >::dyn_cast(), llvm::PointerUnion4< PT1, PT2, PT3, PT4 >::dyn_cast(), llvm::AsmPrinter::EmitFunctionBody(), llvm::AsmPrinter::EmitFunctionHeader(), llvm::AsmPrinter::EmitGlobalVariable(), llvm::MipsRegInfoRecord::EmitMipsOptionRecord(), llvm::f64AssignAAPCS(), fixupFPReturnAndCall(), llvm::FloatToBits(), llvm::PointerUnion3< PT1, PT2, PT3 >::get(), llvm::ConstantStruct::get(), llvm::PointerUnion4< PT1, PT2, PT3, PT4 >::get(), llvm::Triple::get32BitArchVariant(), llvm::Triple::get64BitArchVariant(), llvm::object::MachOObjectFile::getArch(), llvm::ImutAVLFactory< ImutInfo >::getCanonicalTree(), llvm::MCContext::getCOFFSection(), llvm::GraphTraits< Type * >::getEntryNode(), llvm::GraphTraits< const Type * >::getEntryNode(), llvm::ImutAVLTree< ImutInfo >::getMaxElement(), llvm::DIRef< T >::getName(), getNamedRegionTimer(), getTypeString(), llvm::PackedVectorBase< T, BitNum, BitVectorTy, false >::getValue(), llvm::PackedVectorBase< T, BitNum, BitVectorTy, true >::getValue(), llvm::yaml::Node::getVerbatimTag(), llvm::APIntOps::GreatestCommonDivisor(), llvm::GreatestCommonDivisor64(), indexReallyValid(), llvm::SmallVectorImpl< MachineInstr * >::insert(), insertSinCosCall(), llvm::PointerUnion< const Value *, const PseudoSourceValue * >::is(), llvm::PointerUnion3< PT1, PT2, PT3 >::is(), llvm::PointerUnion4< PT1, PT2, PT3, PT4 >::is(), llvm::ImutAVLFactory< ImutInfo >::isEmpty(), LowerCMP_SWAP(), llvm::PatternMatch::m_Br(), llvm::make_unique(), llvm::make_vector(), llvm::SmallVectorTemplateCommon< MachineInstr * >::max_size(), llvm::MipsTargetELFStreamer::MipsTargetELFStreamer(), llvm::NVPTXSubtarget::NVPTXSubtarget(), llvm::Optional< COFF::AuxiliarySectionDefinition >::operator=(), llvm::Optional< COFF::AuxiliarySectionDefinition >::Optional(), llvm::parseIR(), llvm::TimerGroup::print(), llvm::SmallVectorTemplateBase< Segment, isPodLike< Segment >::value >::push_back(), reduceToSingleValueType(), llvm::TargetRegistry::RegisterTarget(), llvm::ImmutableMap< KeyT, ValT, ValInfo >::Factory::remove(), llvm::ImutAVLFactory< ImutInfo >::remove(), llvm::ImutAVLFactory< ImutInfo >::remove_internal(), removeConstantFactors(), llvm::ImutAVLFactory< ImutInfo >::removeMinBinding(), llvm::SmallVectorImpl< MachineInstr * >::resize(), llvm::DIRef< T >::resolve(), llvm::APIntOps::RoundDoubleToAPInt(), llvm::APInt::roundToDouble(), llvm::MachineFrameInfo::setFrameAddressIsTaken(), llvm::PMDataManager::setTopLevelManager(), llvm::PackedVectorBase< T, BitNum, BitVectorTy, false >::setValue(), llvm::PackedVectorBase< T, BitNum, BitVectorTy, true >::setValue(), llvm::SmallVectorTemplateBase< Segment, isPodLike< Segment >::value >::uninitialized_move(), llvm::UnrollLoop(), llvm::unwrap(), llvm::visitAll(), llvm::InstCombiner::visitFDiv(), and WriteTypeTable().
Definition at line 351 of file Mips16ISelLowering.cpp.
Referenced by CombineSymbolTypes(), llvm::R600TargetLowering::EmitInstrWithCustomInserter(), llvm::MipsRegisterInfo::getReservedRegs(), and llvm::Mips16InstrInfo::loadImmediate().
static unsigned Mips16WhichOp8uOr16simm | ( | unsigned | shortOp, |
unsigned | longOp, | ||
int64_t | Imm | ||
) | [static] |
Definition at line 757 of file Mips16ISelLowering.cpp.
References llvm::isInt< 16 >(), llvm::isUInt< 8 >(), and llvm_unreachable.
char const* dcMips16Helper[MAX_STUB_NUMBER+1] [static] |
{ T }
Definition at line 370 of file Mips16ISelLowering.cpp.
char const* dfMips16Helper[MAX_STUB_NUMBER+1] [static] |
{ T }
Definition at line 362 of file Mips16ISelLowering.cpp.
cl::opt<bool> DontExpandCondPseudos16("mips16-dont-expand-cond-pseudo", cl::init(false), cl::desc("Don't expand conditional move related ""pseudos for Mips 16"), cl::Hidden) [static] |
const Mips16Libcall HardFloatLibCalls[] [static] |
Definition at line 60 of file Mips16ISelLowering.cpp.
const Mips16IntrinsicHelperType Mips16IntrinsicHelper[] [static] |
{ {"__fixunsdfsi", "__mips16_call_stub_2" }, {"ceil", "__mips16_call_stub_df_2"}, {"ceilf", "__mips16_call_stub_sf_1"}, {"copysign", "__mips16_call_stub_df_10"}, {"copysignf", "__mips16_call_stub_sf_5"}, {"cos", "__mips16_call_stub_df_2"}, {"cosf", "__mips16_call_stub_sf_1"}, {"exp2", "__mips16_call_stub_df_2"}, {"exp2f", "__mips16_call_stub_sf_1"}, {"floor", "__mips16_call_stub_df_2"}, {"floorf", "__mips16_call_stub_sf_1"}, {"log2", "__mips16_call_stub_df_2"}, {"log2f", "__mips16_call_stub_sf_1"}, {"nearbyint", "__mips16_call_stub_df_2"}, {"nearbyintf", "__mips16_call_stub_sf_1"}, {"rint", "__mips16_call_stub_df_2"}, {"rintf", "__mips16_call_stub_sf_1"}, {"sin", "__mips16_call_stub_df_2"}, {"sinf", "__mips16_call_stub_sf_1"}, {"sqrt", "__mips16_call_stub_df_2"}, {"sqrtf", "__mips16_call_stub_sf_1"}, {"trunc", "__mips16_call_stub_df_2"}, {"truncf", "__mips16_call_stub_sf_1"}, }
Definition at line 97 of file Mips16ISelLowering.cpp.
char const* scMips16Helper[MAX_STUB_NUMBER+1] [static] |
{ T }
Definition at line 366 of file Mips16ISelLowering.cpp.
char const* sfMips16Helper[MAX_STUB_NUMBER+1] [static] |
{ T }
Definition at line 358 of file Mips16ISelLowering.cpp.
char const* vMips16Helper[MAX_STUB_NUMBER+1] [static] |
{nullptr, T1 }
Definition at line 354 of file Mips16ISelLowering.cpp.