Home
last modified time | relevance | path

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

12345678910>>...97

/llvm-project-15.0.7/llvm/lib/Transforms/InstCombine/
H A DInstCombineInternal.h154 Instruction *visitAllocSite(Instruction &FI);
165 Instruction *
180 Instruction *visitInstruction(Instruction &I) { return nullptr; } in visitInstruction()
252 Instruction *transformSExtICmp(ICmpInst *ICI, Instruction &CI);
384 Instruction *InsertNewInstBefore(Instruction *New, Instruction &Old) { in InsertNewInstBefore()
394 Instruction *InsertNewInstWith(Instruction *New, Instruction &Old) { in InsertNewInstWith()
405 Instruction *replaceInstUsesWith(Instruction &I, Value *V) { in replaceInstUsesWith()
453 Instruction *eraseInstFromFunction(Instruction &I) override { in eraseInstFromFunction()
593 Instruction *Shr, const APInt &ShrOp1, Instruction *Shl,
612 Instruction *foldOpIntoPhi(Instruction &I, PHINode *PN);
[all …]
/llvm-project-15.0.7/llvm/lib/IR/
H A DInstruction.cpp44 Instruction::~Instruction() { in ~Instruction()
77 iplist<Instruction>::iterator Instruction::eraseFromParent() { in eraseFromParent()
83 void Instruction::insertBefore(Instruction *InsertPos) { in insertBefore()
89 void Instruction::insertAfter(Instruction *InsertPos) { in insertAfter()
96 void Instruction::moveBefore(Instruction *MovePos) { in moveBefore()
100 void Instruction::moveAfter(Instruction *MovePos) { in moveAfter()
110 bool Instruction::comesBefore(const Instruction *Other) const { in comesBefore()
294 void Instruction::copyFastMathFlags(const Instruction *I) { in copyFastMathFlags()
534 bool Instruction::isSameOperationAs(const Instruction *I, in isSameOperationAs()
820 Instruction *Instruction::cloneImpl() const { in cloneImpl()
[all …]
/llvm-project-15.0.7/llvm/lib/Transforms/Scalar/
H A DSpeculativeExecution.cpp217 case Instruction::Add: in ComputeSpeculationCost()
218 case Instruction::Mul: in ComputeSpeculationCost()
219 case Instruction::And: in ComputeSpeculationCost()
220 case Instruction::Or: in ComputeSpeculationCost()
222 case Instruction::Shl: in ComputeSpeculationCost()
223 case Instruction::Sub: in ComputeSpeculationCost()
224 case Instruction::LShr: in ComputeSpeculationCost()
225 case Instruction::AShr: in ComputeSpeculationCost()
226 case Instruction::Xor: in ComputeSpeculationCost()
227 case Instruction::ZExt: in ComputeSpeculationCost()
[all …]
H A DFloat2Int.cpp113 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()
224 if (Instruction *OI = dyn_cast<Instruction>(O)) { in walkBackwards()
242 if (Instruction *OI = dyn_cast<Instruction>(O)) { in calcRange()
299 case Instruction::FAdd: in calcRange()
300 case Instruction::FSub: in calcRange()
320 case Instruction::FCmp: in calcRange()
373 Instruction *UI = dyn_cast<Instruction>(U); in validateAndTransform()
440 } else if (Instruction *VI = dyn_cast<Instruction>(V)) { in convert()
[all …]
H A DLoopRerollPass.cpp303 bool isPairInSame(Instruction *J1, Instruction *J2) { in isPairInSame()
317 void recordPair(Instruction *J1, Instruction *J2, unsigned i) { in recordPair()
447 Instruction *IV;
701 Instruction *User = cast<Instruction>(U.getUser()); in collectInLoopUserSet()
715 if (Instruction *Op = dyn_cast<Instruction>(U)) in collectInLoopUserSet()
748 if (Instruction *I = dyn_cast<Instruction>(IVU)) { in isSimpleArithmeticOp()
805 if (Instruction *II = dyn_cast<Instruction>(I)) { in collectPossibleRoots()
871 Instruction *I = cast<Instruction>(V); in findRootsRecursive()
1189 Instruction *IVUser = dyn_cast<Instruction>(U); in validate()
1193 Instruction *UUser = dyn_cast<Instruction>(UU); in validate()
[all …]
H A DReassociate.cpp120 Instruction *I = dyn_cast<Instruction>(V); in XorOpnd()
199 Instruction *I = dyn_cast<Instruction>(V); in getRank()
883 Instruction *TheNeg = cast<Instruction>(U); in NegateValue()
1000 for (auto Op : {Instruction::Add, Instruction::Sub, Instruction::Mul, in shouldConvertOrWithNoCommonBitsToAdd()
1127 if (Instruction *I2 = dyn_cast<Instruction>(X)) in FindInOperandList()
1136 if (Instruction *I2 = dyn_cast<Instruction>(X)) in FindInOperandList()
1749 if (Instruction *VI = dyn_cast<Instruction>(V)) in OptimizeAdd()
1885 if (Instruction *MI = dyn_cast<Instruction>(M)) in buildMinimalMultiplyDAG()
2031 if (Instruction *OpInst = dyn_cast<Instruction>(Op)) in RecursivelyEraseDeadInsts()
2369 if (Instruction *VI = dyn_cast<Instruction>(V)) in ReassociateExpression()
[all …]
/llvm-project-15.0.7/llvm/lib/Transforms/AggressiveInstCombine/
H A DTruncInstCombine.cpp52 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()
63 case Instruction::Shl: in getRelevantOperands()
64 case Instruction::LShr: in getRelevantOperands()
[all …]
/llvm-project-15.0.7/llvm/lib/FuzzMutate/
H A DOperations.cpp97 case Instruction::Add: in binOpDescriptor()
98 case Instruction::Sub: in binOpDescriptor()
99 case Instruction::Mul: in binOpDescriptor()
100 case Instruction::SDiv: in binOpDescriptor()
101 case Instruction::UDiv: in binOpDescriptor()
102 case Instruction::SRem: in binOpDescriptor()
103 case Instruction::URem: in binOpDescriptor()
104 case Instruction::Shl: in binOpDescriptor()
107 case Instruction::And: in binOpDescriptor()
108 case Instruction::Or: in binOpDescriptor()
[all …]
/llvm-project-15.0.7/llvm/include/llvm/IR/
H A DOperator.h43 if (const Instruction *I = dyn_cast<Instruction>(this)) in getOpcode()
51 if (const Instruction *I = dyn_cast<Instruction>(V)) in getOpcode()
81 friend class Instruction;
119 return (isa<Instruction>(V) && classof(cast<Instruction>(V))) || in classof()
133 friend class Instruction;
160 return (isa<Instruction>(V) && classof(cast<Instruction>(V))) || in classof()
169 friend class Instruction;
304 case Instruction::FNeg: in classof()
305 case Instruction::FAdd: in classof()
317 case Instruction::PHI: in classof()
[all …]
H A DInstruction.h42 class Instruction : public User,
83 Instruction(const Instruction &) = delete;
84 Instruction &operator=(const Instruction &) = delete;
88 Instruction *user_back() { return cast<Instruction>(*user_begin());}
89 const Instruction *user_back() const { return cast<Instruction>(*user_begin());}
233 case Instruction::Invoke:
234 case Instruction::Resume:
615 case Instruction::Call:
673 const Instruction *
684 const Instruction *
[all …]
H A DInstructions.h156 return isa<Instruction>(V) && classof(cast<Instruction>(V)); in classof()
276 return isa<Instruction>(V) && classof(cast<Instruction>(V)); in classof()
405 return isa<Instruction>(V) && classof(cast<Instruction>(V)); in classof()
483 return isa<Instruction>(V) && classof(cast<Instruction>(V));
683 return isa<Instruction>(V) && classof(cast<Instruction>(V));
887 return isa<Instruction>(V) && classof(cast<Instruction>(V));
1139 return isa<Instruction>(V) && classof(cast<Instruction>(V));
1348 return isa<Instruction>(V) && classof(cast<Instruction>(V));
1464 return isa<Instruction>(V) && classof(cast<Instruction>(V));
1740 : Instruction(S1->getType(), Instruction::Select,
[all …]
H A DNoFolder.h48 Value *FoldBinOp(Instruction::BinaryOps Opc, Value *LHS, in FoldBinOp()
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()
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()
138 return CreateCast(Instruction::BitCast, C, DestTy); in CreateBitCast()
142 return CreateCast(Instruction::IntToPtr, C, DestTy); in CreateIntToPtr()
146 return CreateCast(Instruction::PtrToInt, C, DestTy); in CreatePtrToInt()
[all …]
/llvm-project-15.0.7/llvm/lib/Target/SystemZ/
H A DSystemZTargetTransformInfo.cpp36 if (const Instruction *User = dyn_cast<Instruction>(U)) { in isUsedAsMemCpySource()
450 Opcode == Instruction::SDiv || Opcode == Instruction::SRem; in getArithmeticInstrCost()
452 Opcode == Instruction::UDiv || Opcode == Instruction::URem; in getArithmeticInstrCost()
475 if (Opcode == Instruction::FAdd || Opcode == Instruction::FSub || in getArithmeticInstrCost()
476 Opcode == Instruction::FMul || Opcode == Instruction::FDiv) in getArithmeticInstrCost()
487 if (const Instruction *I = dyn_cast<Instruction>(A)) in getArithmeticInstrCost()
497 if (const Instruction *I = dyn_cast<Instruction>(A)) in getArithmeticInstrCost()
528 if (Opcode == Instruction::Shl || Opcode == Instruction::LShr || in getArithmeticInstrCost()
752 if (Opcode == Instruction::ZExt || Opcode == Instruction::UIToFP) in getBoolVecToIntConversionCost()
1025 const Instruction *UserI = cast<Instruction>(*Ld->user_begin()); in isFoldableLoad()
[all …]
/llvm-project-15.0.7/llvm/lib/Target/ARM/
H A DMVELaneInterleavingPass.cpp146 cast<Instruction>(*E->user_begin())->getOpcode() != Instruction::Mul) { in isProfitableToInterleave()
186 case Instruction::SExt: in tryInterleave()
187 case Instruction::ZExt: in tryInterleave()
227 case Instruction::Add: in tryInterleave()
228 case Instruction::Sub: in tryInterleave()
229 case Instruction::Mul: in tryInterleave()
230 case Instruction::AShr: in tryInterleave()
231 case Instruction::LShr: in tryInterleave()
232 case Instruction::Shl: in tryInterleave()
233 case Instruction::ICmp: in tryInterleave()
[all …]
/llvm-project-15.0.7/llvm/include/llvm/Analysis/
H A DIVDescriptors.h27 class Instruction; variable
88 InstDesc(bool IsRecur, Instruction *I, Instruction *ExactFP = nullptr)
92 InstDesc(Instruction *I, RecurKind K, Instruction *ExactFP = nullptr)
111 Instruction *PatternLastInst;
115 Instruction *ExactFPMathInst;
134 static bool areAllUsesIn(Instruction *I, SmallPtrSetImpl<Instruction *> &Set);
192 MapVector<Instruction *, Instruction *> &SinkAfter,
280 Instruction *LoopExitInstr = nullptr;
287 Instruction *ExactFPMathInst = nullptr;
297 SmallPtrSet<Instruction *, 8> CastInsts;
[all …]
H A DMustExecute.h40 class Instruction; variable
275 typedef const Instruction *value_type;
277 typedef const Instruction **pointer;
278 typedef const Instruction *&reference;
345 void reset(const Instruction *I);
354 const Instruction *advance();
366 const Instruction *CurInst;
371 const Instruction *Head, *Tail;
470 bool findInContextOf(const Instruction *I, const Instruction *PP) { in findInContextOf()
494 const Instruction *
[all …]
H A 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);
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()
118 bool isSpecialInstruction(const Instruction *Insn) const override;
125 const Instruction *getFirstMemoryWrite(const BasicBlock *BB) { in getFirstMemoryWrite()
[all …]
/llvm-project-15.0.7/llvm/test/Analysis/IRSimilarityIdentifier/
H A Dbasic.ll9 ; CHECK-NEXT: Start Instruction: store i32 5, i32* %5, align 4
10 ; CHECK-NEXT: End Instruction: store i32 6, i32* %6, align 4
12 ; CHECK-NEXT: Start Instruction: store i32 4, i32* %4, align 4
13 ; CHECK-NEXT: End Instruction: store i32 5, i32* %5, align 4
15 ; CHECK-NEXT: Start Instruction: store i32 4, i32* %4, align 4
16 ; CHECK-NEXT: End Instruction: store i32 5, i32* %5, align 4
18 ; CHECK-NEXT: Start Instruction: store i32 4, i32* %4, align 4
19 ; CHECK-NEXT: End Instruction: store i32 5, i32* %5, align 4
22 ; CHECK-NEXT: Start Instruction: store i32 4, i32* %4, align 4
23 ; CHECK-NEXT: End Instruction: store i32 6, i32* %6, align 4
[all …]
/llvm-project-15.0.7/llvm/include/llvm/Transforms/InstCombine/
H A DInstCombiner.h128 if (isa<Instruction>(V)) { in getComplexity()
286 case Instruction::Select: in canFreelyInvertAllUsersOf()
292 case Instruction::Br: in canFreelyInvertAllUsersOf()
325 case Instruction::SRem: // X % 1 = 0 in getSafeVectorConstantForBinop()
341 case Instruction::SDiv: // 0 / X = 0 in getSafeVectorConstantForBinop()
343 case Instruction::SRem: // 0 % X = 0 in getSafeVectorConstantForBinop()
396 Instruction *InsertNewInstBefore(Instruction *New, Instruction &Old) { in InsertNewInstBefore()
406 Instruction *InsertNewInstWith(Instruction *New, Instruction &Old) { in InsertNewInstWith()
417 Instruction *replaceInstUsesWith(Instruction &I, Value *V) { in replaceInstUsesWith()
438 Instruction *replaceOperand(Instruction &I, unsigned OpNum, Value *V) { in replaceOperand()
[all …]
/llvm-project-15.0.7/llvm/lib/Analysis/
H A DIVDescriptors.cpp77 Instruction *I, *J = cast<Instruction>(Phi->use_begin()->getUser()); in lookThroughAnd()
439 Instruction *UI = cast<Instruction>(U); in AddReductionVar()
742 Instruction *I1 = in isConditionalRdxPattern()
777 case Instruction::Or: in isRecurrenceInstr()
812 Instruction *I, SmallPtrSetImpl<Instruction *> &Insts, in hasMultipleUsesOf()
926 MapVector<Instruction *, Instruction *> &SinkAfter, DominatorTree *DT) { in isFirstOrderRecurrence() argument
1155 if (RedOp == Instruction::ICmp || RedOp == Instruction::FCmp) in getReductionOpChain()
1158 auto getNextInstruction = [&](Instruction *Cur) -> Instruction * { in getReductionOpChain()
1160 Instruction *UI = cast<Instruction>(User); in getReductionOpChain()
1163 if (RedOp == Instruction::ICmp || RedOp == Instruction::FCmp) { in getReductionOpChain()
[all …]
/llvm-project-15.0.7/llvm/include/llvm/Transforms/Utils/
H A DInstructionWorklist.h26 SmallVector<Instruction *, 256> Worklist;
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()
96 Instruction *removeOne() { in removeOne()
106 void pushUsersToWorkList(Instruction &I) { in pushUsersToWorkList()
[all …]
/llvm-project-15.0.7/llvm/unittests/Transforms/Utils/
H A DIntegerDivisionTest.cpp41 EXPECT_TRUE(BB->front().getOpcode() == Instruction::SDiv); in TEST()
46 EXPECT_TRUE(BB->front().getOpcode() == Instruction::AShr); in TEST()
48 Instruction* Quotient = dyn_cast<Instruction>(cast<User>(Ret)->getOperand(0)); in TEST()
71 EXPECT_TRUE(BB->front().getOpcode() == Instruction::UDiv); in TEST()
78 Instruction* Quotient = dyn_cast<Instruction>(cast<User>(Ret)->getOperand(0)); in TEST()
108 Instruction* Remainder = dyn_cast<Instruction>(cast<User>(Ret)->getOperand(0)); in TEST()
138 Instruction* Remainder = dyn_cast<Instruction>(cast<User>(Ret)->getOperand(0)); in TEST()
169 Instruction* Quotient = dyn_cast<Instruction>(cast<User>(Ret)->getOperand(0)); in TEST()
199 Instruction* Quotient = dyn_cast<Instruction>(cast<User>(Ret)->getOperand(0)); in TEST()
229 Instruction* Remainder = dyn_cast<Instruction>(cast<User>(Ret)->getOperand(0)); in TEST()
[all …]
/llvm-project-15.0.7/llvm/lib/CodeGen/
H A DTypePromotion.cpp191 return Opc == Instruction::AShr || Opc == Instruction::SDiv || in GenerateSignBits()
192 Opc == Instruction::SRem || Opc == Instruction::SExt; in GenerateSignBits()
326 if (Opc != Instruction::Add && Opc != Instruction::Sub) in isSafeWrap()
402 Instruction *InstTo = dyn_cast<Instruction>(To); in ReplaceAllUsersOfWith()
703 case Instruction::Store: in isSupportedValue()
704 case Instruction::Br: in isSupportedValue()
707 case Instruction::PHI: in isSupportedValue()
709 case Instruction::Ret: in isSupportedValue()
710 case Instruction::Load: in isSupportedValue()
714 case Instruction::ZExt: in isSupportedValue()
[all …]
/llvm-project-15.0.7/llvm/include/llvm/Transforms/Scalar/
H A 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,
122 void EraseInst(Instruction *I);
124 void OptimizeInst(Instruction *I);
125 Instruction *canonicalizeNegFPConstantsForOp(Instruction *I, Instruction *Op,
[all …]
/llvm-project-15.0.7/llvm/lib/Target/Hexagon/
H A DHexagonVectorLoopCarriedReuse.cpp112 Instruction *back() const { in back()
205 DepChain *getDepChainBtwn(Instruction *I1, Instruction *I2, int Iters);
206 bool isEquivalentOperation(Instruction *I1, Instruction *I2);
390 Instruction *User = cast<Instruction>(U.getUser()); in findValueToReuse()
418 Instruction *BEUser = cast<Instruction>(U.getUser()); in findValueToReuse()
442 Instruction *OpInst = dyn_cast<Instruction>(Op); in findValueToReuse()
446 Instruction *BEOpInst = dyn_cast<Instruction>(BEOp); in findValueToReuse()
476 Instruction *OpInst = dyn_cast<Instruction>(Op); in findValueToReuse()
486 Instruction *BEOpInst = dyn_cast<Instruction>(BEOp); in findValueToReuse()
536 Instruction *I = dyn_cast<Instruction>(Inst2Replace->getOperand(j)); in reuseValue()
[all …]

12345678910>>...97