LLVM 24.0.0git
RISCVInsertReadWriteCSR.cpp File Reference

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "riscv-insert-read-write-csr"
#define RISCV_INSERT_READ_WRITE_CSR_NAME   "RISC-V Insert Read/Write CSR Pass"

Functions

 INITIALIZE_PASS (RISCVInsertReadWriteCSRLegacy, DEBUG_TYPE, RISCV_INSERT_READ_WRITE_CSR_NAME, false, false) static bool emitWriteRoundingModeOpt(MachineBasicBlock &MBB
 for (MachineInstr &MI :MBB)
 if (SavedFRM.isValid())
static bool emitWriteRoundingMode (MachineBasicBlock &MBB, const TargetInstrInfo *TII)
static bool insertReadWriteCSROnMachineFunction (MachineFunction &MF)

Variables

const TargetInstrInfo * TII
MachineInstr * LastFRMChanger = nullptr
unsigned CurrentRM = RISCVFPRndMode::DYN
Register SavedFRM
return Changed

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "riscv-insert-read-write-csr"

Definition at line 26 of file RISCVInsertReadWriteCSR.cpp.

◆ RISCV_INSERT_READ_WRITE_CSR_NAME

#define RISCV_INSERT_READ_WRITE_CSR_NAME   "RISC-V Insert Read/Write CSR Pass"

Definition at line 27 of file RISCVInsertReadWriteCSR.cpp.

Referenced by INITIALIZE_PASS().

Function Documentation

◆ emitWriteRoundingMode()

◆ for()

◆ if()

if ( SavedFRM. isValid())

Definition at line 123 of file RISCVInsertReadWriteCSR.cpp.

References LastFRMChanger, MBB, SavedFRM, and TII.

◆ INITIALIZE_PASS()

INITIALIZE_PASS ( RISCVInsertReadWriteCSRLegacy ,
DEBUG_TYPE ,
RISCV_INSERT_READ_WRITE_CSR_NAME ,
false ,
false  ) &

◆ insertReadWriteCSROnMachineFunction()

bool insertReadWriteCSROnMachineFunction ( MachineFunction & MF)
static

Variable Documentation

◆ Changed

return Changed

Definition at line 131 of file RISCVInsertReadWriteCSR.cpp.

Referenced by addAccessAttrs(), addArgumentAttrs(), addArgumentAttrsFromCallsites(), addArgumentReturnedAttrs(), addColdAttrs(), addDiscriminators(), addMemoryAttrs(), addNoAliasAttrs(), addNoFPClassAttrsTopDown(), addNonNullAttrs(), addNoRecurseAttrs(), addNoReturnAttrs(), addNoUndefAttrs(), addSegmentsWithValNo(), addWillReturn(), adjustIR(), AlignBlocks(), alwaysInlineImpl(), analyzeFunction(), annotateModule(), llvm::CombinerHelper::applyCombineMemCpyFamily(), argumentMove(), argumentStackSlotRebase(), assignValidGlobalNames(), bitTrackingDCE(), checkAndReplaceCondition(), cleanCodeAfterTrap(), CleanupConstantGlobalUsers(), CleanupPointerRootUsers(), llvm::lowertypetests::cleanUpTypeCheckedLoad(), llvm::Combiner::combineMachineInstrs(), llvm::SampleProfileLoaderBaseImpl< FT >::computeAndPropagateWeights(), llvm::SampleProfileLoaderBaseImpl< FT >::computeBlockWeights(), llvm::computeEHOnlyBlocks(), llvm::rdf::Liveness::computePhiInfo(), llvm::DIExpression::constantFold(), llvm::ConstantFoldTerminator(), constantFoldTerminators(), llvm::ListInit::convertInitializerTo(), convertToRelativeLookupTables(), llvm::convertUsersOfConstantsToInstructions(), copyFunctionByValArgs(), deduceFunctionAttributeInRPO(), DeleteDeadIFuncs(), llvm::DeleteDeadPHIs(), deleteLoopIfDead(), deriveAttrsInPostOrder(), doCallSiteSplitting(), doDefKillClear(), llvm::FPPassManager::doFinalization(), llvm::legacy::FunctionPassManagerImpl::doFinalization(), llvm::FPPassManager::doInitialization(), llvm::legacy::FunctionPassManagerImpl::doInitialization(), doPeepholeOpts(), eliminateAvailableExternally(), eliminateConstraints(), llvm::EliminateDuplicatePHINodes(), EliminateDuplicatePHINodesNaiveImpl(), EliminateDuplicatePHINodesSetBasedImpl(), eliminateLoadsAcrossLoops(), llvm::EliminateNewDuplicatePHINodes(), emitWriteRoundingMode(), llvm::Value::eraseMetadata(), llvm::instrumentor::evaluateFilter(), explicitLocals(), exportKernelRuntimeHandles(), llvm::CallGraphUpdater::finalize(), llvm::finalizeBundles(), llvm::SSAUpdaterImpl< UpdaterT >::FindDominators(), findMoreOptimalIndexType(), llvm::SSAUpdaterImpl< UpdaterT >::FindPHIPlacement(), FixIrreducibleImpl(), fixupSetCC(), foldAddresses(), llvm::InstCombinerImpl::foldAllocaCmp(), foldFMA(), llvm::PPCInstrInfo::foldImmediate(), foldTwoEntryPHINode(), for(), forEachCall(), llvm::formDedicatedExitBlocks(), formLCSSAForInstructionsImpl(), formLCSSAImpl(), formLCSSAOnAllLoops(), formLCSSARecursivelyImpl(), forwardDeviceParams(), forwardHandleAccesses(), forwardSwitchConditionToPHI(), llvm::InstCombinerImpl::freezeOtherUses(), llvm::Pass::getAnalysis(), llvm::Pass::getAnalysisID(), llvm::instrumentor::InstrumentationConfig::getBasePointerInfo(), llvm::ScalarEvolution::getSequentialMinMaxExpr(), llvm::ConstraintSystem::getSubSystem(), giveSwitchesDefault(), handleMIFlagDecoration(), llvm::InstCombinerImpl::handleUnreachableFrom(), llvm::handleUnreachableTerminator(), hoistAndMergeSGPRInits(), llvm::hoistRegion(), llvm::DenormalFPMathState::indicateFixpoint(), inferAlignment(), inferAllPrototypeAttributes(), llvm::inferAttributesFromOthers(), inferAttrsFromFunctionBodies(), inferConvergent(), llvm::inferNonMandatoryLibFuncAttrs(), INITIALIZE_PASS(), INITIALIZE_PASS(), INITIALIZE_PASS(), INITIALIZE_PASS(), INITIALIZE_PASS(), INITIALIZE_PASS(), inlineGetBaseAndOffset(), llvm::AAPointerInfo::RangeList::insert(), llvm::objcarc::BundledRetainClaimRVs::insertAfterInvokes(), insertASpaceCasts(), insertIntrinsicCalls(), insertReadWriteCSROnMachineFunction(), insertWaitInstruction(), llvm::GCNTTIImpl::instCombineIntrinsic(), llvm::instrumentor::InstrumentationOpportunity::instrument(), llvm::InternalizePass::internalizeModule(), isLoopDead(), iterativelyFlattenCFG(), iterativelySimplifyCFG(), llvm::legalizeMachineFunction(), LinearizeExprTree(), lowerAtomics(), llvm::LowerDbgDeclare(), lowerExpectIntrinsic(), lowerLoadRelative(), lowerLocalMemoryAtomics(), lowerTileCopy(), lowerUnreachable(), llvm::makeFollowupLoopID(), llvm::Loop::makeLoopInvariant(), llvm::Loop::makeLoopInvariant(), markAliveBlocks(), markKernelArgsAsInreg(), llvm::LPMUpdater::markLoopNestChanged(), llvm::CombinerHelper::matchShuffleUndefRHS(), maybeRewriteToDrop(), llvm::BitTracker::RegisterCell::meet(), llvm::AAPointerInfo::RangeList::merge(), llvm::GlobalMergeFunc::merge(), llvm::orc::detail::WaitingOnGraph< ContainerIdT, ElementIdT >::ContainerElementsMap::merge(), mergeBlocksIntoPredecessors(), mergeCompatibleInvokes(), mergeConditionalStores(), mergeI16Unpacks(), mergePartStores(), llvm::SIInstrInfo::moveToVALUImpl(), llvm::nameUnamedGlobals(), nullifyDebugValueLists(), OptimizeAwayTrappingUsesOfLoads(), OptimizeAwayTrappingUsesOfValue(), optimizeBlockForRedundantCopies(), optimizeDivRem(), OptimizeEmptyGlobalAtExitDtors(), OptimizeFunctions(), OptimizeGlobalAliases(), optimizeGlobalsInModule(), OptimizeGlobalVars(), optimizeLoopExitWithUnknownExitCount(), OptimizeNonTrivialIFuncs(), optimizeNZCVDefs(), OptimizeStaticIFuncs(), optimizeUniformIntrinsic(), peephole(), prepareModuleAnalysis(), processCallBrInst(), processGlobal(), processInternalGlobal(), processModule(), llvm::ARMBlockPlacement::processPostOrderLoops(), promoteConstantsInModule(), promoteIndirectCalls(), promoteMemoryToRegister(), promoteParamAlignModule(), propagateAlignmentToLoads(), propagateByValParamLoadAlign(), propagateLocalCopies(), llvm::SampleProfileLoaderBaseImpl< FT >::propagateThroughEdges(), llvm::SampleProfileLoaderBaseImpl< FT >::propagateWeights(), llvm::coverage::RawCoverageMappingReader::read(), llvm::reconstitutePeeledArrayType(), ReduceLoopStrength(), reduceToAnyAllTrue(), llvm::refineInstruction(), regColoring(), registerSpirvTypeForNewInstructions(), llvm::MCAssembler::registerSymbol(), regStackify(), llvm::jitlink::relaxBlock(), llvm::jitlink::relaxOnce(), remapIndices(), llvm::orc::detail::WaitingOnGraph< ContainerIdT, ElementIdT >::ContainerElementsMap::remove(), llvm::removeASanIncompatibleFnAttributes(), removeCompareBuiltin(), llvm::VPlanTransforms::removeDeadRecipes(), removeGEPBuiltins(), llvm::InstCombinerImpl::removeInstructionsBeforeUnreachable(), removePassThroughBuiltin(), removeRedundantDbgLocsUsingBackwardScan(), removeRedundantDbgLocsUsingForwardScan(), removeUndefDbgLocsFromEntryBlock(), llvm::removeUnreachableBlocks(), removeUnusedBlocksFromParent(), replaceAllPrepares(), replaceDominatedUses(), replaceFoldableUses(), replaceOverflowUses(), replacePhysRegs(), replacePushConstantAccesses(), rescheduleCanonically(), rescheduleLexographically(), llvm::BitsInit::resolveReferences(), llvm::CondOpInit::resolveReferences(), llvm::ListInit::resolveReferences(), llvm::VarDefInit::resolveReferences(), llvm::ScalarEvolution::LoopGuards::rewrite(), rewriteDebugUsers(), rewritePHIs(), false::MachinePipelinerImpl::run(), llvm::AArch64BranchTargetsPass::run(), llvm::AArch64CompressJumpTablesPass::run(), llvm::AArch64ConditionalComparesPass::run(), llvm::AArch64ConditionOptimizerPass::run(), llvm::AArch64DeadRegisterDefinitionsPass::run(), llvm::AArch64ExpandPseudoPass::run(), llvm::AArch64LoadStoreOptPass::run(), llvm::AArch64LowerHomogeneousPrologEpilogPass::run(), llvm::AArch64MIPeepholeOptPass::run(), llvm::AArch64PointerAuthPass::run(), llvm::AArch64PostCoalescerPass::run(), llvm::AArch64PostLegalizerLoweringPass::run(), llvm::AArch64PostSelectOptimizePass::run(), llvm::AArch64PTrueCoalescingPass::run(), llvm::AArch64RedundantCopyEliminationPass::run(), llvm::AArch64SIMDInstrOptPass::run(), llvm::AArch64SRLTDefineSuperRegsPass::run(), llvm::ADCEPass::run(), llvm::AlwaysInlinerPass::run(), llvm::AMDGPUAlwaysInlinePass::run(), llvm::AMDGPUImageIntrinsicOptimizerPass::run(), llvm::AMDGPULateCodeGenPreparePass::run(), llvm::AMDGPULowerKernelArgumentsPass::run(), llvm::AMDGPULowerKernelAttributesPass::run(), llvm::AMDGPUPerfHintAnalysis::run(), llvm::AMDGPUPerfHintAnalysisPass::run(), llvm::AMDGPUPreloadKernelArgumentsPass::run(), llvm::AMDGPUPrintfRuntimeBindingPass::run(), llvm::AMDGPUPromoteAllocaPass::run(), llvm::AMDGPUPromoteAllocaToVectorPass::run(), llvm::AMDGPURewriteUndefForPHIPass::run(), llvm::AMDGPUSimplifyLibCallsPass::run(), llvm::AMDGPUUseNativeCallsPass::run(), llvm::ArgumentPromotionPass::run(), llvm::ARMLoadStoreOptPass::run(), llvm::ARMPreAllocLoadStoreOptPass::run(), llvm::AssignmentTrackingPass::run(), llvm::AssumeBuilderPass::run(), llvm::AtomicExpandPass::run(), llvm::BPFASpaceCastSimplifyPass::run(), llvm::BPFCheckAndAdjustIRPass::run(), llvm::CFGuardPass::run(), llvm::CodeGenPreparePass::run(), llvm::ControlHeightReductionPass::run(), llvm::CoroAnnotationElidePass::run(), llvm::CoroElidePass::run(), llvm::CorrelatedValuePropagationPass::run(), llvm::CrossDSOCFIPass::run(), llvm::DAGTypeLegalizer::run(), llvm::DeadArgumentEliminationPass::run(), llvm::DropUnnecessaryAssumesPass::run(), llvm::DSEPass::run(), llvm::DwarfEHPreparePass::run(), llvm::DXILCBufferAccess::run(), llvm::DXILForwardHandleAccesses::run(), llvm::DXILUpgradePass::run(), llvm::EarlyIfConverterPass::run(), llvm::FatLtoCleanup::run(), llvm::FinalizeISelPass::run(), llvm::ForceFunctionAttrsPass::run(), llvm::GCEmptyBasicBlocksPass::run(), llvm::GCLoweringPass::run(), llvm::GCNDPPCombinePass::run(), llvm::GlobalDCEPass::run(), llvm::GlobalMergeFuncPass::run(), llvm::GlobalMergePass::run(), llvm::GVNPass::run(), llvm::HardwareLoopsPass::run(), llvm::HotColdSplitting::run(), llvm::ImplicitNullChecksPass::run(), llvm::IndirectBrExpandPass::run(), llvm::InferAddressSpacesPass::run(), llvm::InlinerPass::run(), llvm::InstructionSelectPass::run(), llvm::InstSimplifyPass::run(), llvm::InterleavedAccessPass::run(), llvm::InterleavedLoadCombinePass::run(), llvm::IRCEPass::run(), llvm::JMCInstrumenterPass::run(), llvm::JumpTableToSwitchPass::run(), llvm::JumpThreadingPass::run(), llvm::legacy::FunctionPassManagerImpl::run(), llvm::legacy::PassManagerImpl::run(), llvm::LegalizerPass::run(), llvm::LNICMPass::run(), llvm::LoadStoreVectorizerPass::run(), llvm::LocalizerPass::run(), llvm::LocalStackSlotAllocationPass::run(), llvm::LoopDataPrefetchPass::run(), llvm::LoopDistributePass::run(), llvm::LoopFlattenPass::run(), llvm::LoopFullUnrollPass::run(), llvm::LoopFusePass::run(), llvm::LoopLoadEliminationPass::run(), llvm::LoopRotatePass::run(), llvm::LoopSimplifyPass::run(), llvm::LoopSinkPass::run(), llvm::LoopUnrollPass::run(), llvm::LowerEmuTLSPass::run(), llvm::LowerGlobalDtorsPass::run(), llvm::LowerInvokePass::run(), llvm::LowerTypeTestsPass::run(), llvm::MachineCSEPass::run(), llvm::MachineLICMBasePass< DerivedT, PreRegAlloc >::run(), llvm::MachineSchedulerPass::run(), llvm::MachineSinkingPass::run(), llvm::MemProfContextDisambiguation::run(), llvm::MemProfRemoveInfo::run(), llvm::MemProfUsePass::run(), llvm::ModuleInlinerPass::run(), llvm::NewGVNPass::run(), llvm::NoinlineNonPrevailing::run(), llvm::NoRecurseLTOInferencePass::run(), llvm::NVPTXLowerArgsPass::run(), llvm::ObjCARCContractPass::run(), llvm::ObjCARCOptPass::run(), llvm::OpenMPOptCGSCCPass::run(), llvm::OpenMPOptPass::run(), llvm::PeepholeOptimizerPass::run(), llvm::PGOCtxProfLoweringPass::run(), llvm::PGOMemOPSizeOpt::run(), llvm::PHIEliminationPass::run(), llvm::PostMachineSchedulerPass::run(), llvm::PostOrderFunctionAttrsPass::run(), llvm::PostRASchedulerPass::run(), llvm::rdf::AggressiveCopyPropagation::run(), llvm::rdf::CopyPropagation::run(), llvm::RedundantDbgInstEliminationPass::run(), llvm::RegAllocFastPass::run(), llvm::RegBankSelectPass::run(), llvm::RegToMemPass::run(), llvm::ReplaceWithVeclib::run(), llvm::RewriteStatepointsForGC::run(), llvm::RISCVCodeGenPreparePass::run(), llvm::RISCVDeadRegisterDefinitionsPass::run(), llvm::RISCVExpandPseudoAtomicsPass::run(), llvm::RISCVExpandPseudoPostRAPass::run(), llvm::RISCVExpandPseudoPreEmitPass::run(), llvm::RISCVExpandPseudoPreRAPass::run(), llvm::RISCVFoldMemOffsetPass::run(), llvm::RISCVGatherScatterLoweringPass::run(), llvm::RISCVInsertVSETVLIPass::run(), llvm::RISCVInsertWriteVXRMPass::run(), llvm::RISCVLoadStoreOptPass::run(), llvm::RISCVO0PreLegalizerCombinerPass::run(), llvm::RISCVOptWInstrsPass::run(), llvm::RISCVPostLegalizerCombinerPass::run(), llvm::RISCVPreAllocZilsdOptPass::run(), llvm::RISCVPreLegalizerCombinerPass::run(), llvm::RISCVRedundantCopyEliminationPass::run(), llvm::RISCVVectorPeepholePass::run(), llvm::RISCVVLOptimizerPass::run(), llvm::RISCVZacasABIFixPass::run(), llvm::SafeStackPass::run(), llvm::SandboxVectorizerPass::run(), llvm::ScalarizerPass::run(), llvm::ShadowStackGCLoweringPass::run(), llvm::SIAnnotateControlFlowPass::run(), llvm::SIFixSGPRCopiesPass::run(), llvm::SIFoldOperandsPass::run(), llvm::SILoadStoreOptimizerPass::run(), llvm::SILowerControlFlowPass::run(), llvm::SILowerI1CopiesPass::run(), llvm::SimplifyTypeTestsPass::run(), llvm::SIOptimizeVGPRLiveRangePass::run(), llvm::SIWholeQuadModePass::run(), llvm::SjLjEHPreparePass::run(), llvm::SLPVectorizerPass::run(), llvm::SpeculativeExecutionPass::run(), llvm::SPIRVPreLegalizerCombinerPass::run(), llvm::SPIRVPreLegalizerPass::run(), llvm::SROAPass::run(), llvm::SSAMachineSchedulerPass::run(), llvm::StackProtectorPass::run(), llvm::StackSlotColoringPass::run(), llvm::StripDebugMachineModulePass::run(), llvm::TailCallElimPass::run(), llvm::ThinLTOBitcodeWriterPass::run(), llvm::TwoAddressInstructionPass::run(), llvm::TypePromotionPass::run(), llvm::UnreachableBlockElimPass::run(), llvm::WasmEHPreparePass::run(), llvm::WebAssemblyMemIntrinsicResultsPass::run(), llvm::WebAssemblyOptimizeLiveIntervalsPass::run(), llvm::WebAssemblyPostLegalizerCombinerPass::run(), llvm::WebAssemblyPreLegalizerCombinerPass::run(), llvm::WebAssemblyRegStackifyPass::run(), llvm::WinEHPreparePass::run(), llvm::X86AvoidStoreForwardingBlocksPass::run(), llvm::X86AvoidTrailingCallPass::run(), llvm::X86CallFrameOptimizationPass::run(), llvm::X86CmovConversionPass::run(), llvm::X86CompressEVEXPass::run(), llvm::X86DomainReassignmentPass::run(), llvm::X86DynAllocaExpanderPass::run(), llvm::X86ExpandPseudoPass::run(), llvm::X86FastPreTileConfigPass::run(), llvm::X86FixupBWInstsPass::run(), llvm::X86FixupLEAsPass::run(), llvm::X86FlagsCopyLoweringPass::run(), llvm::X86FPStackifierPass::run(), llvm::X86LowerAMXIntrinsicsPass::run(), llvm::X86LowerAMXTypePass::run(), llvm::X86OptimizeLEAsPass::run(), llvm::X86PadShortFunctionsPass::run(), llvm::X86PartialReductionPass::run(), llvm::X86SpeculativeLoadHardeningPass::run(), llvm::X86TileConfigPass::run(), llvm::X86WinEHStatePass::run(), RAGreedyPass::run(), runAArch64PostSelectOptimize(), runAttributorLightOnFunctions(), runAttributorOnFunctions(), runCVP(), runDelaySlotFillerOnMachineFunction(), runErrataWorkaroundOnMachineFunction(), runFixI1Copies(), runFuncTable(), llvm::AlignmentFromAssumptionsPass::runImpl(), llvm::JumpThreadingPass::runImpl(), llvm::LoopVectorizePass::runImpl(), llvm::NaryReassociatePass::runImpl(), llvm::RewriteSymbolPass::runImpl(), llvm::SLPVectorizerPass::runImpl(), llvm::SpeculativeExecutionPass::runImpl(), runImpl(), runImpl(), runImpl(), runImpl(), runImpl(), runImpl(), runImpl(), runImpl(), runImpl(), runIndirectBranchTracking(), runIndirectBranchTracking(), runLandingPadSetup(), runLateBranchOptOnMF(), runLogicalSROA(), runLVLGenOnMachineBasicBlock(), runLVLGenOnMachineFunction(), runNVPTXPeephole(), runNVVMIntrRange(), runOnBasicBlock(), runOnBasicBlock(), llvm::FPPassManager::runOnFunction(), llvm::LPPassManager::runOnFunction(), llvm::MIRProfileLoader::runOnFunction(), llvm::StackProtector::runOnFunction(), runOnFunction(), runOnMachineBasicBlock(), llvm::ARMBlockPlacement::runOnMachineFunction(), llvm::LegalizerLegacy::runOnMachineFunction(), llvm::LiveDebugVariables::LDVImpl::runOnMachineFunction(), StaticDataSplitterImpl::runOnMachineFunction(), runOnMF(), llvm::FPPassManager::runOnModule(), llvm::sandboxir::LoadStoreVec::runOnRegion(), llvm::AMDGPUPerfHintAnalysis::runOnSCC(), runPartiallyInlineLibCalls(), runQCRelaxMarking(), runRedundantCopyElimination(), llvm::SelectionDAG::salvageDebugInfo(), llvm::salvageKnowledge(), llvm::set_union(), llvm::SetVector< EdgeType * >::set_union(), setArgsNoUndef(), setByValParamABIAlign(), setP2AlignOperands(), setShiftFlags(), simplifyAndDCEInstruction(), llvm::InstCombinerImpl::SimplifyAssociativeOrCommutative(), llvm::InstCombinerImpl::SimplifyDemandedUseFPClass(), simplifyFunctionCFG(), llvm::ScalarEvolution::SimplifyICmpOperands(), llvm::simplifyLoop(), simplifyLoopCFG(), simplifyLoopInst(), llvm::simplifyLoopIVs(), simplifyOneLoop(), sink(), sinkCommonCodeFromPredecessors(), sinkLoopInvariantInstructions(), sinkMinMax(), sinkMinMaxInBB(), llvm::sinkRegion(), llvm::sinkRegionForLoopNest(), sinkScalarOperands(), splitCriticalEdges(), splitGlobals(), llvm::SplitIndirectBrCriticalEdges(), STATISTIC(), STATISTIC(), STATISTIC(), stripConvergenceIntrinsics(), stripDeadDebugInfoImpl(), llvm::stripDebugifyMetadata(), llvm::StripDebugInfo(), llvm::stripDebugInfo(), llvm::stripNonLineTableDebugInfo(), suppressAPXForRelocation(), tagInvariantLoads(), tailMergeBlocksWithSimilarFunctionTerminators(), llvm::thinLTOFinalizeInModule(), llvm::thinLTOPropagateFunctionAttrs(), llvm::SelectionDAG::transferDbgValues(), transformGlobalArray(), llvm::LegalizationArtifactCombiner::tryCombineInstruction(), tryFoldHelper(), tryToFoldExtOfLoad(), tryToImproveAlign(), llvm::SCCPSolver::tryToReplaceWithConstant(), tryToStrengthenFlags(), tryToVectorizeSequence(), unifyLoopExits(), unpackBundles(), unswitchAllTrivialConditions(), llvm::LastRunTrackingInfo::update(), llvm::LastRunTrackingInfo::update(), UpdatedOnX86AvoidTrailingCallPass(), updateSuccessor(), llvm::MetadataLoader::MetadataLoaderImpl::upgradeAliasScopeList(), llvm::UpgradeCFIFunctionsMetadata(), llvm::UpgradeModuleFlags(), upgradeRetainReleaseMarker(), llvm::UpgradeTBAAStructNode(), llvm::SLPVectorizerPass::vectorizeCmpInsts(), llvm::SLPVectorizerPass::vectorizeNonVectorizableInsts(), llvm::orc::detail::WaitingOnGraph< ContainerIdT, ElementIdT >::ContainerElementsMap::visit(), llvm::InstCombinerImpl::visitAdd(), llvm::SCEVRewriteVisitor< SCEVCastSinkingRewriter >::visitAddExpr(), SCEVCastSinkingRewriter::visitAddExpr(), llvm::SCEVRewriteVisitor< SCEVCastSinkingRewriter >::visitAddRecExpr(), llvm::InstCombinerImpl::visitCallInst(), llvm::InstCombinerImpl::visitFCmpInst(), llvm::InstCombinerImpl::visitGetElementPtrInst(), llvm::InstCombinerImpl::visitICmpInst(), llvm::InstCombinerImpl::visitMul(), llvm::SCEVRewriteVisitor< SCEVCastSinkingRewriter >::visitMulExpr(), VisitNode(), llvm::SCEVRewriteVisitor< SCEVCastSinkingRewriter >::visitSequentialUMinExpr(), llvm::SCEVRewriteVisitor< SCEVCastSinkingRewriter >::visitSMaxExpr(), llvm::SCEVRewriteVisitor< SCEVCastSinkingRewriter >::visitSMinExpr(), llvm::InstCombinerImpl::visitSub(), llvm::InstCombinerImpl::visitTrunc(), llvm::SCEVRewriteVisitor< SCEVCastSinkingRewriter >::visitUDivExpr(), llvm::SCEVRewriteVisitor< SCEVCastSinkingRewriter >::visitUMaxExpr(), and llvm::SCEVRewriteVisitor< SCEVCastSinkingRewriter >::visitUMinExpr().

◆ CurrentRM

unsigned CurrentRM = RISCVFPRndMode::DYN

Definition at line 61 of file RISCVInsertReadWriteCSR.cpp.

Referenced by for().

◆ LastFRMChanger

MachineInstr* LastFRMChanger = nullptr

Definition at line 60 of file RISCVInsertReadWriteCSR.cpp.

Referenced by for(), and if().

◆ SavedFRM

Register SavedFRM

Definition at line 62 of file RISCVInsertReadWriteCSR.cpp.

Referenced by emitWriteRoundingMode(), for(), and if().

◆ TII

Initial value:
{
bool Changed = false

Definition at line 58 of file RISCVInsertReadWriteCSR.cpp.