| /freebsd-14.2/contrib/llvm-project/llvm/lib/Transforms/InstCombine/ |
| H A D | InstCombineInternal.h | 159 Instruction *visitAllocSite(Instruction &FI); 170 Instruction * 186 Instruction *visitInstruction(Instruction &I) { return nullptr; } in visitInstruction() 191 bool dominatesAllUses(const Instruction *DI, const Instruction *UI, 420 Instruction * 462 Instruction *eraseInstFromFunction(Instruction &I) override { in eraseInstFromFunction() 510 Instruction *tryFoldInstWithCtpopWithNot(Instruction *I); 556 Instruction *Shr, const APInt &ShrOp1, Instruction *Shl, 576 Instruction *foldOpIntoPhi(Instruction &I, PHINode *PN); 592 Instruction *FoldOpIntoSelect(Instruction &Op, SelectInst *SI, [all …]
|
| /freebsd-14.2/contrib/llvm-project/llvm/lib/Transforms/Vectorize/ |
| H A D | VPlanAnalysis.cpp | 60 case Instruction::ICmp: in inferScalarTypeForRecipe() 61 case Instruction::FCmp: in inferScalarTypeForRecipe() 63 case Instruction::UDiv: in inferScalarTypeForRecipe() 64 case Instruction::SDiv: in inferScalarTypeForRecipe() 67 case Instruction::Add: in inferScalarTypeForRecipe() 69 case Instruction::Sub: in inferScalarTypeForRecipe() 71 case Instruction::Mul: in inferScalarTypeForRecipe() 75 case Instruction::Shl: in inferScalarTypeForRecipe() 78 case Instruction::And: in inferScalarTypeForRecipe() 79 case Instruction::Or: in inferScalarTypeForRecipe() [all …]
|
| /freebsd-14.2/contrib/llvm-project/llvm/lib/IR/ |
| H A D | Instruction.cpp | 46 Instruction::~Instruction() { in ~Instruction() 98 void Instruction::insertBefore(Instruction *InsertPos) { in insertBefore() 110 void Instruction::insertAfter(Instruction *InsertPos) { in insertAfter() 162 void Instruction::moveBefore(Instruction *MovePos) { in moveBefore() 166 void Instruction::moveBeforePreserving(Instruction *MovePos) { in moveBeforePreserving() 170 void Instruction::moveAfter(Instruction *MovePos) { in moveAfter() 178 void Instruction::moveAfterPreserving(Instruction *MovePos) { in moveAfterPreserving() 230 Instruction::cloneDebugInfoFrom(const Instruction *From, in cloneDebugInfoFrom() 795 bool Instruction::isSameOperationAs(const Instruction *I, in isSameOperationAs() 1161 Instruction *Instruction::cloneImpl() const { in cloneImpl() [all …]
|
| /freebsd-14.2/contrib/llvm-project/llvm/lib/FuzzMutate/ |
| H A D | Operations.cpp | 122 case Instruction::Add: in binOpDescriptor() 123 case Instruction::Sub: in binOpDescriptor() 124 case Instruction::Mul: in binOpDescriptor() 125 case Instruction::SDiv: in binOpDescriptor() 126 case Instruction::UDiv: in binOpDescriptor() 127 case Instruction::SRem: in binOpDescriptor() 128 case Instruction::URem: in binOpDescriptor() 129 case Instruction::Shl: in binOpDescriptor() 132 case Instruction::And: in binOpDescriptor() 133 case Instruction::Or: in binOpDescriptor() [all …]
|
| /freebsd-14.2/contrib/llvm-project/llvm/lib/Transforms/Scalar/ |
| H A D | SpeculativeExecution.cpp | 217 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 D | Float2Int.cpp | 81 case Instruction::FAdd: return Instruction::Add; in mapBinOpcode() 82 case Instruction::FSub: return Instruction::Sub; in mapBinOpcode() 83 case Instruction::FMul: return Instruction::Mul; in mapBinOpcode() 192 if (Instruction *OI = dyn_cast<Instruction>(O)) { in walkBackwards() 210 if (Instruction *OI = dyn_cast<Instruction>(O)) { in calcRange() 267 case Instruction::FAdd: in calcRange() 268 case Instruction::FSub: in calcRange() 288 case Instruction::FCmp: in calcRange() 341 Instruction *UI = dyn_cast<Instruction>(U); in validateAndTransform() 409 } else if (Instruction *VI = dyn_cast<Instruction>(V)) { in convert() [all …]
|
| H A D | Reassociate.cpp | 127 Instruction *I = dyn_cast<Instruction>(V); in XorOpnd() 206 Instruction *I = dyn_cast<Instruction>(V); in getRank() 922 Instruction *TheNeg = dyn_cast<Instruction>(U); in NegateValue() 1026 for (auto Op : {Instruction::Add, Instruction::Sub, Instruction::Mul, in shouldConvertOrWithNoCommonBitsToAdd() 1153 if (Instruction *I2 = dyn_cast<Instruction>(X)) in FindInOperandList() 1162 if (Instruction *I2 = dyn_cast<Instruction>(X)) in FindInOperandList() 1774 if (Instruction *VI = dyn_cast<Instruction>(V)) in OptimizeAdd() 1910 if (Instruction *MI = dyn_cast<Instruction>(M)) in buildMinimalMultiplyDAG() 2056 if (Instruction *OpInst = dyn_cast<Instruction>(Op)) in RecursivelyEraseDeadInsts() 2396 if (Instruction *VI = dyn_cast<Instruction>(V)) in ReassociateExpression() [all …]
|
| H A D | LoopRerollPass.cpp | 285 bool isPairInSame(Instruction *J1, Instruction *J2) { in isPairInSame() 299 void recordPair(Instruction *J1, Instruction *J2, unsigned i) { in recordPair() 429 Instruction *IV; 667 Instruction *User = cast<Instruction>(U.getUser()); in collectInLoopUserSet() 681 if (Instruction *Op = dyn_cast<Instruction>(U)) in collectInLoopUserSet() 714 if (Instruction *I = dyn_cast<Instruction>(IVU)) { in isSimpleArithmeticOp() 771 if (Instruction *II = dyn_cast<Instruction>(I)) { in collectPossibleRoots() 837 Instruction *I = cast<Instruction>(V); in findRootsRecursive() 1155 Instruction *IVUser = dyn_cast<Instruction>(U); in validate() 1159 Instruction *UUser = dyn_cast<Instruction>(UU); in validate() [all …]
|
| /freebsd-14.2/contrib/llvm-project/llvm/lib/Transforms/AggressiveInstCombine/ |
| H A D | TruncInstCombine.cpp | 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() 63 case Instruction::Shl: in getRelevantOperands() 64 case Instruction::LShr: in getRelevantOperands() [all …]
|
| /freebsd-14.2/contrib/llvm-project/llvm/lib/Target/ARM/ |
| H A D | MVELaneInterleavingPass.cpp | 146 cast<Instruction>(*E->user_begin())->getOpcode() != Instruction::Mul) { in isProfitableToInterleave() 186 case Instruction::SExt: in tryInterleave() 187 case Instruction::ZExt: in tryInterleave() 234 case Instruction::Add: in tryInterleave() 235 case Instruction::Sub: in tryInterleave() 236 case Instruction::Mul: in tryInterleave() 237 case Instruction::AShr: in tryInterleave() 238 case Instruction::LShr: in tryInterleave() 239 case Instruction::Shl: in tryInterleave() 240 case Instruction::ICmp: in tryInterleave() [all …]
|
| /freebsd-14.2/contrib/llvm-project/llvm/lib/Target/SystemZ/ |
| H A D | SystemZTargetTransformInfo.cpp | 36 if (const Instruction *User = dyn_cast<Instruction>(U)) { in isUsedAsMemCpySource() 449 Opcode == Instruction::SDiv || Opcode == Instruction::SRem; in getArithmeticInstrCost() 451 Opcode == Instruction::UDiv || Opcode == Instruction::URem; in getArithmeticInstrCost() 474 if (Opcode == Instruction::FAdd || Opcode == Instruction::FSub || in getArithmeticInstrCost() 475 Opcode == Instruction::FMul || Opcode == Instruction::FDiv) in getArithmeticInstrCost() 486 if (const Instruction *I = dyn_cast<Instruction>(A)) in getArithmeticInstrCost() 499 if (const Instruction *I = dyn_cast<Instruction>(A)) in getArithmeticInstrCost() 533 if (Opcode == Instruction::Shl || Opcode == Instruction::LShr || in getArithmeticInstrCost() 760 if (Opcode == Instruction::ZExt || Opcode == Instruction::UIToFP) in getBoolVecToIntConversionCost() 1073 const Instruction *UserI = cast<Instruction>(*Ld->user_begin()); in isFoldableLoad() [all …]
|
| /freebsd-14.2/contrib/llvm-project/llvm/include/llvm/IR/ |
| H A D | Operator.h | 42 if (const Instruction *I = dyn_cast<Instruction>(this)) in getOpcode() 50 if (const Instruction *I = dyn_cast<Instruction>(V)) in getOpcode() 84 friend class Instruction; 122 return (isa<Instruction>(V) && classof(cast<Instruction>(V))) || in classof() 136 friend class Instruction; 163 return (isa<Instruction>(V) && classof(cast<Instruction>(V))) || in classof() 172 friend class Instruction; 307 case Instruction::FNeg: in classof() 308 case Instruction::FAdd: in classof() 320 case Instruction::PHI: in classof() [all …]
|
| H A D | Instruction.h | 43 class Instruction : public User, 74 const Instruction *From, 131 Instruction(const Instruction &) = delete; 132 Instruction &operator=(const Instruction &) = delete; 136 Instruction *user_back() { return cast<Instruction>(*user_begin());} 137 const Instruction *user_back() const { return cast<Instruction>(*user_begin());} 314 case Instruction::Invoke: 757 case Instruction::Call: 815 const Instruction * 826 const Instruction * [all …]
|
| H A D | Instructions.h | 159 return isa<Instruction>(V) && classof(cast<Instruction>(V)); in classof() 279 return isa<Instruction>(V) && classof(cast<Instruction>(V)); in classof() 416 return isa<Instruction>(V) && classof(cast<Instruction>(V)); in classof() 494 return isa<Instruction>(V) && classof(cast<Instruction>(V)); 694 return isa<Instruction>(V) && classof(cast<Instruction>(V)); 906 return isa<Instruction>(V) && classof(cast<Instruction>(V)); 1145 return isa<Instruction>(V) && classof(cast<Instruction>(V)); 1350 return isa<Instruction>(V) && classof(cast<Instruction>(V)); 1466 return isa<Instruction>(V) && classof(cast<Instruction>(V)); 1704 : Instruction(S1->getType(), Instruction::Select, [all …]
|
| /freebsd-14.2/contrib/llvm-project/llvm/include/llvm/Analysis/ |
| H A D | IVDescriptors.h | 26 class Instruction; variable 90 InstDesc(bool IsRecur, Instruction *I, Instruction *ExactFP = nullptr) 94 InstDesc(Instruction *I, RecurKind K, Instruction *ExactFP = nullptr) 113 Instruction *PatternLastInst; 117 Instruction *ExactFPMathInst; 131 static bool hasMultipleUsesOf(Instruction *I, 136 static bool areAllUsesIn(Instruction *I, SmallPtrSetImpl<Instruction *> &Set); 283 Instruction *LoopExitInstr = nullptr; 290 Instruction *ExactFPMathInst = nullptr; 300 SmallPtrSet<Instruction *, 8> CastInsts; [all …]
|
| H A D | MustExecute.h | 40 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 D | InstructionPrecedenceTracking.h | 28 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 …]
|
| /freebsd-14.2/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/ |
| H A D | InstructionWorklist.h | 26 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 …]
|
| H A D | Local.h | 41 class Instruction; variable 73 bool isInstructionTriviallyDead(Instruction *I, 144 bool replaceDbgUsesWithUndef(Instruction *I); 207 AllocaInst *DemoteRegToStack(Instruction &X, 309 void salvageDebugInfo(Instruction &I); 314 void salvageDebugInfoForDbgValues(Instruction &I, 357 bool replaceAllDbgUsesWith(Instruction &From, Value &To, Instruction &DomPoint, 402 void combineMetadata(Instruction *K, const Instruction *J, 411 void combineMetadataForCSE(Instruction *K, const Instruction *J, 460 void dropDebugUsers(Instruction &I); [all …]
|
| /freebsd-14.2/contrib/llvm-project/llvm/include/llvm/Transforms/InstCombine/ |
| H A D | InstCombiner.h | 139 if (isa<Instruction>(V)) { in getComplexity() 294 case Instruction::Select: in canFreelyInvertAllUsersOf() 300 case Instruction::Br: in canFreelyInvertAllUsersOf() 333 case Instruction::SRem: // X % 1 = 0 in getSafeVectorConstantForBinop() 349 case Instruction::SDiv: // 0 / X = 0 in getSafeVectorConstantForBinop() 351 case Instruction::SRem: // 0 % X = 0 in getSafeVectorConstantForBinop() 404 Instruction *InsertNewInstBefore(Instruction *New, BasicBlock::iterator Old) { in InsertNewInstBefore() 413 Instruction *InsertNewInstWith(Instruction *New, BasicBlock::iterator Old) { in InsertNewInstWith() 424 Instruction *replaceInstUsesWith(Instruction &I, Value *V) { in replaceInstUsesWith() 448 Instruction *replaceOperand(Instruction &I, unsigned OpNum, Value *V) { in replaceOperand() [all …]
|
| /freebsd-14.2/contrib/llvm-project/llvm/lib/Analysis/ |
| H A D | IVDescriptors.cpp | 75 Instruction *I, *J = cast<Instruction>(Phi->use_begin()->getUser()); in lookThroughAnd() 435 Instruction *UI = cast<Instruction>(U); in AddReductionVar() 742 Instruction *I1 = in isConditionalRdxPattern() 758 Instruction *IPhi = isa<PHINode>(*Op1) ? dyn_cast<Instruction>(Op1) in isConditionalRdxPattern() 783 case Instruction::Or: in isRecurrenceInstr() 826 Instruction *I, SmallPtrSetImpl<Instruction *> &Insts, in hasMultipleUsesOf() 1152 if (RedOp == Instruction::ICmp || RedOp == Instruction::FCmp) in getReductionOpChain() 1155 auto getNextInstruction = [&](Instruction *Cur) -> Instruction * { in getReductionOpChain() 1157 Instruction *UI = cast<Instruction>(User); in getReductionOpChain() 1160 if (RedOp == Instruction::ICmp || RedOp == Instruction::FCmp) { in getReductionOpChain() [all …]
|
| /freebsd-14.2/contrib/llvm-project/llvm/lib/CodeGen/ |
| H A D | ComplexDeinterleavingPass.cpp | 313 NodePtr identifyPartialMul(Instruction *Real, Instruction *Imag); 319 identifyNodeWithImplicitAdd(Instruction *I, Instruction *J, 329 NodePtr identifyAdd(Instruction *Real, Instruction *Imag); 367 NodePtr identifyReassocNodes(Instruction *I, Instruction *J); 386 NodePtr identifyPHINode(Instruction *Real, Instruction *Imag); 390 NodePtr identifySelectNode(Instruction *Real, Instruction *Imag); 550 Instruction *Real, Instruction *Imag, in identifyNodeWithImplicitAdd() 658 return Op == Instruction::FAdd || Op == Instruction::Add; in identifyPartialMul() 661 return Op == Instruction::FSub || Op == Instruction::Sub; in identifyPartialMul() 826 (OpcA == Instruction::Add && OpcB == Instruction::Sub); in isInstructionPairAdd() [all …]
|
| H A D | TypePromotion.cpp | 202 return Opc == Instruction::AShr || Opc == Instruction::SDiv || in GenerateSignBits() 203 Opc == Instruction::SRem || Opc == Instruction::SExt; in GenerateSignBits() 335 if (Opc != Instruction::Add && Opc != Instruction::Sub) in isSafeWrap() 411 Instruction *InstTo = dyn_cast<Instruction>(To); in ReplaceAllUsersOfWith() 719 case Instruction::Br: in isSupportedValue() 722 case Instruction::PHI: in isSupportedValue() 724 case Instruction::Ret: in isSupportedValue() 725 case Instruction::Load: in isSupportedValue() 730 case Instruction::ZExt: in isSupportedValue() 732 case Instruction::ICmp: in isSupportedValue() [all …]
|
| /freebsd-14.2/contrib/llvm-project/llvm/include/llvm/Transforms/Scalar/ |
| H A D | Reassociate.h | 38 class Instruction; variable 74 SetVector<AssertingVH<Instruction>, std::deque<AssertingVH<Instruction>>>; 84 Instruction::BinaryOpsEnd - Instruction::BinaryOpsBegin; 102 void canonicalizeOperands(Instruction *I); 109 Value *OptimizeAdd(Instruction *I, 111 Value *OptimizeXor(Instruction *I, 113 bool CombineXorOpnd(Instruction *I, reassociate::XorOpnd *Opnd1, 123 void EraseInst(Instruction *I); 125 void OptimizeInst(Instruction *I); 126 Instruction *canonicalizeNegFPConstantsForOp(Instruction *I, Instruction *Op, [all …]
|
| /freebsd-14.2/contrib/llvm-project/llvm/lib/Target/Hexagon/ |
| H A D | HexagonVectorLoopCarriedReuse.cpp | 112 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 …]
|