LLVM  11.0.0git
Macros | Functions
TruncInstCombine.cpp File Reference
#include "AggressiveInstCombineInternal.h"
#include "llvm/ADT/MapVector.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/Analysis/ConstantFolding.h"
#include "llvm/Analysis/TargetLibraryInfo.h"
#include "llvm/IR/DataLayout.h"
#include "llvm/IR/Dominators.h"
#include "llvm/IR/IRBuilder.h"
Include dependency graph for TruncInstCombine.cpp:

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "aggressive-instcombine"
 

Functions

static void getRelevantOperands (Instruction *I, SmallVectorImpl< Value *> &Ops)
 Given an instruction and a container, it fills all the relevant operands of that instruction, with respect to the Trunc expression dag optimizaton. More...
 
static TypegetReducedType (Value *V, Type *Ty)
 Given a reduced scalar type Ty and a V value, return a reduced type for V, according to its type, if it vector type, return the vector version of Ty, otherwise return Ty. More...
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "aggressive-instcombine"

Definition at line 37 of file TruncInstCombine.cpp.

Function Documentation

◆ getReducedType()

static Type* getReducedType ( Value V,
Type Ty 
)
static

Given a reduced scalar type Ty and a V value, return a reduced type for V, according to its type, if it vector type, return the vector version of Ty, otherwise return Ty.

Definition at line 282 of file TruncInstCombine.cpp.

References assert(), C, llvm::ConstantFoldConstant(), llvm::FixedVectorType::get(), llvm::ConstantExpr::getIntegerCast(), llvm::Value::getType(), I, Info, and llvm::Type::isVectorTy().

◆ getRelevantOperands()

static void getRelevantOperands ( Instruction I,
SmallVectorImpl< Value *> &  Ops 
)
static