LLVM 20.0.0git
|
#include "AggressiveInstCombineInternal.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/Analysis/ConstantFolding.h"
#include "llvm/IR/DataLayout.h"
#include "llvm/IR/Dominators.h"
#include "llvm/IR/IRBuilder.h"
#include "llvm/IR/Instruction.h"
#include "llvm/Support/KnownBits.h"
Go to the source code of this file.
Macros | |
#define | DEBUG_TYPE "aggressive-instcombine" |
Functions | |
STATISTIC (NumExprsReduced, "Number of truncations eliminated by reducing bit " "width of expression graph") | |
STATISTIC (NumInstrsReduced, "Number of instructions whose bit width was reduced") | |
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 graph optimizaton. | |
static Type * | getReducedType (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 . | |
#define DEBUG_TYPE "aggressive-instcombine" |
Definition at line 39 of file TruncInstCombine.cpp.
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 359 of file TruncInstCombine.cpp.
References assert(), llvm::VectorType::get(), and llvm::Type::isVectorTy().
|
static |
Given an instruction and a container, it fills all the relevant operands of that instruction, with respect to the Trunc expression graph optimizaton.
Definition at line 48 of file TruncInstCombine.cpp.
References I, llvm_unreachable, and llvm::SmallVectorTemplateBase< T, bool >::push_back().
STATISTIC | ( | NumExprsReduced | , |
"Number of truncations eliminated by reducing bit " "width of expression graph" | |||
) |
STATISTIC | ( | NumInstrsReduced | , |
"Number of instructions whose bit width was reduced" | |||
) |