LLVM API Documentation

TargetLowering.cpp File Reference

#include "llvm/Target/TargetLowering.h"
#include "llvm/Target/TargetData.h"
#include "llvm/Target/TargetMachine.h"
#include "llvm/Target/MRegisterInfo.h"
#include "llvm/DerivedTypes.h"
#include "llvm/CodeGen/SelectionDAG.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/Support/MathExtras.h"

Include dependency graph for TargetLowering.cpp:

Go to the source code of this file.

Classes

struct  ms
struct  mu

Functions

static void SetValueTypeAction (MVT::ValueType VT, TargetLowering::LegalizeAction Action, TargetLowering &TLI, MVT::ValueType *TransformToType, TargetLowering::ValueTypeActionImpl &ValueTypeActions)
static ms magic32 (int32_t d)
static mu magicu32 (uint32_t d)
static ms magic64 (int64_t d)
static mu magicu64 (uint64_t d)


Function Documentation

static ms magic32 ( int32_t  d  )  [static]

magic - calculate the magic numbers required to codegen an integer sdiv as a sequence of multiply and shifts. Requires that the divisor not be 0, 1, or -1.

Definition at line 1372 of file TargetLowering.cpp.

References ms::m, ms::s, and U.

Referenced by llvm::TargetLowering::BuildSDIV().

static ms magic64 ( int64_t  d  )  [static]

magic - calculate the magic numbers required to codegen an integer sdiv as a sequence of multiply and shifts. Requires that the divisor not be 0, 1, or -1.

Definition at line 1452 of file TargetLowering.cpp.

References ms::m, and ms::s.

Referenced by llvm::TargetLowering::BuildSDIV().

static mu magicu32 ( uint32_t  d  )  [static]

magicu - calculate the magic numbers required to codegen an integer udiv as a sequence of multiply, add and shifts. Requires that the divisor not be 0.

Definition at line 1411 of file TargetLowering.cpp.

References mu::a, mu::m, and mu::s.

Referenced by llvm::TargetLowering::BuildUDIV().

static mu magicu64 ( uint64_t  d  )  [static]

magicu - calculate the magic numbers required to codegen an integer udiv as a sequence of multiply, add and shifts. Requires that the divisor not be 0.

Definition at line 1491 of file TargetLowering.cpp.

References mu::a, mu::m, and mu::s.

Referenced by llvm::TargetLowering::BuildUDIV().

static void SetValueTypeAction ( MVT::ValueType  VT,
TargetLowering::LegalizeAction  Action,
TargetLowering TLI,
MVT::ValueType TransformToType,
TargetLowering::ValueTypeActionImpl ValueTypeActions 
) [static]

setValueTypeAction - Set the action for a particular value type. This assumes an action has not already been set for this value type.

Definition at line 50 of file TargetLowering.cpp.

References llvm::TargetLowering::Expand, llvm::MVT::f32, llvm::MVT::f64, llvm::MVT::i8, llvm::MVT::isFloatingPoint(), llvm::MVT::isInteger(), llvm::TargetLowering::isTypeLegal(), llvm::TargetLowering::Promote, llvm::TargetLowering::ValueTypeActionImpl::setTypeAction(), TLI, ValueTypeActions, and llvm::MVT::Vector.

Referenced by llvm::TargetLowering::computeRegisterProperties().