LLVM
8.0.1
|
This file implements the targeting of the Machinelegalizer class for ARM. More...
#include "ARMLegalizerInfo.h"
#include "ARMCallLowering.h"
#include "ARMSubtarget.h"
#include "llvm/CodeGen/GlobalISel/LegalizerHelper.h"
#include "llvm/CodeGen/LowLevelType.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/CodeGen/TargetOpcodes.h"
#include "llvm/CodeGen/ValueTypes.h"
#include "llvm/IR/DerivedTypes.h"
#include "llvm/IR/Type.h"
Go to the source code of this file.
Functions | |
static void | addAndInterleaveWithUnsupported (LegalizerInfo::SizeAndActionsVec &result, const LegalizerInfo::SizeAndActionsVec &v) |
FIXME: The following static functions are SizeChangeStrategy functions that are meant to temporarily mimic the behaviour of the old legalization based on doubling/halving non-legal types as closely as possible. More... | |
static LegalizerInfo::SizeAndActionsVec | widen_8_16 (const LegalizerInfo::SizeAndActionsVec &v) |
static bool | AEABI (const ARMSubtarget &ST) |
This file implements the targeting of the Machinelegalizer class for ARM.
Definition in file ARMLegalizerInfo.cpp.
|
static |
FIXME: The following static functions are SizeChangeStrategy functions that are meant to temporarily mimic the behaviour of the old legalization based on doubling/halving non-legal types as closely as possible.
This is not entirly possible as only legalizing the types that are exactly a power of 2 times the size of the legal types would require specifying all those sizes explicitly. In practice, not specifying those isn't a problem, and the below functions should disappear quickly as we add support for legalizing non-power-of-2 sized types further.
Definition at line 38 of file ARMLegalizerInfo.cpp.
References first.
Referenced by widen_8_16().
|
static |
Definition at line 63 of file ARMLegalizerInfo.cpp.
References llvm::ARMSubtarget::isTargetAEABI(), llvm::ARMSubtarget::isTargetGNUAEABI(), and llvm::ARMSubtarget::isTargetMuslAEABI().
Referenced by llvm::ARMLegalizerInfo::ARMLegalizerInfo().
|
static |
Definition at line 49 of file ARMLegalizerInfo.cpp.
References addAndInterleaveWithUnsupported(), assert(), first, llvm::LegalizeActions::Unsupported, and llvm::LegalizeActions::WidenScalar.
Referenced by llvm::ARMLegalizerInfo::ARMLegalizerInfo().