LLVM  13.0.0git
Functions | Variables
OcamlGCPrinter.cpp File Reference
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallString.h"
#include "llvm/ADT/Twine.h"
#include "llvm/CodeGen/AsmPrinter.h"
#include "llvm/CodeGen/BuiltinGCs.h"
#include "llvm/CodeGen/GCMetadata.h"
#include "llvm/CodeGen/GCMetadataPrinter.h"
#include "llvm/IR/DataLayout.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/Mangler.h"
#include "llvm/IR/Module.h"
#include "llvm/MC/MCContext.h"
#include "llvm/MC/MCDirectives.h"
#include "llvm/MC/MCStreamer.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Target/TargetLoweringObjectFile.h"
#include <cctype>
#include <cstddef>
#include <cstdint>
#include <string>
Include dependency graph for OcamlGCPrinter.cpp:

Go to the source code of this file.

Functions

static void EmitCamlGlobal (const Module &M, AsmPrinter &AP, const char *Id)
 

Variables

static GCMetadataPrinterRegistry::Add< OcamlGCMetadataPrinter > Y ("ocaml", "ocaml 3.10-compatible collector")
 

Function Documentation

◆ EmitCamlGlobal()

static void EmitCamlGlobal ( const Module M,
AsmPrinter AP,
const char *  Id 
)
static

Variable Documentation

◆ Y

GCMetadataPrinterRegistry::Add<OcamlGCMetadataPrinter> Y("ocaml", "ocaml 3.10-compatible collector")
static

Referenced by llvm::AbsoluteDifference(), llvm::AddOverflow(), llvm::ScheduleDAGTopologicalSort::AddPred(), llvm::ScheduleDAGTopologicalSort::AddPredQueued(), annotateNonNullAndDereferenceable(), AMDGPUPostLegalizerCombinerHelper::applySelectFCmpToFMinToFMaxLegacy(), llvm::CombinerHelper::applyXorOfAndWithSameReg(), llvm::TargetLowering::BuildSDIV(), llvm::TargetLowering::BuildUDIV(), canonicalizeBitSelect(), canonicalizeSaturatedAdd(), llvm::cast(), CheckAndCreateOffsetAdd(), checkForNegativeOperand(), collectBitParts(), combineAddOrSubToADCOrSBB(), combineANDXORWithAllOnesIntoANDNP(), combineLogicBlendIntoConditionalNegate(), combineLogicBlendIntoPBLENDV(), combineShiftOfShiftedLogic(), combineVectorSizedSetCCEquality(), llvm::InstCombinerImpl::commonIDivTransforms(), llvm::InstCombinerImpl::commonShiftTransforms(), computeKnownBitsFromOperator(), llvm::codeview::consume(), decomposeBitTestICmp(), llvm::MCDwarfFrameEmitter::Emit(), llvm::InnerLoopVectorizer::emitTransformedIndex(), factorizeFAddFSub(), factorizeLerp(), factorizeMathWithShlOps(), findGCD(), llvm::InstCombinerImpl::foldAddWithConstant(), foldAndOrOfICmpsWithConstEq(), foldCttzCtlz(), llvm::InstCombinerImpl::foldICmpAddConstant(), llvm::InstCombinerImpl::foldICmpAndConstant(), llvm::InstCombinerImpl::foldICmpBinOp(), llvm::InstCombinerImpl::foldICmpEquality(), foldICmpShlOne(), llvm::InstCombinerImpl::foldICmpSubConstant(), llvm::InstCombinerImpl::foldICmpUDivConstant(), llvm::InstCombinerImpl::foldICmpWithDominatingICmp(), foldICmpWithHighBitMask(), foldICmpWithLowBitMaskedVal(), foldICmpWithMinMax(), llvm::InstCombinerImpl::foldICmpWithZero(), foldICmpWithZextOrSext(), llvm::InstCombinerImpl::foldICmpXorConstant(), foldIdentityExtractShuffle(), foldIdentityPaddedShuffles(), llvm::InstCombinerImpl::foldIRemByPowerOfTwoToBitTest(), foldMinMaxSharedOp(), foldSelectBinOpIdentity(), foldSelectICmpAndAnd(), foldSelectICmpAndOr(), foldSelectICmpLshrAshr(), llvm::InstCombinerImpl::foldSelectOpOp(), foldSelectShuffle(), foldSelectWithBinaryOp(), foldShiftIntoShiftInAnotherHandOfAndInICmp(), foldShiftOfShiftedLogic(), foldShuffleOfConcatUndefs(), foldToUnsignedSaturatedAdd(), llvm::InstCombinerImpl::foldUnsignedMultiplicationOverflowCheck(), llvm::InstCombinerImpl::foldVectorBinop(), getHashValueImpl(), llvm::BasicTTIImplBase< AMDGPUTTIImpl >::getIntrinsicInstrCost(), llvm::TargetLowering::getNegatedExpression(), llvm::VETargetLowering::hasAndNot(), llvm::AArch64TargetLowering::hasAndNot(), llvm::X86TargetLowering::hasAndNot(), llvm::X86TargetLowering::hasAndNotCompare(), hoistFNegAboveFMulFDiv(), hoistInsEltConst(), INITIALIZE_PASS(), llvm::isa(), isDivZero(), llvm::Constant::isElementWiseEqual(), isEqualImpl(), llvm::isKnownNegation(), isKnownNonZero(), isKnownToBeAPowerOfTwo(), llvm::isSplatValue(), llvm::AMDGPULegalizerInfo::legalizeFastUnsafeFDIV64(), llvm::AMDGPULegalizerInfo::legalizeUDIV_UREM32Impl(), LLVMInitializeAArch64AsmParser(), LLVMInitializeAArch64AsmPrinter(), LLVMInitializeAArch64Target(), LLVMInitializeAMDGPUTarget(), LLVMInitializeARMAsmParser(), LLVMInitializeARMAsmPrinter(), LLVMInitializeARMTarget(), LLVMInitializeARMTargetInfo(), LLVMInitializeBPFAsmParser(), LLVMInitializeBPFAsmPrinter(), LLVMInitializeBPFTarget(), LLVMInitializeBPFTargetInfo(), LLVMInitializeMipsAsmParser(), LLVMInitializeMipsAsmPrinter(), LLVMInitializeMipsTarget(), LLVMInitializeMipsTargetInfo(), LLVMInitializeNVPTXAsmPrinter(), LLVMInitializeNVPTXTarget(), LLVMInitializeNVPTXTargetInfo(), LLVMInitializePowerPCTargetInfo(), LLVMInitializeRISCVAsmPrinter(), LLVMInitializeRISCVTarget(), LLVMInitializeRISCVTargetInfo(), LLVMInitializeSparcAsmPrinter(), LLVMInitializeSparcTarget(), LLVMInitializeSparcTargetInfo(), LLVMInitializeSparcTargetMC(), LLVMInitializeWebAssemblyAsmParser(), LLVMInitializeWebAssemblyAsmPrinter(), LLVMInitializeWebAssemblyTarget(), LLVMInitializeWebAssemblyTargetInfo(), LLVMInitializeX86AsmParser(), LLVMInitializeX86AsmPrinter(), LLVMInitializeX86Target(), LLVMInitializeX86TargetInfo(), loadYAML(), LowerADDSAT_SUBSAT(), llvm::HexagonTargetLowering::LowerAddSubCarry(), lowerFCOPYSIGN32(), lowerFCOPYSIGN64(), llvm::AMDGPUTargetLowering::LowerFREM(), llvm::LegalizerHelper::lowerFunnelShiftAsShifts(), llvm::LegalizerHelper::lowerFunnelShiftWithInverse(), LowerSDIV_v4i8(), llvm::HexagonTargetLowering::LowerUAddSubO(), llvm::AMDGPUTargetLowering::LowerUDIVREM(), llvm::CombinerHelper::matchFunnelShiftToRotate(), llvm::CombinerHelper::matchHoistLogicOpWithSameOpcodeHands(), matchLogicBlend(), matchSwap(), llvm::CombinerHelper::matchXorOfAndWithSameReg(), MinOptional(), llvm::MulOverflow(), narrowExtractedVectorBinOp(), narrowUDivURem(), narrowVectorSelect(), llvm::operator!=(), llvm::operator<(), llvm::operator<=(), llvm::operator==(), llvm::operator>(), llvm::operator>=(), optimizeDivRem(), llvm::IRSimilarity::IRSimilarityCandidate::overlap(), llvm::AMDGPUCallLowering::passSpecialInputs(), llvm::SITargetLowering::passSpecialInputs(), llvm::ARMTargetLowering::PerformCMOVToBFICombine(), reassociateFCmps(), llvm::SaturatingAdd(), llvm::SaturatingMultiply(), llvm::SaturatingMultiplyAdd(), scalarizeBinOpOfSplats(), llvm::X86TargetLowering::shouldFoldMaskToVariableShiftPair(), llvm::TargetLoweringBase::shouldProduceAndByConstByHoistingConstFromShiftsLHSOfAnd(), llvm::AArch64TargetLowering::shouldProduceAndByConstByHoistingConstFromShiftsLHSOfAnd(), llvm::X86TargetLowering::shouldProduceAndByConstByHoistingConstFromShiftsLHSOfAnd(), SimplifyAddInst(), SimplifyAndInst(), simplifyAndOrOfICmpsWithZero(), llvm::InstCombinerImpl::SimplifyDemandedUseBits(), llvm::SelectionDAG::simplifyFPBinop(), simplifyICmpWithBinOp(), simplifyICmpWithBinOpOnLHS(), SimplifyLShrInst(), simplifySelectBitTest(), simplifySelectWithICmpCond(), llvm::SelectionDAG::simplifyShift(), SimplifySubInst(), simplifyUnsignedRangeCheck(), llvm::InstCombinerImpl::sinkNotIntoOtherHandOfAndOrOr(), sinkNotIntoXor(), llvm::opt::StrCmpOptionNameIgnoreCase(), strongerOrdering(), llvm::SubOverflow(), this(), tryLowerToSLI(), llvm::InstCombinerImpl::visitAnd(), llvm::InstCombinerImpl::visitAShr(), llvm::InstCombinerImpl::visitCallInst(), llvm::InstCombinerImpl::visitExtractElementInst(), llvm::InstCombinerImpl::visitFAdd(), llvm::InstCombinerImpl::visitFCmpInst(), llvm::InstCombinerImpl::visitFDiv(), llvm::InstCombinerImpl::visitFMul(), llvm::InstCombinerImpl::visitFNeg(), llvm::InstCombinerImpl::visitFPTrunc(), llvm::InstCombinerImpl::visitFSub(), llvm::InstCombinerImpl::visitGetElementPtrInst(), llvm::InstCombinerImpl::visitLShr(), llvm::InstCombinerImpl::visitMul(), llvm::InstCombinerImpl::visitOr(), llvm::InstCombinerImpl::visitSDiv(), llvm::InstCombinerImpl::visitShuffleVectorInst(), llvm::InstCombinerImpl::visitSRem(), llvm::InstCombinerImpl::visitSub(), and llvm::InstCombinerImpl::visitXor().