Home
last modified time | relevance | path

Searched refs:Instruction (Results 1 – 25 of 1745) sorted by relevance

12345678910>>...70

/openbsd/src/gnu/llvm/llvm/lib/Transforms/InstCombine/
DInstCombineInternal.h63 public InstVisitor<InstCombinerImpl, Instruction *> {
88 Instruction *visitFNeg(UnaryOperator &I);
89 Instruction *visitAdd(BinaryOperator &I);
90 Instruction *visitFAdd(BinaryOperator &I);
93 Instruction *visitSub(BinaryOperator &I);
94 Instruction *visitFSub(BinaryOperator &I);
95 Instruction *visitMul(BinaryOperator &I);
96 Instruction *visitFMul(BinaryOperator &I);
97 Instruction *visitURem(BinaryOperator &I);
98 Instruction *visitSRem(BinaryOperator &I);
[all …]
/openbsd/src/gnu/llvm/llvm/lib/IR/
DInstruction.cpp24 Instruction::Instruction(Type *ty, unsigned it, Use *Ops, unsigned NumOps, in Instruction() function in Instruction
25 Instruction *InsertBefore) in Instruction()
36 Instruction::Instruction(Type *ty, unsigned it, Use *Ops, unsigned NumOps, in Instruction() function in Instruction
45 Instruction::~Instruction() { in ~Instruction()
66 void Instruction::setParent(BasicBlock *P) { in setParent()
70 const Module *Instruction::getModule() const { in getModule()
74 const Function *Instruction::getFunction() const { in getFunction()
78 void Instruction::removeFromParent() { in removeFromParent()
82 iplist<Instruction>::iterator Instruction::eraseFromParent() { in eraseFromParent()
88 void Instruction::insertBefore(Instruction *InsertPos) { in insertBefore()
[all …]
/openbsd/src/gnu/llvm/llvm/lib/Transforms/Scalar/
DSpeculativeExecution.cpp213 static InstructionCost ComputeSpeculationCost(const Instruction *I, in ComputeSpeculationCost()
216 case Instruction::GetElementPtr: in ComputeSpeculationCost()
217 case Instruction::Add: in ComputeSpeculationCost()
218 case Instruction::Mul: in ComputeSpeculationCost()
219 case Instruction::And: in ComputeSpeculationCost()
220 case Instruction::Or: in ComputeSpeculationCost()
221 case Instruction::Select: in ComputeSpeculationCost()
222 case Instruction::Shl: in ComputeSpeculationCost()
223 case Instruction::Sub: in ComputeSpeculationCost()
224 case Instruction::LShr: in ComputeSpeculationCost()
[all …]
DFloat2Int.cpp110 static Instruction::BinaryOps mapBinOpcode(unsigned Opcode) { in mapBinOpcode()
113 case Instruction::FAdd: return Instruction::Add; in mapBinOpcode()
114 case Instruction::FSub: return Instruction::Sub; in mapBinOpcode()
115 case Instruction::FMul: return Instruction::Mul; in mapBinOpcode()
128 for (Instruction &I : BB) { in findRoots()
133 case Instruction::FPToUI: in findRoots()
134 case Instruction::FPToSI: in findRoots()
137 case Instruction::FCmp: in findRoots()
148 void Float2IntPass::seen(Instruction *I, ConstantRange R) { in seen()
185 std::deque<Instruction*> Worklist(Roots.begin(), Roots.end()); in walkBackwards()
[all …]
DReassociate.cpp75 static void PrintOps(Instruction *I, const SmallVectorImpl<ValueEntry> &Ops) { in PrintOps()
77 dbgs() << Instruction::getOpcodeName(I->getOpcode()) << " " in PrintOps()
120 Instruction *I = dyn_cast<Instruction>(V); in XorOpnd()
123 if (I && (I->getOpcode() == Instruction::Or || in XorOpnd()
124 I->getOpcode() == Instruction::And)) { in XorOpnd()
134 isOr = (I->getOpcode() == Instruction::Or); in XorOpnd()
149 static bool hasFPAssociativeFlags(Instruction *I) { in hasFPAssociativeFlags()
192 for (Instruction &I : *BB) in BuildRankMap()
199 Instruction *I = dyn_cast<Instruction>(V); in getRank()
229 void ReassociatePass::canonicalizeOperands(Instruction *I) { in canonicalizeOperands()
[all …]
DLoopRerollPass.cpp192 using SmallInstructionVector = SmallVector<Instruction *, 16>;
193 using SmallInstructionSet = SmallPtrSet<Instruction *, 16>;
194 using TinyInstructionVector = SmallVector<Instruction *, 1>;
197 DenseMap<Instruction *, int64_t> IVToIncMap;
207 SimpleLoopReduction(Instruction *P, Loop *L) : Instructions(1, P) { in SimpleLoopReduction()
216 Instruction *getPHI() const { in getPHI()
221 Instruction *getReducedValue() const { in getReducedValue()
226 Instruction *get(size_t i) const { in get()
231 Instruction *operator [] (size_t i) const { return get(i); } in operator []()
293 for (Instruction *J : PossibleReds[i]) { in restrictToScale()
[all …]
/openbsd/src/gnu/llvm/llvm/lib/CodeGen/
DComplexDeinterleavingPass.cpp127 Instruction *R, Instruction *I) in ComplexDeinterleavingCompositeNode()
137 Instruction *Real;
138 Instruction *Imag;
143 SmallVector<Instruction *> InternalInstructions;
148 void addInstruction(Instruction *I) { InternalInstructions.push_back(I); } in addInstruction()
151 bool hasAllInternalUses(SmallPtrSet<Instruction *, 16> &AllInstructions);
201 Instruction *RootValue;
204 SmallPtrSet<Instruction *, 16> AllInstructions;
207 Instruction *R, Instruction *I) { in prepareCompositeNode()
240 NodePtr identifyPartialMul(Instruction *Real, Instruction *Imag);
[all …]
/openbsd/src/gnu/llvm/llvm/lib/Transforms/AggressiveInstCombine/
DTruncInstCombine.cpp48 static void getRelevantOperands(Instruction *I, SmallVectorImpl<Value *> &Ops) { in getRelevantOperands()
51 case Instruction::Trunc: in getRelevantOperands()
52 case Instruction::ZExt: in getRelevantOperands()
53 case Instruction::SExt: in getRelevantOperands()
57 case Instruction::Add: in getRelevantOperands()
58 case Instruction::Sub: in getRelevantOperands()
59 case Instruction::Mul: in getRelevantOperands()
60 case Instruction::And: in getRelevantOperands()
61 case Instruction::Or: in getRelevantOperands()
62 case Instruction::Xor: in getRelevantOperands()
[all …]
/openbsd/src/gnu/llvm/llvm/lib/FuzzMutate/
DOperations.cpp19 Ops.push_back(binOpDescriptor(1, Instruction::Add)); in describeFuzzerIntOps()
20 Ops.push_back(binOpDescriptor(1, Instruction::Sub)); in describeFuzzerIntOps()
21 Ops.push_back(binOpDescriptor(1, Instruction::Mul)); in describeFuzzerIntOps()
22 Ops.push_back(binOpDescriptor(1, Instruction::SDiv)); in describeFuzzerIntOps()
23 Ops.push_back(binOpDescriptor(1, Instruction::UDiv)); in describeFuzzerIntOps()
24 Ops.push_back(binOpDescriptor(1, Instruction::SRem)); in describeFuzzerIntOps()
25 Ops.push_back(binOpDescriptor(1, Instruction::URem)); in describeFuzzerIntOps()
26 Ops.push_back(binOpDescriptor(1, Instruction::Shl)); in describeFuzzerIntOps()
27 Ops.push_back(binOpDescriptor(1, Instruction::LShr)); in describeFuzzerIntOps()
28 Ops.push_back(binOpDescriptor(1, Instruction::AShr)); in describeFuzzerIntOps()
[all …]
DIRMutator.cpp117 SmallVector<Instruction *, 32> Insts; in mutate()
167 auto RS = makeSampler<Instruction *>(IB.Rand); in mutate()
168 for (Instruction &Inst : instructions(F)) { in mutate()
185 void InstDeleterIRStrategy::mutate(Instruction &Inst, RandomIRBuilder &IB) { in mutate()
199 SmallVector<Instruction *, 32> InstsBefore; in mutate()
214 void InstModificationIRStrategy::mutate(Instruction &Inst, in mutate()
223 case Instruction::Add: in mutate()
224 case Instruction::Mul: in mutate()
225 case Instruction::Sub: in mutate()
226 case Instruction::Shl: in mutate()
[all …]
/openbsd/src/gnu/llvm/llvm/include/llvm/IR/
DInstruction.h37 template <> struct ilist_alloc_traits<Instruction> {
38 static inline void deleteNode(Instruction *V);
41 class Instruction : public User,
42 public ilist_node_with_parent<Instruction, BasicBlock> {
79 ~Instruction(); // Use deleteValue() to delete a generic Instruction.
82 Instruction(const Instruction &) = delete;
83 Instruction &operator=(const Instruction &) = delete;
87 Instruction *user_back() { return cast<Instruction>(*user_begin());}
88 const Instruction *user_back() const { return cast<Instruction>(*user_begin());}
101 static_cast<const Instruction *>(this)->getModule());
[all …]
DOperator.h42 if (const Instruction *I = dyn_cast<Instruction>(this)) in getOpcode()
50 if (const Instruction *I = dyn_cast<Instruction>(V)) in getOpcode()
54 return Instruction::UserOp1; in getOpcode()
57 static bool classof(const Instruction *) { return true; } in classof() argument
60 return isa<Instruction>(V) || isa<ConstantExpr>(V); in classof()
84 friend class Instruction;
109 static bool classof(const Instruction *I) { in classof()
110 return I->getOpcode() == Instruction::Add || in classof()
111 I->getOpcode() == Instruction::Sub || in classof()
112 I->getOpcode() == Instruction::Mul || in classof()
[all …]
DInstructions.h70 friend class Instruction;
76 const Twine &Name, Instruction *InsertBefore);
81 Instruction *InsertBefore);
86 const Twine &Name = "", Instruction *InsertBefore = nullptr);
101 return cast<PointerType>(Instruction::getType()); in getType()
155 static bool classof(const Instruction *I) { in classof()
156 return (I->getOpcode() == Instruction::Alloca); in classof()
159 return isa<Instruction>(V) && classof(cast<Instruction>(V)); in classof()
167 Instruction::setSubclassData<Bitfield>(Value); in setSubclassData()
189 friend class Instruction;
[all …]
DNoFolder.h48 Value *FoldBinOp(Instruction::BinaryOps Opc, Value *LHS, in FoldBinOp()
53 Value *FoldExactBinOp(Instruction::BinaryOps Opc, Value *LHS, Value *RHS, in FoldExactBinOp()
58 Value *FoldNoWrapBinOp(Instruction::BinaryOps Opc, Value *LHS, Value *RHS, in FoldNoWrapBinOp()
63 Value *FoldBinOpFMF(Instruction::BinaryOps Opc, Value *LHS, Value *RHS, in FoldBinOpFMF()
68 Value *FoldUnOpFMF(Instruction::UnaryOps Opc, Value *V, in FoldUnOpFMF()
114 Instruction *CreateCast(Instruction::CastOps Op, Constant *C, in CreateCast()
119 Instruction *CreatePointerCast(Constant *C, Type *DestTy) const override { in CreatePointerCast()
123 Instruction *CreatePointerBitCastOrAddrSpaceCast( in CreatePointerBitCastOrAddrSpaceCast()
128 Instruction *CreateIntCast(Constant *C, Type *DestTy, in CreateIntCast()
133 Instruction *CreateFPCast(Constant *C, Type *DestTy) const override { in CreateFPCast()
[all …]
/openbsd/src/gnu/llvm/llvm/lib/Target/SystemZ/
DSystemZTargetTransformInfo.cpp36 if (const Instruction *User = dyn_cast<Instruction>(U)) { in isUsedAsMemCpySource()
105 Instruction *Inst) { in getIntImmCostInst()
120 case Instruction::GetElementPtr: in getIntImmCostInst()
127 case Instruction::Store: in getIntImmCostInst()
137 case Instruction::ICmp: in getIntImmCostInst()
147 case Instruction::Add: in getIntImmCostInst()
148 case Instruction::Sub: in getIntImmCostInst()
158 case Instruction::Mul: in getIntImmCostInst()
165 case Instruction::Or: in getIntImmCostInst()
166 case Instruction::Xor: in getIntImmCostInst()
[all …]
/openbsd/src/gnu/llvm/llvm/lib/Target/ARM/
DMVELaneInterleavingPass.cpp115 static bool isProfitableToInterleave(SmallSetVector<Instruction *, 4> &Exts, in isProfitableToInterleave() argument
116 SmallSetVector<Instruction *, 4> &Truncs) { in isProfitableToInterleave()
146 cast<Instruction>(*E->user_begin())->getOpcode() != Instruction::Mul) { in isProfitableToInterleave()
154 static bool tryInterleave(Instruction *Start, in tryInterleave()
155 SmallPtrSetImpl<Instruction *> &Visited) { in tryInterleave()
159 if (!isa<Instruction>(Start->getOperand(0))) in tryInterleave()
163 std::vector<Instruction *> Worklist; in tryInterleave()
165 Worklist.push_back(cast<Instruction>(Start->getOperand(0))); in tryInterleave()
167 SmallSetVector<Instruction *, 4> Truncs; in tryInterleave()
168 SmallSetVector<Instruction *, 4> Exts; in tryInterleave()
[all …]
/openbsd/src/gnu/llvm/llvm/include/llvm/Analysis/
DIVDescriptors.h27 class Instruction; variable
73 RecurrenceDescriptor(Value *Start, Instruction *Exit, StoreInst *Store, in RecurrenceDescriptor()
74 RecurKind K, FastMathFlags FMF, Instruction *ExactFP, in RecurrenceDescriptor()
76 SmallPtrSetImpl<Instruction *> &CI, in RecurrenceDescriptor()
88 InstDesc(bool IsRecur, Instruction *I, Instruction *ExactFP = nullptr)
92 InstDesc(Instruction *I, RecurKind K, Instruction *ExactFP = nullptr)
100 Instruction *getExactFPMathInst() const { return ExactFPMathInst; } in getExactFPMathInst()
104 Instruction *getPatternInst() const { return PatternLastInst; } in getPatternInst()
111 Instruction *PatternLastInst;
115 Instruction *ExactFPMathInst;
[all …]
DMustExecute.h40 class Instruction; variable
97 virtual bool isGuaranteedToExecute(const Instruction &Inst,
122 bool isGuaranteedToExecute(const Instruction &Inst,
147 bool isGuaranteedToExecute(const Instruction &Inst,
158 bool doesNotWriteMemoryBefore(const Instruction &I, const Loop *CurLoop)
164 void insertInstructionTo(const Instruction *Inst, const BasicBlock *BB);
169 void removeInstruction(const Instruction *Inst);
275 typedef const Instruction *value_type;
277 typedef const Instruction **pointer;
278 typedef const Instruction *&reference;
[all …]
DInstructionPrecedenceTracking.h28 class Instruction; variable
34 DenseMap<const BasicBlock *, const Instruction *> FirstSpecialInsts;
54 const Instruction *getFirstSpecialInstruction(const BasicBlock *BB);
62 bool isPreceededBySpecialInstruction(const Instruction *Insn);
69 virtual bool isSpecialInstruction(const Instruction *Insn) const = 0;
77 void insertInstructionTo(const Instruction *Inst, const BasicBlock *BB);
81 void removeInstruction(const Instruction *Inst);
86 void removeUsersOf(const Instruction *Inst);
103 const Instruction *getFirstICFI(const BasicBlock *BB) { in getFirstICFI()
114 bool isDominatedByICFIFromSameBlock(const Instruction *Insn) { in isDominatedByICFIFromSameBlock()
[all …]
/openbsd/src/gnu/llvm/llvm/include/llvm/Transforms/InstCombine/
DInstCombiner.h128 if (isa<Instruction>(V)) { in getComplexity()
279 static bool canFreelyInvertAllUsersOf(Instruction *V, Value *IgnoredUser) { in canFreelyInvertAllUsersOf()
285 auto *I = cast<Instruction>(U.getUser()); in canFreelyInvertAllUsersOf()
287 case Instruction::Select: in canFreelyInvertAllUsersOf()
293 case Instruction::Br: in canFreelyInvertAllUsersOf()
296 case Instruction::Xor: // Can invert 'xor' if it's a 'not', by ignoring in canFreelyInvertAllUsersOf()
326 case Instruction::SRem: // X % 1 = 0 in getSafeVectorConstantForBinop()
327 case Instruction::URem: // X %u 1 = 0 in getSafeVectorConstantForBinop()
330 case Instruction::FRem: // X % 1.0 (doesn't simplify, but it is safe) in getSafeVectorConstantForBinop()
339 case Instruction::Shl: // 0 << X = 0 in getSafeVectorConstantForBinop()
[all …]
/openbsd/src/gnu/llvm/llvm/include/llvm/Transforms/Utils/
DInstructionWorklist.h26 SmallVector<Instruction *, 256> Worklist;
27 DenseMap<Instruction *, unsigned> WorklistMap;
31 SmallSetVector<Instruction *, 16> Deferred;
44 void add(Instruction *I) { in add()
52 if (Instruction *I = dyn_cast<Instruction>(V)) in addValue()
58 void push(Instruction *I) { in push()
69 if (Instruction *I = dyn_cast<Instruction>(V)) in pushValue()
73 Instruction *popDeferred() { in popDeferred()
85 void remove(Instruction *I) { in remove()
86 DenseMap<Instruction *, unsigned>::iterator It = WorklistMap.find(I); in remove()
[all …]
DLocal.h41 class Instruction; variable
73 bool isInstructionTriviallyDead(Instruction *I,
79 bool wouldInstructionBeTriviallyDead(Instruction *I,
88 Instruction *I, const TargetLibraryInfo *TLI = nullptr);
144 bool replaceDbgUsesWithUndef(Instruction *I);
197 AllocaInst *DemoteRegToStack(Instruction &X,
199 Instruction *AllocaPoint = nullptr);
204 AllocaInst *DemotePHIToStack(PHINode *P, Instruction *AllocaPoint = nullptr);
217 const Instruction *CxtI = nullptr,
223 const Instruction *CxtI = nullptr,
[all …]
/openbsd/src/gnu/llvm/llvm/lib/Analysis/
DIVDescriptors.cpp34 bool RecurrenceDescriptor::areAllUsesIn(Instruction *I, in areAllUsesIn()
35 SmallPtrSetImpl<Instruction *> &Set) { in areAllUsesIn()
37 if (!Set.count(dyn_cast<Instruction>(Use))) in areAllUsesIn()
70 static Instruction *lookThroughAnd(PHINode *Phi, Type *&RT, in lookThroughAnd()
71 SmallPtrSetImpl<Instruction *> &Visited, in lookThroughAnd()
72 SmallPtrSetImpl<Instruction *> &CI) { in lookThroughAnd()
77 Instruction *I, *J = cast<Instruction>(Phi->use_begin()->getUser()); in lookThroughAnd()
95 static std::pair<Type *, bool> computeRecurrenceType(Instruction *Exit, in computeRecurrenceType()
142 static void collectCastInstrs(Loop *TheLoop, Instruction *Exit, in collectCastInstrs()
144 SmallPtrSetImpl<Instruction *> &Casts, in collectCastInstrs()
[all …]
/openbsd/src/gnu/llvm/llvm/lib/Target/Hexagon/
DHexagonVectorLoopCarriedReuse.cpp71 using ChainOfDependences = SmallVector<Instruction *, 4>;
100 void push_back(Instruction *I) { in push_back()
108 Instruction *front() const { in front()
112 Instruction *back() const { in back()
116 Instruction *&operator[](const int index) { in operator []()
136 Instruction *Inst2Replace = nullptr;
141 Instruction *BackedgeInst = nullptr;
142 std::map<Instruction *, DepChain *> DepChains;
195 std::set<Instruction *> ReplacedInsts;
202 void findDepChainFromPHI(Instruction *I, DepChain &D);
[all …]
/openbsd/src/gnu/llvm/llvm/include/llvm/Transforms/Scalar/
DReassociate.h38 class Instruction; variable
74 SetVector<AssertingVH<Instruction>, std::deque<AssertingVH<Instruction>>>;
84 Instruction::BinaryOpsEnd - Instruction::BinaryOpsBegin;
102 void canonicalizeOperands(Instruction *I);
108 Value *OptimizeAdd(Instruction *I,
110 Value *OptimizeXor(Instruction *I,
112 bool CombineXorOpnd(Instruction *I, reassociate::XorOpnd *Opnd1,
114 bool CombineXorOpnd(Instruction *I, reassociate::XorOpnd *Opnd1,
122 void EraseInst(Instruction *I);
123 void RecursivelyEraseDeadInsts(Instruction *I, OrderedSet &Insts);
[all …]

12345678910>>...70