Thanks to visit codestin.com
Credit goes to llvm.org

LLVM 22.0.0git
ARMInstructionSelector.cpp File Reference

This file implements the targeting of the InstructionSelector class for ARM. More...

Go to the source code of this file.

Classes

struct  ARMInstructionSelector::CmpConstants
struct  ARMInstructionSelector::InsertInfo

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.

Macros

#define DEBUG_TYPE   "arm-isel"
#define GET_GLOBALISEL_PREDICATE_BITSET
#define GET_GLOBALISEL_PREDICATES_DECL
#define GET_GLOBALISEL_TEMPORARIES_DECL
#define GET_GLOBALISEL_IMPL
#define GET_GLOBALISEL_PREDICATES_INIT
#define GET_GLOBALISEL_TEMPORARIES_INIT
#define STORE_OPCODE(VAR, OPC)

Functions

InstructionSelectorllvm::createARMInstructionSelector (const ARMBaseTargetMachine &TM, const ARMSubtarget &STI, const ARMRegisterBankInfo &RBI)
static bool selectCopy (MachineInstr &I, const TargetInstrInfo &TII, MachineRegisterInfo &MRI, const TargetRegisterInfo &TRI, const RegisterBankInfo &RBI)
static bool selectMergeValues (MachineInstrBuilder &MIB, const ARMBaseInstrInfo &TII, MachineRegisterInfo &MRI, const TargetRegisterInfo &TRI, const RegisterBankInfo &RBI)
static bool selectUnmergeValues (MachineInstrBuilder &MIB, const ARMBaseInstrInfo &TII, MachineRegisterInfo &MRI, const TargetRegisterInfo &TRI, const RegisterBankInfo &RBI)
static std::pair< ARMCC::CondCodes, ARMCC::CondCodesgetComparePreds (CmpInst::Predicate Pred)

Detailed Description

This file implements the targeting of the InstructionSelector class for ARM.

Todo
This should be generated by TableGen.

Definition in file ARMInstructionSelector.cpp.

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "arm-isel"

Definition at line 23 of file ARMInstructionSelector.cpp.

◆ GET_GLOBALISEL_IMPL

#define GET_GLOBALISEL_IMPL

Definition at line 169 of file ARMInstructionSelector.cpp.

◆ GET_GLOBALISEL_PREDICATE_BITSET

#define GET_GLOBALISEL_PREDICATE_BITSET

Definition at line 29 of file ARMInstructionSelector.cpp.

◆ GET_GLOBALISEL_PREDICATES_DECL

#define GET_GLOBALISEL_PREDICATES_DECL

Definition at line 148 of file ARMInstructionSelector.cpp.

◆ GET_GLOBALISEL_PREDICATES_INIT

#define GET_GLOBALISEL_PREDICATES_INIT

◆ GET_GLOBALISEL_TEMPORARIES_DECL

#define GET_GLOBALISEL_TEMPORARIES_DECL

Definition at line 154 of file ARMInstructionSelector.cpp.

◆ GET_GLOBALISEL_TEMPORARIES_INIT

#define GET_GLOBALISEL_TEMPORARIES_INIT

◆ STORE_OPCODE

#define STORE_OPCODE ( VAR,
OPC )
Value:
VAR = isThumb ? ARM::t2##OPC : ARM::OPC
static bool isThumb(const MCSubtargetInfo &STI)

Function Documentation

◆ getComparePreds()

◆ selectCopy()

◆ selectMergeValues()

◆ selectUnmergeValues()