[PATCH] D133089: [LLVM] Replace `dyn_cast_or_null` with `dyn_cast_if_present`, NFC.

Aman LaChapelle via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 31 21:29:16 PDT 2022


bzcheeseman created this revision.
Herald added subscribers: Enna1, kosarev, jeroen.dobbelaere, snehasish, ormris, foad, ChuanqiXu, frasercrmck, ThomasRaoux, okura, jdoerfert, kuter, kerbowa, luismarques, apazos, sameer.abuasal, pengfei, s.egerton, Jim, asbirlea, jocewei, PkmX, arphaman, the_o, brucehoult, MartinMosbeck, rogfer01, steven_wu, atanasyan, edward-jones, george.burgess.iv, zzheng, jrtc27, niosHD, sabuasal, simoncook, haicheng, johnrusso, rbar, asb, kbarton, hiraditya, arichardson, nhaehnle, jvesely, nemanjai, sdardis, arsenm.
Herald added a reviewer: deadalnix.
Herald added a reviewer: ributzka.
Herald added a project: All.
bzcheeseman requested review of this revision.
Herald added subscribers: llvm-commits, pcwang-thead, vkmr, MaskRay.
Herald added a reviewer: jdoerfert.
Herald added a reviewer: sstefan1.
Herald added a reviewer: zuban32.
Herald added a project: LLVM.

`dyn_cast_if_present` is simply the new version of `dyn_cast_or_null` - indeed `dyn_cast_or_null` calls `dyn_cast_if_present`. The `if_present` suffix more closely represents the capabilities of the function now, as it can correctly handle optionals and things that are not "null".


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D133089

Files:
  llvm/bindings/go/llvm/ir.go
  llvm/docs/ProgrammersManual.rst
  llvm/include/llvm-c/Core.h
  llvm/include/llvm/Analysis/SparsePropagation.h
  llvm/include/llvm/CodeGen/GlobalISel/Utils.h
  llvm/include/llvm/IR/DebugInfoMetadata.h
  llvm/include/llvm/IR/InstrTypes.h
  llvm/include/llvm/IR/Metadata.h
  llvm/include/llvm/IR/PatternMatch.h
  llvm/include/llvm/IR/Statepoint.h
  llvm/include/llvm/ProfileData/InstrProfReader.h
  llvm/lib/Analysis/CallGraphSCCPass.cpp
  llvm/lib/Analysis/ConstantFolding.cpp
  llvm/lib/Analysis/IVDescriptors.cpp
  llvm/lib/Analysis/InlineCost.cpp
  llvm/lib/Analysis/InstructionSimplify.cpp
  llvm/lib/Analysis/LazyValueInfo.cpp
  llvm/lib/Analysis/LoopAccessAnalysis.cpp
  llvm/lib/Analysis/LoopCacheAnalysis.cpp
  llvm/lib/Analysis/LoopInfo.cpp
  llvm/lib/Analysis/MemoryDependenceAnalysis.cpp
  llvm/lib/Analysis/MemorySSA.cpp
  llvm/lib/Analysis/MemorySSAUpdater.cpp
  llvm/lib/Analysis/MustExecute.cpp
  llvm/lib/Analysis/PHITransAddr.cpp
  llvm/lib/Analysis/ScalarEvolution.cpp
  llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp
  llvm/lib/Analysis/ValueTracking.cpp
  llvm/lib/AsmParser/LLParser.cpp
  llvm/lib/Bitcode/Reader/BitcodeReader.cpp
  llvm/lib/Bitcode/Reader/MetadataLoader.cpp
  llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
  llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
  llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
  llvm/lib/CodeGen/CodeGenPrepare.cpp
  llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
  llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
  llvm/lib/CodeGen/GlobalISel/Utils.cpp
  llvm/lib/CodeGen/LowerEmuTLS.cpp
  llvm/lib/CodeGen/MIRParser/MIParser.cpp
  llvm/lib/CodeGen/MIRParser/MIRParser.cpp
  llvm/lib/CodeGen/MachineFunction.cpp
  llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
  llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
  llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
  llvm/lib/CodeGen/StackColoring.cpp
  llvm/lib/CodeGen/StackSlotColoring.cpp
  llvm/lib/CodeGen/TargetLoweringBase.cpp
  llvm/lib/CodeGen/WinEHPrepare.cpp
  llvm/lib/DebugInfo/DWARF/DWARFContext.cpp
  llvm/lib/DebugInfo/PDB/PDBContext.cpp
  llvm/lib/DebugInfo/PDB/PDBSymbolTypeFunctionSig.cpp
  llvm/lib/DebugInfo/Symbolize/Symbolize.cpp
  llvm/lib/ExecutionEngine/Orc/ExecutionUtils.cpp
  llvm/lib/IR/AsmWriter.cpp
  llvm/lib/IR/AutoUpgrade.cpp
  llvm/lib/IR/BasicBlock.cpp
  llvm/lib/IR/ConstantFold.cpp
  llvm/lib/IR/Constants.cpp
  llvm/lib/IR/Core.cpp
  llvm/lib/IR/DIBuilder.cpp
  llvm/lib/IR/DebugInfo.cpp
  llvm/lib/IR/DebugInfoMetadata.cpp
  llvm/lib/IR/LLVMContextImpl.h
  llvm/lib/IR/Mangler.cpp
  llvm/lib/IR/Metadata.cpp
  llvm/lib/IR/Module.cpp
  llvm/lib/IR/ModuleSummaryIndex.cpp
  llvm/lib/IR/ProfileSummary.cpp
  llvm/lib/IR/Type.cpp
  llvm/lib/IR/User.cpp
  llvm/lib/IR/Value.cpp
  llvm/lib/IR/Verifier.cpp
  llvm/lib/LTO/LTO.cpp
  llvm/lib/Linker/LinkModules.cpp
  llvm/lib/MC/MCObjectStreamer.cpp
  llvm/lib/MC/MCParser/ELFAsmParser.cpp
  llvm/lib/MC/MCParser/MasmParser.cpp
  llvm/lib/MC/MachObjectWriter.cpp
  llvm/lib/ObjectYAML/ELFEmitter.cpp
  llvm/lib/ProfileData/InstrProf.cpp
  llvm/lib/Support/YAMLTraits.cpp
  llvm/lib/TableGen/Error.cpp
  llvm/lib/TableGen/Record.cpp
  llvm/lib/TableGen/TGParser.cpp
  llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
  llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
  llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
  llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
  llvm/lib/Target/AMDGPU/AMDGPULibFunc.cpp
  llvm/lib/Target/AMDGPU/AMDGPUPerfHintAnalysis.cpp
  llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
  llvm/lib/Target/AMDGPU/R600OpenCLImageTypeLoweringPass.cpp
  llvm/lib/Target/ARM/ARMConstantPoolValue.cpp
  llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
  llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
  llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
  llvm/lib/Target/BPF/BPFAbstractMemberAccess.cpp
  llvm/lib/Target/BPF/BTFDebug.cpp
  llvm/lib/Target/DirectX/PointerTypeAnalysis.cpp
  llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp
  llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
  llvm/lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp
  llvm/lib/Target/LoongArch/LoongArchTargetMachine.cpp
  llvm/lib/Target/M68k/M68kISelDAGToDAG.cpp
  llvm/lib/Target/M68k/M68kSubtarget.cpp
  llvm/lib/Target/Mips/MipsISelLowering.cpp
  llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
  llvm/lib/Target/PowerPC/PPCFastISel.cpp
  llvm/lib/Target/PowerPC/PPCGenScalarMASSEntries.cpp
  llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
  llvm/lib/Target/PowerPC/PPCISelLowering.cpp
  llvm/lib/Target/PowerPC/PPCLowerMASSVEntries.cpp
  llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp
  llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
  llvm/lib/Target/RISCV/RISCVGatherScatterLowering.cpp
  llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
  llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
  llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
  llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
  llvm/lib/Target/X86/X86FrameLowering.cpp
  llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
  llvm/lib/Target/X86/X86ISelLowering.cpp
  llvm/lib/Target/X86/X86InstCombineIntrinsic.cpp
  llvm/lib/Target/X86/X86Subtarget.cpp
  llvm/lib/Target/X86/X86TargetTransformInfo.cpp
  llvm/lib/Transforms/Coroutines/CoroFrame.cpp
  llvm/lib/Transforms/Coroutines/CoroSplit.cpp
  llvm/lib/Transforms/IPO/Annotation2Metadata.cpp
  llvm/lib/Transforms/IPO/Attributor.cpp
  llvm/lib/Transforms/IPO/AttributorAttributes.cpp
  llvm/lib/Transforms/IPO/CrossDSOCFI.cpp
  llvm/lib/Transforms/IPO/FunctionImport.cpp
  llvm/lib/Transforms/IPO/FunctionSpecialization.cpp
  llvm/lib/Transforms/IPO/GlobalSplit.cpp
  llvm/lib/Transforms/IPO/HotColdSplitting.cpp
  llvm/lib/Transforms/IPO/IROutliner.cpp
  llvm/lib/Transforms/IPO/MergeFunctions.cpp
  llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
  llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
  llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
  llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
  llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
  llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
  llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
  llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
  llvm/lib/Transforms/Instrumentation/BoundsChecking.cpp
  llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
  llvm/lib/Transforms/Instrumentation/MemProfiler.cpp
  llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
  llvm/lib/Transforms/ObjCARC/ObjCARC.h
  llvm/lib/Transforms/ObjCARC/ObjCARCContract.cpp
  llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp
  llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
  llvm/lib/Transforms/Scalar/GVN.cpp
  llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
  llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp
  llvm/lib/Transforms/Scalar/JumpThreading.cpp
  llvm/lib/Transforms/Scalar/LoopInstSimplify.cpp
  llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
  llvm/lib/Transforms/Scalar/LowerConstantIntrinsics.cpp
  llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
  llvm/lib/Transforms/Scalar/NaryReassociate.cpp
  llvm/lib/Transforms/Scalar/NewGVN.cpp
  llvm/lib/Transforms/Scalar/SROA.cpp
  llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp
  llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
  llvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp
  llvm/lib/Transforms/Scalar/SpeculativeExecution.cpp
  llvm/lib/Transforms/Scalar/StructurizeCFG.cpp
  llvm/lib/Transforms/Utils/AssumeBundleBuilder.cpp
  llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
  llvm/lib/Transforms/Utils/CallPromotionUtils.cpp
  llvm/lib/Transforms/Utils/CloneFunction.cpp
  llvm/lib/Transforms/Utils/CodeExtractor.cpp
  llvm/lib/Transforms/Utils/FunctionImportUtils.cpp
  llvm/lib/Transforms/Utils/InlineFunction.cpp
  llvm/lib/Transforms/Utils/Local.cpp
  llvm/lib/Transforms/Utils/LoopUnroll.cpp
  llvm/lib/Transforms/Utils/LoopUtils.cpp
  llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
  llvm/lib/Transforms/Utils/PredicateInfo.cpp
  llvm/lib/Transforms/Utils/SCCPSolver.cpp
  llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
  llvm/lib/Transforms/Utils/SplitModule.cpp
  llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
  llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
  llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
  llvm/lib/Transforms/Vectorize/VPlan.cpp
  llvm/lib/Transforms/Vectorize/VPlan.h
  llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
  llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
  llvm/lib/Transforms/Vectorize/VectorCombine.cpp
  llvm/unittests/Analysis/LoopInfoTest.cpp
  llvm/unittests/Analysis/MemorySSATest.cpp
  llvm/unittests/Analysis/VectorFunctionABITest.cpp
  llvm/unittests/CodeGen/AsmPrinterDwarfTest.cpp
  llvm/unittests/CodeGen/DIETest.cpp
  llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
  llvm/unittests/IR/IRBuilderTest.cpp
  llvm/unittests/IR/MetadataTest.cpp
  llvm/unittests/Transforms/Utils/SSAUpdaterBulkTest.cpp
  llvm/utils/TableGen/CodeEmitterGen.cpp
  llvm/utils/TableGen/CodeGenInstruction.cpp
  llvm/utils/TableGen/CodeGenRegisters.cpp
  llvm/utils/TableGen/DecoderEmitter.cpp
  llvm/utils/TableGen/VarLenCodeEmitterGen.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D133089.457169.patch
Type: text/x-patch
Size: 259272 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220901/321e6cea/attachment-0001.bin>


More information about the llvm-commits mailing list