| /openbsd-src/gnu/llvm/llvm/lib/MCA/Stages/ |
| H A D | ExecuteStage.cpp | 43 bool ExecuteStage::isAvailable(const InstRef &IR) const { in isAvailable() 44 if (Scheduler::Status S = HWS.isAvailable(IR)) { in isAvailable() 46 notifyEvent<HWStallEvent>(HWStallEvent(ET, IR)); in isAvailable() 53 Error ExecuteStage::issueInstruction(InstRef &IR) { in issueInstruction() argument 58 HWS.issueInstruction(IR, Used, Pending, Ready); in issueInstruction() 59 Instruction &IS = *IR.getInstruction(); in issueInstruction() 62 notifyReservedOrReleasedBuffers(IR, /* Reserved */ false); in issueInstruction() 64 notifyInstructionIssued(IR, Used); in issueInstruction() 66 notifyInstructionExecuted(IR); in issueInstruction() 68 if (Error S = moveToTheNextStage(IR)) in issueInstruction() [all …]
|
| H A D | InOrderIssueStage.cpp | 25 IR.invalidate(); in clear() 31 IR = Inst; in update() 60 bool InOrderIssueStage::isAvailable(const InstRef &IR) const { in isAvailable() 64 const Instruction &Inst = *IR.getInstruction(); in isAvailable() 79 static bool hasResourceHazard(const ResourceManager &RM, const InstRef &IR) { in hasResourceHazard() argument 80 if (RM.checkAvailability(IR.getInstruction()->getDesc())) { in hasResourceHazard() 81 LLVM_DEBUG(dbgs() << "[E] Stall #" << IR << '\n'); in hasResourceHazard() 88 static unsigned findFirstWriteBackCycle(const InstRef &IR) { in findFirstWriteBackCycle() argument 89 unsigned FirstWBCycle = IR.getInstruction()->getLatency(); in findFirstWriteBackCycle() 90 for (const WriteState &WS : IR.getInstruction()->getDefs()) { in findFirstWriteBackCycle() [all …]
|
| H A D | DispatchStage.cpp | 38 void DispatchStage::notifyInstructionDispatched(const InstRef &IR, in notifyInstructionDispatched() argument 41 LLVM_DEBUG(dbgs() << "[E] Instruction Dispatched: #" << IR << '\n'); in notifyInstructionDispatched() 43 HWInstructionDispatchedEvent(IR, UsedRegs, UOps)); in notifyInstructionDispatched() 46 bool DispatchStage::checkPRF(const InstRef &IR) const { in checkPRF() 48 for (const WriteState &RegDef : IR.getInstruction()->getDefs()) in checkPRF() 55 HWStallEvent(HWStallEvent::RegisterFileStall, IR)); in checkPRF() 62 bool DispatchStage::checkRCU(const InstRef &IR) const { in checkRCU() 63 const unsigned NumMicroOps = IR.getInstruction()->getNumMicroOps(); in checkRCU() 67 HWStallEvent(HWStallEvent::RetireControlUnitStall, IR)); in checkRCU() 71 bool DispatchStage::canDispatch(const InstRef &IR) const { in canDispatch() [all …]
|
| H A D | MicroOpQueueStage.cpp | 22 InstRef IR = Buffer[CurrentInstructionSlotIdx]; in moveInstructions() local 23 while (IR && checkNextStage(IR)) { in moveInstructions() 24 if (llvm::Error Val = moveToTheNextStage(IR)) in moveInstructions() 28 unsigned NormalizedOpcodes = getNormalizedOpcodes(IR); in moveInstructions() 32 IR = Buffer[CurrentInstructionSlotIdx]; in moveInstructions() 46 Error MicroOpQueueStage::execute(InstRef &IR) { in execute() argument 47 Buffer[NextAvailableSlotIdx] = IR; in execute() 48 unsigned NormalizedOpcodes = getNormalizedOpcodes(IR); in execute()
|
| H A D | RetireStage.cpp | 36 notifyInstructionRetired(Current.IR); in cycleStart() 49 llvm::Error RetireStage::execute(InstRef &IR) { in execute() argument 50 Instruction &IS = *IR.getInstruction(); in execute() 60 void RetireStage::notifyInstructionRetired(const InstRef &IR) const { in notifyInstructionRetired() 61 LLVM_DEBUG(llvm::dbgs() << "[E] Instruction Retired: #" << IR << '\n'); in notifyInstructionRetired() 63 const Instruction &Inst = *IR.getInstruction(); in notifyInstructionRetired() 67 LSU.onInstructionRetired(IR); in notifyInstructionRetired() 71 notifyEvent<HWInstructionEvent>(HWInstructionRetiredEvent(IR, FreedRegs)); in notifyInstructionRetired()
|
| /openbsd-src/gnu/llvm/llvm/lib/MCA/HardwareUnits/ |
| H A D | Scheduler.cpp | 40 Scheduler::Status Scheduler::isAvailable(const InstRef &IR) { in isAvailable() argument 42 Resources->canBeDispatched(IR.getInstruction()->getUsedBuffers()); in isAvailable() 55 LSUnit::Status LSS = LSU.isAvailable(IR); in isAvailable() 71 InstRef &IR, in issueInstructionImpl() argument 73 Instruction *IS = IR.getInstruction(); in issueInstructionImpl() 82 IS->execute(IR.getSourceIndex()); in issueInstructionImpl() 87 LSU.onInstructionIssued(IR); in issueInstructionImpl() 93 IssuedSet.emplace_back(IR); in issueInstructionImpl() 95 LSU.onInstructionExecuted(IR); in issueInstructionImpl() 100 InstRef &IR, in issueInstruction() argument [all …]
|
| H A D | LSUnit.cpp | 69 unsigned LSUnit::dispatch(const InstRef &IR) { in dispatch() argument 70 const Instruction &IS = *IR.getInstruction(); in dispatch() 196 LSUnit::Status LSUnit::isAvailable(const InstRef &IR) const { in isAvailable() 197 const Instruction &IS = *IR.getInstruction(); in isAvailable() 205 void LSUnitBase::onInstructionExecuted(const InstRef &IR) { in onInstructionExecuted() argument 206 unsigned GroupID = IR.getInstruction()->getLSUTokenID(); in onInstructionExecuted() 209 It->second->onInstructionExecuted(IR); in onInstructionExecuted() 214 void LSUnitBase::onInstructionRetired(const InstRef &IR) { in onInstructionRetired() argument 215 const Instruction &IS = *IR.getInstruction(); in onInstructionRetired() 222 LLVM_DEBUG(dbgs() << "[LSUnit]: Instruction idx=" << IR.getSourceIndex() in onInstructionRetired() [all …]
|
| H A D | RetireControlUnit.cpp | 43 unsigned RetireControlUnit::dispatch(const InstRef &IR) { in dispatch() argument 44 const Instruction &Inst = *IR.getInstruction(); in dispatch() 49 Queue[NextAvailableSlotIdx] = {IR, Entries, false}; in dispatch() 61 const Instruction *Inst = Current.IR.getInstruction(); in getCurrentToken() 79 Current.IR.getInstruction()->retire(); in consumeCurrentToken() 90 assert(Queue[TokenID].IR.getInstruction() && "Instruction was not dispatched!"); in onInstructionExecuted()
|
| /openbsd-src/gnu/usr.bin/clang/include/llvm/IR/ |
| H A D | Makefile | 28 INCDIR= /usr/include/llvm/IR 35 Attributes.inc: ${LLVM_SRCS}/include/llvm/IR/Attributes.td 37 -I${LLVM_SRCS}/include/llvm/IR -I${LLVM_SRCS}/lib/Target \ 41 IntrinsicImpl.inc: ${LLVM_SRCS}/include/llvm/IR/Intrinsics.td 43 -I${LLVM_SRCS}/include/llvm/IR -I${LLVM_SRCS}/lib/Target \ 47 IntrinsicEnums.inc: ${LLVM_SRCS}/include/llvm/IR/Intrinsics.td 49 -I${LLVM_SRCS}/include/llvm/IR -I${LLVM_SRCS}/lib/Target \ 53 IntrinsicsAArch64.h: ${LLVM_SRCS}/include/llvm/IR/Intrinsics.td 55 -I${LLVM_SRCS}/include/llvm/IR -I${LLVM_SRCS}/lib/Target \ 59 IntrinsicsAMDGPU.h: ${LLVM_SRCS}/include/llvm/IR/Intrinsics.td [all …]
|
| /openbsd-src/gnu/llvm/llvm/include/llvm/MCA/HardwareUnits/ |
| H A D | LSUnit.h | 115 void onGroupIssued(const InstRef &IR, bool ShouldUpdateCriticalDep) { in onGroupIssued() argument 122 unsigned Cycles = IR.getInstruction()->getCyclesLeft(); in onGroupIssued() 124 CriticalPredecessor.IID = IR.getSourceIndex(); in onGroupIssued() 135 void onInstructionIssued(const InstRef &IR) { in onInstructionIssued() argument 140 const Instruction &IS = *IR.getInstruction(); in onInstructionIssued() 144 CriticalMemoryInstruction = IR; in onInstructionIssued() 146 CriticalMemoryInstruction = IR; in onInstructionIssued() 163 void onInstructionExecuted(const InstRef &IR) { in onInstructionExecuted() argument 169 CriticalMemoryInstruction.getSourceIndex() == IR.getSourceIndex()) { in onInstructionExecuted() 256 virtual Status isAvailable(const InstRef &IR) const = 0; [all …]
|
| H A D | Scheduler.h | 138 InstRef &IR, 186 Status isAvailable(const InstRef &IR); 198 bool dispatch(InstRef &IR); 204 InstRef &IR, 211 bool mustIssueImmediately(const InstRef &IR) const; 270 void instructionCheck(const InstRef &IR) const { in instructionCheck() argument 271 assert(!is_contained(WaitSet, IR) && "Already in the wait set!"); in instructionCheck() 272 assert(!is_contained(ReadySet, IR) && "Already in the ready set!"); in instructionCheck() 273 assert(!is_contained(IssuedSet, IR) && "Already executing!"); in instructionCheck()
|
| /openbsd-src/gnu/llvm/llvm/include/llvm/IR/ |
| H A D | PassManagerImpl.h | 36 AnalysisManager<IRUnitT, ExtraArgTs...>::clear(IRUnitT &IR, in clear() argument 38 if (auto *PI = getCachedResult<PassInstrumentationAnalysis>(IR)) in clear() 41 auto ResultsListI = AnalysisResultLists.find(&IR); in clear() 46 AnalysisResults.erase({IDAndResult.first, &IR}); in clear() 55 AnalysisKey *ID, IRUnitT &IR, ExtraArgTs... ExtraArgs) { in getResultImpl() argument 59 std::make_pair(ID, &IR), typename AnalysisResultListT::iterator())); in getResultImpl() 68 PI = getResult<PassInstrumentationAnalysis>(IR, ExtraArgs...); in getResultImpl() 69 PI.runBeforeAnalysis(P, IR); in getResultImpl() 72 AnalysisResultListT &ResultList = AnalysisResultLists[&IR]; in getResultImpl() 73 ResultList.emplace_back(ID, P.run(IR, *this, ExtraArgs...)); in getResultImpl() [all …]
|
| H A D | PassManager.h | 424 getAnalysisResultUnpackTuple(AnalysisManagerT &AM, IRUnitT &IR, in getAnalysisResultUnpackTuple() argument 428 return AM.template getResult<PassT>(IR, std::get<Ns>(Args)...); in getAnalysisResultUnpackTuple() 439 getAnalysisResult(AnalysisManager<IRUnitT, AnalysisArgTs...> &AM, IRUnitT &IR, in getAnalysisResult() argument 442 PassT, IRUnitT>)(AM, IR, Args, in getAnalysisResult() 498 PreservedAnalyses run(IRUnitT &IR, AnalysisManagerT &AM, in run() argument 508 AM, IR, std::tuple<ExtraArgTs...>(ExtraArgs...)); in run() 514 if (!PI.runBeforePass<IRUnitT>(*Pass, IR)) in run() 517 PreservedAnalyses PassPA = Pass->run(IR, AM, ExtraArgs...); in run() 521 PI.runAfterPass<IRUnitT>(*Pass, IR, PassPA); in run() 525 AM.invalidate(IR, PassPA); in run() [all …]
|
| H A D | PassInstrumentation.h | 229 bool runBeforePass(const PassT &Pass, const IRUnitT &IR) const { in runBeforePass() argument 236 ShouldRun &= C(Pass.name(), llvm::Any(&IR)); in runBeforePass() 241 C(Pass.name(), llvm::Any(&IR)); in runBeforePass() 244 C(Pass.name(), llvm::Any(&IR)); in runBeforePass() 254 void runAfterPass(const PassT &Pass, const IRUnitT &IR, in runAfterPass() argument 258 C(Pass.name(), llvm::Any(&IR), PA); in runAfterPass() 275 void runBeforeAnalysis(const PassT &Analysis, const IRUnitT &IR) const { in runBeforeAnalysis() argument 278 C(Analysis.name(), llvm::Any(&IR)); in runBeforeAnalysis() 284 void runAfterAnalysis(const PassT &Analysis, const IRUnitT &IR) const { in runAfterAnalysis() argument 287 C(Analysis.name(), llvm::Any(&IR)); in runAfterAnalysis() [all …]
|
| /openbsd-src/gnu/llvm/llvm/include/llvm/MCA/Stages/ |
| H A D | InOrderIssueStage.h | 37 InstRef IR; member 45 const InstRef &getInstruction() const { return IR; } in getInstruction() 46 InstRef &getInstruction() { return IR; } in getInstruction() 48 bool isValid() const { return (bool)IR; } in isValid() 88 bool canExecute(const InstRef &IR); 91 Error tryIssue(InstRef &IR); 103 void notifyInstructionIssued(const InstRef &IR, 105 void notifyInstructionDispatched(const InstRef &IR, unsigned Ops, 107 void notifyInstructionExecuted(const InstRef &IR); 108 void notifyInstructionRetired(const InstRef &IR, [all …]
|
| H A D | ExecuteStage.h | 37 Error issueInstruction(InstRef &IR); 44 Error handleInstructionEliminated(InstRef &IR); 62 bool isAvailable(const InstRef &IR) const override; 73 Error execute(InstRef &IR) override; 75 void notifyInstructionIssued(const InstRef &IR, 77 void notifyInstructionExecuted(const InstRef &IR) const; 78 void notifyInstructionPending(const InstRef &IR) const; 79 void notifyInstructionReady(const InstRef &IR) const; 83 void notifyReservedOrReleasedBuffers(const InstRef &IR, bool Reserved) const;
|
| H A D | DispatchStage.h | 58 bool checkRCU(const InstRef &IR) const; 59 bool checkPRF(const InstRef &IR) const; 60 bool canDispatch(const InstRef &IR) const; 61 Error dispatch(InstRef IR); 63 void notifyInstructionDispatched(const InstRef &IR, 72 bool isAvailable(const InstRef &IR) const override; 78 Error execute(InstRef &IR) override;
|
| H A D | Stage.h | 42 virtual bool isAvailable(const InstRef &IR) const { return true; } in isAvailable() argument 58 virtual Error execute(InstRef &IR) = 0; 65 bool checkNextStage(const InstRef &IR) const { in checkNextStage() argument 66 return NextInSequence && NextInSequence->isAvailable(IR); in checkNextStage() 73 Error moveToTheNextStage(InstRef &IR) { in moveToTheNextStage() argument 74 assert(checkNextStage(IR) && "Next stage is not ready!"); in moveToTheNextStage() 75 return NextInSequence->execute(IR); in moveToTheNextStage()
|
| H A D | MicroOpQueueStage.h | 54 unsigned getNormalizedOpcodes(const InstRef &IR) const { in getNormalizedOpcodes() argument 57 IR.getInstruction()->getDesc().NumMicroOps); in getNormalizedOpcodes() 67 bool isAvailable(const InstRef &IR) const override { in isAvailable() argument 70 unsigned NormalizedOpcodes = getNormalizedOpcodes(IR); in isAvailable() 80 Error execute(InstRef &IR) override;
|
| /openbsd-src/gnu/llvm/llvm/lib/Passes/ |
| H A D | StandardInstrumentations.cpp | 125 const Module *unwrapModule(Any IR, bool Force = false) { in unwrapModule() argument 126 if (const auto **M = any_cast<const Module *>(&IR)) in unwrapModule() 129 if (const auto **F = any_cast<const Function *>(&IR)) { in unwrapModule() 136 if (const auto **C = any_cast<const LazyCallGraph::SCC *>(&IR)) { in unwrapModule() 147 if (const auto **L = any_cast<const Loop *>(&IR)) { in unwrapModule() 189 std::string getIRName(Any IR) { in getIRName() argument 190 if (any_cast<const Module *>(&IR)) in getIRName() 193 if (const auto **F = any_cast<const Function *>(&IR)) in getIRName() 196 if (const auto **C = any_cast<const LazyCallGraph::SCC *>(&IR)) in getIRName() 199 if (const auto **L = any_cast<const Loop *>(&IR)) in getIRName() [all …]
|
| /openbsd-src/gnu/llvm/llvm/include/llvm/ |
| H A D | module.modulemap | 211 // IR). This is a workaround for ExecutionEngine's broken layering, and will 242 module IR_Argument { header "IR/Argument.h" export * } 244 header "IR/Attributes.h" 248 module IR_AbstractCallSite { header "IR/AbstractCallSite.h" export * } 249 module IR_ConstantFold { header "IR/ConstantFold.h" export * } 250 module IR_ConstantFolder { header "IR/ConstantFolder.h" export * } 251 module IR_GlobalVariable { header "IR/GlobalVariable.h" export * } 252 module IR_NoFolder { header "IR/NoFolder.h" export * } 253 module IRBuilderFolder { header "IR/IRBuilderFolder.h" export * } 254 module IR_Module { header "IR/Module.h" export * } [all …]
|
| H A D | module.install.modulemap | 11 textual header "IR/Attributes.gen" 12 textual header "IR/Attributes.inc" 16 textual header "IR/Intrinsics.gen" 17 textual header "IR/Intrinsics.inc" 21 textual header "IR/IntrinsicEnums.inc"
|
| /openbsd-src/gnu/llvm/llvm/include/llvm/MCA/ |
| H A D | HWEventListener.h | 53 : Type(type), IR(Inst) {} in HWInstructionEvent() 59 const InstRef &IR; variable 67 HWInstructionIssuedEvent(const InstRef &IR, ArrayRef<ResourceUse> UR) in HWInstructionIssuedEvent() argument 68 : HWInstructionEvent(HWInstructionEvent::Issued, IR), UsedResources(UR) {} in HWInstructionIssuedEvent() 75 HWInstructionDispatchedEvent(const InstRef &IR, ArrayRef<unsigned> Regs, in HWInstructionDispatchedEvent() argument 77 : HWInstructionEvent(HWInstructionEvent::Dispatched, IR), in HWInstructionDispatchedEvent() 96 HWInstructionRetiredEvent(const InstRef &IR, ArrayRef<unsigned> Regs) in HWInstructionRetiredEvent() argument 97 : HWInstructionEvent(HWInstructionEvent::Retired, IR), in HWInstructionRetiredEvent() 122 HWStallEvent(unsigned type, const InstRef &Inst) : Type(type), IR(Inst) {} in HWStallEvent() 128 const InstRef &IR; variable
|
| /openbsd-src/gnu/llvm/llvm/utils/gn/secondary/llvm/include/llvm/IR/ |
| H A D | BUILD.gn | 9 visibility = [ "//llvm/lib/IR" ] 101 # IR's public headers. //llvm/lib/IR has this as a public_dep, so targets 102 # depending on //llvm/lib/IR don't need to depend on this. This exists 103 # solely for targets that use IR's public headers but don't link against IR. 106 # IR's public headers include Attributes.inc. 109 # IR's public headers include IntrinsicEnums.inc.
|
| /openbsd-src/gnu/llvm/llvm/include/llvm/Passes/ |
| H A D | StandardInstrumentations.h | 49 void printBeforePass(StringRef PassID, Any IR); 50 void printAfterPass(StringRef PassID, Any IR); 58 void pushModuleDesc(StringRef PassID, Any IR); 74 bool shouldRun(StringRef PassID, Any IR); 82 bool shouldRun(StringRef PassName, Any IR); 184 void saveIRBeforePass(Any IR, StringRef PassID, StringRef PassName); 186 void handleIRAfterPass(Any IR, StringRef PassID, StringRef PassName); 195 virtual void handleInitialIR(Any IR) = 0; 197 virtual void generateIRRepresentation(Any IR, StringRef PassID, 229 void handleInitialIR(Any IR) override; [all …]
|