LLVM  4.0.0
Namespaces | Functions
AArch64FastISel.cpp File Reference
#include "AArch64.h"
#include "AArch64CallingConvention.h"
#include "AArch64Subtarget.h"
#include "AArch64TargetMachine.h"
#include "MCTargetDesc/AArch64AddressingModes.h"
#include "llvm/Analysis/BranchProbabilityInfo.h"
#include "llvm/CodeGen/CallingConvLower.h"
#include "llvm/CodeGen/FastISel.h"
#include "llvm/CodeGen/FunctionLoweringInfo.h"
#include "llvm/CodeGen/MachineConstantPool.h"
#include "llvm/CodeGen/MachineFrameInfo.h"
#include "llvm/CodeGen/MachineInstrBuilder.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/IR/CallingConv.h"
#include "llvm/IR/DataLayout.h"
#include "llvm/IR/DerivedTypes.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/GetElementPtrTypeIterator.h"
#include "llvm/IR/GlobalAlias.h"
#include "llvm/IR/GlobalVariable.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/IntrinsicInst.h"
#include "llvm/IR/Operator.h"
#include "llvm/MC/MCSymbol.h"
#include "AArch64GenFastISel.inc"
#include "AArch64GenCallingConv.inc"
Include dependency graph for AArch64FastISel.cpp:

Go to the source code of this file.

Namespaces

 llvm
 Compute iterated dominance frontiers using a linear time algorithm.
 

Functions

static bool isIntExtFree (const Instruction *I)
 Check if the sign-/zero-extend will be a noop. More...
 
static unsigned getImplicitScaleFactor (MVT VT)
 Determine the implicit scale factor that is applied by a memory operation for a given value type. More...
 
static bool isMulPowOf2 (const Value *I)
 Check if the multiply is by a power-of-2 constant. More...
 
static AArch64CC::CondCode getCompareCC (CmpInst::Predicate Pred)
 
static bool isZExtLoad (const MachineInstr *LI)
 
static bool isSExtLoad (const MachineInstr *LI)
 

Function Documentation

static AArch64CC::CondCode getCompareCC ( CmpInst::Predicate  Pred)
static
static unsigned getImplicitScaleFactor ( MVT  VT)
static

Determine the implicit scale factor that is applied by a memory operation for a given value type.

Definition at line 288 of file AArch64FastISel.cpp.

References llvm::MVT::f32, llvm::MVT::f64, llvm::MVT::i1, llvm::MVT::i16, llvm::MVT::i32, llvm::MVT::i64, llvm::MVT::i8, and llvm::MVT::SimpleTy.

static bool isIntExtFree ( const Instruction I)
static

Check if the sign-/zero-extend will be a noop.

Definition at line 268 of file AArch64FastISel.cpp.

References assert(), llvm::User::getOperand(), llvm::Value::getType(), I, llvm::Type::isIntegerTy(), and llvm::Type::isVectorTy().

static bool isMulPowOf2 ( const Value I)
static

Check if the multiply is by a power-of-2 constant.

Definition at line 495 of file AArch64FastISel.cpp.

References MI.

static bool isSExtLoad ( const MachineInstr LI)
static

Definition at line 4359 of file AArch64FastISel.cpp.

References llvm::MachineInstr::getOpcode().

static bool isZExtLoad ( const MachineInstr LI)
static

Definition at line 4339 of file AArch64FastISel.cpp.

References llvm::MachineInstr::getOpcode().