|
LLVM
4.0.0
|
This file provides internal interfaces used to implement the InstCombine. More...
#include "llvm/Analysis/AliasAnalysis.h"#include "llvm/Analysis/AssumptionCache.h"#include "llvm/Analysis/LoopInfo.h"#include "llvm/Analysis/TargetFolder.h"#include "llvm/Analysis/ValueTracking.h"#include "llvm/IR/Dominators.h"#include "llvm/IR/IRBuilder.h"#include "llvm/IR/InstVisitor.h"#include "llvm/IR/IntrinsicInst.h"#include "llvm/IR/Operator.h"#include "llvm/IR/PatternMatch.h"#include "llvm/Pass.h"#include "llvm/Transforms/InstCombine/InstCombineWorklist.h"Go to the source code of this file.
Classes | |
| class | llvm::InstCombiner |
| The core instruction combiner logic. More... | |
Namespaces | |
| llvm | |
| Compute iterated dominance frontiers using a linear time algorithm. | |
Macros | |
| #define | DEBUG_TYPE "instcombine" |
Enumerations | |
| enum | llvm::OverflowCheckFlavor { llvm::OCF_UNSIGNED_ADD, llvm::OCF_SIGNED_ADD, llvm::OCF_UNSIGNED_SUB, llvm::OCF_SIGNED_SUB, llvm::OCF_UNSIGNED_MUL, llvm::OCF_SIGNED_MUL, llvm::OCF_INVALID } |
| Specific patterns of overflow check idioms that we match. More... | |
Functions | |
| static unsigned | llvm::getComplexity (Value *V) |
| Assign a complexity or rank value to LLVM Values. More... | |
| static Constant * | llvm::AddOne (Constant *C) |
| Add one to a Constant. More... | |
| static Constant * | llvm::SubOne (Constant *C) |
| Subtract one from a Constant. More... | |
| static bool | llvm::IsFreeToInvert (Value *V, bool WillInvertAllUses) |
| Return true if the specified value is free to invert (apply ~ to). More... | |
| static OverflowCheckFlavor | llvm::IntrinsicIDToOverflowCheckFlavor (unsigned ID) |
| Returns the OverflowCheckFlavor corresponding to a overflow_with_op intrinsic. More... | |
This file provides internal interfaces used to implement the InstCombine.
Definition in file InstCombineInternal.h.
| #define DEBUG_TYPE "instcombine" |
Definition at line 32 of file InstCombineInternal.h.
1.8.6