reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

Derived Classes

include/llvm/IR/Constants.h
   57 class ConstantData : public Constant {
  389 class ConstantAggregate : public Constant {
  839 class BlockAddress final : public Constant {
  888 class ConstantExpr : public Constant {
include/llvm/IR/GlobalValue.h
   44 class GlobalValue : public Constant {

Declarations

include/llvm/Analysis/ConstantFolding.h
   26 class Constant;
include/llvm/Analysis/LazyValueInfo.h
   22   class Constant;
include/llvm/Analysis/ScalarEvolution.h
   57 class Constant;
include/llvm/Analysis/ScalarEvolutionExpressions.h
   33 class Constant;
include/llvm/AsmParser/Parser.h
   20 class Constant;
include/llvm/CodeGen/AsmPrinter.h
   38 class Constant;
include/llvm/CodeGen/FastISel.h
   39 class Constant;
include/llvm/CodeGen/GCMetadata.h
   50 class Constant;
include/llvm/CodeGen/GlobalISel/IRTranslator.h
   39 class Constant;
include/llvm/CodeGen/MachineConstantPool.h
   25 class Constant;
include/llvm/CodeGen/MachineOperand.h
   26 class Constant;
include/llvm/CodeGen/SelectionDAG.h
   61 class Constant;
include/llvm/CodeGen/SelectionDAGNodes.h
   58 class Constant;
include/llvm/CodeGen/TargetLowering.h
   71 class Constant;
include/llvm/ExecutionEngine/ExecutionEngine.h
   44 class Constant;
include/llvm/ExecutionEngine/Orc/IndirectionUtils.h
   37 class Constant;
include/llvm/IR/AutoUpgrade.h
   20   class Constant;
include/llvm/IR/DIBuilder.h
   34   class Constant;
include/llvm/IR/Function.h
   50 class Constant;
include/llvm/IR/GlobalVariable.h
   34 class Constant;
include/llvm/IR/MDBuilder.h
   29 class Constant;
include/llvm/IR/Value.h
   32 class Constant;
include/llvm/Transforms/Scalar/ConstantHoisting.h
   53 class Constant;
include/llvm/Transforms/Scalar/GVN.h
   42 class Constant;
include/llvm/Transforms/Scalar/JumpThreading.h
   36 class Constant;
include/llvm/Transforms/Utils/FunctionComparator.h
   33 class Constant;
include/llvm/Transforms/Utils/GlobalStatus.h
   16 class Constant;
include/llvm/Transforms/Utils/ModuleUtils.h
   27 class Constant;
include/llvm/Transforms/Utils/ValueMapper.h
   23 class Constant;
lib/AsmParser/LLParser.h
   35   class Constant;
lib/Bitcode/Reader/ValueList.h
   23 class Constant;
lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
   57 class Constant;
lib/IR/ConstantFold.h
   26   class Constant;
lib/Target/ARM/ARMConstantPoolValue.h
   27 class Constant;
lib/Target/X86/X86ShuffleDecodeConstantPool.h
   24 class Constant;
tools/clang/include/clang/CodeGen/ModuleBuilder.h
   19   class Constant;
tools/clang/lib/CodeGen/CGBlocks.h
   29 class Constant;
tools/clang/lib/CodeGen/CGCXXABI.h
   21 class Constant;
tools/clang/lib/CodeGen/CGObjCRuntime.h
   25   class Constant;
tools/clang/lib/CodeGen/CGOpenMPRuntime.h
   30 class Constant;
tools/clang/lib/CodeGen/CGValue.h
   25   class Constant;
tools/clang/lib/CodeGen/CodeGenModule.h
   41 class Constant;
tools/clang/lib/CodeGen/PatternInit.h
   13 class Constant;
tools/clang/lib/CodeGen/TargetInfo.h
   26 class Constant;
tools/lldb/source/Plugins/ExpressionParser/Clang/IRForTarget.h
   29 class Constant;

References

examples/BrainF/BrainF.cpp
   95   Constant* allocsize = ConstantExpr::getSizeOf(Int8Ty);
  142     Constant *msg_0 =
  164       Constant *zero_32 = Constant::getNullValue(IntegerType::getInt32Ty(C));
  164       Constant *zero_32 = Constant::getNullValue(IntegerType::getInt32Ty(C));
  166       Constant *gep_params[] = {
  171       Constant *msgptr = ConstantExpr::
examples/Kaleidoscope/BuildingAJIT/Chapter1/toy.cpp
  984   return Constant::getNullValue(Type::getDoubleTy(*TheContext));
examples/Kaleidoscope/BuildingAJIT/Chapter2/toy.cpp
  984   return Constant::getNullValue(Type::getDoubleTy(*TheContext));
examples/Kaleidoscope/BuildingAJIT/Chapter3/toy.cpp
  983   return Constant::getNullValue(Type::getDoubleTy(TheContext));
examples/Kaleidoscope/BuildingAJIT/Chapter4/toy.cpp
  969   return Constant::getNullValue(Type::getDoubleTy(TheContext));
examples/Kaleidoscope/BuildingAJIT/Chapter5/toy.cpp
  993   return Constant::getNullValue(Type::getDoubleTy(TheContext));
examples/Kaleidoscope/Chapter5/toy.cpp
  765   return Constant::getNullValue(Type::getDoubleTy(TheContext));
examples/Kaleidoscope/Chapter6/toy.cpp
  877   return Constant::getNullValue(Type::getDoubleTy(TheContext));
examples/Kaleidoscope/Chapter7/toy.cpp
  989   return Constant::getNullValue(Type::getDoubleTy(TheContext));
examples/Kaleidoscope/Chapter8/toy.cpp
  988   return Constant::getNullValue(Type::getDoubleTy(TheContext));
examples/Kaleidoscope/Chapter9/toy.cpp
 1153   return Constant::getNullValue(Type::getDoubleTy(TheContext));
include/llvm/ADT/ArrayRef.h
  108         const ArrayRef<U *> &A,
  110            std::is_convertible<U *const *, T const *>::value>::type * = nullptr)
  118       const SmallVectorTemplateCommon<U *, DummyT> &Vec,
  120           std::is_convertible<U *const *, T const *>::value>::type * = nullptr)
  127     ArrayRef(const std::vector<U *, A> &Vec,
  129                  std::is_convertible<U *const *, T const *>::value>::type* = 0)
include/llvm/ADT/DenseMapInfo.h
   39   static inline T* getEmptyKey() {
   41     Val <<= PointerLikeTypeTraits<T*>::NumLowBitsAvailable;
   45   static inline T* getTombstoneKey() {
   47     Val <<= PointerLikeTypeTraits<T*>::NumLowBitsAvailable;
   51   static unsigned getHashValue(const T *PtrVal) {
   56   static bool isEqual(const T *LHS, const T *RHS) { return LHS == RHS; }
   56   static bool isEqual(const T *LHS, const T *RHS) { return LHS == RHS; }
include/llvm/ADT/STLExtras.h
 1014       std::is_base_of<T, U>::value && are_base_of<T, Ts...>::value;
 1014       std::is_base_of<T, U>::value && are_base_of<T, Ts...>::value;
 1014       std::is_base_of<T, U>::value && are_base_of<T, Ts...>::value;
 1014       std::is_base_of<T, U>::value && are_base_of<T, Ts...>::value;
include/llvm/Analysis/CFLSteensAliasAnalysis.h
   83     if (isa<Constant>(LocA.Ptr) && isa<Constant>(LocB.Ptr))
   83     if (isa<Constant>(LocA.Ptr) && isa<Constant>(LocB.Ptr))
include/llvm/Analysis/CmpInstAnalysis.h
   54   Constant *getPredForICmpCode(unsigned Code, bool Sign, Type *OpTy,
include/llvm/Analysis/ConstantFolding.h
   38 bool IsConstantOffsetFromGlobal(Constant *C, GlobalValue *&GV, APInt &Offset,
   46 Constant *ConstantFoldInstruction(Instruction *I, const DataLayout &DL,
   52 Constant *ConstantFoldConstant(const Constant *C, const DataLayout &DL,
   52 Constant *ConstantFoldConstant(const Constant *C, const DataLayout &DL,
   61 Constant *ConstantFoldInstOperands(Instruction *I, ArrayRef<Constant *> Ops,
   61 Constant *ConstantFoldInstOperands(Instruction *I, ArrayRef<Constant *> Ops,
   69 Constant *
   70 ConstantFoldCompareInstOperands(unsigned Predicate, Constant *LHS,
   71                                 Constant *RHS, const DataLayout &DL,
   77 Constant *ConstantFoldUnaryOpOperand(unsigned Opcode, Constant *Op,
   77 Constant *ConstantFoldUnaryOpOperand(unsigned Opcode, Constant *Op,
   83 Constant *ConstantFoldBinaryOpOperands(unsigned Opcode, Constant *LHS,
   83 Constant *ConstantFoldBinaryOpOperands(unsigned Opcode, Constant *LHS,
   84                                        Constant *RHS, const DataLayout &DL);
   89 Constant *ConstantFoldSelectInstruction(Constant *Cond, Constant *V1,
   89 Constant *ConstantFoldSelectInstruction(Constant *Cond, Constant *V1,
   89 Constant *ConstantFoldSelectInstruction(Constant *Cond, Constant *V1,
   90                                         Constant *V2);
   94 Constant *ConstantFoldCastOperand(unsigned Opcode, Constant *C, Type *DestTy,
   94 Constant *ConstantFoldCastOperand(unsigned Opcode, Constant *C, Type *DestTy,
  100 Constant *ConstantFoldInsertValueInstruction(Constant *Agg, Constant *Val,
  100 Constant *ConstantFoldInsertValueInstruction(Constant *Agg, Constant *Val,
  100 Constant *ConstantFoldInsertValueInstruction(Constant *Agg, Constant *Val,
  106 Constant *ConstantFoldExtractValueInstruction(Constant *Agg,
  106 Constant *ConstantFoldExtractValueInstruction(Constant *Agg,
  112 Constant *ConstantFoldInsertElementInstruction(Constant *Val,
  112 Constant *ConstantFoldInsertElementInstruction(Constant *Val,
  113                                                Constant *Elt,
  114                                                Constant *Idx);
  119 Constant *ConstantFoldExtractElementInstruction(Constant *Val, Constant *Idx);
  119 Constant *ConstantFoldExtractElementInstruction(Constant *Val, Constant *Idx);
  119 Constant *ConstantFoldExtractElementInstruction(Constant *Val, Constant *Idx);
  124 Constant *ConstantFoldShuffleVectorInstruction(Constant *V1, Constant *V2,
  124 Constant *ConstantFoldShuffleVectorInstruction(Constant *V1, Constant *V2,
  124 Constant *ConstantFoldShuffleVectorInstruction(Constant *V1, Constant *V2,
  125                                                Constant *Mask);
  130 Constant *ConstantFoldLoadFromConstPtr(Constant *C, Type *Ty, const DataLayout &DL);
  130 Constant *ConstantFoldLoadFromConstPtr(Constant *C, Type *Ty, const DataLayout &DL);
  135 Constant *ConstantFoldLoadThroughGEPConstantExpr(Constant *C, ConstantExpr *CE);
  135 Constant *ConstantFoldLoadThroughGEPConstantExpr(Constant *C, ConstantExpr *CE);
  141 Constant *ConstantFoldLoadThroughGEPIndices(Constant *C,
  141 Constant *ConstantFoldLoadThroughGEPIndices(Constant *C,
  142                                             ArrayRef<Constant *> Indices);
  150 Constant *ConstantFoldCall(const CallBase *Call, Function *F,
  151                            ArrayRef<Constant *> Operands,
  157 Constant *ConstantFoldLoadThroughBitcast(Constant *C, Type *DestTy,
  157 Constant *ConstantFoldLoadThroughBitcast(Constant *C, Type *DestTy,
include/llvm/Analysis/IVDescriptors.h
  160   static Constant *getRecurrenceIdentity(RecurrenceKind K, Type *Tp);
include/llvm/Analysis/InstructionSimplify.h
  233 Value *SimplifyShuffleVectorInst(Value *Op0, Value *Op1, Constant *Mask,
include/llvm/Analysis/LazyCallGraph.h
 1075   static void visitReferences(SmallVectorImpl<Constant *> &Worklist,
 1076                               SmallPtrSetImpl<Constant *> &Visited,
 1079       Constant *C = Worklist.pop_back_val();
 1111         if (Visited.insert(cast<Constant>(Op)).second)
 1112           Worklist.push_back(cast<Constant>(Op));
include/llvm/Analysis/LazyValueInfo.h
   71   Tristate getPredicateOnEdge(unsigned Pred, Value *V, Constant *C,
   78   Tristate getPredicateAt(unsigned Pred, Value *V, Constant *C,
   83   Constant *getConstant(Value *V, BasicBlock *BB, Instruction *CxtI = nullptr);
   92   Constant *getConstantOnEdge(Value *V, BasicBlock *FromBB, BasicBlock *ToBB,
include/llvm/Analysis/LoopUnrollAnalyzer.h
   49                        DenseMap<Value *, Constant *> &SimplifiedValues,
   79   DenseMap<Value *, Constant *> &SimplifiedValues;
include/llvm/Analysis/ObjCARCAnalysisUtils.h
  155   if (isa<Constant>(Op) || isa<AllocaInst>(Op))
  217       isa<Argument>(V) || isa<Constant>(V) ||
include/llvm/Analysis/ScalarEvolution.h
 1368   DenseMap<PHINode *, Constant *> ConstantEvolutionLoopExitValue;
 1587   ExitLimit computeLoadConstantCompareExitLimit(LoadInst *LI, Constant *RHS,
 1726   Constant *getConstantEvolutionLoopExitValue(PHINode *PN, const APInt &BEs,
include/llvm/Analysis/ScalarEvolutionExpressions.h
  498     bool isOffsetOf(Type *&STy, Constant *&FieldNo) const;
include/llvm/Analysis/SparsePropagation.h
  318     Constant *C =
  319         dyn_cast_or_null<Constant>(LatticeFunc->GetValueFromLatticeVal(
  357   Constant *C = dyn_cast_or_null<Constant>(LatticeFunc->GetValueFromLatticeVal(
  357   Constant *C = dyn_cast_or_null<Constant>(LatticeFunc->GetValueFromLatticeVal(
include/llvm/Analysis/TargetFolder.h
   35   Constant *Fold(Constant *C) const {
   35   Constant *Fold(Constant *C) const {
   36     if (Constant *CF = ConstantFoldConstant(C, DL))
   48   Constant *CreateAdd(Constant *LHS, Constant *RHS,
   48   Constant *CreateAdd(Constant *LHS, Constant *RHS,
   48   Constant *CreateAdd(Constant *LHS, Constant *RHS,
   52   Constant *CreateFAdd(Constant *LHS, Constant *RHS) const {
   52   Constant *CreateFAdd(Constant *LHS, Constant *RHS) const {
   52   Constant *CreateFAdd(Constant *LHS, Constant *RHS) const {
   55   Constant *CreateSub(Constant *LHS, Constant *RHS,
   55   Constant *CreateSub(Constant *LHS, Constant *RHS,
   55   Constant *CreateSub(Constant *LHS, Constant *RHS,
   59   Constant *CreateFSub(Constant *LHS, Constant *RHS) const {
   59   Constant *CreateFSub(Constant *LHS, Constant *RHS) const {
   59   Constant *CreateFSub(Constant *LHS, Constant *RHS) const {
   62   Constant *CreateMul(Constant *LHS, Constant *RHS,
   62   Constant *CreateMul(Constant *LHS, Constant *RHS,
   62   Constant *CreateMul(Constant *LHS, Constant *RHS,
   66   Constant *CreateFMul(Constant *LHS, Constant *RHS) const {
   66   Constant *CreateFMul(Constant *LHS, Constant *RHS) const {
   66   Constant *CreateFMul(Constant *LHS, Constant *RHS) const {
   69   Constant *CreateUDiv(Constant *LHS, Constant *RHS, bool isExact = false)const{
   69   Constant *CreateUDiv(Constant *LHS, Constant *RHS, bool isExact = false)const{
   69   Constant *CreateUDiv(Constant *LHS, Constant *RHS, bool isExact = false)const{
   72   Constant *CreateSDiv(Constant *LHS, Constant *RHS, bool isExact = false)const{
   72   Constant *CreateSDiv(Constant *LHS, Constant *RHS, bool isExact = false)const{
   72   Constant *CreateSDiv(Constant *LHS, Constant *RHS, bool isExact = false)const{
   75   Constant *CreateFDiv(Constant *LHS, Constant *RHS) const {
   75   Constant *CreateFDiv(Constant *LHS, Constant *RHS) const {
   75   Constant *CreateFDiv(Constant *LHS, Constant *RHS) const {
   78   Constant *CreateURem(Constant *LHS, Constant *RHS) const {
   78   Constant *CreateURem(Constant *LHS, Constant *RHS) const {
   78   Constant *CreateURem(Constant *LHS, Constant *RHS) const {
   81   Constant *CreateSRem(Constant *LHS, Constant *RHS) const {
   81   Constant *CreateSRem(Constant *LHS, Constant *RHS) const {
   81   Constant *CreateSRem(Constant *LHS, Constant *RHS) const {
   84   Constant *CreateFRem(Constant *LHS, Constant *RHS) const {
   84   Constant *CreateFRem(Constant *LHS, Constant *RHS) const {
   84   Constant *CreateFRem(Constant *LHS, Constant *RHS) const {
   87   Constant *CreateShl(Constant *LHS, Constant *RHS,
   87   Constant *CreateShl(Constant *LHS, Constant *RHS,
   87   Constant *CreateShl(Constant *LHS, Constant *RHS,
   91   Constant *CreateLShr(Constant *LHS, Constant *RHS, bool isExact = false)const{
   91   Constant *CreateLShr(Constant *LHS, Constant *RHS, bool isExact = false)const{
   91   Constant *CreateLShr(Constant *LHS, Constant *RHS, bool isExact = false)const{
   94   Constant *CreateAShr(Constant *LHS, Constant *RHS, bool isExact = false)const{
   94   Constant *CreateAShr(Constant *LHS, Constant *RHS, bool isExact = false)const{
   94   Constant *CreateAShr(Constant *LHS, Constant *RHS, bool isExact = false)const{
   97   Constant *CreateAnd(Constant *LHS, Constant *RHS) const {
   97   Constant *CreateAnd(Constant *LHS, Constant *RHS) const {
   97   Constant *CreateAnd(Constant *LHS, Constant *RHS) const {
  100   Constant *CreateOr(Constant *LHS, Constant *RHS) const {
  100   Constant *CreateOr(Constant *LHS, Constant *RHS) const {
  100   Constant *CreateOr(Constant *LHS, Constant *RHS) const {
  103   Constant *CreateXor(Constant *LHS, Constant *RHS) const {
  103   Constant *CreateXor(Constant *LHS, Constant *RHS) const {
  103   Constant *CreateXor(Constant *LHS, Constant *RHS) const {
  107   Constant *CreateBinOp(Instruction::BinaryOps Opc,
  108                         Constant *LHS, Constant *RHS) const {
  108                         Constant *LHS, Constant *RHS) const {
  116   Constant *CreateNeg(Constant *C,
  116   Constant *CreateNeg(Constant *C,
  120   Constant *CreateFNeg(Constant *C) const {
  120   Constant *CreateFNeg(Constant *C) const {
  123   Constant *CreateNot(Constant *C) const {
  123   Constant *CreateNot(Constant *C) const {
  127   Constant *CreateUnOp(Instruction::UnaryOps Opc, Constant *C) const {
  127   Constant *CreateUnOp(Instruction::UnaryOps Opc, Constant *C) const {
  135   Constant *CreateGetElementPtr(Type *Ty, Constant *C,
  135   Constant *CreateGetElementPtr(Type *Ty, Constant *C,
  136                                 ArrayRef<Constant *> IdxList) const {
  139   Constant *CreateGetElementPtr(Type *Ty, Constant *C, Constant *Idx) const {
  139   Constant *CreateGetElementPtr(Type *Ty, Constant *C, Constant *Idx) const {
  139   Constant *CreateGetElementPtr(Type *Ty, Constant *C, Constant *Idx) const {
  145   Constant *CreateGetElementPtr(Type *Ty, Constant *C,
  145   Constant *CreateGetElementPtr(Type *Ty, Constant *C,
  150   Constant *CreateInBoundsGetElementPtr(Type *Ty, Constant *C,
  150   Constant *CreateInBoundsGetElementPtr(Type *Ty, Constant *C,
  151                                         ArrayRef<Constant *> IdxList) const {
  154   Constant *CreateInBoundsGetElementPtr(Type *Ty, Constant *C,
  154   Constant *CreateInBoundsGetElementPtr(Type *Ty, Constant *C,
  155                                         Constant *Idx) const {
  161   Constant *CreateInBoundsGetElementPtr(Type *Ty, Constant *C,
  161   Constant *CreateInBoundsGetElementPtr(Type *Ty, Constant *C,
  170   Constant *CreateCast(Instruction::CastOps Op, Constant *C,
  170   Constant *CreateCast(Instruction::CastOps Op, Constant *C,
  176   Constant *CreateIntCast(Constant *C, Type *DestTy,
  176   Constant *CreateIntCast(Constant *C, Type *DestTy,
  182   Constant *CreatePointerCast(Constant *C, Type *DestTy) const {
  182   Constant *CreatePointerCast(Constant *C, Type *DestTy) const {
  187   Constant *CreateFPCast(Constant *C, Type *DestTy) const {
  187   Constant *CreateFPCast(Constant *C, Type *DestTy) const {
  192   Constant *CreateBitCast(Constant *C, Type *DestTy) const {
  192   Constant *CreateBitCast(Constant *C, Type *DestTy) const {
  195   Constant *CreateIntToPtr(Constant *C, Type *DestTy) const {
  195   Constant *CreateIntToPtr(Constant *C, Type *DestTy) const {
  198   Constant *CreatePtrToInt(Constant *C, Type *DestTy) const {
  198   Constant *CreatePtrToInt(Constant *C, Type *DestTy) const {
  201   Constant *CreateZExtOrBitCast(Constant *C, Type *DestTy) const {
  201   Constant *CreateZExtOrBitCast(Constant *C, Type *DestTy) const {
  206   Constant *CreateSExtOrBitCast(Constant *C, Type *DestTy) const {
  206   Constant *CreateSExtOrBitCast(Constant *C, Type *DestTy) const {
  211   Constant *CreateTruncOrBitCast(Constant *C, Type *DestTy) const {
  211   Constant *CreateTruncOrBitCast(Constant *C, Type *DestTy) const {
  217   Constant *CreatePointerBitCastOrAddrSpaceCast(Constant *C,
  217   Constant *CreatePointerBitCastOrAddrSpaceCast(Constant *C,
  228   Constant *CreateICmp(CmpInst::Predicate P, Constant *LHS,
  228   Constant *CreateICmp(CmpInst::Predicate P, Constant *LHS,
  229                        Constant *RHS) const {
  232   Constant *CreateFCmp(CmpInst::Predicate P, Constant *LHS,
  232   Constant *CreateFCmp(CmpInst::Predicate P, Constant *LHS,
  233                        Constant *RHS) const {
  241   Constant *CreateSelect(Constant *C, Constant *True, Constant *False) const {
  241   Constant *CreateSelect(Constant *C, Constant *True, Constant *False) const {
  241   Constant *CreateSelect(Constant *C, Constant *True, Constant *False) const {
  241   Constant *CreateSelect(Constant *C, Constant *True, Constant *False) const {
  245   Constant *CreateExtractElement(Constant *Vec, Constant *Idx) const {
  245   Constant *CreateExtractElement(Constant *Vec, Constant *Idx) const {
  245   Constant *CreateExtractElement(Constant *Vec, Constant *Idx) const {
  249   Constant *CreateInsertElement(Constant *Vec, Constant *NewElt,
  249   Constant *CreateInsertElement(Constant *Vec, Constant *NewElt,
  249   Constant *CreateInsertElement(Constant *Vec, Constant *NewElt,
  250                                 Constant *Idx) const {
  254   Constant *CreateShuffleVector(Constant *V1, Constant *V2,
  254   Constant *CreateShuffleVector(Constant *V1, Constant *V2,
  254   Constant *CreateShuffleVector(Constant *V1, Constant *V2,
  255                                 Constant *Mask) const {
  259   Constant *CreateExtractValue(Constant *Agg,
  259   Constant *CreateExtractValue(Constant *Agg,
  264   Constant *CreateInsertValue(Constant *Agg, Constant *Val,
  264   Constant *CreateInsertValue(Constant *Agg, Constant *Val,
  264   Constant *CreateInsertValue(Constant *Agg, Constant *Val,
include/llvm/Analysis/TargetTransformInfo.h
  650   bool shouldBuildLookupTablesForConstant(Constant *C) const;
 1233   virtual bool shouldBuildLookupTablesForConstant(Constant *C) = 0;
 1553   bool shouldBuildLookupTablesForConstant(Constant *C) override {
include/llvm/Analysis/TargetTransformInfoImpl.h
  110       if (!isa<Constant>(Operands[Idx]))
  298   bool shouldBuildLookupTablesForConstant(Constant *C) { return true; }
  608       const auto* VectorValue = cast<Constant>(Val);
  608       const auto* VectorValue = cast<Constant>(Val);
include/llvm/Analysis/TypeMetadataUtils.h
   54 Constant *getPointerAtOffset(Constant *I, uint64_t Offset, Module &M);
   54 Constant *getPointerAtOffset(Constant *I, uint64_t Offset, Module &M);
include/llvm/Analysis/Utils/Local.h
   32   Value *Result = Constant::getNullValue(IntPtrTy);
   48     if (Constant *OpC = dyn_cast<Constant>(Op)) {
   48     if (Constant *OpC = dyn_cast<Constant>(Op)) {
   67       Constant *Scale = ConstantInt::get(IntPtrTy, Size);
   68       Constant *OC = ConstantExpr::getIntegerCast(OpC, IntPtrTy, true /*SExt*/);
include/llvm/Analysis/ValueLattice.h
   57     Constant *ConstVal;
  119   static ValueLatticeElement get(Constant *C) {
  125   static ValueLatticeElement getNot(Constant *C) {
  148   Constant *getConstant() const {
  153   Constant *getNotConstant() const {
  184   void markConstant(Constant *V) {
  200   void markNotConstant(Constant *V) {
  293   Constant *getCompare(CmpInst::Predicate Pred, Type *Ty,
include/llvm/Analysis/VectorUtils.h
  272 Constant *createBitMaskForGaps(IRBuilder<> &Builder, unsigned VF,
  287 Constant *createReplicatedMask(IRBuilder<> &Builder, unsigned ReplicationFactor,
  301 Constant *createInterleaveMask(IRBuilder<> &Builder, unsigned VF,
  316 Constant *createStrideMask(IRBuilder<> &Builder, unsigned Start,
  330 Constant *createSequentialMask(IRBuilder<> &Builder, unsigned Start,
include/llvm/AsmParser/Parser.h
  183 Constant *parseConstantValue(StringRef Asm, SMDiagnostic &Err, const Module &M,
include/llvm/CodeGen/AsmPrinter.h
  357   virtual const MCExpr *lowerConstant(const Constant *CV);
  360   void EmitGlobalConstant(const DataLayout &DL, const Constant *CV);
  430   virtual void EmitXXStructor(const DataLayout &DL, const Constant *CV) {
  687   void EmitXXStructorList(const DataLayout &DL, const Constant *List,
include/llvm/CodeGen/BasicTTIImpl.h
  584       if (!isa<Constant>(A) && UniqueOperands.insert(A).second) {
 1097       bool VarMask = !isa<Constant>(Mask);
 1105       bool VarMask = !isa<Constant>(Mask);
include/llvm/CodeGen/FastISel.h
  481   virtual unsigned fastMaterializeConstant(const Constant *C) { return 0; }
include/llvm/CodeGen/GCMetadata.h
   69   const Constant *Metadata; ///< Metadata straight from the call
   72   GCRoot(int N, const Constant *MD) : Num(N), Metadata(MD) {}
  113   void addStackRoot(int Num, const Constant *Metadata) {
include/llvm/CodeGen/GlobalISel/IRTranslator.h
  203   bool translate(const Constant &C, Register Reg);
include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
  365   MachineInstrBuilder buildConstDbgValue(const Constant &C,
include/llvm/CodeGen/MachineConstantPool.h
   70     const Constant *ConstVal;
   78   MachineConstantPoolEntry(const Constant *V, unsigned A)
  142   unsigned getConstantPoolIndex(const Constant *C, unsigned Alignment);
include/llvm/CodeGen/MachineInstrBuilder.h
  253   const MachineInstrBuilder &addShuffleMask(const Constant *Val) const {
include/llvm/CodeGen/MachineOperand.h
  177     const Constant *ShuffleMask; // For MO_ShuffleMask
  586   const Constant *getShuffleMask() const {
  914   static MachineOperand CreateShuffleMask(const Constant *C) {
include/llvm/CodeGen/SelectionDAG.h
  655   SDValue getConstantPool(const Constant *C, EVT VT, unsigned Align = 0,
  658   SDValue getTargetConstantPool(const Constant *C, EVT VT, unsigned Align = 0,
include/llvm/CodeGen/SelectionDAGNodes.h
 1824     const Constant *ConstVal;
 1831   ConstantPoolSDNode(bool isTarget, const Constant *c, EVT VT, int o,
 1855   const Constant *getConstVal() const {
include/llvm/CodeGen/TargetLowering.h
 1587   getExceptionPointerRegister(const Constant *PersonalityFn) const {
 1595   getExceptionSelectorRegister(const Constant *PersonalityFn) const {
 3244   virtual const Constant *getTargetConstantFromLoad(LoadSDNode *LD) const;
include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
   56                                    const Constant *C,
  114                                    const Constant *C,
  180                                    const Constant *C,
include/llvm/ExecutionEngine/ExecutionEngine.h
  394   void InitializeMemory(const Constant *Init, void *Addr);
  504   GenericValue getConstantValue(const Constant *C);
include/llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h
  488           Constant *Init = ConstantExpr::getCast(Instruction::IntToPtr,
  510       NewA->setAliasee(cast<Constant>(Init));
include/llvm/ExecutionEngine/Orc/IndirectionUtils.h
  413 Constant *createIRTypedAddress(FunctionType &FT, JITTargetAddress Addr);
  418                                   Constant *Initializer);
include/llvm/FuzzMutate/OpDescriptor.h
   32 void makeConstantsWithType(Type *T, std::vector<Constant *> &Cs);
   33 std::vector<Constant *> makeConstantsWithType(Type *T);
   51   using MakeT = std::function<std::vector<Constant *>(
   64       std::vector<Constant *> Result;
   66         Constant *V = UndefValue::get(T);
   82   std::vector<Constant *> generate(ArrayRef<Value *> Cur,
  134     std::vector<Constant *> Result;
  153     std::vector<Constant *> Result;
include/llvm/IR/AutoUpgrade.h
   76   Value *UpgradeBitCastExpr(unsigned Opc, Constant *C, Type *DestTy);
include/llvm/IR/CallSite.h
  120     if (isa<FunTy>(V) || isa<Constant>(V))
include/llvm/IR/Constant.h
   47   void operator=(const Constant &) = delete;
   48   Constant(const Constant &) = delete;
  128   Constant *getAggregateElement(unsigned Elt) const;
  129   Constant *getAggregateElement(Constant *Elt) const;
  129   Constant *getAggregateElement(Constant *Elt) const;
  133   Constant *getSplatValue() const;
  166   static Constant *getNullValue(Type* Ty);
  171   static Constant *getAllOnesValue(Type* Ty);
  175   static Constant *getIntegerValue(Type *Ty, const APInt &V);
  183   const Constant *stripPointerCasts() const {
  184     return cast<Constant>(Value::stripPointerCasts());
  187   Constant *stripPointerCasts() {
include/llvm/IR/ConstantFolder.h
   35   Constant *CreateAdd(Constant *LHS, Constant *RHS,
   35   Constant *CreateAdd(Constant *LHS, Constant *RHS,
   35   Constant *CreateAdd(Constant *LHS, Constant *RHS,
   40   Constant *CreateFAdd(Constant *LHS, Constant *RHS) const {
   40   Constant *CreateFAdd(Constant *LHS, Constant *RHS) const {
   40   Constant *CreateFAdd(Constant *LHS, Constant *RHS) const {
   44   Constant *CreateSub(Constant *LHS, Constant *RHS,
   44   Constant *CreateSub(Constant *LHS, Constant *RHS,
   44   Constant *CreateSub(Constant *LHS, Constant *RHS,
   49   Constant *CreateFSub(Constant *LHS, Constant *RHS) const {
   49   Constant *CreateFSub(Constant *LHS, Constant *RHS) const {
   49   Constant *CreateFSub(Constant *LHS, Constant *RHS) const {
   53   Constant *CreateMul(Constant *LHS, Constant *RHS,
   53   Constant *CreateMul(Constant *LHS, Constant *RHS,
   53   Constant *CreateMul(Constant *LHS, Constant *RHS,
   58   Constant *CreateFMul(Constant *LHS, Constant *RHS) const {
   58   Constant *CreateFMul(Constant *LHS, Constant *RHS) const {
   58   Constant *CreateFMul(Constant *LHS, Constant *RHS) const {
   62   Constant *CreateUDiv(Constant *LHS, Constant *RHS,
   62   Constant *CreateUDiv(Constant *LHS, Constant *RHS,
   62   Constant *CreateUDiv(Constant *LHS, Constant *RHS,
   67   Constant *CreateSDiv(Constant *LHS, Constant *RHS,
   67   Constant *CreateSDiv(Constant *LHS, Constant *RHS,
   67   Constant *CreateSDiv(Constant *LHS, Constant *RHS,
   72   Constant *CreateFDiv(Constant *LHS, Constant *RHS) const {
   72   Constant *CreateFDiv(Constant *LHS, Constant *RHS) const {
   72   Constant *CreateFDiv(Constant *LHS, Constant *RHS) const {
   76   Constant *CreateURem(Constant *LHS, Constant *RHS) const {
   76   Constant *CreateURem(Constant *LHS, Constant *RHS) const {
   76   Constant *CreateURem(Constant *LHS, Constant *RHS) const {
   80   Constant *CreateSRem(Constant *LHS, Constant *RHS) const {
   80   Constant *CreateSRem(Constant *LHS, Constant *RHS) const {
   80   Constant *CreateSRem(Constant *LHS, Constant *RHS) const {
   84   Constant *CreateFRem(Constant *LHS, Constant *RHS) const {
   84   Constant *CreateFRem(Constant *LHS, Constant *RHS) const {
   84   Constant *CreateFRem(Constant *LHS, Constant *RHS) const {
   88   Constant *CreateShl(Constant *LHS, Constant *RHS,
   88   Constant *CreateShl(Constant *LHS, Constant *RHS,
   88   Constant *CreateShl(Constant *LHS, Constant *RHS,
   93   Constant *CreateLShr(Constant *LHS, Constant *RHS,
   93   Constant *CreateLShr(Constant *LHS, Constant *RHS,
   93   Constant *CreateLShr(Constant *LHS, Constant *RHS,
   98   Constant *CreateAShr(Constant *LHS, Constant *RHS,
   98   Constant *CreateAShr(Constant *LHS, Constant *RHS,
   98   Constant *CreateAShr(Constant *LHS, Constant *RHS,
  103   Constant *CreateAnd(Constant *LHS, Constant *RHS) const {
  103   Constant *CreateAnd(Constant *LHS, Constant *RHS) const {
  103   Constant *CreateAnd(Constant *LHS, Constant *RHS) const {
  107   Constant *CreateOr(Constant *LHS, Constant *RHS) const {
  107   Constant *CreateOr(Constant *LHS, Constant *RHS) const {
  107   Constant *CreateOr(Constant *LHS, Constant *RHS) const {
  111   Constant *CreateXor(Constant *LHS, Constant *RHS) const {
  111   Constant *CreateXor(Constant *LHS, Constant *RHS) const {
  111   Constant *CreateXor(Constant *LHS, Constant *RHS) const {
  115   Constant *CreateBinOp(Instruction::BinaryOps Opc,
  116                         Constant *LHS, Constant *RHS) const {
  116                         Constant *LHS, Constant *RHS) const {
  124   Constant *CreateNeg(Constant *C,
  124   Constant *CreateNeg(Constant *C,
  129   Constant *CreateFNeg(Constant *C) const {
  129   Constant *CreateFNeg(Constant *C) const {
  133   Constant *CreateNot(Constant *C) const {
  133   Constant *CreateNot(Constant *C) const {
  137   Constant *CreateUnOp(Instruction::UnaryOps Opc, Constant *C) const {
  137   Constant *CreateUnOp(Instruction::UnaryOps Opc, Constant *C) const {
  145   Constant *CreateGetElementPtr(Type *Ty, Constant *C,
  145   Constant *CreateGetElementPtr(Type *Ty, Constant *C,
  146                                 ArrayRef<Constant *> IdxList) const {
  150   Constant *CreateGetElementPtr(Type *Ty, Constant *C, Constant *Idx) const {
  150   Constant *CreateGetElementPtr(Type *Ty, Constant *C, Constant *Idx) const {
  150   Constant *CreateGetElementPtr(Type *Ty, Constant *C, Constant *Idx) const {
  157   Constant *CreateGetElementPtr(Type *Ty, Constant *C,
  157   Constant *CreateGetElementPtr(Type *Ty, Constant *C,
  162   Constant *CreateInBoundsGetElementPtr(Type *Ty, Constant *C,
  162   Constant *CreateInBoundsGetElementPtr(Type *Ty, Constant *C,
  163                                         ArrayRef<Constant *> IdxList) const {
  167   Constant *CreateInBoundsGetElementPtr(Type *Ty, Constant *C,
  167   Constant *CreateInBoundsGetElementPtr(Type *Ty, Constant *C,
  168                                         Constant *Idx) const {
  175   Constant *CreateInBoundsGetElementPtr(Type *Ty, Constant *C,
  175   Constant *CreateInBoundsGetElementPtr(Type *Ty, Constant *C,
  184   Constant *CreateCast(Instruction::CastOps Op, Constant *C,
  184   Constant *CreateCast(Instruction::CastOps Op, Constant *C,
  189   Constant *CreatePointerCast(Constant *C, Type *DestTy) const {
  189   Constant *CreatePointerCast(Constant *C, Type *DestTy) const {
  193   Constant *CreatePointerBitCastOrAddrSpaceCast(Constant *C,
  193   Constant *CreatePointerBitCastOrAddrSpaceCast(Constant *C,
  198   Constant *CreateIntCast(Constant *C, Type *DestTy,
  198   Constant *CreateIntCast(Constant *C, Type *DestTy,
  203   Constant *CreateFPCast(Constant *C, Type *DestTy) const {
  203   Constant *CreateFPCast(Constant *C, Type *DestTy) const {
  207   Constant *CreateBitCast(Constant *C, Type *DestTy) const {
  207   Constant *CreateBitCast(Constant *C, Type *DestTy) const {
  211   Constant *CreateIntToPtr(Constant *C, Type *DestTy) const {
  211   Constant *CreateIntToPtr(Constant *C, Type *DestTy) const {
  215   Constant *CreatePtrToInt(Constant *C, Type *DestTy) const {
  215   Constant *CreatePtrToInt(Constant *C, Type *DestTy) const {
  219   Constant *CreateZExtOrBitCast(Constant *C, Type *DestTy) const {
  219   Constant *CreateZExtOrBitCast(Constant *C, Type *DestTy) const {
  223   Constant *CreateSExtOrBitCast(Constant *C, Type *DestTy) const {
  223   Constant *CreateSExtOrBitCast(Constant *C, Type *DestTy) const {
  227   Constant *CreateTruncOrBitCast(Constant *C, Type *DestTy) const {
  227   Constant *CreateTruncOrBitCast(Constant *C, Type *DestTy) const {
  235   Constant *CreateICmp(CmpInst::Predicate P, Constant *LHS,
  235   Constant *CreateICmp(CmpInst::Predicate P, Constant *LHS,
  236                        Constant *RHS) const {
  240   Constant *CreateFCmp(CmpInst::Predicate P, Constant *LHS,
  240   Constant *CreateFCmp(CmpInst::Predicate P, Constant *LHS,
  241                        Constant *RHS) const {
  249   Constant *CreateSelect(Constant *C, Constant *True, Constant *False) const {
  249   Constant *CreateSelect(Constant *C, Constant *True, Constant *False) const {
  249   Constant *CreateSelect(Constant *C, Constant *True, Constant *False) const {
  249   Constant *CreateSelect(Constant *C, Constant *True, Constant *False) const {
  253   Constant *CreateExtractElement(Constant *Vec, Constant *Idx) const {
  253   Constant *CreateExtractElement(Constant *Vec, Constant *Idx) const {
  253   Constant *CreateExtractElement(Constant *Vec, Constant *Idx) const {
  257   Constant *CreateInsertElement(Constant *Vec, Constant *NewElt,
  257   Constant *CreateInsertElement(Constant *Vec, Constant *NewElt,
  257   Constant *CreateInsertElement(Constant *Vec, Constant *NewElt,
  258                                 Constant *Idx) const {
  262   Constant *CreateShuffleVector(Constant *V1, Constant *V2,
  262   Constant *CreateShuffleVector(Constant *V1, Constant *V2,
  262   Constant *CreateShuffleVector(Constant *V1, Constant *V2,
  263                                 Constant *Mask) const {
  267   Constant *CreateExtractValue(Constant *Agg,
  267   Constant *CreateExtractValue(Constant *Agg,
  272   Constant *CreateInsertValue(Constant *Agg, Constant *Val,
  272   Constant *CreateInsertValue(Constant *Agg, Constant *Val,
  272   Constant *CreateInsertValue(Constant *Agg, Constant *Val,
include/llvm/IR/Constants.h
   57 class ConstantData : public Constant {
   97   static Constant *getTrue(Type *Ty);
   98   static Constant *getFalse(Type *Ty);
  102   static Constant *get(Type *Ty, uint64_t V, bool isSigned = false);
  119   static Constant *getSigned(Type *Ty, int64_t V);
  132   static Constant *get(Type* Ty, const APInt& V);
  278   static Constant *getZeroValueForNegation(Type *Ty);
  284   static Constant *get(Type* Ty, double V);
  288   static Constant *get(Type *Ty, const APFloat &V);
  290   static Constant *get(Type* Ty, StringRef Str);
  292   static Constant *getNaN(Type *Ty, bool Negative = false, uint64_t Payload = 0);
  293   static Constant *getQNaN(Type *Ty, bool Negative = false,
  295   static Constant *getSNaN(Type *Ty, bool Negative = false,
  297   static Constant *getNegativeZero(Type *Ty);
  298   static Constant *getInfinity(Type *Ty, bool Negative = false);
  355   Constant *getSequentialElement() const;
  359   Constant *getStructElement(unsigned Elt) const;
  363   Constant *getElementValue(Constant *C) const;
  363   Constant *getElementValue(Constant *C) const;
  366   Constant *getElementValue(unsigned Idx) const;
  389 class ConstantAggregate : public Constant {
  391   ConstantAggregate(CompositeType *T, ValueTy VT, ArrayRef<Constant *> V);
  417   ConstantArray(ArrayType *T, ArrayRef<Constant *> Val);
  424   static Constant *get(ArrayType *T, ArrayRef<Constant*> V);
  424   static Constant *get(ArrayType *T, ArrayRef<Constant*> V);
  427   static Constant *getImpl(ArrayType *T, ArrayRef<Constant *> V);
  427   static Constant *getImpl(ArrayType *T, ArrayRef<Constant *> V);
  449   ConstantStruct(StructType *T, ArrayRef<Constant *> Val);
  456   static Constant *get(StructType *T, ArrayRef<Constant*> V);
  456   static Constant *get(StructType *T, ArrayRef<Constant*> V);
  459   static typename std::enable_if<are_base_of<Constant, Csts...>::value,
  459   static typename std::enable_if<are_base_of<Constant, Csts...>::value,
  460                                  Constant *>::type
  461   get(StructType *T, Csts *... Vs) {
  462     SmallVector<Constant *, 8> Values({Vs...});
  468   static Constant *getAnon(ArrayRef<Constant*> V, bool Packed = false) {
  468   static Constant *getAnon(ArrayRef<Constant*> V, bool Packed = false) {
  471   static Constant *getAnon(LLVMContext &Ctx,
  472                            ArrayRef<Constant*> V, bool Packed = false) {
  478   static StructType *getTypeForElements(ArrayRef<Constant*> V,
  482                                         ArrayRef<Constant*> V,
  503   ConstantVector(VectorType *T, ArrayRef<Constant *> Val);
  510   static Constant *get(ArrayRef<Constant*> V);
  510   static Constant *get(ArrayRef<Constant*> V);
  513   static Constant *getImpl(ArrayRef<Constant *> V);
  513   static Constant *getImpl(ArrayRef<Constant *> V);
  517   static Constant *getSplat(unsigned NumElts, Constant *Elt);
  517   static Constant *getSplat(unsigned NumElts, Constant *Elt);
  527   Constant *getSplatValue() const;
  594   static Constant *getImpl(StringRef Bytes, Type *Ty);
  628   Constant *getElementAsConstant(unsigned i) const;
  702   static Constant *get(LLVMContext &Context, ArrayRef<ElementTy> Elts) {
  711   static Constant *get(LLVMContext &Context, ArrayTy &Elts) {
  721   static Constant *getRaw(StringRef Data, uint64_t NumElements, Type *ElementTy) {
  731   static Constant *getFP(LLVMContext &Context, ArrayRef<uint16_t> Elts);
  732   static Constant *getFP(LLVMContext &Context, ArrayRef<uint32_t> Elts);
  733   static Constant *getFP(LLVMContext &Context, ArrayRef<uint64_t> Elts);
  740   static Constant *getString(LLVMContext &Context, StringRef Initializer,
  773   static Constant *get(LLVMContext &Context, ArrayRef<uint8_t> Elts);
  774   static Constant *get(LLVMContext &Context, ArrayRef<uint16_t> Elts);
  775   static Constant *get(LLVMContext &Context, ArrayRef<uint32_t> Elts);
  776   static Constant *get(LLVMContext &Context, ArrayRef<uint64_t> Elts);
  777   static Constant *get(LLVMContext &Context, ArrayRef<float> Elts);
  778   static Constant *get(LLVMContext &Context, ArrayRef<double> Elts);
  785   static Constant *getFP(LLVMContext &Context, ArrayRef<uint16_t> Elts);
  786   static Constant *getFP(LLVMContext &Context, ArrayRef<uint32_t> Elts);
  787   static Constant *getFP(LLVMContext &Context, ArrayRef<uint64_t> Elts);
  792   static Constant *getSplat(unsigned NumElts, Constant *Elt);
  792   static Constant *getSplat(unsigned NumElts, Constant *Elt);
  800   Constant *getSplatValue() const;
  839 class BlockAddress final : public Constant {
  888 class ConstantExpr : public Constant {
  910   static Constant *getAlignOf(Type *Ty);
  916   static Constant *getSizeOf(Type *Ty);
  921   static Constant *getOffsetOf(StructType *STy, unsigned FieldNo);
  926   static Constant *getOffsetOf(Type *Ty, Constant *FieldNo);
  926   static Constant *getOffsetOf(Type *Ty, Constant *FieldNo);
  928   static Constant *getNeg(Constant *C, bool HasNUW = false, bool HasNSW =false);
  928   static Constant *getNeg(Constant *C, bool HasNUW = false, bool HasNSW =false);
  929   static Constant *getFNeg(Constant *C);
  929   static Constant *getFNeg(Constant *C);
  930   static Constant *getNot(Constant *C);
  930   static Constant *getNot(Constant *C);
  931   static Constant *getAdd(Constant *C1, Constant *C2,
  931   static Constant *getAdd(Constant *C1, Constant *C2,
  931   static Constant *getAdd(Constant *C1, Constant *C2,
  933   static Constant *getFAdd(Constant *C1, Constant *C2);
  933   static Constant *getFAdd(Constant *C1, Constant *C2);
  933   static Constant *getFAdd(Constant *C1, Constant *C2);
  934   static Constant *getSub(Constant *C1, Constant *C2,
  934   static Constant *getSub(Constant *C1, Constant *C2,
  934   static Constant *getSub(Constant *C1, Constant *C2,
  936   static Constant *getFSub(Constant *C1, Constant *C2);
  936   static Constant *getFSub(Constant *C1, Constant *C2);
  936   static Constant *getFSub(Constant *C1, Constant *C2);
  937   static Constant *getMul(Constant *C1, Constant *C2,
  937   static Constant *getMul(Constant *C1, Constant *C2,
  937   static Constant *getMul(Constant *C1, Constant *C2,
  939   static Constant *getFMul(Constant *C1, Constant *C2);
  939   static Constant *getFMul(Constant *C1, Constant *C2);
  939   static Constant *getFMul(Constant *C1, Constant *C2);
  940   static Constant *getUDiv(Constant *C1, Constant *C2, bool isExact = false);
  940   static Constant *getUDiv(Constant *C1, Constant *C2, bool isExact = false);
  940   static Constant *getUDiv(Constant *C1, Constant *C2, bool isExact = false);
  941   static Constant *getSDiv(Constant *C1, Constant *C2, bool isExact = false);
  941   static Constant *getSDiv(Constant *C1, Constant *C2, bool isExact = false);
  941   static Constant *getSDiv(Constant *C1, Constant *C2, bool isExact = false);
  942   static Constant *getFDiv(Constant *C1, Constant *C2);
  942   static Constant *getFDiv(Constant *C1, Constant *C2);
  942   static Constant *getFDiv(Constant *C1, Constant *C2);
  943   static Constant *getURem(Constant *C1, Constant *C2);
  943   static Constant *getURem(Constant *C1, Constant *C2);
  943   static Constant *getURem(Constant *C1, Constant *C2);
  944   static Constant *getSRem(Constant *C1, Constant *C2);
  944   static Constant *getSRem(Constant *C1, Constant *C2);
  944   static Constant *getSRem(Constant *C1, Constant *C2);
  945   static Constant *getFRem(Constant *C1, Constant *C2);
  945   static Constant *getFRem(Constant *C1, Constant *C2);
  945   static Constant *getFRem(Constant *C1, Constant *C2);
  946   static Constant *getAnd(Constant *C1, Constant *C2);
  946   static Constant *getAnd(Constant *C1, Constant *C2);
  946   static Constant *getAnd(Constant *C1, Constant *C2);
  947   static Constant *getOr(Constant *C1, Constant *C2);
  947   static Constant *getOr(Constant *C1, Constant *C2);
  947   static Constant *getOr(Constant *C1, Constant *C2);
  948   static Constant *getXor(Constant *C1, Constant *C2);
  948   static Constant *getXor(Constant *C1, Constant *C2);
  948   static Constant *getXor(Constant *C1, Constant *C2);
  949   static Constant *getShl(Constant *C1, Constant *C2,
  949   static Constant *getShl(Constant *C1, Constant *C2,
  949   static Constant *getShl(Constant *C1, Constant *C2,
  951   static Constant *getLShr(Constant *C1, Constant *C2, bool isExact = false);
  951   static Constant *getLShr(Constant *C1, Constant *C2, bool isExact = false);
  951   static Constant *getLShr(Constant *C1, Constant *C2, bool isExact = false);
  952   static Constant *getAShr(Constant *C1, Constant *C2, bool isExact = false);
  952   static Constant *getAShr(Constant *C1, Constant *C2, bool isExact = false);
  952   static Constant *getAShr(Constant *C1, Constant *C2, bool isExact = false);
  953   static Constant *getTrunc(Constant *C, Type *Ty, bool OnlyIfReduced = false);
  953   static Constant *getTrunc(Constant *C, Type *Ty, bool OnlyIfReduced = false);
  954   static Constant *getSExt(Constant *C, Type *Ty, bool OnlyIfReduced = false);
  954   static Constant *getSExt(Constant *C, Type *Ty, bool OnlyIfReduced = false);
  955   static Constant *getZExt(Constant *C, Type *Ty, bool OnlyIfReduced = false);
  955   static Constant *getZExt(Constant *C, Type *Ty, bool OnlyIfReduced = false);
  956   static Constant *getFPTrunc(Constant *C, Type *Ty,
  956   static Constant *getFPTrunc(Constant *C, Type *Ty,
  958   static Constant *getFPExtend(Constant *C, Type *Ty,
  958   static Constant *getFPExtend(Constant *C, Type *Ty,
  960   static Constant *getUIToFP(Constant *C, Type *Ty, bool OnlyIfReduced = false);
  960   static Constant *getUIToFP(Constant *C, Type *Ty, bool OnlyIfReduced = false);
  961   static Constant *getSIToFP(Constant *C, Type *Ty, bool OnlyIfReduced = false);
  961   static Constant *getSIToFP(Constant *C, Type *Ty, bool OnlyIfReduced = false);
  962   static Constant *getFPToUI(Constant *C, Type *Ty, bool OnlyIfReduced = false);
  962   static Constant *getFPToUI(Constant *C, Type *Ty, bool OnlyIfReduced = false);
  963   static Constant *getFPToSI(Constant *C, Type *Ty, bool OnlyIfReduced = false);
  963   static Constant *getFPToSI(Constant *C, Type *Ty, bool OnlyIfReduced = false);
  964   static Constant *getPtrToInt(Constant *C, Type *Ty,
  964   static Constant *getPtrToInt(Constant *C, Type *Ty,
  966   static Constant *getIntToPtr(Constant *C, Type *Ty,
  966   static Constant *getIntToPtr(Constant *C, Type *Ty,
  968   static Constant *getBitCast(Constant *C, Type *Ty,
  968   static Constant *getBitCast(Constant *C, Type *Ty,
  970   static Constant *getAddrSpaceCast(Constant *C, Type *Ty,
  970   static Constant *getAddrSpaceCast(Constant *C, Type *Ty,
  973   static Constant *getNSWNeg(Constant *C) { return getNeg(C, false, true); }
  973   static Constant *getNSWNeg(Constant *C) { return getNeg(C, false, true); }
  974   static Constant *getNUWNeg(Constant *C) { return getNeg(C, true, false); }
  974   static Constant *getNUWNeg(Constant *C) { return getNeg(C, true, false); }
  976   static Constant *getNSWAdd(Constant *C1, Constant *C2) {
  976   static Constant *getNSWAdd(Constant *C1, Constant *C2) {
  976   static Constant *getNSWAdd(Constant *C1, Constant *C2) {
  980   static Constant *getNUWAdd(Constant *C1, Constant *C2) {
  980   static Constant *getNUWAdd(Constant *C1, Constant *C2) {
  980   static Constant *getNUWAdd(Constant *C1, Constant *C2) {
  984   static Constant *getNSWSub(Constant *C1, Constant *C2) {
  984   static Constant *getNSWSub(Constant *C1, Constant *C2) {
  984   static Constant *getNSWSub(Constant *C1, Constant *C2) {
  988   static Constant *getNUWSub(Constant *C1, Constant *C2) {
  988   static Constant *getNUWSub(Constant *C1, Constant *C2) {
  988   static Constant *getNUWSub(Constant *C1, Constant *C2) {
  992   static Constant *getNSWMul(Constant *C1, Constant *C2) {
  992   static Constant *getNSWMul(Constant *C1, Constant *C2) {
  992   static Constant *getNSWMul(Constant *C1, Constant *C2) {
  996   static Constant *getNUWMul(Constant *C1, Constant *C2) {
  996   static Constant *getNUWMul(Constant *C1, Constant *C2) {
  996   static Constant *getNUWMul(Constant *C1, Constant *C2) {
 1000   static Constant *getNSWShl(Constant *C1, Constant *C2) {
 1000   static Constant *getNSWShl(Constant *C1, Constant *C2) {
 1000   static Constant *getNSWShl(Constant *C1, Constant *C2) {
 1004   static Constant *getNUWShl(Constant *C1, Constant *C2) {
 1004   static Constant *getNUWShl(Constant *C1, Constant *C2) {
 1004   static Constant *getNUWShl(Constant *C1, Constant *C2) {
 1008   static Constant *getExactSDiv(Constant *C1, Constant *C2) {
 1008   static Constant *getExactSDiv(Constant *C1, Constant *C2) {
 1008   static Constant *getExactSDiv(Constant *C1, Constant *C2) {
 1012   static Constant *getExactUDiv(Constant *C1, Constant *C2) {
 1012   static Constant *getExactUDiv(Constant *C1, Constant *C2) {
 1012   static Constant *getExactUDiv(Constant *C1, Constant *C2) {
 1016   static Constant *getExactAShr(Constant *C1, Constant *C2) {
 1016   static Constant *getExactAShr(Constant *C1, Constant *C2) {
 1016   static Constant *getExactAShr(Constant *C1, Constant *C2) {
 1020   static Constant *getExactLShr(Constant *C1, Constant *C2) {
 1020   static Constant *getExactLShr(Constant *C1, Constant *C2) {
 1020   static Constant *getExactLShr(Constant *C1, Constant *C2) {
 1031   static Constant *getBinOpIdentity(unsigned Opcode, Type *Ty,
 1038   static Constant *getBinOpAbsorber(unsigned Opcode, Type *Ty);
 1049   static Constant *getCast(unsigned ops, Constant *C, Type *Ty,
 1049   static Constant *getCast(unsigned ops, Constant *C, Type *Ty,
 1053   static Constant *getZExtOrBitCast(
 1054     Constant *C,   ///< The constant to zext or bitcast
 1059   static Constant *getSExtOrBitCast(
 1060     Constant *C,   ///< The constant to sext or bitcast
 1065   static Constant *getTruncOrBitCast(
 1066     Constant *C,   ///< The constant to trunc or bitcast
 1072   static Constant *getPointerCast(
 1073     Constant *C,   ///< The pointer value to be casted (operand 0)
 1079   static Constant *getPointerBitCastOrAddrSpaceCast(
 1080     Constant *C,   ///< The constant to addrspacecast or bitcast
 1085   static Constant *getIntegerCast(
 1086     Constant *C,    ///< The integer constant to be casted
 1092   static Constant *getFPCast(
 1093     Constant *C,    ///< The integer constant to be casted
 1117   static Constant *getSelect(Constant *C, Constant *V1, Constant *V2,
 1117   static Constant *getSelect(Constant *C, Constant *V1, Constant *V2,
 1117   static Constant *getSelect(Constant *C, Constant *V1, Constant *V2,
 1117   static Constant *getSelect(Constant *C, Constant *V1, Constant *V2,
 1124   static Constant *get(unsigned Opcode, Constant *C1, unsigned Flags = 0, 
 1124   static Constant *get(unsigned Opcode, Constant *C1, unsigned Flags = 0, 
 1131   static Constant *get(unsigned Opcode, Constant *C1, Constant *C2,
 1131   static Constant *get(unsigned Opcode, Constant *C1, Constant *C2,
 1131   static Constant *get(unsigned Opcode, Constant *C1, Constant *C2,
 1137   static Constant *getCompare(unsigned short pred, Constant *C1, Constant *C2,
 1137   static Constant *getCompare(unsigned short pred, Constant *C1, Constant *C2,
 1137   static Constant *getCompare(unsigned short pred, Constant *C1, Constant *C2,
 1143   static Constant *getICmp(unsigned short pred, Constant *LHS, Constant *RHS,
 1143   static Constant *getICmp(unsigned short pred, Constant *LHS, Constant *RHS,
 1143   static Constant *getICmp(unsigned short pred, Constant *LHS, Constant *RHS,
 1145   static Constant *getFCmp(unsigned short pred, Constant *LHS, Constant *RHS,
 1145   static Constant *getFCmp(unsigned short pred, Constant *LHS, Constant *RHS,
 1145   static Constant *getFCmp(unsigned short pred, Constant *LHS, Constant *RHS,
 1153   static Constant *getGetElementPtr(Type *Ty, Constant *C,
 1153   static Constant *getGetElementPtr(Type *Ty, Constant *C,
 1154                                     ArrayRef<Constant *> IdxList,
 1162   static Constant *getGetElementPtr(Type *Ty, Constant *C, Constant *Idx,
 1162   static Constant *getGetElementPtr(Type *Ty, Constant *C, Constant *Idx,
 1162   static Constant *getGetElementPtr(Type *Ty, Constant *C, Constant *Idx,
 1172   static Constant *getGetElementPtr(Type *Ty, Constant *C,
 1172   static Constant *getGetElementPtr(Type *Ty, Constant *C,
 1180   static Constant *getInBoundsGetElementPtr(Type *Ty, Constant *C,
 1180   static Constant *getInBoundsGetElementPtr(Type *Ty, Constant *C,
 1181                                             ArrayRef<Constant *> IdxList) {
 1184   static Constant *getInBoundsGetElementPtr(Type *Ty, Constant *C,
 1184   static Constant *getInBoundsGetElementPtr(Type *Ty, Constant *C,
 1185                                             Constant *Idx) {
 1191   static Constant *getInBoundsGetElementPtr(Type *Ty, Constant *C,
 1191   static Constant *getInBoundsGetElementPtr(Type *Ty, Constant *C,
 1196   static Constant *getExtractElement(Constant *Vec, Constant *Idx,
 1196   static Constant *getExtractElement(Constant *Vec, Constant *Idx,
 1196   static Constant *getExtractElement(Constant *Vec, Constant *Idx,
 1198   static Constant *getInsertElement(Constant *Vec, Constant *Elt, Constant *Idx,
 1198   static Constant *getInsertElement(Constant *Vec, Constant *Elt, Constant *Idx,
 1198   static Constant *getInsertElement(Constant *Vec, Constant *Elt, Constant *Idx,
 1198   static Constant *getInsertElement(Constant *Vec, Constant *Elt, Constant *Idx,
 1200   static Constant *getShuffleVector(Constant *V1, Constant *V2, Constant *Mask,
 1200   static Constant *getShuffleVector(Constant *V1, Constant *V2, Constant *Mask,
 1200   static Constant *getShuffleVector(Constant *V1, Constant *V2, Constant *Mask,
 1200   static Constant *getShuffleVector(Constant *V1, Constant *V2, Constant *Mask,
 1202   static Constant *getExtractValue(Constant *Agg, ArrayRef<unsigned> Idxs,
 1202   static Constant *getExtractValue(Constant *Agg, ArrayRef<unsigned> Idxs,
 1204   static Constant *getInsertValue(Constant *Agg, Constant *Val,
 1204   static Constant *getInsertValue(Constant *Agg, Constant *Val,
 1204   static Constant *getInsertValue(Constant *Agg, Constant *Val,
 1224   Constant *getWithOperandReplaced(unsigned OpNo, Constant *Op) const;
 1224   Constant *getWithOperandReplaced(unsigned OpNo, Constant *Op) const;
 1229   Constant *getWithOperands(ArrayRef<Constant*> Ops) const {
 1229   Constant *getWithOperands(ArrayRef<Constant*> Ops) const {
 1242   Constant *getWithOperands(ArrayRef<Constant *> Ops, Type *Ty,
 1242   Constant *getWithOperands(ArrayRef<Constant *> Ops, Type *Ty,
 1308   UndefValue *getElementValue(Constant *C) const;
include/llvm/IR/DIBuilder.h
  293 					   Constant *Discriminant,
  324                                           Constant *Val,
  455                                                            Constant *Val);
include/llvm/IR/DebugInfoMetadata.h
  860   Constant *getStorageOffsetInBits() const {
  867   Constant *getConstant() const {
  873   Constant *getDiscriminantValue() const {
include/llvm/IR/Function.h
  742   Constant *getPersonalityFn() const;
  743   void setPersonalityFn(Constant *Fn);
  751   Constant *getPrefixData() const;
  752   void setPrefixData(Constant *PrefixData);
  760   Constant *getPrologueData() const;
  761   void setPrologueData(Constant *PrologueData);
  841   template<int Idx> void setHungoffOperand(Constant *C);
include/llvm/IR/GlobalAlias.h
   32               const Twine &Name, Constant *Aliasee, Module *Parent);
   42                              Constant *Aliasee, Module *Parent);
   72   void setAliasee(Constant *Aliasee);
   73   const Constant *getAliasee() const {
   76   Constant *getAliasee() {
include/llvm/IR/GlobalIFunc.h
   37               const Twine &Name, Constant *Resolver, Module *Parent);
   47                              Constant *Resolver, Module *Parent);
   57   void setResolver(Constant *Resolver) {
   60   const Constant *getResolver() const {
   63   Constant *getResolver() {
include/llvm/IR/GlobalIndirectSymbol.h
   31       LinkageTypes Linkage, const Twine &Name, Constant *Symbol);
   50   void setIndirectSymbol(Constant *Symbol) {
   53   const Constant *getIndirectSymbol() const {
   56   Constant *getIndirectSymbol() {
include/llvm/IR/GlobalValue.h
   44 class GlobalValue : public Constant {
include/llvm/IR/GlobalVariable.h
   55                  Constant *Initializer = nullptr, const Twine &Name = "",
   61                  LinkageTypes Linkage, Constant *Initializer,
  136   inline const Constant *getInitializer() const {
  140   inline Constant *getInitializer() {
  147   void setInitializer(Constant *InitVal);
include/llvm/IR/IRBuilder.h
  845   InstTy *Insert(InstTy *I, const Twine &Name = "") const {
  845   InstTy *Insert(InstTy *I, const Twine &Name = "") const {
  852   Constant *Insert(Constant *C, const Twine& = "") const {
  852   Constant *Insert(Constant *C, const Twine& = "") const {
 1095     auto *LC = dyn_cast<Constant>(L);
 1095     auto *LC = dyn_cast<Constant>(L);
 1096     auto *RC = dyn_cast<Constant>(R);
 1096     auto *RC = dyn_cast<Constant>(R);
 1135     if (auto *LC = dyn_cast<Constant>(LHS))
 1135     if (auto *LC = dyn_cast<Constant>(LHS))
 1136       if (auto *RC = dyn_cast<Constant>(RHS))
 1136       if (auto *RC = dyn_cast<Constant>(RHS))
 1152     if (auto *LC = dyn_cast<Constant>(LHS))
 1152     if (auto *LC = dyn_cast<Constant>(LHS))
 1153       if (auto *RC = dyn_cast<Constant>(RHS))
 1153       if (auto *RC = dyn_cast<Constant>(RHS))
 1169     if (auto *LC = dyn_cast<Constant>(LHS))
 1169     if (auto *LC = dyn_cast<Constant>(LHS))
 1170       if (auto *RC = dyn_cast<Constant>(RHS))
 1170       if (auto *RC = dyn_cast<Constant>(RHS))
 1186     if (auto *LC = dyn_cast<Constant>(LHS))
 1186     if (auto *LC = dyn_cast<Constant>(LHS))
 1187       if (auto *RC = dyn_cast<Constant>(RHS))
 1187       if (auto *RC = dyn_cast<Constant>(RHS))
 1200     if (auto *LC = dyn_cast<Constant>(LHS))
 1200     if (auto *LC = dyn_cast<Constant>(LHS))
 1201       if (auto *RC = dyn_cast<Constant>(RHS))
 1201       if (auto *RC = dyn_cast<Constant>(RHS))
 1224     if (auto *LC = dyn_cast<Constant>(LHS))
 1224     if (auto *LC = dyn_cast<Constant>(LHS))
 1225       if (auto *RC = dyn_cast<Constant>(RHS))
 1225       if (auto *RC = dyn_cast<Constant>(RHS))
 1245     if (auto *LC = dyn_cast<Constant>(LHS))
 1245     if (auto *LC = dyn_cast<Constant>(LHS))
 1246       if (auto *RC = dyn_cast<Constant>(RHS))
 1246       if (auto *RC = dyn_cast<Constant>(RHS))
 1265     if (auto *LC = dyn_cast<Constant>(LHS))
 1265     if (auto *LC = dyn_cast<Constant>(LHS))
 1266       if (auto *RC = dyn_cast<Constant>(RHS))
 1266       if (auto *RC = dyn_cast<Constant>(RHS))
 1284     if (auto *RC = dyn_cast<Constant>(RHS)) {
 1284     if (auto *RC = dyn_cast<Constant>(RHS)) {
 1287       if (auto *LC = dyn_cast<Constant>(LHS))
 1287       if (auto *LC = dyn_cast<Constant>(LHS))
 1310     if (auto *RC = dyn_cast<Constant>(RHS)) {
 1310     if (auto *RC = dyn_cast<Constant>(RHS)) {
 1313       if (auto *LC = dyn_cast<Constant>(LHS))
 1313       if (auto *LC = dyn_cast<Constant>(LHS))
 1504     if (auto *VC = dyn_cast<Constant>(V))
 1504     if (auto *VC = dyn_cast<Constant>(V))
 1522     if (auto *VC = dyn_cast<Constant>(V))
 1522     if (auto *VC = dyn_cast<Constant>(V))
 1532    if (auto *VC = dyn_cast<Constant>(V))
 1532    if (auto *VC = dyn_cast<Constant>(V))
 1540     if (auto *VC = dyn_cast<Constant>(V))
 1540     if (auto *VC = dyn_cast<Constant>(V))
 1548     if (auto *VC = dyn_cast<Constant>(V))
 1548     if (auto *VC = dyn_cast<Constant>(V))
 1699     if (auto *PC = dyn_cast<Constant>(Ptr)) {
 1699     if (auto *PC = dyn_cast<Constant>(Ptr)) {
 1703         if (!isa<Constant>(IdxList[i]))
 1718     if (auto *PC = dyn_cast<Constant>(Ptr)) {
 1718     if (auto *PC = dyn_cast<Constant>(Ptr)) {
 1722         if (!isa<Constant>(IdxList[i]))
 1736     if (auto *PC = dyn_cast<Constant>(Ptr))
 1736     if (auto *PC = dyn_cast<Constant>(Ptr))
 1737       if (auto *IC = dyn_cast<Constant>(Idx))
 1737       if (auto *IC = dyn_cast<Constant>(Idx))
 1744     if (auto *PC = dyn_cast<Constant>(Ptr))
 1744     if (auto *PC = dyn_cast<Constant>(Ptr))
 1745       if (auto *IC = dyn_cast<Constant>(Idx))
 1745       if (auto *IC = dyn_cast<Constant>(Idx))
 1758     if (auto *PC = dyn_cast<Constant>(Ptr))
 1758     if (auto *PC = dyn_cast<Constant>(Ptr))
 1768     if (auto *PC = dyn_cast<Constant>(Ptr))
 1768     if (auto *PC = dyn_cast<Constant>(Ptr))
 1781     if (auto *PC = dyn_cast<Constant>(Ptr))
 1781     if (auto *PC = dyn_cast<Constant>(Ptr))
 1794     if (auto *PC = dyn_cast<Constant>(Ptr))
 1794     if (auto *PC = dyn_cast<Constant>(Ptr))
 1804     if (auto *PC = dyn_cast<Constant>(Ptr))
 1804     if (auto *PC = dyn_cast<Constant>(Ptr))
 1818     if (auto *PC = dyn_cast<Constant>(Ptr))
 1818     if (auto *PC = dyn_cast<Constant>(Ptr))
 1836     if (auto *PC = dyn_cast<Constant>(Ptr))
 1836     if (auto *PC = dyn_cast<Constant>(Ptr))
 1854     if (auto *PC = dyn_cast<Constant>(Ptr))
 1854     if (auto *PC = dyn_cast<Constant>(Ptr))
 1876   Constant *CreateGlobalStringPtr(StringRef Str, const Twine &Name = "",
 1879     Constant *Zero = ConstantInt::get(Type::getInt32Ty(Context), 0);
 1880     Constant *Indices[] = {Zero, Zero};
 1993     if (auto *VC = dyn_cast<Constant>(V))
 1993     if (auto *VC = dyn_cast<Constant>(V))
 2002     if (auto *VC = dyn_cast<Constant>(V))
 2002     if (auto *VC = dyn_cast<Constant>(V))
 2011     if (auto *VC = dyn_cast<Constant>(V))
 2011     if (auto *VC = dyn_cast<Constant>(V))
 2020     if (auto *VC = dyn_cast<Constant>(V))
 2020     if (auto *VC = dyn_cast<Constant>(V))
 2029     if (auto *VC = dyn_cast<Constant>(V))
 2029     if (auto *VC = dyn_cast<Constant>(V))
 2039     if (auto *VC = dyn_cast<Constant>(V)) {
 2039     if (auto *VC = dyn_cast<Constant>(V)) {
 2052     if (auto *VC = dyn_cast<Constant>(V))
 2052     if (auto *VC = dyn_cast<Constant>(V))
 2072     if (auto *VC = dyn_cast<Constant>(V))
 2072     if (auto *VC = dyn_cast<Constant>(V))
 2231     if (auto *LC = dyn_cast<Constant>(LHS))
 2231     if (auto *LC = dyn_cast<Constant>(LHS))
 2232       if (auto *RC = dyn_cast<Constant>(RHS))
 2232       if (auto *RC = dyn_cast<Constant>(RHS))
 2239     if (auto *LC = dyn_cast<Constant>(LHS))
 2239     if (auto *LC = dyn_cast<Constant>(LHS))
 2240       if (auto *RC = dyn_cast<Constant>(RHS))
 2240       if (auto *RC = dyn_cast<Constant>(RHS))
 2311     if (auto *CC = dyn_cast<Constant>(C))
 2311     if (auto *CC = dyn_cast<Constant>(C))
 2312       if (auto *TC = dyn_cast<Constant>(True))
 2312       if (auto *TC = dyn_cast<Constant>(True))
 2313         if (auto *FC = dyn_cast<Constant>(False))
 2313         if (auto *FC = dyn_cast<Constant>(False))
 2333     if (auto *VC = dyn_cast<Constant>(Vec))
 2333     if (auto *VC = dyn_cast<Constant>(Vec))
 2334       if (auto *IC = dyn_cast<Constant>(Idx))
 2334       if (auto *IC = dyn_cast<Constant>(Idx))
 2346     if (auto *VC = dyn_cast<Constant>(Vec))
 2346     if (auto *VC = dyn_cast<Constant>(Vec))
 2347       if (auto *NC = dyn_cast<Constant>(NewElt))
 2347       if (auto *NC = dyn_cast<Constant>(NewElt))
 2348         if (auto *IC = dyn_cast<Constant>(Idx))
 2348         if (auto *IC = dyn_cast<Constant>(Idx))
 2360     if (auto *V1C = dyn_cast<Constant>(V1))
 2360     if (auto *V1C = dyn_cast<Constant>(V1))
 2361       if (auto *V2C = dyn_cast<Constant>(V2))
 2361       if (auto *V2C = dyn_cast<Constant>(V2))
 2362         if (auto *MC = dyn_cast<Constant>(Mask))
 2362         if (auto *MC = dyn_cast<Constant>(Mask))
 2376     if (auto *AggC = dyn_cast<Constant>(Agg))
 2376     if (auto *AggC = dyn_cast<Constant>(Agg))
 2384     if (auto *AggC = dyn_cast<Constant>(Agg))
 2384     if (auto *AggC = dyn_cast<Constant>(Agg))
 2385       if (auto *ValC = dyn_cast<Constant>(Val))
 2385       if (auto *ValC = dyn_cast<Constant>(Val))
 2401     return CreateICmpEQ(Arg, Constant::getNullValue(Arg->getType()),
 2407     return CreateICmpNE(Arg, Constant::getNullValue(Arg->getType()),
 2531     Constant *Zero = ConstantInt::get(Type::getInt32Ty(Context), 0);
 2579     Constant *Zero = ConstantInt::get(Type::getInt32Ty(Context), 0);
include/llvm/IR/Instructions.h
 1003   static Type *getIndexedType(Type *Ty, ArrayRef<Constant *> IdxList);
 2014   Constant *getMask() const {
 2015     return cast<Constant>(getOperand(2));
 2020   static int getMaskValue(const Constant *Mask, unsigned Elt);
 2030   static void getShuffleMask(const Constant *Mask,
 2069   static bool isSingleSourceMask(const Constant *Mask) {
 2090   static bool isIdentityMask(const Constant *Mask) {
 2127   static bool isSelectMask(const Constant *Mask) {
 2151   static bool isReverseMask(const Constant *Mask) {
 2171   static bool isZeroEltSplatMask(const Constant *Mask) {
 2221   static bool isTransposeMask(const Constant *Mask) {
 2242   static bool isExtractSubvectorMask(const Constant *Mask, int NumSrcElts,
 2845   void addClause(Constant *ClauseVal);
 2849   Constant *getClause(unsigned Idx) const {
 2850     return cast<Constant>(getOperandList()[Idx]);
include/llvm/IR/IntrinsicInst.h
  513     void setElementSizeInBytes(Constant *V) {
  603     void setVolatile(Constant *V) { setArgOperand(ARG_VOLATILE, V); }
include/llvm/IR/MDBuilder.h
   45   ConstantAsMetadata *createConstant(Constant *C);
   91   MDNode *createRange(Constant *Lo, Constant *Hi);
   91   MDNode *createRange(Constant *Lo, Constant *Hi);
include/llvm/IR/Metadata.h
  405   ConstantAsMetadata(Constant *C)
  409   static ConstantAsMetadata *get(Constant *C) {
  413   static ConstantAsMetadata *getIfExists(Constant *C) {
  417   Constant *getValue() const {
  418     return cast<Constant>(ValueAsMetadata::getValue());
  514   static const bool value = std::is_base_of<Constant, V>::value &&
  514   static const bool value = std::is_base_of<Constant, V>::value &&
  518   static const bool value = std::is_base_of<Constant, V>::value &&
  563 inline typename std::enable_if<detail::IsValidPointer<X, Y>::value, X *>::type
  563 inline typename std::enable_if<detail::IsValidPointer<X, Y>::value, X *>::type
  566     return cast<X>(V->getValue());
include/llvm/IR/Module.h
  418   Constant *
  424   Constant *getOrInsertGlobal(StringRef Name, Type *Ty);
  491   void addModuleFlag(ModFlagBehavior Behavior, StringRef Key, Constant *Val);
include/llvm/IR/NoFolder.h
   41   Instruction *CreateAdd(Constant *LHS, Constant *RHS,
   41   Instruction *CreateAdd(Constant *LHS, Constant *RHS,
   49   Instruction *CreateNSWAdd(Constant *LHS, Constant *RHS) const {
   49   Instruction *CreateNSWAdd(Constant *LHS, Constant *RHS) const {
   53   Instruction *CreateNUWAdd(Constant *LHS, Constant *RHS) const {
   53   Instruction *CreateNUWAdd(Constant *LHS, Constant *RHS) const {
   57   Instruction *CreateFAdd(Constant *LHS, Constant *RHS) const {
   57   Instruction *CreateFAdd(Constant *LHS, Constant *RHS) const {
   61   Instruction *CreateSub(Constant *LHS, Constant *RHS,
   61   Instruction *CreateSub(Constant *LHS, Constant *RHS,
   69   Instruction *CreateNSWSub(Constant *LHS, Constant *RHS) const {
   69   Instruction *CreateNSWSub(Constant *LHS, Constant *RHS) const {
   73   Instruction *CreateNUWSub(Constant *LHS, Constant *RHS) const {
   73   Instruction *CreateNUWSub(Constant *LHS, Constant *RHS) const {
   77   Instruction *CreateFSub(Constant *LHS, Constant *RHS) const {
   77   Instruction *CreateFSub(Constant *LHS, Constant *RHS) const {
   81   Instruction *CreateMul(Constant *LHS, Constant *RHS,
   81   Instruction *CreateMul(Constant *LHS, Constant *RHS,
   89   Instruction *CreateNSWMul(Constant *LHS, Constant *RHS) const {
   89   Instruction *CreateNSWMul(Constant *LHS, Constant *RHS) const {
   93   Instruction *CreateNUWMul(Constant *LHS, Constant *RHS) const {
   93   Instruction *CreateNUWMul(Constant *LHS, Constant *RHS) const {
   97   Instruction *CreateFMul(Constant *LHS, Constant *RHS) const {
   97   Instruction *CreateFMul(Constant *LHS, Constant *RHS) const {
  101   Instruction *CreateUDiv(Constant *LHS, Constant *RHS,
  101   Instruction *CreateUDiv(Constant *LHS, Constant *RHS,
  108   Instruction *CreateExactUDiv(Constant *LHS, Constant *RHS) const {
  108   Instruction *CreateExactUDiv(Constant *LHS, Constant *RHS) const {
  112   Instruction *CreateSDiv(Constant *LHS, Constant *RHS,
  112   Instruction *CreateSDiv(Constant *LHS, Constant *RHS,
  119   Instruction *CreateExactSDiv(Constant *LHS, Constant *RHS) const {
  119   Instruction *CreateExactSDiv(Constant *LHS, Constant *RHS) const {
  123   Instruction *CreateFDiv(Constant *LHS, Constant *RHS) const {
  123   Instruction *CreateFDiv(Constant *LHS, Constant *RHS) const {
  127   Instruction *CreateURem(Constant *LHS, Constant *RHS) const {
  127   Instruction *CreateURem(Constant *LHS, Constant *RHS) const {
  131   Instruction *CreateSRem(Constant *LHS, Constant *RHS) const {
  131   Instruction *CreateSRem(Constant *LHS, Constant *RHS) const {
  135   Instruction *CreateFRem(Constant *LHS, Constant *RHS) const {
  135   Instruction *CreateFRem(Constant *LHS, Constant *RHS) const {
  139   Instruction *CreateShl(Constant *LHS, Constant *RHS, bool HasNUW = false,
  139   Instruction *CreateShl(Constant *LHS, Constant *RHS, bool HasNUW = false,
  147   Instruction *CreateLShr(Constant *LHS, Constant *RHS,
  147   Instruction *CreateLShr(Constant *LHS, Constant *RHS,
  154   Instruction *CreateAShr(Constant *LHS, Constant *RHS,
  154   Instruction *CreateAShr(Constant *LHS, Constant *RHS,
  161   Instruction *CreateAnd(Constant *LHS, Constant *RHS) const {
  161   Instruction *CreateAnd(Constant *LHS, Constant *RHS) const {
  165   Instruction *CreateOr(Constant *LHS, Constant *RHS) const {
  165   Instruction *CreateOr(Constant *LHS, Constant *RHS) const {
  169   Instruction *CreateXor(Constant *LHS, Constant *RHS) const {
  169   Instruction *CreateXor(Constant *LHS, Constant *RHS) const {
  174                            Constant *LHS, Constant *RHS) const {
  174                            Constant *LHS, Constant *RHS) const {
  182   Instruction *CreateNeg(Constant *C,
  190   Instruction *CreateNSWNeg(Constant *C) const {
  194   Instruction *CreateNUWNeg(Constant *C) const {
  198   Instruction *CreateFNeg(Constant *C) const {
  202   Instruction *CreateNot(Constant *C) const {
  206   Instruction *CreateUnOp(Instruction::UnaryOps Opc, Constant *C) const {
  214   Constant *CreateGetElementPtr(Type *Ty, Constant *C,
  214   Constant *CreateGetElementPtr(Type *Ty, Constant *C,
  215                                 ArrayRef<Constant *> IdxList) const {
  219   Constant *CreateGetElementPtr(Type *Ty, Constant *C, Constant *Idx) const {
  219   Constant *CreateGetElementPtr(Type *Ty, Constant *C, Constant *Idx) const {
  219   Constant *CreateGetElementPtr(Type *Ty, Constant *C, Constant *Idx) const {
  226   Instruction *CreateGetElementPtr(Type *Ty, Constant *C,
  231   Constant *CreateInBoundsGetElementPtr(Type *Ty, Constant *C,
  231   Constant *CreateInBoundsGetElementPtr(Type *Ty, Constant *C,
  232                                         ArrayRef<Constant *> IdxList) const {
  236   Constant *CreateInBoundsGetElementPtr(Type *Ty, Constant *C,
  236   Constant *CreateInBoundsGetElementPtr(Type *Ty, Constant *C,
  237                                         Constant *Idx) const {
  244   Instruction *CreateInBoundsGetElementPtr(Type *Ty, Constant *C,
  253   Instruction *CreateCast(Instruction::CastOps Op, Constant *C,
  258   Instruction *CreatePointerCast(Constant *C, Type *DestTy) const {
  262   Instruction *CreateIntCast(Constant *C, Type *DestTy,
  267   Instruction *CreateFPCast(Constant *C, Type *DestTy) const {
  271   Instruction *CreateBitCast(Constant *C, Type *DestTy) const {
  275   Instruction *CreateIntToPtr(Constant *C, Type *DestTy) const {
  279   Instruction *CreatePtrToInt(Constant *C, Type *DestTy) const {
  283   Instruction *CreateZExtOrBitCast(Constant *C, Type *DestTy) const {
  287   Instruction *CreateSExtOrBitCast(Constant *C, Type *DestTy) const {
  291   Instruction *CreateTruncOrBitCast(Constant *C, Type *DestTy) const {
  300                           Constant *LHS, Constant *RHS) const {
  300                           Constant *LHS, Constant *RHS) const {
  305                           Constant *LHS, Constant *RHS) const {
  305                           Constant *LHS, Constant *RHS) const {
  313   Instruction *CreateSelect(Constant *C,
  314                             Constant *True, Constant *False) const {
  314                             Constant *True, Constant *False) const {
  318   Instruction *CreateExtractElement(Constant *Vec, Constant *Idx) const {
  318   Instruction *CreateExtractElement(Constant *Vec, Constant *Idx) const {
  322   Instruction *CreateInsertElement(Constant *Vec, Constant *NewElt,
  322   Instruction *CreateInsertElement(Constant *Vec, Constant *NewElt,
  323                                    Constant *Idx) const {
  327   Instruction *CreateShuffleVector(Constant *V1, Constant *V2,
  327   Instruction *CreateShuffleVector(Constant *V1, Constant *V2,
  328                                    Constant *Mask) const {
  332   Instruction *CreateExtractValue(Constant *Agg,
  337   Instruction *CreateInsertValue(Constant *Agg, Constant *Val,
  337   Instruction *CreateInsertValue(Constant *Agg, Constant *Val,
include/llvm/IR/PatternMatch.h
   47 template <typename Val, typename Pattern> bool match(Val *V, const Pattern &P) {
   56   template <typename OpTy> bool match(OpTy *V) {
   66   template <typename ITy> bool match(ITy *V) { return isa<Class>(V); }
   66   template <typename ITy> bool match(ITy *V) { return isa<Class>(V); }
   89 inline class_match<Constant> m_Constant() { return class_match<Constant>(); }
  117   template <typename ITy> bool match(ITy *V) {
  132   template <typename ITy> bool match(ITy *V) {
  157   template <typename ITy> bool match(ITy *V) {
  163       if (const auto *C = dyn_cast<Constant>(V))
  163       if (const auto *C = dyn_cast<Constant>(V))
  183       if (const auto *C = dyn_cast<Constant>(V))
  183       if (const auto *C = dyn_cast<Constant>(V))
  224   template <typename ITy> bool match(ITy *V) {
  228       if (const auto *C = dyn_cast<Constant>(V)) {
  228       if (const auto *C = dyn_cast<Constant>(V)) {
  237           Constant *Elt = C->getAggregateElement(i);
  261   template <typename ITy> bool match(ITy *V) {
  268       if (const auto *C = dyn_cast<Constant>(V))
  268       if (const auto *C = dyn_cast<Constant>(V))
  283   template <typename ITy> bool match(ITy *V) {
  287       if (const auto *C = dyn_cast<Constant>(V)) {
  287       if (const auto *C = dyn_cast<Constant>(V)) {
  296           Constant *Elt = C->getAggregateElement(i);
  396   template <typename ITy> bool match(ITy *V) {
  397     auto *C = dyn_cast<Constant>(V);
  397     auto *C = dyn_cast<Constant>(V);
  540   Class *&VR;
  542   bind_ty(Class *&V) : VR(V) {}
  544   template <typename ITy> bool match(ITy *V) {
  545     if (auto *CV = dyn_cast<Class>(V)) {
  545     if (auto *CV = dyn_cast<Class>(V)) {
  566 inline bind_ty<Constant> m_Constant(Constant *&C) { return C; }
  566 inline bind_ty<Constant> m_Constant(Constant *&C) { return C; }
  583   template <typename ITy> bool match(ITy *V) { return V == Val; }
  596   template <typename ITy> bool match(ITy *const V) { return V == Val; }
  612   template <typename ITy> bool match(ITy *V) {
  616       if (const auto *C = dyn_cast<Constant>(V))
  616       if (const auto *C = dyn_cast<Constant>(V))
  635   template <typename ITy> bool match(ITy *V) {
  652   template <typename ITy> bool match(ITy *V) {
  655       if (const auto *C = dyn_cast<Constant>(V))
  655       if (const auto *C = dyn_cast<Constant>(V))
  742   template <typename OpTy> bool match(OpTy *V) {
  786   template <typename OpTy> bool match(OpTy *V) {
  918   template <typename OpTy> bool match(OpTy *V) {
 1010   template <typename OpTy> bool match(OpTy *V) {
 1132   template <typename OpTy> bool match(OpTy *V) {
 1207   template <typename OpTy> bool match(OpTy *V) {
 1279   template <typename OpTy> bool match(OpTy *V) {
 1439   template <typename OpTy> bool match(OpTy *V) {
 1673   template <typename OpTy> bool match(OpTy *V) {
 1693   template <typename OpTy> bool match(OpTy *V) {
include/llvm/IR/User.h
  307     return isa<Instruction>(V) || isa<Constant>(V);
include/llvm/IR/Value.h
  912 inline T **unwrap(LLVMValueRef *Vals, unsigned Length) {
  915     unwrap<T>(*I); // For side effect of calling assert on invalid usage.
include/llvm/IR/ValueHandle.h
  256   ValueTy *getValPtr() const { return static_cast<ValueTy *>(getRawValPtr()); }
  257   void setValPtr(ValueTy *P) { setRawValPtr(GetAsValue(P)); }
  262   AssertingVH(ValueTy *P) : ValueHandleBase(Assert, GetAsValue(P)) {}
  269   operator ValueTy*() const {
  273   ValueTy *operator=(ValueTy *RHS) {
  273   ValueTy *operator=(ValueTy *RHS) {
  277   ValueTy *operator=(const AssertingVH<ValueTy> &RHS) {
  277   ValueTy *operator=(const AssertingVH<ValueTy> &RHS) {
  282   ValueTy *operator->() const { return getValPtr(); }
  283   ValueTy &operator*() const { return *getValPtr(); }
  331   ValueTy *getValPtr() const {
  341     return cast<ValueTy>(InnerHandle);
  344   void setValPtr(ValueTy *P) {
  357   TrackingVH(ValueTy *P) { setValPtr(P); }
  359   operator ValueTy*() const {
  363   ValueTy *operator=(ValueTy *RHS) {
  363   ValueTy *operator=(ValueTy *RHS) {
  368   ValueTy *operator->() const { return getValPtr(); }
  369   ValueTy &operator*() const { return *getValPtr(); }
include/llvm/LTO/legacy/LTOModule.h
  210   bool objcClassNameFromExpression(const Constant *c, std::string &name);
include/llvm/Support/Casting.h
   34   using SimpleType = From; // The real type this represents...
   37   static SimpleType &getSimplifiedValue(From &Val) { return Val; }
   41   using NonConstSimpleType = typename simplify_type<From>::SimpleType;
   47   static RetType getSimplifiedValue(const From& Val) {
   57   static inline bool doit(const From &Val) {
   58     return To::classof(&Val);
   66   static inline bool doit(const From &) { return true; }
   76   static inline bool doit(const From &Val) {
   77     return isa_impl<To, From>::doit(Val);
   77     return isa_impl<To, From>::doit(Val);
   92     return isa_impl<To, From>::doit(*Val);
  104   static inline bool doit(const From *Val) {
  106     return isa_impl<To, From>::doit(*Val);
  106     return isa_impl<To, From>::doit(*Val);
  122     return isa_impl_wrap<To, SimpleFrom,
  132     return isa_impl_cl<To,FromTy>::doit(Val);
  141 template <class X, class Y> LLVM_NODISCARD inline bool isa(const Y &Val) {
  142   return isa_impl_wrap<X, const Y,
  142   return isa_impl_wrap<X, const Y,
  143                        typename simplify_type<const Y>::SimpleType>::doit(Val);
  168   using ret_type = const To &; // Normal case, return Ty&
  172   using ret_type = To *;       // Pointer arg case, return Ty*
  176   using ret_type = const To *; // Constant pointer arg case, return const Ty*
  198   using ret_type = typename cast_retty<To, SimpleFrom>::ret_type;
  204   using ret_type = typename cast_retty_impl<To,FromTy>::ret_type;
  210       To, From, typename simplify_type<From>::SimpleType>::ret_type;
  218   static typename cast_retty<To, From>::ret_type doit(From &Val) {
  219     return cast_convert_val<To, SimpleFrom,
  227   static typename cast_retty<To, FromTy>::ret_type doit(const FromTy &Val) {
  228     typename cast_retty<To, FromTy>::ret_type Res2
  248                                typename cast_retty<X, const Y>::ret_type>::type
  252       X, const Y, typename simplify_type<const Y>::SimpleType>::doit(Val);
  256 inline typename cast_retty<X, Y>::ret_type cast(Y &Val) {
  258   return cast_convert_val<X, Y,
  263 inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
  263 inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
  263 inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
  265   return cast_convert_val<X, Y*,
  265   return cast_convert_val<X, Y*,
  266                           typename simplify_type<Y*>::SimpleType>::doit(Val);
  285                             typename cast_retty<X, const Y>::ret_type>::type
  290   return cast<X>(Val);
  296                             typename cast_retty<X, Y>::ret_type>::type
  301   return cast<X>(Val);
  305 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type
  305 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type
  306 cast_or_null(Y *Val) {
  309   return cast<X>(Val);
  331                             typename cast_retty<X, const Y>::ret_type>::type
  333   return isa<X>(Val) ? cast<X>(Val) : nullptr;
  333   return isa<X>(Val) ? cast<X>(Val) : nullptr;
  337 LLVM_NODISCARD inline typename cast_retty<X, Y>::ret_type dyn_cast(Y &Val) {
  338   return isa<X>(Val) ? cast<X>(Val) : nullptr;
  338   return isa<X>(Val) ? cast<X>(Val) : nullptr;
  342 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type dyn_cast(Y *Val) {
  342 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type dyn_cast(Y *Val) {
  342 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type dyn_cast(Y *Val) {
  343   return isa<X>(Val) ? cast<X>(Val) : nullptr;
  343   return isa<X>(Val) ? cast<X>(Val) : nullptr;
  366 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type
  366 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type
  367 dyn_cast_or_null(Y *Val) {
  368   return (Val && isa<X>(Val)) ? cast<X>(Val) : nullptr;
  368   return (Val && isa<X>(Val)) ? cast<X>(Val) : nullptr;
include/llvm/Support/PointerLikeTypeTraits.h
   56   static inline void *getAsVoidPointer(T *P) { return P; }
   57   static inline T *getFromVoidPointer(void *P) { return static_cast<T *>(P); }
   59   enum { NumLowBitsAvailable = detail::ConstantLog2<alignof(T)>::value };
   91   typedef PointerLikeTypeTraits<T *> NonConst;
   93   static inline const void *getAsVoidPointer(const T *P) {
   96   static inline const T *getFromVoidPointer(const void *P) {
include/llvm/Support/type_traits.h
   55 struct add_const_past_pointer { using type = const T; };
include/llvm/Target/TargetLoweringObjectFile.h
   90                                            const Constant *C,
include/llvm/Transforms/IPO/GlobalDCE.h
   40   std::unordered_map<Constant *, SmallPtrSet<GlobalValue *, 8>>
include/llvm/Transforms/Scalar/ConstantHoisting.h
  103   Constant *Offset;
  195   void emitBaseConstants(Instruction *Base, Constant *Offset, Type *Ty,
include/llvm/Transforms/Scalar/GVNExpression.h
  587   Constant *ConstantValue = nullptr;
  591   ConstantExpression(Constant *constantValue)
  600   Constant *getConstantValue() const { return ConstantValue; }
  601   void setConstantValue(Constant *V) { ConstantValue = V; }
include/llvm/Transforms/Scalar/JumpThreading.h
   53 using PredValueInfo = SmallVectorImpl<std::pair<Constant *, BasicBlock *>>;
   54 using PredValueInfoTy = SmallVector<std::pair<Constant *, BasicBlock *>, 8>;
include/llvm/Transforms/Utils/Evaluator.h
   51         Tmp->replaceAllUsesWith(Constant::getNullValue(Tmp->getType()));
   57   bool EvaluateFunction(Function *F, Constant *&RetVal,
   58                         const SmallVectorImpl<Constant*> &ActualArgs);
   65   Constant *getVal(Value *V) {
   66     if (Constant *CV = dyn_cast<Constant>(V)) return CV;
   66     if (Constant *CV = dyn_cast<Constant>(V)) return CV;
   67     Constant *R = ValueStack.back().lookup(V);
   72   void setVal(Value *V, Constant *C) {
   78                                     SmallVector<Constant *, 8> &Formals);
   83                        SmallVector<Constant *, 8> &Formals);
   86   Constant *castCallResultIfNeeded(Value *CallExpr, Constant *RV);
   86   Constant *castCallResultIfNeeded(Value *CallExpr, Constant *RV);
   88   const DenseMap<Constant*, Constant*> &getMutatedMemory() const {
   88   const DenseMap<Constant*, Constant*> &getMutatedMemory() const {
   97   Constant *ComputeLoadResult(Constant *P);
   97   Constant *ComputeLoadResult(Constant *P);
  102   std::deque<DenseMap<Value*, Constant*>> ValueStack;
  111   DenseMap<Constant*, Constant*> MutatedMemory;
  111   DenseMap<Constant*, Constant*> MutatedMemory;
  124   SmallPtrSet<Constant*, 8> SimpleConstants;
include/llvm/Transforms/Utils/FunctionComparator.h
  222   int cmpConstants(const Constant *L, const Constant *R) const;
  222   int cmpConstants(const Constant *L, const Constant *R) const;
include/llvm/Transforms/Utils/GlobalStatus.h
   24 bool isSafeToDestroyConstant(const Constant *C);
include/llvm/Transforms/Utils/ModuleUtils.h
   37                          Constant *Data = nullptr);
   41                          Constant *Data = nullptr);
include/llvm/Transforms/Utils/SanitizerStats.h
   48   std::vector<Constant *> Inits;
include/llvm/Transforms/Utils/VNCoercion.h
   80 Constant *getConstantStoreValueForLoad(Constant *SrcVal, unsigned Offset,
   80 Constant *getConstantStoreValueForLoad(Constant *SrcVal, unsigned Offset,
   91 Constant *getConstantLoadValueForLoad(Constant *SrcVal, unsigned Offset,
   91 Constant *getConstantLoadValueForLoad(Constant *SrcVal, unsigned Offset,
  103 Constant *getConstantMemInstValueForLoad(MemIntrinsic *SrcInst, unsigned Offset,
include/llvm/Transforms/Utils/ValueMapper.h
  172   Constant *mapConstant(const Constant &C);
  172   Constant *mapConstant(const Constant &C);
  177   void scheduleMapGlobalInitializer(GlobalVariable &GV, Constant &Init,
  179   void scheduleMapAppendingVariable(GlobalVariable &GV, Constant *InitPrefix,
  181                                     ArrayRef<Constant *> NewMembers,
  184                                        Constant &Target,
  272 inline Constant *MapValue(const Constant *V, ValueToValueMapTy &VM,
  272 inline Constant *MapValue(const Constant *V, ValueToValueMapTy &VM,
lib/Analysis/AliasAnalysis.cpp
  649       isa<Constant>(Object))
lib/Analysis/BasicAliasAnalysis.cpp
  897   if (!isa<Constant>(Object) && Call != Object &&
 1785     if ((isa<Constant>(O1) && isIdentifiedObject(O2) && !isa<Constant>(O2)) ||
 1785     if ((isa<Constant>(O1) && isIdentifiedObject(O2) && !isa<Constant>(O2)) ||
 1786         (isa<Constant>(O2) && isIdentifiedObject(O1) && !isa<Constant>(O1)))
 1786         (isa<Constant>(O2) && isIdentifiedObject(O1) && !isa<Constant>(O1)))
lib/Analysis/BranchProbabilityInfo.cpp
  499       !isa<Constant>(CI->getOperand(1)))
  507   Constant *CmpConst = dyn_cast<Constant>(CI->getOperand(1));
  507   Constant *CmpConst = dyn_cast<Constant>(CI->getOperand(1));
  511          isa<Constant>(CmpLHS->getOperand(1))) {
  546       Constant *CmpLHSConst = dyn_cast<Constant>(V);
  546       Constant *CmpLHSConst = dyn_cast<Constant>(V);
  553                                         cast<Constant>(I->getOperand(1)), true);
  560       Constant *Result = ConstantExpr::getCompare(CI->getPredicate(),
lib/Analysis/CFLAndersAliasAnalysis.cpp
  890   if (isa<Constant>(LocA.Ptr) && isa<Constant>(LocB.Ptr))
  890   if (isa<Constant>(LocA.Ptr) && isa<Constant>(LocB.Ptr))
lib/Analysis/CFLSteensAliasAnalysis.cpp
  102   if (isa<Constant>(Val)) {
lib/Analysis/CGSCCPassManager.cpp
  441   SmallVector<Constant *, 16> Worklist;
  442   SmallPtrSet<Constant *, 16> Visited;
  474       if (auto *C = dyn_cast<Constant>(Op))
  474       if (auto *C = dyn_cast<Constant>(Op))
lib/Analysis/CmpInstAnalysis.cpp
   42 Constant *llvm::getPredForICmpCode(unsigned Code, bool Sign, Type *OpTy,
lib/Analysis/ConstantFolding.cpp
   62 static Constant *foldConstVectorToAPInt(APInt &Result, Type *DestTy,
   63                                         Constant *C, Type *SrcEltTy,
   70     Constant *Element;
   95 Constant *FoldBitCast(Constant *C, Type *DestTy, const DataLayout &DL) {
   95 Constant *FoldBitCast(Constant *C, Type *DestTy, const DataLayout &DL) {
  101     return Constant::getNullValue(DestTy);
  104     return Constant::getAllOnesValue(DestTy);
  123       if (Constant *CE = foldConstVectorToAPInt(Result, DestTy, C,
  143     Constant *Ops = C; // don't take the address of C!
  202   SmallVector<Constant*, 32> Result;
  205     Constant *Zero = Constant::getNullValue(DstEltTy);
  205     Constant *Zero = Constant::getNullValue(DstEltTy);
  211       Constant *Elt = Zero;
  214         Constant *Src = C->getAggregateElement(SrcElt++);
  216           Src = Constant::getNullValue(C->getType()->getVectorElementType());
  244     auto *Element = C->getAggregateElement(i);
  263       Constant *Elt = ConstantExpr::getLShr(Src,
  271         Constant *CE = ConstantExpr::getTrunc(Elt, DstIntTy);
  288 bool llvm::IsConstantOffsetFromGlobal(Constant *C, GlobalValue *&GV,
  326 Constant *llvm::ConstantFoldLoadThroughBitcast(Constant *C, Type *DestTy,
  326 Constant *llvm::ConstantFoldLoadThroughBitcast(Constant *C, Type *DestTy,
  359       Constant *ElemC;
  378 bool ReadDataFromGlobal(Constant *C, uint64_t ByteOffset, unsigned char *CurPtr,
  500 Constant *FoldReinterpretLoadFromConstPtr(Constant *C, Type *LoadTy,
  500 Constant *FoldReinterpretLoadFromConstPtr(Constant *C, Type *LoadTy,
  527     if (Constant *Res = FoldReinterpretLoadFromConstPtr(C, MapTy, DL)) {
  530         return Constant::getNullValue(LoadTy);
  536           return Constant::getNullValue(LoadTy);
  604 Constant *ConstantFoldLoadThroughBitcastExpr(ConstantExpr *CE, Type *DestTy,
  606   auto *SrcPtr = CE->getOperand(0);
  612   Constant *C = ConstantFoldLoadFromConstPtr(SrcPtr, SrcTy, DL);
  621 Constant *llvm::ConstantFoldLoadFromConstPtr(Constant *C, Type *Ty,
  621 Constant *llvm::ConstantFoldLoadFromConstPtr(Constant *C, Type *Ty,
  640         if (Constant *V =
  648     if (Constant *LoadedC = ConstantFoldLoadThroughBitcastExpr(CE, Ty, DL))
  678       Constant *Res = ConstantInt::get(CE->getContext(), StrVal);
  690         return Constant::getNullValue(Ty);
  702 Constant *ConstantFoldLoadInst(const LoadInst *LI, const DataLayout &DL) {
  705   if (auto *C = dyn_cast<Constant>(LI->getOperand(0)))
  705   if (auto *C = dyn_cast<Constant>(LI->getOperand(0)))
  715 Constant *SymbolicallyEvaluateBinop(unsigned Opc, Constant *Op0, Constant *Op1,
  715 Constant *SymbolicallyEvaluateBinop(unsigned Opc, Constant *Op0, Constant *Op1,
  715 Constant *SymbolicallyEvaluateBinop(unsigned Opc, Constant *Op0, Constant *Op1,
  764 Constant *CastGEPIndices(Type *SrcElemTy, ArrayRef<Constant *> Ops,
  764 Constant *CastGEPIndices(Type *SrcElemTy, ArrayRef<Constant *> Ops,
  771   SmallVector<Constant*, 32> NewIdxs;
  793   Constant *C = ConstantExpr::getGetElementPtr(
  795   if (Constant *Folded = ConstantFoldConstant(C, DL, TLI))
  802 Constant *StripPtrCastKeepAS(Constant *Ptr, Type *&ElemTy) {
  802 Constant *StripPtrCastKeepAS(Constant *Ptr, Type *&ElemTy) {
  805   Ptr = cast<Constant>(Ptr->stripPointerCasts());
  819 Constant *SymbolicallyEvaluateGEP(const GEPOperator *GEP,
  820                                   ArrayRef<Constant *> Ops,
  832   if (Constant *C = CastGEPIndices(SrcElemTy, Ops, ResTy,
  836   Constant *Ptr = Ops[0];
  855             Constant *Res = ConstantExpr::getPtrToInt(Ptr, CE->getType());
  858             if (auto *FoldedRes = ConstantFoldConstant(Res, DL, TLI))
  891     Ptr = cast<Constant>(GEP->getOperand(0));
  910     Constant *C = ConstantInt::get(Ptr->getContext(), Offset + BasePtr);
  919   SmallVector<Constant *, 32> NewIdxs;
  997   Constant *C = ConstantExpr::getGetElementPtr(SrcElemTy, Ptr, NewIdxs,
 1015 Constant *ConstantFoldInstOperandsImpl(const Value *InstOrCE, unsigned Opcode,
 1016                                        ArrayRef<Constant *> Ops,
 1031     if (Constant *C = SymbolicallyEvaluateGEP(GEP, Ops, DL, TLI))
 1075 Constant *
 1076 ConstantFoldConstantImpl(const Constant *C, const DataLayout &DL,
 1078                          SmallDenseMap<Constant *, Constant *> &FoldedOps) {
 1078                          SmallDenseMap<Constant *, Constant *> &FoldedOps) {
 1082   SmallVector<Constant *, 8> Ops;
 1084     auto *NewC = cast<Constant>(&NewU);
 1084     auto *NewC = cast<Constant>(&NewU);
 1090         if (auto *FoldedC =
 1118 Constant *llvm::ConstantFoldInstruction(Instruction *I, const DataLayout &DL,
 1122     Constant *CommonValue = nullptr;
 1124     SmallDenseMap<Constant *, Constant *> FoldedOps;
 1124     SmallDenseMap<Constant *, Constant *> FoldedOps;
 1133       auto *C = dyn_cast<Constant>(Incoming);
 1133       auto *C = dyn_cast<Constant>(Incoming);
 1137       if (auto *FoldedC = ConstantFoldConstantImpl(C, DL, TLI, FoldedOps))
 1152   if (!all_of(I->operands(), [](Use &U) { return isa<Constant>(U); }))
 1155   SmallDenseMap<Constant *, Constant *> FoldedOps;
 1155   SmallDenseMap<Constant *, Constant *> FoldedOps;
 1156   SmallVector<Constant *, 8> Ops;
 1158     auto *Op = cast<Constant>(&OpU);
 1158     auto *Op = cast<Constant>(&OpU);
 1160     if (auto *FoldedOp = ConstantFoldConstantImpl(Op, DL, TLI, FoldedOps))
 1175                                 cast<Constant>(IVI->getAggregateOperand()),
 1176                                 cast<Constant>(IVI->getInsertedValueOperand()),
 1182                                     cast<Constant>(EVI->getAggregateOperand()),
 1189 Constant *llvm::ConstantFoldConstant(const Constant *C, const DataLayout &DL,
 1189 Constant *llvm::ConstantFoldConstant(const Constant *C, const DataLayout &DL,
 1191   SmallDenseMap<Constant *, Constant *> FoldedOps;
 1191   SmallDenseMap<Constant *, Constant *> FoldedOps;
 1195 Constant *llvm::ConstantFoldInstOperands(Instruction *I,
 1196                                          ArrayRef<Constant *> Ops,
 1202 Constant *llvm::ConstantFoldCompareInstOperands(unsigned Predicate,
 1203                                                 Constant *Ops0, Constant *Ops1,
 1203                                                 Constant *Ops0, Constant *Ops1,
 1222         Constant *C = ConstantExpr::getIntegerCast(CE0->getOperand(0),
 1224         Constant *Null = Constant::getNullValue(C->getType());
 1224         Constant *Null = Constant::getNullValue(C->getType());
 1233           Constant *C = CE0->getOperand(0);
 1234           Constant *Null = Constant::getNullValue(C->getType());
 1234           Constant *Null = Constant::getNullValue(C->getType());
 1247           Constant *C0 = ConstantExpr::getIntegerCast(CE0->getOperand(0),
 1249           Constant *C1 = ConstantExpr::getIntegerCast(CE1->getOperand(0),
 1271       Constant *LHS = ConstantFoldCompareInstOperands(
 1273       Constant *RHS = ConstantFoldCompareInstOperands(
 1289 Constant *llvm::ConstantFoldUnaryOpOperand(unsigned Opcode, Constant *Op,
 1289 Constant *llvm::ConstantFoldUnaryOpOperand(unsigned Opcode, Constant *Op,
 1296 Constant *llvm::ConstantFoldBinaryOpOperands(unsigned Opcode, Constant *LHS,
 1296 Constant *llvm::ConstantFoldBinaryOpOperands(unsigned Opcode, Constant *LHS,
 1297                                              Constant *RHS,
 1301     if (Constant *C = SymbolicallyEvaluateBinop(Opcode, LHS, RHS, DL))
 1307 Constant *llvm::ConstantFoldCastOperand(unsigned Opcode, Constant *C,
 1307 Constant *llvm::ConstantFoldCastOperand(unsigned Opcode, Constant *C,
 1318         Constant *Input = CE->getOperand(0);
 1322           Constant *Mask =
 1339         Constant *SrcPtr = CE->getOperand(0);
 1368 Constant *llvm::ConstantFoldLoadThroughGEPConstantExpr(Constant *C,
 1368 Constant *llvm::ConstantFoldLoadThroughGEPConstantExpr(Constant *C,
 1383 Constant *
 1384 llvm::ConstantFoldLoadThroughGEPIndices(Constant *C,
 1385                                         ArrayRef<Constant *> Indices) {
 1388   for (Constant *Index : Indices) {
 1562 Constant *GetConstantFoldFPValue(double V, Type *Ty) {
 1594 Constant *ConstantFoldFP(double (*NativeFP)(double), double V, Type *Ty) {
 1605 Constant *ConstantFoldBinaryFP(double (*NativeFP)(double, double), double V,
 1624 Constant *ConstantFoldSSEConvertToInt(const APFloat &Val, bool roundTowardZero,
 1659 static bool isManifestConstant(const Constant *c) {
 1664       if (!isManifestConstant(cast<Constant>(subc)))
 1684 static Constant *ConstantFoldScalarCall1(StringRef Name,
 1687                                          ArrayRef<Constant *> Operands,
 1705       return Constant::getNullValue(Ty);
 1994     auto *Op = cast<Constant>(Operands[0]);
 1994     auto *Op = cast<Constant>(Operands[0]);
 2023 static Constant *ConstantFoldScalarCall2(StringRef Name,
 2026                                          ArrayRef<Constant *> Operands,
 2144              Constant::getNullValue(Ty->getStructElementType(1))});
 2152         return Constant::getNullValue(Ty);
 2177       Constant *Ops[] = {
 2188         return Constant::getAllOnesValue(Ty);
 2198         return Constant::getNullValue(Ty);
 2211         return Constant::getNullValue(Ty);
 2228     auto *Op = cast<Constant>(Operands[0]);
 2228     auto *Op = cast<Constant>(Operands[0]);
 2276 static Constant *ConstantFoldScalarCall3(StringRef Name,
 2279                                          ArrayRef<Constant *> Operands,
 2371 static Constant *ConstantFoldScalarCall(StringRef Name,
 2374                                         ArrayRef<Constant *> Operands,
 2389 static Constant *ConstantFoldVectorCall(StringRef Name,
 2392                                         ArrayRef<Constant *> Operands,
 2396   SmallVector<Constant *, 4> Result(VTy->getNumElements());
 2397   SmallVector<Constant *, 4> Lane(Operands.size());
 2401     auto *SrcPtr = Operands[0];
 2402     auto *Mask = Operands[2];
 2403     auto *Passthru = Operands[3];
 2405     Constant *VecData = ConstantFoldLoadFromConstPtr(SrcPtr, VTy, DL);
 2407     SmallVector<Constant *, 32> NewElements;
 2409       auto *MaskElt = Mask->getAggregateElement(I);
 2412       auto *PassthruElt = Passthru->getAggregateElement(I);
 2413       auto *VecElt = VecData ? VecData->getAggregateElement(I) : nullptr;
 2448       Constant *Agg = Operands[J]->getAggregateElement(I);
 2456     Constant *Folded =
 2468 Constant *llvm::ConstantFoldCall(const CallBase *Call, Function *F,
 2469                                  ArrayRef<Constant *> Operands,
lib/Analysis/GlobalsModRef.cpp
  384     } else if (Constant *C = dyn_cast<Constant>(I)) {
  384     } else if (Constant *C = dyn_cast<Constant>(I)) {
  409   if (Constant *C = GV->getInitializer())
lib/Analysis/IVDescriptors.cpp
  725 Constant *RecurrenceDescriptor::getRecurrenceIdentity(RecurrenceKind K,
lib/Analysis/InlineCost.cpp
  169   DenseMap<Value *, Constant *> SimplifiedValues;
  396       if (Constant *SimpleOp = SimplifiedValues.lookup(GTI.getOperand()))
  424     if (Constant *SimpleOp = SimplifiedValues.lookup(*I))
  435     Constant *Size = SimplifiedValues.lookup(I.getArraySize());
  479   Constant *FirstC = nullptr;
  499     Constant *C = dyn_cast<Constant>(V);
  499     Constant *C = dyn_cast<Constant>(V);
  591       if (!isa<Constant>(*I) && !SimplifiedValues.lookup(*I))
  615   SmallVector<Constant *, 2> COps;
  617     Constant *COp = dyn_cast<Constant>(Op);
  617     Constant *COp = dyn_cast<Constant>(Op);
  624   auto *C = Evaluate(COps);
 1003       Constant *CLHS = ConstantInt::get(LHS->getContext(), LHSOffset);
 1004       Constant *CRHS = ConstantInt::get(RHS->getContext(), RHSOffset);
 1005       if (Constant *C = ConstantExpr::getICmp(I.getPredicate(), CLHS, CRHS)) {
 1049       Constant *CLHS = ConstantInt::get(LHS->getContext(), LHSOffset);
 1050       Constant *CRHS = ConstantInt::get(RHS->getContext(), RHSOffset);
 1051       if (Constant *C = ConstantExpr::getSub(CLHS, CRHS)) {
 1066   Constant *CLHS = dyn_cast<Constant>(LHS);
 1066   Constant *CLHS = dyn_cast<Constant>(LHS);
 1069   Constant *CRHS = dyn_cast<Constant>(RHS);
 1069   Constant *CRHS = dyn_cast<Constant>(RHS);
 1081   if (Constant *C = dyn_cast_or_null<Constant>(SimpleV))
 1081   if (Constant *C = dyn_cast_or_null<Constant>(SimpleV))
 1105   Constant *COp = dyn_cast<Constant>(Op);
 1105   Constant *COp = dyn_cast<Constant>(Op);
 1113   if (Constant *C = dyn_cast_or_null<Constant>(SimpleV))
 1113   if (Constant *C = dyn_cast_or_null<Constant>(SimpleV))
 1212   SmallVector<Constant *, 4> ConstantArgs;
 1215     Constant *C = dyn_cast<Constant>(I);
 1215     Constant *C = dyn_cast<Constant>(I);
 1217       C = dyn_cast_or_null<Constant>(SimplifiedValues.lookup(I));
 1223   if (Constant *C = ConstantFoldCall(&Call, F, ConstantArgs)) {
 1358   Constant *TrueC = dyn_cast<Constant>(TrueVal);
 1358   Constant *TrueC = dyn_cast<Constant>(TrueVal);
 1361   Constant *FalseC = dyn_cast<Constant>(FalseVal);
 1361   Constant *FalseC = dyn_cast<Constant>(FalseVal);
 1364   Constant *CondC =
 1365       dyn_cast_or_null<Constant>(SimplifiedValues.lookup(SI.getCondition()));
 1403       if (auto *C = ConstantExpr::getSelect(CondC, TrueC, FalseC)) {
 1412   if (Constant *SelectedC = dyn_cast<Constant>(SelectedV)) {
 1412   if (Constant *SelectedC = dyn_cast<Constant>(SelectedV)) {
 1791     if (Constant *C = dyn_cast<Constant>(CAI))
 1791     if (Constant *C = dyn_cast<Constant>(CAI))
lib/Analysis/InstructionSimplify.cpp
  116 static Constant *getFalse(Type *Ty) {
  122 static Constant *getTrue(Type *Ty) {
  472         SimplifyXorInst(Cond, Constant::getAllOnesValue(Cond->getType()),
  560 static Constant *foldOrCommuteConstant(Instruction::BinaryOps Opcode,
  563   if (auto *CLHS = dyn_cast<Constant>(Op0)) {
  563   if (auto *CLHS = dyn_cast<Constant>(Op0)) {
  564     if (auto *CRHS = dyn_cast<Constant>(Op1))
  564     if (auto *CRHS = dyn_cast<Constant>(Op1))
  578   if (Constant *C = foldOrCommuteConstant(Instruction::Add, Op0, Op1, Q))
  591     return Constant::getNullValue(Op0->getType());
  605     return Constant::getAllOnesValue(Ty);
  655 static Constant *stripAndComputeConstantOffsets(const DataLayout &DL, Value *&V,
  668   Constant *OffsetIntPtr = ConstantInt::get(IntPtrTy, Offset);
  677 static Constant *computePointerDifference(const DataLayout &DL, Value *LHS,
  679   Constant *LHSOffset = stripAndComputeConstantOffsets(DL, LHS);
  680   Constant *RHSOffset = stripAndComputeConstantOffsets(DL, RHS);
  698   if (Constant *C = foldOrCommuteConstant(Instruction::Sub, Op0, Op1, Q))
  712     return Constant::getNullValue(Op0->getType());
  718       return Constant::getNullValue(Op0->getType());
  725         return Constant::getNullValue(Op0->getType());
  804     if (Constant *Result = computePointerDifference(Q.DL, X, Y))
  833   if (Constant *C = foldOrCommuteConstant(Instruction::Mul, Op0, Op1, Q))
  839     return Constant::getNullValue(Op0->getType());
  907   auto *Op1C = dyn_cast<Constant>(Op1);
  907   auto *Op1C = dyn_cast<Constant>(Op1);
  911       Constant *Elt = Op1C->getAggregateElement(i);
  920     return Constant::getNullValue(Ty);
  925     return Constant::getNullValue(Op0->getType());
  930     return IsDiv ? ConstantInt::get(Ty, 1) : Constant::getNullValue(Ty);
  940     return IsDiv ? Op0 : Constant::getNullValue(Ty);
  951   Constant *C = dyn_cast_or_null<Constant>(V);
  951   Constant *C = dyn_cast_or_null<Constant>(V);
  977       Constant *PosDividendC = ConstantInt::get(Ty, C->abs());
  978       Constant *NegDividendC = ConstantInt::get(Ty, -C->abs());
  993       Constant *PosDivisorC = ConstantInt::get(Ty, C->abs());
  994       Constant *NegDivisorC = ConstantInt::get(Ty, -C->abs());
 1010   if (Constant *C = foldOrCommuteConstant(Opcode, Op0, Op1, Q))
 1035     return Constant::getNullValue(Op0->getType());
 1044       return Constant::getNullValue(Op0->getType());
 1060     return Constant::getNullValue(Op0->getType());
 1068   if (Constant *C = foldOrCommuteConstant(Opcode, Op0, Op1, Q))
 1087     return Constant::getNullValue(Op0->getType());
 1114     return Constant::getAllOnesValue(Op0->getType());
 1168   Constant *C = dyn_cast<Constant>(Amount);
 1168   Constant *C = dyn_cast<Constant>(Amount);
 1197   if (Constant *C = foldOrCommuteConstant(Opcode, Op0, Op1, Q))
 1202     return Constant::getNullValue(Op0->getType());
 1253     return Constant::getNullValue(Op0->getType());
 1258     return isExact ? Op0 : Constant::getNullValue(Op0->getType());
 1280     return isNSW || isNUW ? Op0 : Constant::getNullValue(Op0->getType());
 1351     return Constant::getAllOnesValue(Op0->getType());
 1824   if (auto *C = dyn_cast<Constant>(V))
 1824   if (auto *C = dyn_cast<Constant>(V))
 1905   if (Constant *C = foldOrCommuteConstant(Instruction::And, Op0, Op1, Q))
 1910     return Constant::getNullValue(Op0->getType());
 1918     return Constant::getNullValue(Op0->getType());
 1927     return Constant::getNullValue(Op0->getType());
 1979     return Constant::getNullValue(Op1->getType());
 1982     return Constant::getNullValue(Op0->getType());
 2061   if (Constant *C = foldOrCommuteConstant(Instruction::Or, Op0, Op1, Q))
 2068     return Constant::getAllOnesValue(Op0->getType());
 2078     return Constant::getAllOnesValue(Op0->getType());
 2090     return Constant::getAllOnesValue(Op1->getType());
 2094     return Constant::getAllOnesValue(Op0->getType());
 2205   if (Constant *C = foldOrCommuteConstant(Instruction::Xor, Op0, Op1, Q))
 2218     return Constant::getNullValue(Op0->getType());
 2223     return Constant::getAllOnesValue(Op0->getType());
 2299 static Constant *
 2344   Constant *LHSOffset = stripAndComputeConstantOffsets(DL, LHS);
 2345   Constant *RHSOffset = stripAndComputeConstantOffsets(DL, RHS);
 2419     Constant *LHSNoBound = stripAndComputeConstantOffsets(DL, LHS, true);
 2420     Constant *RHSNoBound = stripAndComputeConstantOffsets(DL, RHS, true);
 2700                                       Constant::getNullValue(RHS->getType()), Q,
 2707               SimplifyICmpInst(Pred, Constant::getNullValue(LHS->getType()),
 3187   if (Constant *CLHS = dyn_cast<Constant>(LHS)) {
 3187   if (Constant *CLHS = dyn_cast<Constant>(LHS)) {
 3188     if (Constant *CRHS = dyn_cast<Constant>(RHS))
 3188     if (Constant *CRHS = dyn_cast<Constant>(RHS))
 3244   if (isa<CastInst>(LHS) && (isa<Constant>(RHS) || isa<CastInst>(RHS))) {
 3254       if (Constant *RHSC = dyn_cast<Constant>(RHS)) {
 3254       if (Constant *RHSC = dyn_cast<Constant>(RHS)) {
 3285         Constant *Trunc = ConstantExpr::getTrunc(CI, SrcTy);
 3286         Constant *RExt = ConstantExpr::getCast(CastInst::ZExt, Trunc, DstTy);
 3344         Constant *Trunc = ConstantExpr::getTrunc(CI, SrcTy);
 3345         Constant *RExt = ConstantExpr::getCast(CastInst::SExt, Trunc, DstTy);
 3383                                               Constant::getNullValue(SrcTy),
 3392                                               Constant::getNullValue(SrcTy),
 3417     if (auto *C = computePointerICmp(Q.DL, Q.TLI, Q.DT, Pred, Q.AC, Q.CxtI,
 3426         if (auto *C = computePointerICmp(Q.DL, Q.TLI, Q.DT, Pred, Q.AC, Q.CxtI,
 3441         Constant *Null = Constant::getNullValue(GLHS->getPointerOperandType());
 3441         Constant *Null = Constant::getNullValue(GLHS->getPointerOperandType());
 3443         Constant *NewLHS = ConstantExpr::getGetElementPtr(
 3447         Constant *NewRHS = ConstantExpr::getGetElementPtr(
 3482   if (Constant *CLHS = dyn_cast<Constant>(LHS)) {
 3482   if (Constant *CLHS = dyn_cast<Constant>(LHS)) {
 3483     if (Constant *CRHS = dyn_cast<Constant>(RHS))
 3483     if (Constant *CRHS = dyn_cast<Constant>(RHS))
 3672   if (isa<Constant>(Op))
 3733   if (Constant *CRepOp = dyn_cast<Constant>(RepOp)) {
 3733   if (Constant *CRepOp = dyn_cast<Constant>(RepOp)) {
 3735     SmallVector<Constant *, 8> ConstOps;
 3739       else if (Constant *COp = dyn_cast<Constant>(I->getOperand(i)))
 3739       else if (Constant *COp = dyn_cast<Constant>(I->getOperand(i)))
 3936   if (auto *CondC = dyn_cast<Constant>(Cond)) {
 3936   if (auto *CondC = dyn_cast<Constant>(Cond)) {
 3937     if (auto *TrueC = dyn_cast<Constant>(TrueVal))
 3937     if (auto *TrueC = dyn_cast<Constant>(TrueVal))
 3938       if (auto *FalseC = dyn_cast<Constant>(FalseVal))
 3938       if (auto *FalseC = dyn_cast<Constant>(FalseVal))
 3943       return isa<Constant>(FalseVal) ? FalseVal : TrueVal;
 4029             return Constant::getNullValue(GEPTy);
 4090   if (!all_of(Ops, [](Value *V) { return isa<Constant>(V); }))
 4093   auto *CE = ConstantExpr::getGetElementPtr(SrcTy, cast<Constant>(Ops[0]),
 4093   auto *CE = ConstantExpr::getGetElementPtr(SrcTy, cast<Constant>(Ops[0]),
 4095   if (auto *CEFolded = ConstantFoldConstant(CE, Q.DL))
 4110   if (Constant *CAgg = dyn_cast<Constant>(Agg))
 4110   if (Constant *CAgg = dyn_cast<Constant>(Agg))
 4111     if (Constant *CVal = dyn_cast<Constant>(Val))
 4111     if (Constant *CVal = dyn_cast<Constant>(Val))
 4143   auto *VecC = dyn_cast<Constant>(Vec);
 4143   auto *VecC = dyn_cast<Constant>(Vec);
 4144   auto *ValC = dyn_cast<Constant>(Val);
 4144   auto *ValC = dyn_cast<Constant>(Val);
 4145   auto *IdxC = dyn_cast<Constant>(Idx);
 4145   auto *IdxC = dyn_cast<Constant>(Idx);
 4178   if (auto *CAgg = dyn_cast<Constant>(Agg))
 4178   if (auto *CAgg = dyn_cast<Constant>(Agg))
 4208   if (auto *CVec = dyn_cast<Constant>(Vec)) {
 4208   if (auto *CVec = dyn_cast<Constant>(Vec)) {
 4209     if (auto *CIdx = dyn_cast<Constant>(Idx))
 4209     if (auto *CIdx = dyn_cast<Constant>(Idx))
 4213     if (auto *Splat = CVec->getSplatValue())
 4278   if (auto *C = dyn_cast<Constant>(Op))
 4278   if (auto *C = dyn_cast<Constant>(Op))
 4366 static Value *SimplifyShuffleVectorInst(Value *Op0, Value *Op1, Constant *Mask,
 4397   auto *Op0Const = dyn_cast<Constant>(Op0);
 4397   auto *Op0Const = dyn_cast<Constant>(Op0);
 4398   auto *Op1Const = dyn_cast<Constant>(Op1);
 4398   auto *Op1Const = dyn_cast<Constant>(Op1);
 4443 Value *llvm::SimplifyShuffleVectorInst(Value *Op0, Value *Op1, Constant *Mask,
 4448 static Constant *foldConstant(Instruction::UnaryOps Opcode,
 4450   if (auto *C = dyn_cast<Constant>(Op))
 4450   if (auto *C = dyn_cast<Constant>(Op))
 4459   if (Constant *C = foldConstant(Instruction::FNeg, Op, Q))
 4475 static Constant *propagateNaN(Constant *In) {
 4475 static Constant *propagateNaN(Constant *In) {
 4488 static Constant *simplifyFPOp(ArrayRef<Value *> Ops) {
 4494       return propagateNaN(cast<Constant>(V));
 4503   if (Constant *C = foldOrCommuteConstant(Instruction::FAdd, Op0, Op1, Q))
 4506   if (Constant *C = simplifyFPOp({Op0, Op1}))
 4550   if (Constant *C = foldOrCommuteConstant(Instruction::FSub, Op0, Op1, Q))
 4553   if (Constant *C = simplifyFPOp({Op0, Op1}))
 4581     return Constant::getNullValue(Op0->getType());
 4595   if (Constant *C = simplifyFPOp({Op0, Op1}))
 4629   if (Constant *C = foldOrCommuteConstant(Instruction::FMul, Op0, Op1, Q))
 4659   if (Constant *C = foldOrCommuteConstant(Instruction::FDiv, Op0, Op1, Q))
 4662   if (Constant *C = simplifyFPOp({Op0, Op1}))
 4704   if (Constant *C = foldOrCommuteConstant(Instruction::FRem, Op0, Op1, Q))
 4707   if (Constant *C = simplifyFPOp({Op0, Op1}))
 4873 static Value *SimplifyRelativeLoad(Constant *Ptr, Constant *Offset,
 4873 static Value *SimplifyRelativeLoad(Constant *Ptr, Constant *Offset,
 4893   Constant *C = ConstantExpr::getGetElementPtr(
 4896   Constant *Loaded = ConstantFoldLoadFromConstPtr(C, Int32Ty, DL);
 4916   auto *LoadedLHSPtr = LoadedLHS->getOperand(0);
 4918   Constant *LoadedRHS = LoadedCE->getOperand(1);
 5011       return Constant::getNullValue(ReturnType);
 5023            Constant::getNullValue(ReturnType->getStructElementType(1))});
 5031       return Constant::getNullValue(ReturnType);
 5035       return Constant::getNullValue(ReturnType);
 5041       return Constant::getAllOnesValue(ReturnType);
 5049       return Constant::getAllOnesValue(ReturnType);
 5061       return Constant::getNullValue(ReturnType);
 5066       return Constant::getNullValue(ReturnType);
 5072     if (auto *C0 = dyn_cast<Constant>(Op0))
 5072     if (auto *C0 = dyn_cast<Constant>(Op0))
 5073       if (auto *C1 = dyn_cast<Constant>(Op1))
 5073       if (auto *C1 = dyn_cast<Constant>(Op1))
 5222   SmallVector<Constant *, 4> ConstantArgs;
 5226     Constant *C = dyn_cast<Constant>(&Arg);
 5226     Constant *C = dyn_cast<Constant>(&Arg);
lib/Analysis/LazyCallGraph.cpp
   80   SmallVector<Constant *, 16> Worklist;
   82   SmallPtrSet<Constant *, 16> Visited;
  112         if (Constant *C = dyn_cast<Constant>(Op))
  112         if (Constant *C = dyn_cast<Constant>(Op))
  190   SmallVector<Constant *, 16> Worklist;
  191   SmallPtrSet<Constant *, 16> Visited;
lib/Analysis/LazyValueInfo.cpp
  562   if (isa<Constant>(Val))
  571   if (Constant *VC = dyn_cast<Constant>(Val))
  571   if (Constant *VC = dyn_cast<Constant>(Val))
  595   if (isa<Constant>(Val))
 1196   if (isa<Constant>(RHS)) {
 1201         return ValueLatticeElement::get(cast<Constant>(RHS));
 1203         return ValueLatticeElement::getNot(cast<Constant>(RHS));
 1352   Constant* OpConst = Constant::getIntegerValue(Op->getType(), OpConstVal);
 1352   Constant* OpConst = Constant::getIntegerValue(Op->getType(), OpConstVal);
 1508   if (Constant *VC = dyn_cast<Constant>(Val)) {
 1508   if (Constant *VC = dyn_cast<Constant>(Val)) {
 1572   if (auto *C = dyn_cast<Constant>(V))
 1572   if (auto *C = dyn_cast<Constant>(V))
 1694 Constant *LazyValueInfo::getConstant(Value *V, BasicBlock *BB,
 1734 Constant *LazyValueInfo::getConstantOnEdge(Value *V, BasicBlock *FromBB,
 1772 getPredicateResult(unsigned Pred, Constant *C, const ValueLatticeElement &Val,
 1775   Constant *Res = nullptr;
 1839 LazyValueInfo::getPredicateOnEdge(unsigned Pred, Value *V, Constant *C,
 1850 LazyValueInfo::getPredicateAt(unsigned Pred, Value *V, Constant *C,
lib/Analysis/Lint.cpp
  562   Constant *C = dyn_cast<Constant>(V);
  562   Constant *C = dyn_cast<Constant>(V);
  572     Constant *Elem = C->getAggregateElement(I);
  720   } else if (auto *C = dyn_cast<Constant>(V)) {
  720   } else if (auto *C = dyn_cast<Constant>(V)) {
lib/Analysis/LoopUnrollAnalyzer.cpp
   70   if (!isa<Constant>(LHS))
   71     if (Constant *SimpleLHS = SimplifiedValues.lookup(LHS))
   73   if (!isa<Constant>(RHS))
   74     if (Constant *SimpleRHS = SimplifiedValues.lookup(RHS))
   85   if (Constant *C = dyn_cast_or_null<Constant>(SimpleV))
   85   if (Constant *C = dyn_cast_or_null<Constant>(SimpleV))
  135   Constant *CV = CDS->getElementAsConstant(Index);
  145   Constant *COp = dyn_cast<Constant>(I.getOperand(0));
  145   Constant *COp = dyn_cast<Constant>(I.getOperand(0));
  155     if (Constant *C =
  170   if (!isa<Constant>(LHS))
  171     if (Constant *SimpleLHS = SimplifiedValues.lookup(LHS))
  173   if (!isa<Constant>(RHS))
  174     if (Constant *SimpleRHS = SimplifiedValues.lookup(RHS))
  177   if (!isa<Constant>(LHS) && !isa<Constant>(RHS)) {
  177   if (!isa<Constant>(LHS) && !isa<Constant>(RHS)) {
  192   if (Constant *CLHS = dyn_cast<Constant>(LHS)) {
  192   if (Constant *CLHS = dyn_cast<Constant>(LHS)) {
  193     if (Constant *CRHS = dyn_cast<Constant>(RHS)) {
  193     if (Constant *CRHS = dyn_cast<Constant>(RHS)) {
  195         if (Constant *C = ConstantExpr::getCompare(I.getPredicate(), CLHS, CRHS)) {
lib/Analysis/ModuleSummaryAnalysis.cpp
  368         if (!CalledValue || isa<Constant>(CalledValue))
  486 static void findFuncPointers(const Constant *I, uint64_t StartingOffset,
  512       findFuncPointers(cast<Constant>(I->getOperand(Op)),
  520       findFuncPointers(cast<Constant>(I->getOperand(i)),
lib/Analysis/MustExecute.cpp
  106     if (Constant *PersonalityFn = Fn->getPersonalityFn())
  145   auto *SimpleCst = dyn_cast_or_null<Constant>(SimpleValOrNull);
  145   auto *SimpleCst = dyn_cast_or_null<Constant>(SimpleValOrNull);
lib/Analysis/PHITransAddr.cpp
  197     if (Constant *C = dyn_cast<Constant>(PHIIn))
  197     if (Constant *C = dyn_cast<Constant>(PHIIn))
  256     Constant *RHS = cast<ConstantInt>(Inst->getOperand(1));
lib/Analysis/ScalarEvolution.cpp
  337     Constant *FieldNo;
  529 bool SCEVUnknown::isOffsetOf(Type *&CTy, Constant *&FieldNo) const {
 3298         Constant *LHSCV = LHSC->getValue();
 3299         Constant *RHSCV = RHSC->getValue();
 3955       V, getConstant(cast<ConstantInt>(Constant::getAllOnesValue(Ty))), Flags);
 4000                    getConstant(cast<ConstantInt>(Constant::getAllOnesValue(Ty)));
 4537         Constant *X =
 6385         Constant *X = ConstantInt::get(
 7371     if (Constant *RHS = dyn_cast<Constant>(ExitCond->getOperand(1))) {
 7371     if (Constant *RHS = dyn_cast<Constant>(ExitCond->getOperand(1))) {
 7493   Constant *RHS,
 7507       GEP->getNumOperands() < 3 || !isa<Constant>(GEP->getOperand(1)) ||
 7508       !cast<Constant>(GEP->getOperand(1))->isNullValue())
 7513   std::vector<Constant*> Indexes;
 7551     Constant *Result = ConstantFoldLoadThroughGEPIndices(GV->getInitializer(),
 7694   auto *Result =
 7753     if (isa<Constant>(Op)) continue;
 7801 static Constant *EvaluateExpression(Value *V, const Loop *L,
 7802                                     DenseMap<Instruction *, Constant *> &Vals,
 7806   if (Constant *C = dyn_cast<Constant>(V)) return C;
 7806   if (Constant *C = dyn_cast<Constant>(V)) return C;
 7810   if (Constant *C = Vals.lookup(I)) return C;
 7821   std::vector<Constant*> Operands(I->getNumOperands());
 7826       Operands[i] = dyn_cast<Constant>(I->getOperand(i));
 7830     Constant *C = EvaluateExpression(Operand, L, Vals, DL, TLI);
 7849 static Constant *getOtherIncomingValue(PHINode *PN, BasicBlock *BB) {
 7850   Constant *IncomingVal = nullptr;
 7856     auto *CurrentVal = dyn_cast<Constant>(PN->getIncomingValue(i));
 7856     auto *CurrentVal = dyn_cast<Constant>(PN->getIncomingValue(i));
 7874 Constant *
 7885   Constant *&RetVal = ConstantEvolutionLoopExitValue[PN];
 7887   DenseMap<Instruction *, Constant *> CurrentIterVals;
 7896     if (auto *StartCST = getOtherIncomingValue(&PHI, Latch))
 7917     DenseMap<Instruction *, Constant *> NextIterVals;
 7918     Constant *NextPHI =
 7929     SmallVector<std::pair<PHINode *, Constant *>, 8> PHIsToCompute;
 7939       Constant *&NextPHI = NextIterVals[PHI];
 7967   DenseMap<Instruction *, Constant *> CurrentIterVals;
 7975     if (auto *StartCST = getOtherIncomingValue(&PHI, Latch))
 7999     DenseMap<Instruction *, Constant *> NextIterVals;
 8011       Constant *&NextPHI = NextIterVals[PHI];
 8048 static Constant *BuildConstantFromSCEV(const SCEV *V) {
 8056       return dyn_cast<Constant>(cast<SCEVUnknown>(V)->getValue());
 8059       if (Constant *CastOp = BuildConstantFromSCEV(SS->getOperand()))
 8065       if (Constant *CastOp = BuildConstantFromSCEV(SZ->getOperand()))
 8071       if (Constant *CastOp = BuildConstantFromSCEV(ST->getOperand()))
 8077       if (Constant *C = BuildConstantFromSCEV(SA->getOperand(0))) {
 8084           Constant *C2 = BuildConstantFromSCEV(SA->getOperand(i));
 8116       if (Constant *C = BuildConstantFromSCEV(SM->getOperand(0))) {
 8120           Constant *C2 = BuildConstantFromSCEV(SM->getOperand(i));
 8130       if (Constant *LHS = BuildConstantFromSCEV(SU->getLHS()))
 8131         if (Constant *RHS = BuildConstantFromSCEV(SU->getRHS()))
 8194             Constant *RV =
 8216         SmallVector<Constant *, 4> Operands;
 8219           if (Constant *C = dyn_cast<Constant>(Op)) {
 8219           if (Constant *C = dyn_cast<Constant>(Op)) {
 8234           Constant *C = BuildConstantFromSCEV(OpV);
 8246           Constant *C = nullptr;
lib/Analysis/ScalarEvolutionExpander.cpp
  145   if (Constant *C = dyn_cast<Constant>(V))
  145   if (Constant *C = dyn_cast<Constant>(V))
  173   if (Constant *CLHS = dyn_cast<Constant>(LHS))
  173   if (Constant *CLHS = dyn_cast<Constant>(LHS))
  174     if (Constant *CRHS = dyn_cast<Constant>(RHS))
  174     if (Constant *CRHS = dyn_cast<Constant>(RHS))
  459                     Constant::getNullValue(Ty) :
  493           Constant::getNullValue(Type::getInt32Ty(Ty->getContext())));
  518     if (Constant *CLHS = dyn_cast<Constant>(V))
  518     if (Constant *CLHS = dyn_cast<Constant>(V))
  519       if (Constant *CRHS = dyn_cast<Constant>(Idx))
  519       if (Constant *CRHS = dyn_cast<Constant>(Idx))
  750       if (isa<Constant>(Sum)) std::swap(Sum, W);
  825       Prod = InsertBinop(Instruction::Sub, Constant::getNullValue(Ty), Prod,
  833       if (isa<Constant>(Prod)) std::swap(Prod, W);
  955       if (isa<Constant>(*I))
 1570     Constant *One = ConstantInt::get(Ty, 1);
 1590         CanonicalIV->addIncoming(Constant::getNullValue(Ty), HP);
lib/Analysis/TargetTransformInfo.cpp
  371 bool TargetTransformInfo::shouldBuildLookupTablesForConstant(Constant *C) const {
lib/Analysis/TypeMetadataUtils.cpp
  131 Constant *llvm::getPointerAtOffset(Constant *I, uint64_t Offset, Module &M) {
  131 Constant *llvm::getPointerAtOffset(Constant *I, uint64_t Offset, Module &M) {
  146     return getPointerAtOffset(cast<Constant>(I->getOperand(Op)),
  157     return getPointerAtOffset(cast<Constant>(I->getOperand(Op)),
lib/Analysis/ValueTracking.cpp
  217         if (Constant *C = dyn_cast<Constant>(IC->getOperand(1)))
  217         if (Constant *C = dyn_cast<Constant>(IC->getOperand(1)))
 1315         Constant *CIndex = cast<Constant>(Index);
 1315         Constant *CIndex = cast<Constant>(Index);
 1682       Constant *Element = CV->getAggregateElement(i);
 2001   if (auto *C = dyn_cast<Constant>(V)) {
 2021         Constant *Elt = C->getAggregateElement(i);
 2339   const auto *CV = dyn_cast<Constant>(V);
 2339   const auto *CV = dyn_cast<Constant>(V);
 2514       if (const auto *CRHS = dyn_cast<Constant>(U->getOperand(1)))
 2514       if (const auto *CRHS = dyn_cast<Constant>(U->getOperand(1)))
 2539       if (const auto *CLHS = dyn_cast<Constant>(U->getOperand(0)))
 2539       if (const auto *CLHS = dyn_cast<Constant>(U->getOperand(0)))
 2686   Constant *BaseVal = ConstantInt::get(T, Base);
 2730       if (Constant *Op1C = dyn_cast<Constant>(Op1))
 2730       if (Constant *Op1C = dyn_cast<Constant>(Op1))
 2731         if (Constant *MulC = dyn_cast<Constant>(Mul0)) {
 2731         if (Constant *MulC = dyn_cast<Constant>(Mul0)) {
 2754       if (Constant *Op0C = dyn_cast<Constant>(Op0))
 2754       if (Constant *Op0C = dyn_cast<Constant>(Op0))
 2755         if (Constant *MulC = dyn_cast<Constant>(Mul1)) {
 2755         if (Constant *MulC = dyn_cast<Constant>(Mul1)) {
 2957   if (auto *CV = dyn_cast<Constant>(V)) {
 3167   if (!V->getType()->isVectorTy() || !isa<Constant>(V))
 3173     Constant *Elt = cast<Constant>(V)->getAggregateElement(i);
 3173     Constant *Elt = cast<Constant>(V)->getAggregateElement(i);
 3203   Constant *C = dyn_cast<Constant>(V);
 3203   Constant *C = dyn_cast<Constant>(V);
 3216     return Constant::getNullValue(Type::getInt8Ty(Ctx));
 3381   if (Constant *C = dyn_cast<Constant>(V)) {
 3381   if (Constant *C = dyn_cast<Constant>(V)) {
 3902     if (Constant *C = dyn_cast<Constant>(Inst->getOperand(i)))
 3902     if (Constant *C = dyn_cast<Constant>(Inst->getOperand(i)))
 4774         !cast<Constant>(TrueVal)->containsUndefElement())
 4777              !cast<Constant>(FalseVal)->containsUndefElement())
 4973   auto *C = dyn_cast<Constant>(V2);
 4973   auto *C = dyn_cast<Constant>(V2);
 4977   Constant *CastedTo = nullptr;
 4988     Constant *CmpConst;
 5043   Constant *CastedBack =
lib/Analysis/VectorUtils.cpp
  268   if (Constant *C = dyn_cast<Constant>(V))
  268   if (Constant *C = dyn_cast<Constant>(V))
  299   Value *Val; Constant *C;
  301     if (Constant *Elt = C->getAggregateElement(EltNo))
  315     if (auto *C = dyn_cast<Constant>(V))
  339     if (auto *C = dyn_cast<Constant>(V))
  344   Constant *Mask;
  637 Constant *
  647   SmallVector<Constant *, 16> Mask;
  657 Constant *llvm::createReplicatedMask(IRBuilder<> &Builder, 
  659   SmallVector<Constant *, 16> MaskVec;
  667 Constant *llvm::createInterleaveMask(IRBuilder<> &Builder, unsigned VF,
  669   SmallVector<Constant *, 16> Mask;
  677 Constant *llvm::createStrideMask(IRBuilder<> &Builder, unsigned Start,
  679   SmallVector<Constant *, 16> Mask;
  686 Constant *llvm::createSequentialMask(IRBuilder<> &Builder, unsigned Start,
  688   SmallVector<Constant *, 16> Mask;
  692   Constant *Undef = UndefValue::get(Builder.getInt32Ty());
  716     Constant *ExtMask =
  721   Constant *Mask = createSequentialMask(Builder, 0, NumElts1 + NumElts2, 0);
  753   auto *ConstMask = dyn_cast<Constant>(Mask);
  753   auto *ConstMask = dyn_cast<Constant>(Mask);
  760     if (auto *MaskElt = ConstMask->getAggregateElement(I))
  770   auto *ConstMask = dyn_cast<Constant>(Mask);
  770   auto *ConstMask = dyn_cast<Constant>(Mask);
  777     if (auto *MaskElt = ConstMask->getAggregateElement(I))
lib/AsmParser/LLParser.cpp
   77 bool LLParser::parseStandaloneConstantValue(Constant *&C,
  901   Constant *Aliasee;
 1051   Constant *Init = nullptr;
 3113     SmallVector<Constant*, 16> Elts;
 3118     ID.ConstantStructElts = std::make_unique<Constant *[]>(Elts.size());
 3131     SmallVector<Constant*, 16> Elts;
 3140       ID.ConstantStructElts = std::make_unique<Constant *[]>(Elts.size());
 3170     SmallVector<Constant*, 16> Elts;
 3321     Constant *SrcVal;
 3340     Constant *Val;
 3358     Constant *Val0, *Val1;
 3385     Constant *Val0, *Val1;
 3418     Constant *Val;
 3434     Constant *C = ConstantExpr::get(Opc, Val, Flags);
 3459     Constant *Val0, *Val1;
 3512     Constant *C = ConstantExpr::get(Opc, Val0, Val1, Flags);
 3523     Constant *Val0, *Val1;
 3547     SmallVector<Constant*, 16> Elts;
 3586       ArrayRef<Constant *> Indices(Elts.begin() + 1, Elts.end());
 3587       for (Constant *Val : Indices) {
 3659 bool LLParser::ParseGlobalValue(Type *Ty, Constant *&C) {
 3665   if (V && !(C = dyn_cast<Constant>(V)))
 3670 bool LLParser::ParseGlobalTypeAndValue(Constant *&V) {
 3702 bool LLParser::ParseGlobalValueVector(SmallVectorImpl<Constant *> &Elts,
 3715     Constant *C;
 5210     V = Constant::getNullValue(Ty);
 5215     V = Constant::getNullValue(Ty);
 5247 bool LLParser::parseConstantValue(Type *Ty, Constant *&C) {
 5264     C = cast<Constant>(V);
 5268     C = Constant::getNullValue(Ty);
 5383   Constant *Prefix = nullptr;
 5384   Constant *Prologue = nullptr;
 5385   Constant *PersonalityFn = nullptr;
 6740     Constant *CV = dyn_cast<Constant>(V);
 6740     Constant *CV = dyn_cast<Constant>(V);
lib/AsmParser/LLParser.h
   66     Constant *ConstantVal;
   67     std::unique_ptr<Constant *[]> ConstantStructElts;
  181     bool parseStandaloneConstantValue(Constant *&C, const SlotMapping *Slots);
  462     bool parseConstantValue(Type *Ty, Constant *&C);
  511     bool ParseGlobalValue(Type *Ty, Constant *&C);
  512     bool ParseGlobalTypeAndValue(Constant *&V);
  513     bool ParseGlobalValueVector(SmallVectorImpl<Constant *> &Elts,
lib/AsmParser/Parser.cpp
  147 Constant *llvm::parseConstantValue(StringRef Asm, SMDiagnostic &Err,
  152   Constant *C;
lib/Bitcode/Reader/BitcodeReader.cpp
 2249       if (Constant *C = dyn_cast_or_null<Constant>(ValueList[ValID]))
 2249       if (Constant *C = dyn_cast_or_null<Constant>(ValueList[ValID]))
 2262       Constant *C = dyn_cast_or_null<Constant>(ValueList[ValID]);
 2262       Constant *C = dyn_cast_or_null<Constant>(ValueList[ValID]);
 2278       if (Constant *C = dyn_cast_or_null<Constant>(ValueList[ValID]))
 2278       if (Constant *C = dyn_cast_or_null<Constant>(ValueList[ValID]))
 2291       if (Constant *C = dyn_cast_or_null<Constant>(ValueList[ValID]))
 2291       if (Constant *C = dyn_cast_or_null<Constant>(ValueList[ValID]))
 2304       if (Constant *C = dyn_cast_or_null<Constant>(ValueList[ValID]))
 2304       if (Constant *C = dyn_cast_or_null<Constant>(ValueList[ValID]))
 2382       V = Constant::getNullValue(CurTy);
 2434       SmallVector<Constant*, 16> Elts;
 2525         Constant *LHS = ValueList.getConstantFwdRef(Record[1], CurTy);
 2538         Constant *LHS = ValueList.getConstantFwdRef(Record[1], CurTy);
 2539         Constant *RHS = ValueList.getConstantFwdRef(Record[2], CurTy);
 2572         Constant *Op = ValueList.getConstantFwdRef(Record[2], OpTy);
 2597       SmallVector<Constant*, 16> Elts;
 2619       ArrayRef<Constant *> Indices(Elts.begin() + 1, Elts.end());
 2651       Constant *Op0 = ValueList.getConstantFwdRef(Record[1], OpTy);
 2652       Constant *Op1 = nullptr;
 2670       Constant *Op0 = ValueList.getConstantFwdRef(Record[0], OpTy);
 2671       Constant *Op1 = ValueList.getConstantFwdRef(Record[1],
 2673       Constant *Op2 = nullptr;
 2690       Constant *Op0 = ValueList.getConstantFwdRef(Record[0], OpTy);
 2691       Constant *Op1 = ValueList.getConstantFwdRef(Record[1], OpTy);
 2694       Constant *Op2 = ValueList.getConstantFwdRef(Record[2], ShufTy);
 2704       Constant *Op0 = ValueList.getConstantFwdRef(Record[1], OpTy);
 2705       Constant *Op1 = ValueList.getConstantFwdRef(Record[2], OpTy);
 2708       Constant *Op2 = ValueList.getConstantFwdRef(Record[3], ShufTy);
 2718       Constant *Op0 = ValueList.getConstantFwdRef(Record[1], OpTy);
 2719       Constant *Op1 = ValueList.getConstantFwdRef(Record[2], OpTy);
 4699           F->setPersonalityFn(cast<Constant>(PersFn));
 4700         else if (F->getPersonalityFn() != cast<Constant>(PersFn))
 4724         LP->addClause(cast<Constant>(Val));
lib/Bitcode/Reader/ValueList.cpp
   88   if (Constant *PHC = dyn_cast<Constant>(&*OldV)) {
   88   if (Constant *PHC = dyn_cast<Constant>(&*OldV)) {
   99 Constant *BitcodeReaderValueList::getConstantFwdRef(unsigned Idx, Type *Ty) {
  110     return cast<Constant>(V);
  114   Constant *C = new ConstantPlaceHolder(Ty, Context);
  158   SmallVector<Constant *, 64> NewOps;
  162     Constant *Placeholder = ResolveConstants.back().first;
  174       if (!isa<Constant>(U) || isa<GlobalValue>(U)) {
  181       Constant *UserC = cast<Constant>(U);
  181       Constant *UserC = cast<Constant>(U);
  195               std::pair<Constant *, unsigned>(cast<Constant>(*I), 0));
  200         NewOps.push_back(cast<Constant>(NewOp));
  204       Constant *NewC;
lib/Bitcode/Reader/ValueList.h
   45   using ResolveConstantsTy = std::vector<std::pair<Constant *, unsigned>>;
   98   Constant *getConstantFwdRef(unsigned Idx, Type *Ty);
lib/Bitcode/Writer/BitcodeWriter.cpp
 2338     const Constant *C = cast<Constant>(V);
 2338     const Constant *C = cast<Constant>(V);
lib/Bitcode/Writer/ValueEnumerator.cpp
   91   if (const Constant *C = dyn_cast<Constant>(V))
   91   if (const Constant *C = dyn_cast<Constant>(V))
  160           if ((isa<Constant>(*Op) && !isa<GlobalValue>(*Op)) ||
  253   if (const Constant *C = dyn_cast<Constant>(V))
  253   if (const Constant *C = dyn_cast<Constant>(V))
  256         if (isa<Constant>(Op)) // Visit GlobalValues.
  284           if (isa<Constant>(*Op) || isa<InlineAsm>(*Op)) // Visit GlobalValues.
  823   if (const Constant *C = dyn_cast<Constant>(V)) {
  823   if (const Constant *C = dyn_cast<Constant>(V)) {
  897   const Constant *C = dyn_cast<Constant>(V);
  897   const Constant *C = dyn_cast<Constant>(V);
  963         if ((isa<Constant>(OI) && !isa<GlobalValue>(OI)) || isa<InlineAsm>(OI))
lib/CodeGen/AsmPrinter/AsmPrinter.cpp
 1223 static unsigned getNumGlobalVariableUses(const Constant *C) {
 1232     NumUses += getNumGlobalVariableUses(dyn_cast<Constant>(CU));
 1255     NumGOTEquivUsers += getNumGlobalVariableUses(dyn_cast<Constant>(U));
 1722     const Constant *C = nullptr;
 1976   Constant *Func = nullptr;
 1986 void AsmPrinter::EmitXXStructorList(const DataLayout &DL, const Constant *List,
 2165 const MCExpr *AsmPrinter::lowerConstant(const Constant *CV) {
 2190     if (Constant *C = ConstantFoldConstant(CE, getDataLayout()))
 2231     Constant *Op = CE->getOperand(0);
 2242     Constant *Op = CE->getOperand(0);
 2317 static void emitGlobalConstantImpl(const DataLayout &DL, const Constant *C,
 2319                                    const Constant *BaseCV = nullptr,
 2356     Constant *Op0 = CA->getOperand(0);
 2416                                     const Constant *BaseCV, uint64_t Offset) {
 2447                                      const Constant *BaseCV, uint64_t Offset) {
 2453     const Constant *Field = CS->getOperand(i);
 2581                                          const Constant *BaseCst,
 2668 static void emitGlobalConstantImpl(const DataLayout &DL, const Constant *CV,
 2669                                    AsmPrinter &AP, const Constant *BaseCV,
 2677     BaseCV = dyn_cast<Constant>(CV->user_back());
 2726       Constant *New = ConstantFoldConstant(CE, DL);
 2749 void AsmPrinter::EmitGlobalConstant(const DataLayout &DL, const Constant *CV) {
 2796       const Constant *C = CPE.Val.ConstVal;
lib/CodeGen/AtomicExpandPass.cpp
  438   Constant *DummyVal = Constant::getNullValue(Ty);
  438   Constant *DummyVal = Constant::getNullValue(Ty);
 1630   Constant *OrderingVal =
 1632   Constant *Ordering2Val = nullptr;
lib/CodeGen/CodeGenPrepare.cpp
 1202     Arg1 = ConstantExpr::getNeg(cast<Constant>(Arg1));
 1234   if (isa<Constant>(A))
 1288   if (isa<Constant>(A) && isa<Constant>(B))
 1288   if (isa<Constant>(A) && isa<Constant>(B))
 1313   Value *CmpVariableOperand = isa<Constant>(A) ? B : A;
 1752   Value *Zero = Constant::getNullValue(Ty);
 1865       Constant *RetVal = ConstantInt::getTrue(II->getContext());
 3213       Map[V] = Constant::getNullValue(CommonType);
 4840       SunkAddr = Constant::getNullValue(Addr->getType());
 4997       SunkAddr = Constant::getNullValue(Addr->getType());
 6412   Value *getConstantVector(Constant *Val, bool UseSplat) const {
 6428     SmallVector<Constant *, 4> ConstVec;
 6574           cast<Constant>(Val),
 6903     Constant *NewUGEPIIdx =
 6949     if (isa<Constant>(CI->getOperand(0)))
lib/CodeGen/ExpandMemCmp.cpp
  350     if (auto *Source1C = dyn_cast<Constant>(Source1))
  350     if (auto *Source1C = dyn_cast<Constant>(Source1))
  356     if (auto *Source2C = dyn_cast<Constant>(Source2))
  356     if (auto *Source2C = dyn_cast<Constant>(Source2))
lib/CodeGen/GlobalISel/IRTranslator.cpp
  192   if (!isa<Constant>(Val)) {
  200     auto &C = cast<Constant>(Val);
  209     bool Success = translate(cast<Constant>(Val), VRegs->front());
  308   if (isa<Constant>(U.getOperand(0)) &&
  349         Res, getOrCreateVReg(*Constant::getNullValue(U.getType())));
  352         Res, getOrCreateVReg(*Constant::getAllOnesValue(U.getType())));
 1067       unsigned Field = cast<Constant>(Idx)->getUniqueInteger().getZExtValue();
 1382     } else if (const auto *CI = dyn_cast<Constant>(V)) {
 1382     } else if (const auto *CI = dyn_cast<Constant>(V)) {
 1737   const Constant *PersonalityFn = MF->getFunction().getPersonalityFn();
 1923       .addShuffleMask(cast<Constant>(U.getOperand(2)));
 2109 bool IRTranslator::translate(const Constant &C, Register Reg) {
 2134       Constant &Elt = *CAZ->getElementValue(i);
 2144       Constant &Elt = *CV->getElementAsConstant(i);
lib/CodeGen/GlobalISel/LegalizerHelper.cpp
 4111   const Constant *ShufMask = MI.getOperand(3).getShuffleMask();
lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
  138 MachineInstrBuilder MachineIRBuilder::buildConstDbgValue(const Constant &C,
lib/CodeGen/GlobalMerge.cpp
  454     std::vector<Constant*> Inits;
  502     Constant *MergedInit = ConstantStruct::get(MergedTy, Inits);
  534       Constant *Idx[2] = {
  538       Constant *GEP =
lib/CodeGen/IntrinsicLowering.cpp
  270        CI->replaceAllUsesWith(Constant::getNullValue(CI->getType()));
  317       CI->replaceAllUsesWith(Constant::getNullValue(CI->getType()));
lib/CodeGen/LowerEmuTLS.cpp
   94   Constant *NullPtr = ConstantPointerNull::get(VoidPtrType);
   97   const Constant *InitValue = nullptr;
  150   Constant *ElementValues[4] = {
  155   ArrayRef<Constant*> ElementValueArray(ElementValues, 4);
lib/CodeGen/MIRParser/MIParser.cpp
  424                        const Constant *&C);
  425   bool parseIRConstant(StringRef::iterator Loc, const Constant *&C);
 1489                                const Constant *&C) {
 1499 bool MIParser::parseIRConstant(StringRef::iterator Loc, const Constant *&C) {
 1611   const Constant *C = nullptr;
 1624   const Constant *C = nullptr;
 2298   SmallVector<Constant *, 32> ShufMask;
 2326     Constant *C = AllZero ? Constant::getNullValue(VT) : UndefValue::get(VT);
 2326     Constant *C = AllZero ? Constant::getNullValue(VT) : UndefValue::get(VT);
 2617     const Constant *C = nullptr;
lib/CodeGen/MIRParser/MIRParser.cpp
  820     const Constant *Value = dyn_cast_or_null<Constant>(
  820     const Constant *Value = dyn_cast_or_null<Constant>(
lib/CodeGen/MachineFunction.cpp
  676         auto *CVal = cast<Constant>(Val);
  676         auto *CVal = cast<Constant>(Val);
 1017 static bool CanShareConstantPoolEntry(const Constant *A, const Constant *B,
 1017 static bool CanShareConstantPoolEntry(const Constant *A, const Constant *B,
 1060 unsigned MachineConstantPool::getConstantPoolIndex(const Constant *C,
lib/CodeGen/MachineOperand.cpp
  467   if (isa<Constant>(V)) {
  943     const Constant* C = getShuffleMask();
lib/CodeGen/MachineVerifier.cpp
 1411     const Constant *Mask = MaskOp.getShuffleMask();
lib/CodeGen/ScalarizeMaskedMemIntrin.cpp
   80   Constant *C = dyn_cast<Constant>(Mask);
   80   Constant *C = dyn_cast<Constant>(Mask);
   86     Constant *CElt = C->getAggregateElement(i);
  145   if (isa<Constant>(Mask) && cast<Constant>(Mask)->isAllOnesValue()) {
  145   if (isa<Constant>(Mask) && cast<Constant>(Mask)->isAllOnesValue()) {
  165       if (cast<Constant>(Mask)->getAggregateElement(Idx)->isNullValue())
  282   if (isa<Constant>(Mask) && cast<Constant>(Mask)->isAllOnesValue()) {
  282   if (isa<Constant>(Mask) && cast<Constant>(Mask)->isAllOnesValue()) {
  298       if (cast<Constant>(Mask)->getAggregateElement(Idx)->isNullValue())
  413       if (cast<Constant>(Mask)->getAggregateElement(Idx)->isNullValue())
  537       if (cast<Constant>(Mask)->getAggregateElement(Idx)->isNullValue())
  623       if (cast<Constant>(Mask)->getAggregateElement(Idx)->isNullValue())
  733       if (cast<Constant>(Mask)->getAggregateElement(Idx)->isNullValue())
lib/CodeGen/SelectionDAG/DAGCombiner.cpp
19999   Constant *Elts[] = { const_cast<ConstantFP*>(FV->getConstantFPValue()),
20005   Constant *CA = ConstantArray::get(ArrayType::get(FPTy, 2), Elts);
lib/CodeGen/SelectionDAG/FastISel.cpp
  414         Constant::getNullValue(DL.getIntPtrType(V->getContext())));
  458   if (isa<Constant>(V))
  459     Reg = fastMaterializeConstant(cast<Constant>(V));
lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
 1938     SmallVector<Constant*, 16> CV;
 1961     Constant *CP = ConstantVector::get(CV);
 2427   Constant *FudgeFactor = ConstantInt::get(
lib/CodeGen/SelectionDAG/SelectionDAG.cpp
 1423 SDValue SelectionDAG::getConstantPool(const Constant *C, EVT VT,
 2921     const Constant *Cst = TLI->getTargetConstantFromLoad(LD);
 2929           if (const Constant *Splat = Cst->getSplatValue()) {
 2942             if (Constant *Elt = Cst->getAggregateElement(i)) {
 3901         if (const Constant *Cst = TLI->getTargetConstantFromLoad(LD)) {
 3911               if (Constant *Elt = Cst->getAggregateElement(i)) {
lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
 1443   if (const Constant *C = dyn_cast<Constant>(V)) {
 1443   if (const Constant *C = dyn_cast<Constant>(V)) {
 2211       isa<Constant>(Cases[0].CmpRHS) &&
 2212       cast<Constant>(Cases[0].CmpRHS)->isNullValue()) {
 2866   const Constant *PersonalityFn = FuncInfo.Fn->getPersonalityFn();
 2964   if (isa<Constant>(I.getOperand(0)) &&
 3542   Constant *MaskV = cast<Constant>(I.getOperand(2));
 3542   Constant *MaskV = cast<Constant>(I.getOperand(2));
 3860       unsigned Field = cast<Constant>(Idx)->getUniqueInteger().getZExtValue();
 3881       const auto *C = dyn_cast<Constant>(Idx);
 3881       const auto *C = dyn_cast<Constant>(Idx);
 4353     auto *C = dyn_cast<Constant>(GEP->getOperand(i));
 4353     auto *C = dyn_cast<Constant>(GEP->getOperand(i));
 6470     const Constant *TypeMap = cast<Constant>(I.getArgOperand(1));
 6470     const Constant *TypeMap = cast<Constant>(I.getArgOperand(1));
 7202   if (const Constant *LoadInput = dyn_cast<Constant>(PtrVal)) {
 7202   if (const Constant *LoadInput = dyn_cast<Constant>(PtrVal)) {
 7212     if (const Constant *LoadCst = ConstantFoldLoadFromConstPtr(
 7853         cast<Constant>(OpVal), TLI.getPointerTy(DAG.getDataLayout()));
 9961       if (const Constant *C = dyn_cast<Constant>(PHIOp)) {
 9961       if (const Constant *C = dyn_cast<Constant>(PHIOp)) {
lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
  406   DenseMap<const Constant *, unsigned> ConstantsOut;
lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
 1203       cast<Constant>(CPI->getArgOperand(0))->isNullValue();
 1228   const Constant *PersonalityFn = FuncInfo->Fn->getPersonalityFn();
lib/CodeGen/SelectionDAG/TargetLowering.cpp
 2681 const Constant *TargetLowering::getTargetConstantFromLoad(LoadSDNode*) const {
lib/CodeGen/ShadowStackGCLowering.cpp
   73   Constant *GetFrameMap(Function &F);
  101 Constant *ShadowStackGCLowering::GetFrameMap(Function &F) {
  107   SmallVector<Constant *, 16> Metadata;
  109     Constant *C = cast<Constant>(Roots[I].first->getArgOperand(1));
  109     Constant *C = cast<Constant>(Roots[I].first->getArgOperand(1));
  118   Constant *BaseElts[] = {
  123   Constant *DescriptorElts[] = {
  130   Constant *FrameMap = ConstantStruct::get(STy, DescriptorElts);
  145   Constant *GV = new GlobalVariable(*F.getParent(), FrameMap->getType(), true,
  149   Constant *GEPIndices[2] = {
  212         Constant::getNullValue(StackEntryPtrTy), "llvm_gc_root_chain");
  214     Head->setInitializer(Constant::getNullValue(StackEntryPtrTy));
  222   if (Constant *C = dyn_cast<Constant>(V))
  222   if (Constant *C = dyn_cast<Constant>(V))
lib/CodeGen/TargetLoweringObjectFileImpl.cpp
  737     const DataLayout &DL, SectionKind Kind, const Constant *C,
 1049     const DataLayout &DL, SectionKind Kind, const Constant *C,
 1610 static std::string scalarConstantToHexString(const Constant *C) {
 1632     const DataLayout &DL, SectionKind Kind, const Constant *C,
lib/CodeGen/WasmEHPrepare.cpp
  259         cast<Constant>(CPI->getArgOperand(0))->isNullValue())
lib/CodeGen/WinEHPrepare.cpp
  148     Constant *TypeInfo = cast<Constant>(CPI->getArgOperand(0));
  148     Constant *TypeInfo = cast<Constant>(CPI->getArgOperand(0));
  354     const Constant *FilterOrNull =
  355         cast<Constant>(CatchPad->getArgOperand(0)->stripPointerCasts());
lib/ExecutionEngine/ExecutionEngine.cpp
  390     Constant *FP = CS->getOperand(1);
  594 GenericValue ExecutionEngine::getConstantValue(const Constant *C) {
  620               const Constant *ElemUndef = UndefValue::get(ElemTy);
  644     Constant *Op0 = CE->getOperand(0);
 1132 void ExecutionEngine::InitializeMemory(const Constant *Init, void *Addr) {
lib/ExecutionEngine/Interpreter/Execution.cpp
 2107   } else if (Constant *CPV = dyn_cast<Constant>(V)) {
 2107   } else if (Constant *CPV = dyn_cast<Constant>(V)) {
lib/ExecutionEngine/Orc/CompileOnDemandLayer.cpp
   35       Constant *Aliasee = A.getAliasee();
lib/ExecutionEngine/Orc/ExecutionUtils.cpp
   52   Constant *FuncC = CS->getOperand(1);
lib/ExecutionEngine/Orc/IndirectionUtils.cpp
  219 Constant* createIRTypedAddress(FunctionType &FT, JITTargetAddress Addr) {
  220   Constant *AddrIntVal =
  222   Constant *AddrPtrVal =
  229                                   const Twine &Name, Constant *Initializer) {
lib/FuzzMutate/OpDescriptor.cpp
   15 void fuzzerop::makeConstantsWithType(Type *T, std::vector<Constant *> &Cs) {
   33 std::vector<Constant *> fuzzerop::makeConstantsWithType(Type *T) {
   34   std::vector<Constant *> Result;
lib/FuzzMutate/Operations.cpp
  197     std::vector<Constant *> Result;
  236     std::vector<Constant *> Result;
  255     std::vector<Constant *> Result;
lib/IR/AsmWriter.cpp
  123   if (const Constant *C = dyn_cast<Constant>(V))
  123   if (const Constant *C = dyn_cast<Constant>(V))
  171           if ((isa<Constant>(*Op) && !isa<GlobalValue>(*Op)) ||
  258   if (const Constant *C = dyn_cast<Constant>(V))
  258   if (const Constant *C = dyn_cast<Constant>(V))
  261         if (isa<Constant>(Op)) // Visit GlobalValues.
  288           if (isa<Constant>(*Op) || isa<InlineAsm>(*Op)) // Visit GlobalValues.
 1289 static void WriteConstantInternal(raw_ostream &Out, const Constant *CV,
 2234   const Constant *CV = dyn_cast<Constant>(V);
 2234   const Constant *CV = dyn_cast<Constant>(V);
 3345   const Constant *IS = GIS->getIndirectSymbol();
 4320   } else if (const Constant *C = dyn_cast<Constant>(this)) {
 4320   } else if (const Constant *C = dyn_cast<Constant>(this)) {
 4338       (!isa<Constant>(V) && !isa<MetadataAsValue>(V))) {
lib/IR/AutoUpgrade.cpp
  853   Constant *Init = GV->getInitializer();
  855   std::vector<Constant *> NewCtors(N);
  857     auto Ctor = cast<Constant>(Init->getOperand(i));
  860         Constant::getNullValue(IRB.getInt8PtrTy()));
  862   Constant *NewInit = ConstantArray::get(ArrayType::get(EltTy, N), NewCtors);
  880   Value *Res = Constant::getNullValue(VecTy);
  914   Value *Res = Constant::getNullValue(VecTy);
  959   if (const auto *C = dyn_cast<Constant>(Mask))
  959   if (const auto *C = dyn_cast<Constant>(Mask))
  970   if (const auto *C = dyn_cast<Constant>(Mask))
  970   if (const auto *C = dyn_cast<Constant>(Mask))
 1003     return llvm::Constant::getNullValue(Op0->getType());
 1010     Op0 = llvm::Constant::getNullValue(Op0->getType());
 1166     return Constant::getNullValue(Ty); // FALSE
 1168     return Constant::getAllOnesValue(Ty); // TRUE
 1222   if (const auto *C = dyn_cast<Constant>(Mask))
 1222   if (const auto *C = dyn_cast<Constant>(Mask))
 1242   if (const auto *C = dyn_cast<Constant>(Mask))
 1242   if (const auto *C = dyn_cast<Constant>(Mask))
 1255   Value *Zero = llvm::Constant::getNullValue(Ty);
 1288     Constant *ShiftAmt = ConstantInt::get(Ty, 32);
 1295     Constant *Mask = ConstantInt::get(Ty, 0xffffffff);
 1313     const auto *C = dyn_cast<Constant>(Mask);
 1313     const auto *C = dyn_cast<Constant>(Mask);
 1325                                       Constant::getNullValue(Vec->getType()),
 1338     Cmp = Constant::getNullValue(llvm::VectorType::get(Builder.getInt1Ty(), NumElts));
 1340     Cmp = Constant::getAllOnesValue(llvm::VectorType::get(Builder.getInt1Ty(), NumElts));
 1830       Value *Zero = llvm::Constant::getNullValue(Ty);
 2008       Value *Zero = llvm::Constant::getNullValue(Op->getType());
 2340                                         Constant::getNullValue(MaskTy));
 3081       Rep = Builder.CreateInsertElement(Constant::getNullValue(CI->getType()),
 3128       Value *PassThru = IsMaskZ ? Constant::getNullValue(Rep->getType()) :
 3185       Value *PassThru = IsMaskZ ? llvm::Constant::getNullValue(CI->getType()) :
 3261       Value *PassThru = IsMaskZ ? llvm::Constant::getNullValue(CI->getType()) :
 3428           Arg, llvm::Constant::getNullValue(Arg->getType()), "abs.cond");
 3511       Args.push_back(Constant::getNullValue(CI->getOperand(0)->getType()));
 3574     if (auto *Offset = dyn_cast_or_null<Constant>(CI->getArgOperand(1)))
 3574     if (auto *Offset = dyn_cast_or_null<Constant>(CI->getArgOperand(1)))
 3755                              Constant::getNullValue(Type::getInt64Ty(Context))),
 3760   Metadata *Elts[] = {&MD, &MD, ConstantAsMetadata::get(Constant::getNullValue(
 3787 Value *llvm::UpgradeBitCastExpr(unsigned Opc, Constant *C, Type *DestTy) {
lib/IR/BasicBlock.cpp
   72     Constant *Replacement =
lib/IR/ConstantFold.cpp
   45 static Constant *BitCastConstantVector(Constant *CV, VectorType *DstTy) {
   45 static Constant *BitCastConstantVector(Constant *CV, VectorType *DstTy) {
   47   if (CV->isAllOnesValue()) return Constant::getAllOnesValue(DstTy);
   48   if (CV->isNullValue()) return Constant::getNullValue(DstTy);
   59   SmallVector<Constant*, 16> Result;
   62     Constant *C =
  101 static Constant *FoldBitCast(Constant *V, Type *DestTy) {
  101 static Constant *FoldBitCast(Constant *V, Type *DestTy) {
  114           Constant::getNullValue(Type::getInt32Ty(DPTy->getContext()));
  146         return Constant::getNullValue(DestTy);
  212 static Constant *ExtractConstantBytes(Constant *C, unsigned ByteStart,
  212 static Constant *ExtractConstantBytes(Constant *C, unsigned ByteStart,
  239     Constant *RHS = ExtractConstantBytes(CE->getOperand(1), ByteStart,ByteSize);
  248     Constant *LHS = ExtractConstantBytes(CE->getOperand(0), ByteStart,ByteSize);
  254     Constant *RHS = ExtractConstantBytes(CE->getOperand(1), ByteStart,ByteSize);
  262     Constant *LHS = ExtractConstantBytes(CE->getOperand(0), ByteStart,ByteSize);
  279       return Constant::getNullValue(
  302       return Constant::getNullValue(
  319       return Constant::getNullValue(IntegerType::get(CE->getContext(),
  335       Constant *Res = CE->getOperand(0);
  353 static Constant *getFoldedSizeOf(Type *Ty, Type *DestTy, bool Folded) {
  355     Constant *N = ConstantInt::get(DestTy, ATy->getNumElements());
  356     Constant *E = getFoldedSizeOf(ATy->getElementType(), DestTy, true);
  367       Constant *MemberSize =
  377         Constant *N = ConstantInt::get(DestTy, NumElems);
  397   Constant *C = ConstantExpr::getSizeOf(Ty);
  408 static Constant *getFoldedAlignOf(Type *Ty, Type *DestTy, bool Folded) {
  412     Constant *C = ConstantExpr::getAlignOf(ATy->getElementType());
  433     Constant *MemberAlign =
  461   Constant *C = ConstantExpr::getAlignOf(Ty);
  472 static Constant *getFoldedOffsetOf(Type *Ty, Constant *FieldNo, Type *DestTy,
  472 static Constant *getFoldedOffsetOf(Type *Ty, Constant *FieldNo, Type *DestTy,
  475     Constant *N = ConstantExpr::getCast(CastInst::getCastOpcode(FieldNo, false,
  478     Constant *E = getFoldedSizeOf(ATy->getElementType(), DestTy, true);
  489       Constant *MemberSize =
  499         Constant *N = ConstantExpr::getCast(CastInst::getCastOpcode(FieldNo,
  514   Constant *C = ConstantExpr::getOffsetOf(Ty, FieldNo);
  521 Constant *llvm::ConstantFoldCastInstruction(unsigned opc, Constant *V,
  521 Constant *llvm::ConstantFoldCastInstruction(unsigned opc, Constant *V,
  529       return Constant::getNullValue(DestTy);
  535     return Constant::getNullValue(DestTy);
  575     SmallVector<Constant*, 16> res;
  580       Constant *C =
  651           Constant *Idx = CE->getOperand(1);
  653           if (Constant *C = getFoldedSizeOf(Ty, DestTy, !isOne)) {
  673             if (Constant *C = getFoldedOffsetOf(Ty, CE->getOperand(2),
  721       if (Constant *Res = ExtractConstantBytes(V, 0, DestBitWidth / 8))
  733 Constant *llvm::ConstantFoldSelectInstruction(Constant *Cond,
  733 Constant *llvm::ConstantFoldSelectInstruction(Constant *Cond,
  734                                               Constant *V1, Constant *V2) {
  734                                               Constant *V1, Constant *V2) {
  741     SmallVector<Constant*, 16> Result;
  744       Constant *V;
  745       Constant *V1Element = ConstantExpr::getExtractElement(V1,
  747       Constant *V2Element = ConstantExpr::getExtractElement(V2,
  749       auto *Cond = cast<Constant>(CondV->getOperand(i));
  749       auto *Cond = cast<Constant>(CondV->getOperand(i));
  788 Constant *llvm::ConstantFoldExtractElementInstruction(Constant *Val,
  788 Constant *llvm::ConstantFoldExtractElementInstruction(Constant *Val,
  789                                                       Constant *Idx) {
  806       SmallVector<Constant *, 8> Ops;
  809         Constant *Op = CE->getOperand(i);
  811           Constant *ScalarOp = ConstantFoldExtractElementInstruction(Op, Idx);
  827 Constant *llvm::ConstantFoldInsertElementInstruction(Constant *Val,
  827 Constant *llvm::ConstantFoldInsertElementInstruction(Constant *Val,
  828                                                      Constant *Elt,
  829                                                      Constant *Idx) {
  840   SmallVector<Constant*, 16> Result;
  850     Constant *C = ConstantExpr::getExtractElement(Val, ConstantInt::get(Ty, i));
  857 Constant *llvm::ConstantFoldShuffleVectorInstruction(Constant *V1,
  857 Constant *llvm::ConstantFoldShuffleVectorInstruction(Constant *V1,
  858                                                      Constant *V2,
  859                                                      Constant *Mask) {
  873   SmallVector<Constant*, 32> Result;
  880     Constant *InElt;
  898 Constant *llvm::ConstantFoldExtractValueInstruction(Constant *Agg,
  898 Constant *llvm::ConstantFoldExtractValueInstruction(Constant *Agg,
  904   if (Constant *C = Agg->getAggregateElement(Idxs[0]))
  910 Constant *llvm::ConstantFoldInsertValueInstruction(Constant *Agg,
  910 Constant *llvm::ConstantFoldInsertValueInstruction(Constant *Agg,
  911                                                    Constant *Val,
  923   SmallVector<Constant*, 32> Result;
  925     Constant *C = Agg->getAggregateElement(i);
  941 Constant *llvm::ConstantFoldUnaryInstruction(unsigned Opcode, Constant *C) {
  941 Constant *llvm::ConstantFoldUnaryInstruction(unsigned Opcode, Constant *C) {
  971     SmallVector<Constant*, 16> Result;
  974       Constant *ExtractIdx = ConstantInt::get(Ty, i);
  975       Constant *Elt = ConstantExpr::getExtractElement(C, ExtractIdx);
  987 Constant *llvm::ConstantFoldBinaryInstruction(unsigned Opcode, Constant *C1,
  987 Constant *llvm::ConstantFoldBinaryInstruction(unsigned Opcode, Constant *C1,
  988                                               Constant *C2) {
 1000         return Constant::getNullValue(C1->getType());
 1008       return Constant::getNullValue(C1->getType());   // undef & X -> 0
 1020       return Constant::getNullValue(C1->getType());
 1032       return Constant::getNullValue(C1->getType());
 1042       return Constant::getNullValue(C1->getType());
 1046       return Constant::getAllOnesValue(C1->getType()); // undef | X -> ~0
 1055       return Constant::getNullValue(C1->getType());
 1065       return Constant::getNullValue(C1->getType());
 1074       return Constant::getNullValue(C1->getType());
 1123         return Constant::getNullValue(CI2->getType());        // X % 1 == 0
 1179               return Constant::getNullValue(CI2->getType());
 1309     SmallVector<Constant*, 16> Result;
 1312       Constant *ExtractIdx = ConstantInt::get(Ty, i);
 1313       Constant *LHS = ConstantExpr::getExtractElement(C1, ExtractIdx);
 1314       Constant *RHS = ConstantExpr::getExtractElement(C2, ExtractIdx);
 1334       Constant *T = ConstantExpr::get(Opcode, CE1->getOperand(1), C2);
 1402 static int IdxCompare(Constant *C1, Constant *C2, Type *ElTy) {
 1402 static int IdxCompare(Constant *C1, Constant *C2, Type *ElTy) {
 1446 static FCmpInst::Predicate evaluateFCmpRelation(Constant *V1, Constant *V2) {
 1446 static FCmpInst::Predicate evaluateFCmpRelation(Constant *V1, Constant *V2) {
 1535 static ICmpInst::Predicate evaluateICmpRelation(Constant *V1, Constant *V2,
 1535 static ICmpInst::Predicate evaluateICmpRelation(Constant *V1, Constant *V2,
 1627     Constant *CE1Op0 = CE1->getOperand(0);
 1652                                     Constant::getNullValue(CE1Op0->getType()),
 1712         Constant *CE2Op0 = CE2->getOperand(0);
 1785 Constant *llvm::ConstantFoldCompareInstruction(unsigned short pred,
 1786                                                Constant *C1, Constant *C2) {
 1786                                                Constant *C1, Constant *C2) {
 1796     return Constant::getNullValue(ResultTy);
 1799     return Constant::getAllOnesValue(ResultTy);
 1883     case FCmpInst::FCMP_FALSE: return Constant::getNullValue(ResultTy);
 1884     case FCmpInst::FCMP_TRUE:  return Constant::getAllOnesValue(ResultTy);
 1923     SmallVector<Constant*, 4> ResElts;
 1927       Constant *C1E =
 1929       Constant *C2E =
 2081       Constant *CE2Op0 = CE2->getOperand(0);
 2085         Constant *Inverse = ConstantExpr::getBitCast(C1, CE2Op0->getType());
 2096         Constant *CE1Op0 = CE1->getOperand(0);
 2097         Constant *CE1Inverse = ConstantExpr::getTrunc(CE1, CE1Op0->getType());
 2100           Constant *C2Inverse = ConstantExpr::getTrunc(C2, CE1Op0->getType());
 2127   if (cast<Constant>(Idxs[0])->isNullValue()) return true;
 2142     if (!cast<Constant>(Idxs[i])->isNullValue())
 2164 Constant *llvm::ConstantFoldGetElementPtr(Type *PointeeTy, Constant *C,
 2164 Constant *llvm::ConstantFoldGetElementPtr(Type *PointeeTy, Constant *C,
 2176   Constant *Idx0 = cast<Constant>(Idxs[0]);
 2176   Constant *Idx0 = cast<Constant>(Idxs[0]);
 2187           !cast<Constant>(Idxs[i])->isNullValue()) {
 2210       return Constant::getNullValue(GEPTy);
 2263         Constant *Combined = CE->getOperand(CE->getNumOperands()-1);
 2275             Constant *C1 = ConstantExpr::getSExtOrBitCast(Idx0, CommonTy);
 2276             Constant *C2 = ConstantExpr::getSExtOrBitCast(Combined, CommonTy);
 2332   SmallVector<Constant *, 8> NewIdxs;
 2402     Constant *CurrIdx = cast<Constant>(Idxs[i]);
 2402     Constant *CurrIdx = cast<Constant>(Idxs[i]);
 2403     auto *PrevIdx =
 2404         NewIdxs[i - 1] ? NewIdxs[i - 1] : cast<Constant>(Idxs[i - 1]);
 2417     Constant *Factor =
 2427     Constant *Div = ConstantExpr::getSDiv(CurrIdx, Factor);
 2455       if (!NewIdxs[i]) NewIdxs[i] = cast<Constant>(Idxs[i]);
lib/IR/ConstantFold.h
   30   Constant *ConstantFoldCastInstruction(
   32     Constant *V,         ///< The source constant
   35   Constant *ConstantFoldSelectInstruction(Constant *Cond,
   35   Constant *ConstantFoldSelectInstruction(Constant *Cond,
   36                                           Constant *V1, Constant *V2);
   36                                           Constant *V1, Constant *V2);
   37   Constant *ConstantFoldExtractElementInstruction(Constant *Val, Constant *Idx);
   37   Constant *ConstantFoldExtractElementInstruction(Constant *Val, Constant *Idx);
   37   Constant *ConstantFoldExtractElementInstruction(Constant *Val, Constant *Idx);
   38   Constant *ConstantFoldInsertElementInstruction(Constant *Val, Constant *Elt,
   38   Constant *ConstantFoldInsertElementInstruction(Constant *Val, Constant *Elt,
   38   Constant *ConstantFoldInsertElementInstruction(Constant *Val, Constant *Elt,
   39                                                  Constant *Idx);
   40   Constant *ConstantFoldShuffleVectorInstruction(Constant *V1, Constant *V2,
   40   Constant *ConstantFoldShuffleVectorInstruction(Constant *V1, Constant *V2,
   40   Constant *ConstantFoldShuffleVectorInstruction(Constant *V1, Constant *V2,
   41                                                  Constant *Mask);
   42   Constant *ConstantFoldExtractValueInstruction(Constant *Agg,
   42   Constant *ConstantFoldExtractValueInstruction(Constant *Agg,
   44   Constant *ConstantFoldInsertValueInstruction(Constant *Agg, Constant *Val,
   44   Constant *ConstantFoldInsertValueInstruction(Constant *Agg, Constant *Val,
   44   Constant *ConstantFoldInsertValueInstruction(Constant *Agg, Constant *Val,
   46   Constant *ConstantFoldUnaryInstruction(unsigned Opcode, Constant *V);
   46   Constant *ConstantFoldUnaryInstruction(unsigned Opcode, Constant *V);
   47   Constant *ConstantFoldBinaryInstruction(unsigned Opcode, Constant *V1,
   47   Constant *ConstantFoldBinaryInstruction(unsigned Opcode, Constant *V1,
   48                                           Constant *V2);
   49   Constant *ConstantFoldCompareInstruction(unsigned short predicate,
   50                                            Constant *C1, Constant *C2);
   50                                            Constant *C1, Constant *C2);
   51   Constant *ConstantFoldGetElementPtr(Type *Ty, Constant *C, bool InBounds,
   51   Constant *ConstantFoldGetElementPtr(Type *Ty, Constant *C, bool InBounds,
lib/IR/Constants.cpp
  111     if (Constant *Splat = CV->getSplatValue())
  137     if (Constant *Splat = CV->getSplatValue())
  163     if (Constant *Splat = CV->getSplatValue())
  191       Constant *Elt = this->getAggregateElement(i);
  259   auto *Cy = dyn_cast<Constant>(Y);
  259   auto *Cy = dyn_cast<Constant>(Y);
  289 Constant *Constant::getNullValue(Type *Ty) {
  326 Constant *Constant::getIntegerValue(Type *Ty, const APInt &V) {
  330   Constant *C = ConstantInt::get(Ty->getContext(), V);
  343 Constant *Constant::getAllOnesValue(Type *Ty) {
  359 Constant *Constant::getAggregateElement(unsigned Elt) const {
  375 Constant *Constant::getAggregateElement(Constant *Elt) const {
  375 Constant *Constant::getAggregateElement(Constant *Elt) const {
  409     if (!isa<Constant>(V)) {
  416     cast<Constant>(V)->destroyConstant();
  426 static bool canTrapImpl(const Constant *C,
  464 ConstHasGlobalValuePredicate(const Constant *C,
  466   SmallPtrSet<const Constant *, 8> Visited;
  467   SmallVector<const Constant *, 8> WorkList;
  472     const Constant *WorkItem = WorkList.pop_back_val();
  477       const Constant *ConstOp = dyn_cast<Constant>(Op);
  477       const Constant *ConstOp = dyn_cast<Constant>(Op);
  503     const Constant *UC = dyn_cast<Constant>(U);
  503     const Constant *UC = dyn_cast<Constant>(U);
  526         Constant *LHSOp0 = LHS->getOperand(0);
  527         Constant *RHSOp0 = RHS->getOperand(0);
  549     Result |= cast<Constant>(getOperand(i))->needsRelocation();
  556 static bool removeDeadUsersOfConstant(const Constant *C) {
  560     const Constant *User = dyn_cast<Constant>(C->user_back());
  560     const Constant *User = dyn_cast<Constant>(C->user_back());
  575     const Constant *User = dyn_cast<Constant>(*I);
  575     const Constant *User = dyn_cast<Constant>(*I);
  623 Constant *ConstantInt::getTrue(Type *Ty) {
  631 Constant *ConstantInt::getFalse(Type *Ty) {
  653 Constant *ConstantInt::get(Type *Ty, uint64_t V, bool isSigned) {
  654   Constant *C = get(cast<IntegerType>(Ty->getScalarType()), V, isSigned);
  671 Constant *ConstantInt::getSigned(Type *Ty, int64_t V) {
  675 Constant *ConstantInt::get(Type *Ty, const APInt& V) {
  716 Constant *ConstantFP::get(Type *Ty, double V) {
  723   Constant *C = get(Context, FV);
  732 Constant *ConstantFP::get(Type *Ty, const APFloat &V) {
  744 Constant *ConstantFP::get(Type *Ty, StringRef Str) {
  748   Constant *C = get(Context, FV);
  757 Constant *ConstantFP::getNaN(Type *Ty, bool Negative, uint64_t Payload) {
  760   Constant *C = get(Ty->getContext(), NaN);
  768 Constant *ConstantFP::getQNaN(Type *Ty, bool Negative, APInt *Payload) {
  771   Constant *C = get(Ty->getContext(), NaN);
  779 Constant *ConstantFP::getSNaN(Type *Ty, bool Negative, APInt *Payload) {
  782   Constant *C = get(Ty->getContext(), NaN);
  790 Constant *ConstantFP::getNegativeZero(Type *Ty) {
  793   Constant *C = get(Ty->getContext(), NegZero);
  802 Constant *ConstantFP::getZeroValueForNegation(Type *Ty) {
  806   return Constant::getNullValue(Ty);
  839 Constant *ConstantFP::getInfinity(Type *Ty, bool Negative) {
  841   Constant *C = get(Ty->getContext(), APFloat::getInf(Semantics, Negative));
  868 Constant *ConstantAggregateZero::getSequentialElement() const {
  869   return Constant::getNullValue(getType()->getSequentialElementType());
  872 Constant *ConstantAggregateZero::getStructElement(unsigned Elt) const {
  873   return Constant::getNullValue(getType()->getStructElementType(Elt));
  876 Constant *ConstantAggregateZero::getElementValue(Constant *C) const {
  876 Constant *ConstantAggregateZero::getElementValue(Constant *C) const {
  882 Constant *ConstantAggregateZero::getElementValue(unsigned Idx) const {
  909 UndefValue *UndefValue::getElementValue(Constant *C) const {
  941 static Constant *getIntSequenceIfElementsMatch(ArrayRef<Constant *> V) {
  941 static Constant *getIntSequenceIfElementsMatch(ArrayRef<Constant *> V) {
  945   for (Constant *C : V)
  954 static Constant *getFPSequenceIfElementsMatch(ArrayRef<Constant *> V) {
  954 static Constant *getFPSequenceIfElementsMatch(ArrayRef<Constant *> V) {
  958   for (Constant *C : V)
  967 static Constant *getSequenceIfElementsMatch(Constant *C,
  967 static Constant *getSequenceIfElementsMatch(Constant *C,
  968                                             ArrayRef<Constant *> V) {
  994                                      ArrayRef<Constant *> V)
 1008 ConstantArray::ConstantArray(ArrayType *T, ArrayRef<Constant *> V)
 1014 Constant *ConstantArray::get(ArrayType *Ty, ArrayRef<Constant*> V) {
 1014 Constant *ConstantArray::get(ArrayType *Ty, ArrayRef<Constant*> V) {
 1015   if (Constant *C = getImpl(Ty, V))
 1020 Constant *ConstantArray::getImpl(ArrayType *Ty, ArrayRef<Constant*> V) {
 1020 Constant *ConstantArray::getImpl(ArrayType *Ty, ArrayRef<Constant*> V) {
 1033   Constant *C = V[0];
 1050                                                ArrayRef<Constant*> V,
 1061 StructType *ConstantStruct::getTypeForElements(ArrayRef<Constant*> V,
 1068 ConstantStruct::ConstantStruct(StructType *T, ArrayRef<Constant *> V)
 1075 Constant *ConstantStruct::get(StructType *ST, ArrayRef<Constant*> V) {
 1075 Constant *ConstantStruct::get(StructType *ST, ArrayRef<Constant*> V) {
 1103 ConstantVector::ConstantVector(VectorType *T, ArrayRef<Constant *> V)
 1110 Constant *ConstantVector::get(ArrayRef<Constant*> V) {
 1110 Constant *ConstantVector::get(ArrayRef<Constant*> V) {
 1111   if (Constant *C = getImpl(V))
 1117 Constant *ConstantVector::getImpl(ArrayRef<Constant*> V) {
 1117 Constant *ConstantVector::getImpl(ArrayRef<Constant*> V) {
 1123   Constant *C = V[0];
 1150 Constant *ConstantVector::getSplat(unsigned NumElts, Constant *V) {
 1150 Constant *ConstantVector::getSplat(unsigned NumElts, Constant *V) {
 1157   SmallVector<Constant*, 32> Elts(NumElts, V);
 1223 Constant *
 1224 ConstantExpr::getWithOperandReplaced(unsigned OpNo, Constant *Op) const {
 1230   SmallVector<Constant*, 8> NewOps;
 1237 Constant *ConstantExpr::getWithOperands(ArrayRef<Constant *> Ops, Type *Ty,
 1237 Constant *ConstantExpr::getWithOperands(ArrayRef<Constant *> Ops, Type *Ty,
 1399 Constant *Constant::getSplatValue() const {
 1410 Constant *ConstantVector::getSplatValue() const {
 1412   Constant *Elt = getOperand(0);
 1424   const Constant *C = this->getAggregateElement(0U);
 1543 static Constant *getFoldedCast(Instruction::CastOps opc, Constant *C, Type *Ty,
 1543 static Constant *getFoldedCast(Instruction::CastOps opc, Constant *C, Type *Ty,
 1547   if (Constant *FC = ConstantFoldCastInstruction(opc, C, Ty))
 1561 Constant *ConstantExpr::getCast(unsigned oc, Constant *C, Type *Ty,
 1561 Constant *ConstantExpr::getCast(unsigned oc, Constant *C, Type *Ty,
 1600 Constant *ConstantExpr::getZExtOrBitCast(Constant *C, Type *Ty) {
 1600 Constant *ConstantExpr::getZExtOrBitCast(Constant *C, Type *Ty) {
 1606 Constant *ConstantExpr::getSExtOrBitCast(Constant *C, Type *Ty) {
 1606 Constant *ConstantExpr::getSExtOrBitCast(Constant *C, Type *Ty) {
 1612 Constant *ConstantExpr::getTruncOrBitCast(Constant *C, Type *Ty) {
 1612 Constant *ConstantExpr::getTruncOrBitCast(Constant *C, Type *Ty) {
 1618 Constant *ConstantExpr::getPointerCast(Constant *S, Type *Ty) {
 1618 Constant *ConstantExpr::getPointerCast(Constant *S, Type *Ty) {
 1633 Constant *ConstantExpr::getPointerBitCastOrAddrSpaceCast(Constant *S,
 1633 Constant *ConstantExpr::getPointerBitCastOrAddrSpaceCast(Constant *S,
 1644 Constant *ConstantExpr::getIntegerCast(Constant *C, Type *Ty, bool isSigned) {
 1644 Constant *ConstantExpr::getIntegerCast(Constant *C, Type *Ty, bool isSigned) {
 1656 Constant *ConstantExpr::getFPCast(Constant *C, Type *Ty) {
 1656 Constant *ConstantExpr::getFPCast(Constant *C, Type *Ty) {
 1668 Constant *ConstantExpr::getTrunc(Constant *C, Type *Ty, bool OnlyIfReduced) {
 1668 Constant *ConstantExpr::getTrunc(Constant *C, Type *Ty, bool OnlyIfReduced) {
 1682 Constant *ConstantExpr::getSExt(Constant *C, Type *Ty, bool OnlyIfReduced) {
 1682 Constant *ConstantExpr::getSExt(Constant *C, Type *Ty, bool OnlyIfReduced) {
 1696 Constant *ConstantExpr::getZExt(Constant *C, Type *Ty, bool OnlyIfReduced) {
 1696 Constant *ConstantExpr::getZExt(Constant *C, Type *Ty, bool OnlyIfReduced) {
 1710 Constant *ConstantExpr::getFPTrunc(Constant *C, Type *Ty, bool OnlyIfReduced) {
 1710 Constant *ConstantExpr::getFPTrunc(Constant *C, Type *Ty, bool OnlyIfReduced) {
 1722 Constant *ConstantExpr::getFPExtend(Constant *C, Type *Ty, bool OnlyIfReduced) {
 1722 Constant *ConstantExpr::getFPExtend(Constant *C, Type *Ty, bool OnlyIfReduced) {
 1734 Constant *ConstantExpr::getUIToFP(Constant *C, Type *Ty, bool OnlyIfReduced) {
 1734 Constant *ConstantExpr::getUIToFP(Constant *C, Type *Ty, bool OnlyIfReduced) {
 1745 Constant *ConstantExpr::getSIToFP(Constant *C, Type *Ty, bool OnlyIfReduced) {
 1745 Constant *ConstantExpr::getSIToFP(Constant *C, Type *Ty, bool OnlyIfReduced) {
 1756 Constant *ConstantExpr::getFPToUI(Constant *C, Type *Ty, bool OnlyIfReduced) {
 1756 Constant *ConstantExpr::getFPToUI(Constant *C, Type *Ty, bool OnlyIfReduced) {
 1767 Constant *ConstantExpr::getFPToSI(Constant *C, Type *Ty, bool OnlyIfReduced) {
 1767 Constant *ConstantExpr::getFPToSI(Constant *C, Type *Ty, bool OnlyIfReduced) {
 1778 Constant *ConstantExpr::getPtrToInt(Constant *C, Type *DstTy,
 1778 Constant *ConstantExpr::getPtrToInt(Constant *C, Type *DstTy,
 1791 Constant *ConstantExpr::getIntToPtr(Constant *C, Type *DstTy,
 1791 Constant *ConstantExpr::getIntToPtr(Constant *C, Type *DstTy,
 1804 Constant *ConstantExpr::getBitCast(Constant *C, Type *DstTy,
 1804 Constant *ConstantExpr::getBitCast(Constant *C, Type *DstTy,
 1816 Constant *ConstantExpr::getAddrSpaceCast(Constant *C, Type *DstTy,
 1816 Constant *ConstantExpr::getAddrSpaceCast(Constant *C, Type *DstTy,
 1837 Constant *ConstantExpr::get(unsigned Opcode, Constant *C, unsigned Flags, 
 1837 Constant *ConstantExpr::get(unsigned Opcode, Constant *C, unsigned Flags, 
 1855   if (Constant *FC = ConstantFoldUnaryInstruction(Opcode, C))
 1861   Constant *ArgVec[] = { C };
 1868 Constant *ConstantExpr::get(unsigned Opcode, Constant *C1, Constant *C2,
 1868 Constant *ConstantExpr::get(unsigned Opcode, Constant *C1, Constant *C2,
 1868 Constant *ConstantExpr::get(unsigned Opcode, Constant *C1, Constant *C2,
 1914   if (Constant *FC = ConstantFoldBinaryInstruction(Opcode, C1, C2))
 1920   Constant *ArgVec[] = { C1, C2 };
 1927 Constant *ConstantExpr::getSizeOf(Type* Ty) {
 1930   Constant *GEPIdx = ConstantInt::get(Type::getInt32Ty(Ty->getContext()), 1);
 1931   Constant *GEP = getGetElementPtr(
 1932       Ty, Constant::getNullValue(PointerType::getUnqual(Ty)), GEPIdx);
 1937 Constant *ConstantExpr::getAlignOf(Type* Ty) {
 1941   Constant *NullPtr = Constant::getNullValue(AligningTy->getPointerTo(0));
 1941   Constant *NullPtr = Constant::getNullValue(AligningTy->getPointerTo(0));
 1942   Constant *Zero = ConstantInt::get(Type::getInt64Ty(Ty->getContext()), 0);
 1943   Constant *One = ConstantInt::get(Type::getInt32Ty(Ty->getContext()), 1);
 1944   Constant *Indices[2] = { Zero, One };
 1945   Constant *GEP = getGetElementPtr(AligningTy, NullPtr, Indices);
 1950 Constant *ConstantExpr::getOffsetOf(StructType* STy, unsigned FieldNo) {
 1955 Constant *ConstantExpr::getOffsetOf(Type* Ty, Constant *FieldNo) {
 1955 Constant *ConstantExpr::getOffsetOf(Type* Ty, Constant *FieldNo) {
 1958   Constant *GEPIdx[] = {
 1962   Constant *GEP = getGetElementPtr(
 1963       Ty, Constant::getNullValue(PointerType::getUnqual(Ty)), GEPIdx);
 1968 Constant *ConstantExpr::getCompare(unsigned short Predicate, Constant *C1,
 1968 Constant *ConstantExpr::getCompare(unsigned short Predicate, Constant *C1,
 1969                                    Constant *C2, bool OnlyIfReduced) {
 1990 Constant *ConstantExpr::getSelect(Constant *C, Constant *V1, Constant *V2,
 1990 Constant *ConstantExpr::getSelect(Constant *C, Constant *V1, Constant *V2,
 1990 Constant *ConstantExpr::getSelect(Constant *C, Constant *V1, Constant *V2,
 1990 Constant *ConstantExpr::getSelect(Constant *C, Constant *V1, Constant *V2,
 1994   if (Constant *SC = ConstantFoldSelectInstruction(C, V1, V2))
 2000   Constant *ArgVec[] = { C, V1, V2 };
 2007 Constant *ConstantExpr::getGetElementPtr(Type *Ty, Constant *C,
 2007 Constant *ConstantExpr::getGetElementPtr(Type *Ty, Constant *C,
 2017   if (Constant *FC =
 2041   std::vector<Constant*> ArgVec;
 2049     Constant *Idx = cast<Constant>(Idxs[i]);
 2049     Constant *Idx = cast<Constant>(Idxs[i]);
 2065 Constant *ConstantExpr::getICmp(unsigned short pred, Constant *LHS,
 2065 Constant *ConstantExpr::getICmp(unsigned short pred, Constant *LHS,
 2066                                 Constant *RHS, bool OnlyIfReduced) {
 2071   if (Constant *FC = ConstantFoldCompareInstruction(pred, LHS, RHS))
 2078   Constant *ArgVec[] = { LHS, RHS };
 2090 Constant *ConstantExpr::getFCmp(unsigned short pred, Constant *LHS,
 2090 Constant *ConstantExpr::getFCmp(unsigned short pred, Constant *LHS,
 2091                                 Constant *RHS, bool OnlyIfReduced) {
 2096   if (Constant *FC = ConstantFoldCompareInstruction(pred, LHS, RHS))
 2103   Constant *ArgVec[] = { LHS, RHS };
 2115 Constant *ConstantExpr::getExtractElement(Constant *Val, Constant *Idx,
 2115 Constant *ConstantExpr::getExtractElement(Constant *Val, Constant *Idx,
 2115 Constant *ConstantExpr::getExtractElement(Constant *Val, Constant *Idx,
 2122   if (Constant *FC = ConstantFoldExtractElementInstruction(Val, Idx))
 2130   Constant *ArgVec[] = { Val, Idx };
 2137 Constant *ConstantExpr::getInsertElement(Constant *Val, Constant *Elt,
 2137 Constant *ConstantExpr::getInsertElement(Constant *Val, Constant *Elt,
 2137 Constant *ConstantExpr::getInsertElement(Constant *Val, Constant *Elt,
 2138                                          Constant *Idx, Type *OnlyIfReducedTy) {
 2146   if (Constant *FC = ConstantFoldInsertElementInstruction(Val, Elt, Idx))
 2153   Constant *ArgVec[] = { Val, Elt, Idx };
 2160 Constant *ConstantExpr::getShuffleVector(Constant *V1, Constant *V2,
 2160 Constant *ConstantExpr::getShuffleVector(Constant *V1, Constant *V2,
 2160 Constant *ConstantExpr::getShuffleVector(Constant *V1, Constant *V2,
 2161                                          Constant *Mask, Type *OnlyIfReducedTy) {
 2165   if (Constant *FC = ConstantFoldShuffleVectorInstruction(V1, V2, Mask))
 2176   Constant *ArgVec[] = { V1, V2, Mask };
 2183 Constant *ConstantExpr::getInsertValue(Constant *Agg, Constant *Val,
 2183 Constant *ConstantExpr::getInsertValue(Constant *Agg, Constant *Val,
 2183 Constant *ConstantExpr::getInsertValue(Constant *Agg, Constant *Val,
 2194   if (Constant *FC = ConstantFoldInsertValueInstruction(Agg, Val, Idxs))
 2200   Constant *ArgVec[] = { Agg, Val };
 2207 Constant *ConstantExpr::getExtractValue(Constant *Agg, ArrayRef<unsigned> Idxs,
 2207 Constant *ConstantExpr::getExtractValue(Constant *Agg, ArrayRef<unsigned> Idxs,
 2218   if (Constant *FC = ConstantFoldExtractValueInstruction(Agg, Idxs))
 2224   Constant *ArgVec[] = { Agg };
 2231 Constant *ConstantExpr::getNeg(Constant *C, bool HasNUW, bool HasNSW) {
 2231 Constant *ConstantExpr::getNeg(Constant *C, bool HasNUW, bool HasNSW) {
 2238 Constant *ConstantExpr::getFNeg(Constant *C) {
 2238 Constant *ConstantExpr::getFNeg(Constant *C) {
 2244 Constant *ConstantExpr::getNot(Constant *C) {
 2244 Constant *ConstantExpr::getNot(Constant *C) {
 2247   return get(Instruction::Xor, C, Constant::getAllOnesValue(C->getType()));
 2250 Constant *ConstantExpr::getAdd(Constant *C1, Constant *C2,
 2250 Constant *ConstantExpr::getAdd(Constant *C1, Constant *C2,
 2250 Constant *ConstantExpr::getAdd(Constant *C1, Constant *C2,
 2257 Constant *ConstantExpr::getFAdd(Constant *C1, Constant *C2) {
 2257 Constant *ConstantExpr::getFAdd(Constant *C1, Constant *C2) {
 2257 Constant *ConstantExpr::getFAdd(Constant *C1, Constant *C2) {
 2261 Constant *ConstantExpr::getSub(Constant *C1, Constant *C2,
 2261 Constant *ConstantExpr::getSub(Constant *C1, Constant *C2,
 2261 Constant *ConstantExpr::getSub(Constant *C1, Constant *C2,
 2268 Constant *ConstantExpr::getFSub(Constant *C1, Constant *C2) {
 2268 Constant *ConstantExpr::getFSub(Constant *C1, Constant *C2) {
 2268 Constant *ConstantExpr::getFSub(Constant *C1, Constant *C2) {
 2272 Constant *ConstantExpr::getMul(Constant *C1, Constant *C2,
 2272 Constant *ConstantExpr::getMul(Constant *C1, Constant *C2,
 2272 Constant *ConstantExpr::getMul(Constant *C1, Constant *C2,
 2279 Constant *ConstantExpr::getFMul(Constant *C1, Constant *C2) {
 2279 Constant *ConstantExpr::getFMul(Constant *C1, Constant *C2) {
 2279 Constant *ConstantExpr::getFMul(Constant *C1, Constant *C2) {
 2283 Constant *ConstantExpr::getUDiv(Constant *C1, Constant *C2, bool isExact) {
 2283 Constant *ConstantExpr::getUDiv(Constant *C1, Constant *C2, bool isExact) {
 2283 Constant *ConstantExpr::getUDiv(Constant *C1, Constant *C2, bool isExact) {
 2288 Constant *ConstantExpr::getSDiv(Constant *C1, Constant *C2, bool isExact) {
 2288 Constant *ConstantExpr::getSDiv(Constant *C1, Constant *C2, bool isExact) {
 2288 Constant *ConstantExpr::getSDiv(Constant *C1, Constant *C2, bool isExact) {
 2293 Constant *ConstantExpr::getFDiv(Constant *C1, Constant *C2) {
 2293 Constant *ConstantExpr::getFDiv(Constant *C1, Constant *C2) {
 2293 Constant *ConstantExpr::getFDiv(Constant *C1, Constant *C2) {
 2297 Constant *ConstantExpr::getURem(Constant *C1, Constant *C2) {
 2297 Constant *ConstantExpr::getURem(Constant *C1, Constant *C2) {
 2297 Constant *ConstantExpr::getURem(Constant *C1, Constant *C2) {
 2301 Constant *ConstantExpr::getSRem(Constant *C1, Constant *C2) {
 2301 Constant *ConstantExpr::getSRem(Constant *C1, Constant *C2) {
 2301 Constant *ConstantExpr::getSRem(Constant *C1, Constant *C2) {
 2305 Constant *ConstantExpr::getFRem(Constant *C1, Constant *C2) {
 2305 Constant *ConstantExpr::getFRem(Constant *C1, Constant *C2) {
 2305 Constant *ConstantExpr::getFRem(Constant *C1, Constant *C2) {
 2309 Constant *ConstantExpr::getAnd(Constant *C1, Constant *C2) {
 2309 Constant *ConstantExpr::getAnd(Constant *C1, Constant *C2) {
 2309 Constant *ConstantExpr::getAnd(Constant *C1, Constant *C2) {
 2313 Constant *ConstantExpr::getOr(Constant *C1, Constant *C2) {
 2313 Constant *ConstantExpr::getOr(Constant *C1, Constant *C2) {
 2313 Constant *ConstantExpr::getOr(Constant *C1, Constant *C2) {
 2317 Constant *ConstantExpr::getXor(Constant *C1, Constant *C2) {
 2317 Constant *ConstantExpr::getXor(Constant *C1, Constant *C2) {
 2317 Constant *ConstantExpr::getXor(Constant *C1, Constant *C2) {
 2321 Constant *ConstantExpr::getShl(Constant *C1, Constant *C2,
 2321 Constant *ConstantExpr::getShl(Constant *C1, Constant *C2,
 2321 Constant *ConstantExpr::getShl(Constant *C1, Constant *C2,
 2328 Constant *ConstantExpr::getLShr(Constant *C1, Constant *C2, bool isExact) {
 2328 Constant *ConstantExpr::getLShr(Constant *C1, Constant *C2, bool isExact) {
 2328 Constant *ConstantExpr::getLShr(Constant *C1, Constant *C2, bool isExact) {
 2333 Constant *ConstantExpr::getAShr(Constant *C1, Constant *C2, bool isExact) {
 2333 Constant *ConstantExpr::getAShr(Constant *C1, Constant *C2, bool isExact) {
 2333 Constant *ConstantExpr::getAShr(Constant *C1, Constant *C2, bool isExact) {
 2338 Constant *ConstantExpr::getBinOpIdentity(unsigned Opcode, Type *Ty,
 2348         return Constant::getNullValue(Ty);
 2352         return Constant::getAllOnesValue(Ty);
 2373       return Constant::getNullValue(Ty);
 2384 Constant *ConstantExpr::getBinOpAbsorber(unsigned Opcode, Type *Ty) {
 2391     return Constant::getAllOnesValue(Ty);
 2395     return Constant::getNullValue(Ty);
 2409     Type *SrcElementTy, Constant *C, ArrayRef<Constant *> IdxList, Type *DestTy)
 2409     Type *SrcElementTy, Constant *C, ArrayRef<Constant *> IdxList, Type *DestTy)
 2486 Constant *ConstantDataSequential::getImpl(StringRef Elements, Type *Ty) {
 2560 Constant *ConstantDataArray::getFP(LLVMContext &Context,
 2566 Constant *ConstantDataArray::getFP(LLVMContext &Context,
 2572 Constant *ConstantDataArray::getFP(LLVMContext &Context,
 2579 Constant *ConstantDataArray::getString(LLVMContext &Context,
 2595 Constant *ConstantDataVector::get(LLVMContext &Context, ArrayRef<uint8_t> Elts){
 2600 Constant *ConstantDataVector::get(LLVMContext &Context, ArrayRef<uint16_t> Elts){
 2605 Constant *ConstantDataVector::get(LLVMContext &Context, ArrayRef<uint32_t> Elts){
 2610 Constant *ConstantDataVector::get(LLVMContext &Context, ArrayRef<uint64_t> Elts){
 2615 Constant *ConstantDataVector::get(LLVMContext &Context, ArrayRef<float> Elts) {
 2620 Constant *ConstantDataVector::get(LLVMContext &Context, ArrayRef<double> Elts) {
 2631 Constant *ConstantDataVector::getFP(LLVMContext &Context,
 2637 Constant *ConstantDataVector::getFP(LLVMContext &Context,
 2643 Constant *ConstantDataVector::getFP(LLVMContext &Context,
 2650 Constant *ConstantDataVector::getSplat(unsigned NumElts, Constant *V) {
 2650 Constant *ConstantDataVector::getSplat(unsigned NumElts, Constant *V) {
 2773 Constant *ConstantDataSequential::getElementAsConstant(unsigned Elt) const {
 2810 Constant *ConstantDataVector::getSplatValue() const {
 2858   Constant *ToC = cast<Constant>(To);
 2858   Constant *ToC = cast<Constant>(To);
 2860   SmallVector<Constant*, 8> Values;
 2872     Constant *Val = cast<Constant>(O->get());
 2872     Constant *Val = cast<Constant>(O->get());
 2889   if (Constant *C = getImpl(getType(), Values))
 2899   Constant *ToC = cast<Constant>(To);
 2899   Constant *ToC = cast<Constant>(To);
 2903   SmallVector<Constant*, 8> Values;
 2912     Constant *Val = cast<Constant>(O->get());
 2912     Constant *Val = cast<Constant>(O->get());
 2935   Constant *ToC = cast<Constant>(To);
 2935   Constant *ToC = cast<Constant>(To);
 2937   SmallVector<Constant*, 8> Values;
 2942     Constant *Val = getOperand(i);
 2951   if (Constant *C = getImpl(Values))
 2961   Constant *To = cast<Constant>(ToV);
 2961   Constant *To = cast<Constant>(ToV);
 2963   SmallVector<Constant*, 8> NewOps;
 2967     Constant *Op = getOperand(i);
 2977   if (Constant *C = getWithOperands(NewOps, getType(), true))
lib/IR/ConstantsContext.h
   47   UnaryConstantExpr(unsigned Opcode, Constant *C, Type *Ty)
   64   BinaryConstantExpr(unsigned Opcode, Constant *C1, Constant *C2,
   64   BinaryConstantExpr(unsigned Opcode, Constant *C1, Constant *C2,
   85   SelectConstantExpr(Constant *C1, Constant *C2, Constant *C3)
   85   SelectConstantExpr(Constant *C1, Constant *C2, Constant *C3)
   85   SelectConstantExpr(Constant *C1, Constant *C2, Constant *C3)
  106   ExtractElementConstantExpr(Constant *C1, Constant *C2)
  106   ExtractElementConstantExpr(Constant *C1, Constant *C2)
  127   InsertElementConstantExpr(Constant *C1, Constant *C2, Constant *C3)
  127   InsertElementConstantExpr(Constant *C1, Constant *C2, Constant *C3)
  127   InsertElementConstantExpr(Constant *C1, Constant *C2, Constant *C3)
  149   ShuffleVectorConstantExpr(Constant *C1, Constant *C2, Constant *C3)
  149   ShuffleVectorConstantExpr(Constant *C1, Constant *C2, Constant *C3)
  149   ShuffleVectorConstantExpr(Constant *C1, Constant *C2, Constant *C3)
  174   ExtractValueConstantExpr(Constant *Agg, ArrayRef<unsigned> IdxList,
  205   InsertValueConstantExpr(Constant *Agg, Constant *Val,
  205   InsertValueConstantExpr(Constant *Agg, Constant *Val,
  238   GetElementPtrConstantExpr(Type *SrcElementTy, Constant *C,
  239                             ArrayRef<Constant *> IdxList, Type *DestTy);
  242   static GetElementPtrConstantExpr *Create(Type *SrcElementTy, Constant *C,
  243                                            ArrayRef<Constant *> IdxList,
  272                       unsigned short pred,  Constant* LHS, Constant* RHS)
  272                       unsigned short pred,  Constant* LHS, Constant* RHS)
  373   ArrayRef<Constant *> Operands;
  375   ConstantAggrKeyType(ArrayRef<Constant *> Operands) : Operands(Operands) {}
  377   ConstantAggrKeyType(ArrayRef<Constant *> Operands, const ConstantClass *)
  381                       SmallVectorImpl<Constant *> &Storage) {
  427   InlineAsmKeyType(const InlineAsm *Asm, SmallVectorImpl<Constant *> &)
  466   ArrayRef<Constant *> Ops;
  470   ConstantExprKeyType(unsigned Opcode, ArrayRef<Constant *> Ops,
  479   ConstantExprKeyType(ArrayRef<Constant *> Operands, const ConstantExpr *CE)
  487                       SmallVectorImpl<Constant *> &Storage)
  592       SmallVector<Constant *, 32> Storage;
  673   ConstantClass *replaceOperandsInPlace(ArrayRef<Constant *> Operands,
  675                                         Constant *To, unsigned NumUpdated = 0,
lib/IR/Core.cpp
 1017   return wrap(Constant::getNullValue(unwrap(Ty)));
 1021   return wrap(Constant::getAllOnesValue(unwrap(Ty)));
 1029   return isa<Constant>(unwrap(Ty));
 1033   if (Constant *C = dyn_cast<Constant>(unwrap(Val)))
 1033   if (Constant *C = dyn_cast<Constant>(unwrap(Val)))
 1078     else if (auto *C = dyn_cast<Constant>(V))
 1078     else if (auto *C = dyn_cast<Constant>(V))
 1106   if (auto *C = dyn_cast<Constant>(V))
 1106   if (auto *C = dyn_cast<Constant>(V))
 1399   ArrayRef<Constant*> V(unwrap<Constant>(ConstantVals, Length), Length);
 1399   ArrayRef<Constant*> V(unwrap<Constant>(ConstantVals, Length), Length);
 1406   Constant **Elements = unwrap<Constant>(ConstantVals, Count);
 1406   Constant **Elements = unwrap<Constant>(ConstantVals, Count);
 1420   Constant **Elements = unwrap<Constant>(ConstantVals, Count);
 1420   Constant **Elements = unwrap<Constant>(ConstantVals, Count);
 1428                             unwrap<Constant>(ScalarConstantVals, Size), Size)));
 1468   return wrap(ConstantExpr::getNeg(unwrap<Constant>(ConstantVal)));
 1472   return wrap(ConstantExpr::getNSWNeg(unwrap<Constant>(ConstantVal)));
 1476   return wrap(ConstantExpr::getNUWNeg(unwrap<Constant>(ConstantVal)));
 1481   return wrap(ConstantExpr::getFNeg(unwrap<Constant>(ConstantVal)));
 1485   return wrap(ConstantExpr::getNot(unwrap<Constant>(ConstantVal)));
 1489   return wrap(ConstantExpr::getAdd(unwrap<Constant>(LHSConstant),
 1490                                    unwrap<Constant>(RHSConstant)));
 1495   return wrap(ConstantExpr::getNSWAdd(unwrap<Constant>(LHSConstant),
 1496                                       unwrap<Constant>(RHSConstant)));
 1501   return wrap(ConstantExpr::getNUWAdd(unwrap<Constant>(LHSConstant),
 1502                                       unwrap<Constant>(RHSConstant)));
 1506   return wrap(ConstantExpr::getFAdd(unwrap<Constant>(LHSConstant),
 1507                                     unwrap<Constant>(RHSConstant)));
 1511   return wrap(ConstantExpr::getSub(unwrap<Constant>(LHSConstant),
 1512                                    unwrap<Constant>(RHSConstant)));
 1517   return wrap(ConstantExpr::getNSWSub(unwrap<Constant>(LHSConstant),
 1518                                       unwrap<Constant>(RHSConstant)));
 1523   return wrap(ConstantExpr::getNUWSub(unwrap<Constant>(LHSConstant),
 1524                                       unwrap<Constant>(RHSConstant)));
 1528   return wrap(ConstantExpr::getFSub(unwrap<Constant>(LHSConstant),
 1529                                     unwrap<Constant>(RHSConstant)));
 1533   return wrap(ConstantExpr::getMul(unwrap<Constant>(LHSConstant),
 1534                                    unwrap<Constant>(RHSConstant)));
 1539   return wrap(ConstantExpr::getNSWMul(unwrap<Constant>(LHSConstant),
 1540                                       unwrap<Constant>(RHSConstant)));
 1545   return wrap(ConstantExpr::getNUWMul(unwrap<Constant>(LHSConstant),
 1546                                       unwrap<Constant>(RHSConstant)));
 1550   return wrap(ConstantExpr::getFMul(unwrap<Constant>(LHSConstant),
 1551                                     unwrap<Constant>(RHSConstant)));
 1555   return wrap(ConstantExpr::getUDiv(unwrap<Constant>(LHSConstant),
 1556                                     unwrap<Constant>(RHSConstant)));
 1561   return wrap(ConstantExpr::getExactUDiv(unwrap<Constant>(LHSConstant),
 1562                                          unwrap<Constant>(RHSConstant)));
 1566   return wrap(ConstantExpr::getSDiv(unwrap<Constant>(LHSConstant),
 1567                                     unwrap<Constant>(RHSConstant)));
 1572   return wrap(ConstantExpr::getExactSDiv(unwrap<Constant>(LHSConstant),
 1573                                          unwrap<Constant>(RHSConstant)));
 1577   return wrap(ConstantExpr::getFDiv(unwrap<Constant>(LHSConstant),
 1578                                     unwrap<Constant>(RHSConstant)));
 1582   return wrap(ConstantExpr::getURem(unwrap<Constant>(LHSConstant),
 1583                                     unwrap<Constant>(RHSConstant)));
 1587   return wrap(ConstantExpr::getSRem(unwrap<Constant>(LHSConstant),
 1588                                     unwrap<Constant>(RHSConstant)));
 1592   return wrap(ConstantExpr::getFRem(unwrap<Constant>(LHSConstant),
 1593                                     unwrap<Constant>(RHSConstant)));
 1597   return wrap(ConstantExpr::getAnd(unwrap<Constant>(LHSConstant),
 1598                                    unwrap<Constant>(RHSConstant)));
 1602   return wrap(ConstantExpr::getOr(unwrap<Constant>(LHSConstant),
 1603                                   unwrap<Constant>(RHSConstant)));
 1607   return wrap(ConstantExpr::getXor(unwrap<Constant>(LHSConstant),
 1608                                    unwrap<Constant>(RHSConstant)));
 1614                                     unwrap<Constant>(LHSConstant),
 1615                                     unwrap<Constant>(RHSConstant)));
 1621                                     unwrap<Constant>(LHSConstant),
 1622                                     unwrap<Constant>(RHSConstant)));
 1626   return wrap(ConstantExpr::getShl(unwrap<Constant>(LHSConstant),
 1627                                    unwrap<Constant>(RHSConstant)));
 1631   return wrap(ConstantExpr::getLShr(unwrap<Constant>(LHSConstant),
 1632                                     unwrap<Constant>(RHSConstant)));
 1636   return wrap(ConstantExpr::getAShr(unwrap<Constant>(LHSConstant),
 1637                                     unwrap<Constant>(RHSConstant)));
 1642   ArrayRef<Constant *> IdxList(unwrap<Constant>(ConstantIndices, NumIndices),
 1642   ArrayRef<Constant *> IdxList(unwrap<Constant>(ConstantIndices, NumIndices),
 1644   Constant *Val = unwrap<Constant>(ConstantVal);
 1644   Constant *Val = unwrap<Constant>(ConstantVal);
 1653   ArrayRef<Constant *> IdxList(unwrap<Constant>(ConstantIndices, NumIndices),
 1653   ArrayRef<Constant *> IdxList(unwrap<Constant>(ConstantIndices, NumIndices),
 1655   Constant *Val = unwrap<Constant>(ConstantVal);
 1655   Constant *Val = unwrap<Constant>(ConstantVal);
 1662   return wrap(ConstantExpr::getTrunc(unwrap<Constant>(ConstantVal),
 1667   return wrap(ConstantExpr::getSExt(unwrap<Constant>(ConstantVal),
 1672   return wrap(ConstantExpr::getZExt(unwrap<Constant>(ConstantVal),
 1677   return wrap(ConstantExpr::getFPTrunc(unwrap<Constant>(ConstantVal),
 1682   return wrap(ConstantExpr::getFPExtend(unwrap<Constant>(ConstantVal),
 1687   return wrap(ConstantExpr::getUIToFP(unwrap<Constant>(ConstantVal),
 1692   return wrap(ConstantExpr::getSIToFP(unwrap<Constant>(ConstantVal),
 1697   return wrap(ConstantExpr::getFPToUI(unwrap<Constant>(ConstantVal),
 1702   return wrap(ConstantExpr::getFPToSI(unwrap<Constant>(ConstantVal),
 1707   return wrap(ConstantExpr::getPtrToInt(unwrap<Constant>(ConstantVal),
 1712   return wrap(ConstantExpr::getIntToPtr(unwrap<Constant>(ConstantVal),
 1717   return wrap(ConstantExpr::getBitCast(unwrap<Constant>(ConstantVal),
 1723   return wrap(ConstantExpr::getAddrSpaceCast(unwrap<Constant>(ConstantVal),
 1729   return wrap(ConstantExpr::getZExtOrBitCast(unwrap<Constant>(ConstantVal),
 1735   return wrap(ConstantExpr::getSExtOrBitCast(unwrap<Constant>(ConstantVal),
 1741   return wrap(ConstantExpr::getTruncOrBitCast(unwrap<Constant>(ConstantVal),
 1747   return wrap(ConstantExpr::getPointerCast(unwrap<Constant>(ConstantVal),
 1753   return wrap(ConstantExpr::getIntegerCast(unwrap<Constant>(ConstantVal),
 1758   return wrap(ConstantExpr::getFPCast(unwrap<Constant>(ConstantVal),
 1765   return wrap(ConstantExpr::getSelect(unwrap<Constant>(ConstantCondition),
 1766                                       unwrap<Constant>(ConstantIfTrue),
 1767                                       unwrap<Constant>(ConstantIfFalse)));
 1772   return wrap(ConstantExpr::getExtractElement(unwrap<Constant>(VectorConstant),
 1773                                               unwrap<Constant>(IndexConstant)));
 1779   return wrap(ConstantExpr::getInsertElement(unwrap<Constant>(VectorConstant),
 1780                                          unwrap<Constant>(ElementValueConstant),
 1781                                              unwrap<Constant>(IndexConstant)));
 1787   return wrap(ConstantExpr::getShuffleVector(unwrap<Constant>(VectorAConstant),
 1788                                              unwrap<Constant>(VectorBConstant),
 1789                                              unwrap<Constant>(MaskConstant)));
 1794   return wrap(ConstantExpr::getExtractValue(unwrap<Constant>(AggConstant),
 1801   return wrap(ConstantExpr::getInsertValue(unwrap<Constant>(AggConstant),
 1802                                          unwrap<Constant>(ElementValueConstant),
 2131     ->setInitializer(unwrap<Constant>(ConstantVal));
 2204                                   unwrap<Constant>(Aliasee), unwrap(M)));
 2249   unwrap<GlobalAlias>(Alias)->setAliasee(unwrap<Constant>(Aliasee));
 2309   unwrap<Function>(Fn)->setPersonalityFn(unwrap<Constant>(PersonalityFn));
 2504                                   unwrap<Constant>(Resolver), unwrap(M)));
 2549   unwrap<GlobalIFunc>(IFunc)->setResolver(unwrap<Constant>(Resolver));
 3155     ParentPad = wrap(Constant::getNullValue(Ty));
 3171     ParentPad = wrap(Constant::getNullValue(Ty));
 3212     addClause(cast<Constant>(unwrap(ClauseVal)));
 3423   Constant* AllocSize = ConstantExpr::getSizeOf(unwrap(Ty));
 3434   Constant* AllocSize = ConstantExpr::getSizeOf(unwrap(Ty));
lib/IR/DIBuilder.cpp
  344 static ConstantAsMetadata *getConstantOrNull(Constant *C) {
  353     Constant *Discriminant, DINode::DIFlags Flags, DIType *Ty) {
  376                                   DINode::DIFlags Flags, llvm::Constant *Val,
  421                                         DIType *Ty, Constant *Val) {
lib/IR/DebugInfo.cpp
 1069                   map_from_llvmDIFlags(Flags), unwrap<Constant>(ConstantVal),
lib/IR/DiagnosticInfo.cpp
  176   else if (isa<Constant>(V)) {
lib/IR/Function.cpp
 1465 Constant *Function::getPersonalityFn() const {
 1467   return cast<Constant>(Op<0>());
 1470 void Function::setPersonalityFn(Constant *Fn) {
 1475 Constant *Function::getPrefixData() const {
 1477   return cast<Constant>(Op<1>());
 1480 void Function::setPrefixData(Constant *PrefixData) {
 1485 Constant *Function::getPrologueData() const {
 1487   return cast<Constant>(Op<2>());
 1490 void Function::setPrologueData(Constant *PrologueData) {
 1511 void Function::setHungoffOperand(Constant *C) {
lib/IR/Globals.cpp
   37                   sizeof(Constant) + 2 * sizeof(void *) + 2 * sizeof(unsigned),
  337                                Constant *InitVal, const Twine &Name,
  356                                LinkageTypes Link, Constant *InitVal,
  388 void GlobalVariable::setInitializer(Constant *InitVal) {
  429     Constant *Symbol)
  435 findBaseObject(const Constant *C, DenseSet<const GlobalAlias *> &Aliases) {
  477                          const Twine &Name, Constant *Aliasee,
  487                                  Constant *Aliasee, Module *ParentModule) {
  522 void GlobalAlias::setAliasee(Constant *Aliasee) {
  533                          const Twine &Name, Constant *Resolver,
  543                                  Constant *Resolver, Module *ParentModule) {
lib/IR/IRBuilder.cpp
   45   Constant *StrConstant = ConstantDataArray::getString(Context, Str);
  531     Mask = Constant::getAllOnesValue(VectorType::get(Type::getInt1Ty(Context),
  567     Mask = Constant::getAllOnesValue(VectorType::get(Type::getInt1Ty(Context),
lib/IR/Instructions.cpp
  247 void LandingPadInst::addClause(Constant *Val) {
  268   if (isa<Function>(V) || isa<Constant>(V))
  549     } else if (Constant *CO = dyn_cast<Constant>(ArraySize)) {
  549     } else if (Constant *CO = dyn_cast<Constant>(ArraySize)) {
  550       Constant *Scale = ConstantExpr::getIntegerCast(CO, IntPtrTy,
  553       AllocSize = ConstantExpr::getMul(Scale, cast<Constant>(AllocSize));
 1653                                         ArrayRef<Constant *> IdxList) {
 1827   SmallVector<Constant*, 16> NewMask(NumMaskElts);
 1890 int ShuffleVectorInst::getMaskValue(const Constant *Mask, unsigned i) {
 1894   Constant *C = Mask->getAggregateElement(i);
 1900 void ShuffleVectorInst::getShuffleMask(const Constant *Mask,
 1910     Constant *C = Mask->getAggregateElement(i);
 2410   Constant *C = Constant::getAllOnesValue(Op->getType());
 2410   Constant *C = Constant::getAllOnesValue(Op->getType());
 2417   Constant *AllOnes = Constant::getAllOnesValue(Op->getType());
 2417   Constant *AllOnes = Constant::getAllOnesValue(Op->getType());
lib/IR/MDBuilder.cpp
   24 ConstantAsMetadata *MDBuilder::createConstant(Constant *C) {
   91 MDNode *MDBuilder::createRange(Constant *Lo, Constant *Hi) {
   91 MDNode *MDBuilder::createRange(Constant *Lo, Constant *Hi) {
  184     Constant *Flags = ConstantInt::get(Type::getInt64Ty(Context), 1);
lib/IR/Metadata.cpp
  358     if (auto *C = dyn_cast<Constant>(V))
  358     if (auto *C = dyn_cast<Constant>(V))
  414     if (auto *C = dyn_cast<Constant>(To)) {
  414     if (auto *C = dyn_cast<Constant>(To)) {
  427   } else if (!isa<Constant>(To)) {
lib/IR/Module.cpp
  204 Constant *Module::getOrInsertGlobal(
  225 Constant *Module::getOrInsertGlobal(StringRef Name, Type *Ty) {
  346                            Constant *Val) {
lib/IR/SafepointIRVerifier.cpp
  142       if (!BI || !BI->isConditional() || !isa<Constant>(BI->getCondition()))
  361     if (isa<Constant>(V)) {
  364       if (V != Constant::getNullValue(V->getType()))
lib/IR/Type.cpp
  539       (unsigned)cast<Constant>(V)->getUniqueInteger().getZExtValue();
  562     const Constant *C = dyn_cast<Constant>(V);
  562     const Constant *C = dyn_cast<Constant>(V);
lib/IR/TypeFinder.cpp
  129   if (!isa<Constant>(V) || isa<GlobalValue>(V)) return;
lib/IR/Value.cpp
  365                      Constant *C) {
  385   auto *C = dyn_cast<Constant>(V);
  385   auto *C = dyn_cast<Constant>(V);
  415     if (auto *C = dyn_cast<Constant>(U.getUser())) {
  415     if (auto *C = dyn_cast<Constant>(U.getUser())) {
lib/IR/Verifier.cpp
  295   SmallPtrSet<const Constant *, 32> ConstantExprVisited;
  402   void visitAliaseeSubExpr(const GlobalAlias &A, const Constant &C);
  404                            const GlobalAlias &A, const Constant &C);
  509   void visitConstantExprsRecursively(const Constant *EntryC);
  672         const Constant *Init = GV.getInitializer();
  716 void Verifier::visitAliaseeSubExpr(const GlobalAlias &GA, const Constant &C) {
  723                                    const GlobalAlias &GA, const Constant &C) {
  747     else if (const auto *C2 = dyn_cast<Constant>(V))
  747     else if (const auto *C2 = dyn_cast<Constant>(V))
  757   const Constant *Aliasee = GA.getAliasee();
 1877 void Verifier::visitConstantExprsRecursively(const Constant *EntryC) {
 1881   SmallVector<const Constant *, 16> Stack;
 1885     const Constant *C = Stack.pop_back_val();
 1901       const auto *OpC = dyn_cast<Constant>(U);
 1901       const auto *OpC = dyn_cast<Constant>(U);
 3686     Constant *Clause = LPI.getClause(i);
 4294     Constant *Init = GV->getInitializer();
lib/LTO/LTOModule.cpp
  247 LTOModule::objcClassNameFromExpression(const Constant *c, std::string &name) {
  249     Constant *op = ce->getOperand(0);
  251       Constant *cn = gvn->getInitializer();
lib/Linker/IRMover.cpp
  474   Expected<Constant *> linkAppendingVarProto(GlobalVariable *DstGV,
  483   Expected<Constant *> linkGlobalValueProto(GlobalValue *GV,
  578   Expected<Constant *> NewProto = linkGlobalValueProto(SGV, ForIndirectSymbol);
  830 static void getArrayElements(const Constant *C,
  831                              SmallVectorImpl<Constant *> &Dest) {
  839 Expected<Constant *>
  900   SmallVector<Constant *, 16> SrcElements;
  926   Constant *Ret = ConstantExpr::getBitCast(NG, TypeMap.get(SrcGV->getType()));
  962 Expected<Constant *> IRLinker::linkGlobalValueProto(GlobalValue *SGV,
  972       return cast<Constant>(I->second);
  976       return cast<Constant>(I->second);
 1023   Constant *C = NewGV;
lib/ProfileData/InstrProf.cpp
  319   auto *Value =
 1141       Constant::getIntegerValue(IntTy64, APInt(64, ProfileVersion)), VarName);
 1154   Constant *ProfileNameConst =
lib/Target/AArch64/AArch64FastISel.cpp
  289   unsigned fastMaterializeConstant(const Constant *C) override;
  441   unsigned CPI = MCP.getConstantPoolIndex(cast<Constant>(CFP), Align);
  522 unsigned AArch64FastISel::fastMaterializeConstant(const Constant *C) {
 1187   if (UseAdd && isa<Constant>(LHS) && !isa<Constant>(RHS))
 1187   if (UseAdd && isa<Constant>(LHS) && !isa<Constant>(RHS))
 1221   } else if (const auto *C = dyn_cast<Constant>(RHS))
 1221   } else if (const auto *C = dyn_cast<Constant>(RHS))
 2332     if (isa<Constant>(LHS) && cast<Constant>(LHS)->isNullValue())
 2332     if (isa<Constant>(LHS) && cast<Constant>(LHS)->isNullValue())
 2335     if (!isa<Constant>(RHS) || !cast<Constant>(RHS)->isNullValue())
 2335     if (!isa<Constant>(RHS) || !cast<Constant>(RHS)->isNullValue())
 2361     if (!isa<Constant>(RHS) || !cast<Constant>(RHS)->isNullValue())
 2361     if (!isa<Constant>(RHS) || !cast<Constant>(RHS)->isNullValue())
lib/Target/AArch64/AArch64ISelLowering.cpp
 8637   Constant *M1, *M2;
lib/Target/AArch64/AArch64ISelLowering.h
  452   getExceptionPointerRegister(const Constant *PersonalityFn) const override {
  460   getExceptionSelectorRegister(const Constant *PersonalityFn) const override {
lib/Target/AArch64/AArch64InstructionSelector.cpp
  133   unsigned emitConstantPoolEntry(Constant *CPVal, MachineFunction &MF) const;
  134   MachineInstr *emitLoadFromConstantPool(Constant *CPVal,
 3065 AArch64InstructionSelector::emitConstantPoolEntry(Constant *CPVal,
 3077     Constant *CPVal, MachineIRBuilder &MIRBuilder) const {
 3606   const Constant *Mask = I.getOperand(3).getShuffleMask();
 3656   const Constant *ShuffleMask = I.getOperand(3).getShuffleMask();
 3675   SmallVector<Constant *, 64> CstIdxs;
 3689   Constant *CPVal = ConstantVector::get(CstIdxs);
lib/Target/AArch64/AArch64PromoteConstant.cpp
   99   using PromotionCacheTy = SmallDenseMap<Constant *, PromotedConstant, 16>;
  102     Constant *C;
  106     UpdateRecord(Constant *C, Instruction *User, unsigned Op)
  257 static bool shouldConvertUse(const Constant *Cst, const Instruction *Instr,
  323 static bool shouldConvertImpl(const Constant *Cst) {
  347 shouldConvert(Constant &C,
  468 static void ensurePromotedGV(Function &F, Constant &C,
  528     Constant *C = First->C;
  550       Constant *Cst = dyn_cast<Constant>(U);
  550       Constant *Cst = dyn_cast<Constant>(U);
lib/Target/AArch64/AArch64StackTagging.cpp
  203       Value *Store1 = I1 == Out.end() ? Constant::getNullValue(IRB.getInt64Ty())
  205       Value *Store2 = I2 == Out.end() ? Constant::getNullValue(IRB.getInt64Ty())
  456       IRB.CreateCall(IRG_SP, {Constant::getNullValue(IRB.getInt64Ty())});
  624         IRB.CreateCall(TagP, {Constant::getNullValue(Info.AI->getType()), Base,
lib/Target/AMDGPU/AMDGPUAnnotateKernelFeatures.cpp
   73     const Constant *EntryC,
   74     SmallPtrSet<const Constant *, 8> &ConstantExprVisited);
  106   const Constant *EntryC,
  107   SmallPtrSet<const Constant *, 8> &ConstantExprVisited) {
  112   SmallVector<const Constant *, 16> Stack;
  116     const Constant *C = Stack.pop_back_val();
  126       const auto *OpC = dyn_cast<Constant>(U);
  126       const auto *OpC = dyn_cast<Constant>(U);
  268   SmallPtrSet<const Constant *, 8> ConstantExprVisited;
  315         const auto *OpC = dyn_cast<Constant>(U);
  315         const auto *OpC = dyn_cast<Constant>(U);
lib/Target/AMDGPU/AMDGPUAnnotateUniformValues.cpp
  143         Value *Idx = Constant::getIntegerValue(
lib/Target/AMDGPU/AMDGPUAsmPrinter.h
  116   const MCExpr *lowerConstant(const Constant *CV) override;
lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
  750   if (isa<Constant>(Den))
  798   Constant *UINT_MAX_PLUS_1 = ConstantFP::get(F32Ty, BitsToFloat(0x4f800000));
lib/Target/AMDGPU/AMDGPUInstrInfo.cpp
   39       isa<Constant>(Ptr) || isa<GlobalValue>(Ptr))
lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
 1520       isa<Constant>(Ptr) || isa<GlobalValue>(Ptr))
lib/Target/AMDGPU/AMDGPULibCalls.cpp
  105     double& Res1, Constant *copr0, Constant *copr1, Constant *copr2);
  105     double& Res1, Constant *copr0, Constant *copr1, Constant *copr2);
  105     double& Res1, Constant *copr0, Constant *copr1, Constant *copr2);
  766       Constant *nval;
  910     Constant *cnval = ConstantFP::get(eltType, 1.0);
  934     Constant *cnval = ConstantFP::get(eltType, 1.0);
  981     Constant *cnval;
 1025   Constant *cnval = nullptr;
 1429                                             Constant *copr0, Constant *copr1,
 1429                                             Constant *copr0, Constant *copr1,
 1430                                             Constant *copr2) {
 1627   Constant *copr0 = nullptr;
 1628   Constant *copr1 = nullptr;
 1629   Constant *copr2 = nullptr;
 1631     if ((copr0 = dyn_cast<Constant>(aCI->getArgOperand(0))) == nullptr)
 1636     if ((copr1 = dyn_cast<Constant>(aCI->getArgOperand(1))) == nullptr) {
 1643     if ((copr2 = dyn_cast<Constant>(aCI->getArgOperand(2))) == nullptr)
 1662       Constant *celt0 = CDV0 ? CDV0->getElementAsConstant(i) : nullptr;
 1663       Constant *celt1 = CDV1 ? CDV1->getElementAsConstant(i) : nullptr;
 1664       Constant *celt2 = CDV2 ? CDV2->getElementAsConstant(i) : nullptr;
 1673   Constant *nval0, *nval1;
lib/Target/AMDGPU/AMDGPUMCInstLower.cpp
  228                                         const Constant *CV,
  251 const MCExpr *AMDGPUAsmPrinter::lowerConstant(const Constant *CV) {
  409 const MCExpr *R600AsmPrinter::lowerConstant(const Constant *CV) {
lib/Target/AMDGPU/AMDGPUOpenCLEnqueuedBlockLowering.cpp
   99   if (!isa<Constant>(U))
  123           /*Initializer=*/Constant::getNullValue(T), RuntimeHandle,
  135         auto *NewPtr = ConstantExpr::getPointerCast(GV, BitCast->getType());
lib/Target/AMDGPU/AMDGPUPrintfRuntimeBinding.cpp
  254               Constant *Init = GV->getInitializer();
  440                 Constant *Init = GV->getInitializer();
  487             Constant *Indices[4] = {
  490             Constant *Mask = ConstantVector::get(Indices);
lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
  820     Constant::getNullValue(Type::getInt32Ty(Mod->getContext())),
lib/Target/AMDGPU/R600AsmPrinter.h
   33   const MCExpr *lowerConstant(const Constant *CV) override;
lib/Target/AMDGPU/R600ISelLowering.cpp
 1469     if (isa<Constant>(LoadNode->getMemOperand()->getValue()) ||
lib/Target/AMDGPU/SIAnnotateControlFlow.cpp
   66   Constant *IntMaskZero;
  245   if (isa<Constant>(Cond)) {
lib/Target/ARM/ARMAsmPrinter.cpp
   79 void ARMAsmPrinter::EmitXXStructor(const DataLayout &DL, const Constant *CV) {
lib/Target/ARM/ARMAsmPrinter.h
  100   void EmitXXStructor(const DataLayout &DL, const Constant *CV) override;
lib/Target/ARM/ARMBaseRegisterInfo.cpp
  465   const Constant *C =
lib/Target/ARM/ARMCodeGenPrepare.cpp
  562         Constant *NewConst = ConstantExpr::getZExt(Const, ExtTy);
  841   } else if (isa<Constant>(V) && !isa<ConstantExpr>(V)) {
  883     if (isa<Constant>(Op)) {
lib/Target/ARM/ARMConstantPoolValue.cpp
  121                                                  const Constant *C,
  130 ARMConstantPoolConstant::ARMConstantPoolConstant(const Constant *C,
  141                                                  const Constant *C)
  148 ARMConstantPoolConstant::Create(const Constant *C, unsigned ID) {
  155                                 const Constant *Initializer) {
  168 ARMConstantPoolConstant::Create(const Constant *C, unsigned ID,
  175 ARMConstantPoolConstant::Create(const Constant *C, unsigned ID,
lib/Target/ARM/ARMConstantPoolValue.h
  144   const Constant *CVal;         // Constant being loaded.
  147   ARMConstantPoolConstant(const Constant *C,
  153   ARMConstantPoolConstant(Type *Ty, const Constant *C,
  159   ARMConstantPoolConstant(const GlobalVariable *GV, const Constant *Init);
  162   static ARMConstantPoolConstant *Create(const Constant *C, unsigned ID);
  166                                          const Constant *Initializer);
  167   static ARMConstantPoolConstant *Create(const Constant *C, unsigned ID,
  170   static ARMConstantPoolConstant *Create(const Constant *C, unsigned ID,
  185   const Constant *getPromotedGlobalInit() const {
lib/Target/ARM/ARMFastISel.cpp
  157     unsigned fastMaterializeConstant(const Constant *C) override;
  207     unsigned ARMMaterializeInt(const Constant *C, MVT VT);
  452   unsigned Idx = MCP.getConstantPoolIndex(cast<Constant>(CFP), Align);
  464 unsigned ARMFastISel::ARMMaterializeInt(const Constant *C, MVT VT) {
  642 unsigned ARMFastISel::fastMaterializeConstant(const Constant *C) {
 1488   Constant *Zero = ConstantInt::get(Type::getInt32Ty(*Context), 0);
lib/Target/ARM/ARMISelLowering.cpp
 9643       const Constant *C = ConstantInt::get(Int32Ty, NumLPads);
 9744       const Constant *C = ConstantInt::get(Int32Ty, NumLPads);
10146     const Constant *C = ConstantInt::get(Int32Ty, LoopSize);
16425     Constant *CDomain = Builder.getInt32(Domain);
17076     const Constant *PersonalityFn) const {
17083     const Constant *PersonalityFn) const {
lib/Target/ARM/ARMISelLowering.h
  531     getExceptionPointerRegister(const Constant *PersonalityFn) const override;
  536     getExceptionSelectorRegister(const Constant *PersonalityFn) const override;
lib/Target/ARM/ARMTargetTransformInfo.h
  210   bool shouldBuildLookupTablesForConstant(Constant *C) const {
lib/Target/ARM/MVETailPredication.cpp
  239   Constant *Const = nullptr;
lib/Target/ARM/ThumbRegisterInfo.cpp
   71   const Constant *C = ConstantInt::get(
   90   const Constant *C = ConstantInt::get(
lib/Target/BPF/BPFAbstractMemberAccess.cpp
  288     Constant *Zero =
lib/Target/BPF/BPFISelDAGToDAG.cpp
   83   bool fillGenericConstant(const DataLayout &DL, const Constant *CV,
  347   const Constant *Init = V->getInitializer();
  391                                           const Constant *CV,
  457     const Constant *Field = CS->getOperand(i);
lib/Target/Hexagon/HexagonCommonGEP.cpp
  838   if (isa<Constant>(Val) || isa<Argument>(Val))
lib/Target/Hexagon/HexagonConstPropagation.cpp
   77     static uint32_t deduce(const Constant *C);
  122       const Constant *Value;
  123       const Constant *Values[MaxCellSize];
  132     bool add(const Constant *C);
  141                                  : L.Size*sizeof(const Constant*);
  350     bool constToInt(const Constant *C, APInt &Val) const;
  351     bool constToFloat(const Constant *C, APFloat &Val) const;
  421 uint32_t ConstantProperties::deduce(const Constant *C) {
  500       const Constant *C = Values[i];
  528     const Constant *LC = L.Values[i];
  539 bool LatticeCell::add(const Constant *LC) {
  549       const Constant *C = Values[Index];
 1084 bool MachineConstEvaluator::constToInt(const Constant *C,
 1416     const Constant *C = intToConst(ResA);
 1483     const Constant *C = intToConst(ResA);
 1532       const Constant *C = intToConst(A2);
 1545     const Constant *C = intToConst(XA);
 1572     const Constant *C = intToConst(XA);
 1603     const Constant *C = intToConst(XA);
 1668     const Constant *C = intToConst(CA);
 1703     const Constant *C = intToConst(CA);
 1736       const Constant *C = intToConst(APInt(Width, 0, false));
 1749     const Constant *C = intToConst(CA);
 1797     const Constant *C = intToConst(SA);
 2095         const Constant *CI = T.Values[i];
 2127         const Constant *CI = T.Values[i];
 2231     const Constant *C = Input.Values[i];
 2535       const Constant *C = intToConst(HV | LV);
 2691     const Constant *C = intToConst(A);
lib/Target/Hexagon/HexagonISelLowering.cpp
  892 static Constant *convert_i1_to_i8(const Constant *ConstVal) {
  892 static Constant *convert_i1_to_i8(const Constant *ConstVal) {
  893   SmallVector<Constant *, 128> NewConst;
  920   Constant *CVal = nullptr;
  922   if (const Constant *ConstVal = dyn_cast<Constant>(CPN->getConstVal())) {
  922   if (const Constant *ConstVal = dyn_cast<Constant>(CPN->getConstVal())) {
lib/Target/Hexagon/HexagonISelLowering.h
  238     getExceptionPointerRegister(const Constant *PersonalityFn) const override {
  245     getExceptionSelectorRegister(const Constant *PersonalityFn) const override {
lib/Target/Hexagon/HexagonISelLoweringHVX.cpp
  395     ArrayRef<Constant*> Tmp((Constant**)Consts.begin(),
  397     Constant *CV = ConstantVector::get(Tmp);
lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp
 1535   auto *BMI = ConstantInt::get(P->getType(), APInt::getLowBitsSet(32, IC));
lib/Target/Hexagon/RDFGraph.cpp
  751   const Constant *PF = F.hasPersonalityFn() ? F.getPersonalityFn()
lib/Target/Lanai/LanaiISelLowering.cpp
 1129   const Constant *C = N->getConstVal();
lib/Target/Lanai/LanaiTargetObjectFile.cpp
  116                                                      const Constant *CN) const {
  122                                                         const Constant *C,
lib/Target/Lanai/LanaiTargetObjectFile.h
   37   bool isConstantInSmallSection(const DataLayout &DL, const Constant *CN) const;
   40                                    const Constant *C,
lib/Target/MSP430/MSP430ISelDAGToDAG.cpp
   49     const Constant *CP;
lib/Target/Mips/MipsConstantIslandPass.cpp
 1658             const Constant *C = ConstantInt::get(Int32Ty, V);
lib/Target/Mips/MipsFastISel.cpp
  206   unsigned materializeInt(const Constant *C, MVT VT);
  266   unsigned fastMaterializeConstant(const Constant *C) override;
  356 unsigned MipsFastISel::materializeInt(const Constant *C, MVT VT) {
  447 unsigned MipsFastISel::fastMaterializeConstant(const Constant *C) {
lib/Target/Mips/MipsISelLowering.h
  357     getExceptionPointerRegister(const Constant *PersonalityFn) const override {
  364     getExceptionSelectorRegister(const Constant *PersonalityFn) const override {
lib/Target/Mips/MipsTargetObjectFile.cpp
  169     const DataLayout &DL, const Constant *CN, const TargetMachine &TM) const {
  179                                                        const Constant *C,
lib/Target/Mips/MipsTargetObjectFile.h
   38     bool IsConstantInSmallSection(const DataLayout &DL, const Constant *CN,
   42                                      const Constant *C,
lib/Target/NVPTX/NVPTXAsmPrinter.cpp
  616 static bool usedInGlobalVarDef(const Constant *C) {
  625     if (const Constant *C = dyn_cast<Constant>(U))
  625     if (const Constant *C = dyn_cast<Constant>(U))
  681 static bool useFuncSeen(const Constant *C,
  684     if (const Constant *cu = dyn_cast<Constant>(U)) {
  684     if (const Constant *cu = dyn_cast<Constant>(U)) {
  720       if (const Constant *C = dyn_cast<Constant>(U)) {
  720       if (const Constant *C = dyn_cast<Constant>(U)) {
 1048     const Constant *Initializer = nullptr;
 1158         const Constant *Initializer = GVar->getInitializer();
 1194         const Constant *Initializer = GVar->getInitializer();
 1711 void NVPTXAsmPrinter::printScalarConstant(const Constant *CPV, raw_ostream &O) {
 1786 void NVPTXAsmPrinter::bufferLEByte(const Constant *CPV, int Bytes,
 1914 void NVPTXAsmPrinter::bufferAggregateConstant(const Constant *CPV,
 1934         bufferLEByte(cast<Constant>(CPV->getOperand(i)), 0, aggBuffer);
 1942         bufferLEByte(cast<Constant>(CDS->getElementAsConstant(i)), 0,
 1958         bufferLEByte(cast<Constant>(CPV->getOperand(i)), Bytes, aggBuffer);
 1971 NVPTXAsmPrinter::lowerConstantForGV(const Constant *CV, bool ProcessingGeneric) {
 2000     if (Constant *C = ConstantFoldConstant(CE, getDataLayout()))
 2018       return lowerConstantForGV(cast<const Constant>(CE->getOperand(0)), true);
 2059     Constant *Op = CE->getOperand(0);
 2070     Constant *Op = CE->getOperand(0);
lib/Target/NVPTX/NVPTXAsmPrinter.h
  177                 AP.lowerConstantForGV(cast<Constant>(CExpr), false);
  236   const MCExpr *lowerConstantForGV(const Constant *CV, bool ProcessingGeneric);
  261   void printScalarConstant(const Constant *CPV, raw_ostream &O);
  263   void bufferLEByte(const Constant *CPV, int Bytes, AggBuffer *aggBuffer);
  264   void bufferAggregateConstant(const Constant *CV, AggBuffer *aggBuffer);
lib/Target/NVPTX/NVPTXGenericToNVVM.cpp
   47   Value *remapConstant(Module *M, Function *F, Constant *C,
   50                                                 Constant *C,
   56   typedef ValueMap<Constant *, Value *> ConstantToValueMapTy;
  113           if (isa<Constant>(Operand)) {
  115                 i, remapConstant(&M, &*I, cast<Constant>(Operand), Builder));
  142     Constant *BitCastNewGV = ConstantExpr::getPointerCast(NewGV, GV->getType());
  156 Value *GenericToNVVM::remapConstant(Module *M, Function *F, Constant *C,
  196     Module *M, Function *F, Constant *C, IRBuilder<> &Builder) {
  205     Value *NewOperand = remapConstant(M, F, cast<Constant>(Operand), Builder);
  244     Value *NewOperand = remapConstant(M, F, cast<Constant>(Operand), Builder);
lib/Target/NVPTX/NVPTXISelLowering.cpp
 2589           Value *srcValue = Constant::getNullValue(PointerType::get(
lib/Target/NVPTX/NVPTXTargetObjectFile.h
   29                                    const Constant *C,
lib/Target/NVPTX/NVVMReflect.cpp
  142     const Value *Operand = cast<Constant>(Sym)->getOperand(0);
  148       const Constant *Initializer = GV->getInitializer();
lib/Target/PowerPC/PPCBoolRetToInt.cpp
   96     if (auto *C = dyn_cast<Constant>(V))
   96     if (auto *C = dyn_cast<Constant>(V))
  101       Value *Zero = Constant::getNullValue(IntTy);
  145         return isa<Constant>(V) || isa<Argument>(V) || isa<CallInst>(V) ||
  230       if (!isa<PHINode>(V) && !isa<Constant>(V) &&
lib/Target/PowerPC/PPCFastISel.cpp
  108     unsigned fastMaterializeConstant(const Constant *C) override;
 2001   unsigned Idx = MCP.getConstantPoolIndex(cast<Constant>(CFP), Align);
 2241 unsigned PPCFastISel::fastMaterializeConstant(const Constant *C) {
lib/Target/PowerPC/PPCISelDAGToDAG.cpp
 6562         const Constant *C = CP->getConstVal();
lib/Target/PowerPC/PPCISelLowering.cpp
 2709   const Constant *C = CP->getConstVal();
 8291       Constant *One =
 8293       Constant *NegOne =
 8296       Constant *CV[4];
 8306       Constant *CP = ConstantVector::get(CV);
14979     const Constant *PersonalityFn) const {
14984     const Constant *PersonalityFn) const {
lib/Target/PowerPC/PPCISelLowering.h
  937     getExceptionPointerRegister(const Constant *PersonalityFn) const override;
  942     getExceptionSelectorRegister(const Constant *PersonalityFn) const override;
lib/Target/PowerPC/PPCTargetTransformInfo.cpp
  241       if (const auto *CV = dyn_cast<Constant>(MemAddr))
  241       if (const auto *CV = dyn_cast<Constant>(MemAddr))
lib/Target/RISCV/RISCVISelLowering.cpp
 2879     const Constant *PersonalityFn) const {
 2884     const Constant *PersonalityFn) const {
lib/Target/RISCV/RISCVISelLowering.h
  141   getExceptionPointerRegister(const Constant *PersonalityFn) const override;
  146   getExceptionSelectorRegister(const Constant *PersonalityFn) const override;
lib/Target/RISCV/RISCVTargetObjectFile.cpp
  102     const DataLayout &DL, const Constant *CN) const {
  107     const DataLayout &DL, SectionKind Kind, const Constant *C,
lib/Target/RISCV/RISCVTargetObjectFile.h
   35   bool isConstantInSmallSection(const DataLayout &DL, const Constant *CN) const;
   38                                    const Constant *C,
lib/Target/Sparc/SparcISelLowering.h
  107     getExceptionPointerRegister(const Constant *PersonalityFn) const override {
  114     getExceptionSelectorRegister(const Constant *PersonalityFn) const override {
lib/Target/SystemZ/SystemZISelLowering.h
  458   getExceptionPointerRegister(const Constant *PersonalityFn) const override {
  465   getExceptionSelectorRegister(const Constant *PersonalityFn) const override {
lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
  382     if (const Constant *C = dyn_cast<Constant>(Args[1])) {
  382     if (const Constant *C = dyn_cast<Constant>(Args[1])) {
lib/Target/TargetLoweringObjectFile.cpp
   57 static bool isNullOrUndef(const Constant *C) {
   64     if (!isNullOrUndef(cast<Constant>(Operand)))
   71   const Constant *C = GV->getInitializer();
   93 static bool IsNullTerminatedString(const Constant *C) {
  182     const Constant *C = GVar->getInitializer();
  297     const DataLayout &DL, SectionKind Kind, const Constant *C,
lib/Target/WebAssembly/WebAssemblyFastISel.cpp
  175   unsigned fastMaterializeConstant(const Constant *C) override;
  615 unsigned WebAssemblyFastISel::fastMaterializeConstant(const Constant *C) {
lib/Target/WebAssembly/WebAssemblyFixFunctionBitcasts.cpp
   69                      SmallPtrSetImpl<Constant *> &ConstantBCs) {
   84       if (isa<Constant>(U.get())) {
   86         auto C = ConstantBCs.insert(cast<Constant>(U.get()));
  243   SmallPtrSet<Constant *, 2> ConstantBCs;
  296     if (isa<Constant>(U->get()))
lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
  840       Constant *Clause = LPI->getClause(I);
lib/Target/WebAssembly/WebAssemblyLowerGlobalDtors.cpp
   81   std::map<uint16_t, MapVector<Constant *, std::vector<Constant *>>> DtorFuncs;
   81   std::map<uint16_t, MapVector<Constant *, std::vector<Constant *>>> DtorFuncs;
   92     Constant *DtorFunc = CS->getOperand(1);
   96     Constant *Associated = CS->getOperand(2);
   97     Associated = cast<Constant>(Associated->stripPointerCasts());
  119   Constant *DsoHandle = M.getNamedValue("__dso_handle");
  135       Constant *Associated = AssociatedAndMore.first;
  169                                 Constant::getNullValue(Res->getType()));
lib/Target/WebAssembly/WebAssemblyOptimizeReturned.cpp
   64       if (isa<Constant>(Arg))
lib/Target/WebAssembly/WebAssemblyRegStackify.cpp
  114     auto *Val = cast<ConstantFP>(Constant::getNullValue(
  119     auto *Val = cast<ConstantFP>(Constant::getNullValue(
  145     const Constant *GV = MO.getGlobal();
lib/Target/X86/X86FastISel.cpp
  151   unsigned fastMaterializeConstant(const Constant *C) override;
  661     Val = Constant::getNullValue(DL.getIntPtrType(Val->getContext()));
 1399     Op1 = Constant::getNullValue(DL.getIntPtrType(Op0->getContext()));
 3847 unsigned X86FastISel::fastMaterializeConstant(const Constant *C) {
lib/Target/X86/X86ISelDAGToDAG.cpp
   69     const Constant *CP;
lib/Target/X86/X86ISelLowering.cpp
 2291 static Constant* SegmentOffset(IRBuilder<> &IRB,
 5926 static const Constant *getTargetConstantFromNode(LoadSDNode *Load) {
 5942 static const Constant *getTargetConstantFromNode(SDValue Op) {
 5947 const Constant *
 6155     if (const Constant *C = CNode->getConstVal()) {
 8070 static Constant *getConstantVector(MVT VT, const APInt &SplatValue,
 8075   SmallVector<Constant *, 32> ConstantVec;
 8078     Constant *Const;
 8087       Const = Constant::getIntegerValue(Type::getIntNTy(C, ScalarSize), Val);
 8227           Constant *C = Constant::getIntegerValue(ScalarTy, SplatValue);
 8227           Constant *C = Constant::getIntegerValue(ScalarTy, SplatValue);
 8246           Constant *C =
 8266           Constant *VecC = getConstantVector(VT, SplatValue, SplatBitSize,
 8327       const Constant *C = nullptr;
 9651     SmallVector<Constant *, 16> ConstVecOps(NumElems, UndefValue::get(EltType));
 9667     Constant *CV = ConstantVector::get(ConstVecOps);
18033   Value *Ptr = Constant::getNullValue(Type::getInt8PtrTy(*DAG.getContext(),
18175     Value *Ptr = Constant::getNullValue(Subtarget.is64Bit()
18561   Constant *C0 = ConstantDataVector::get(*Context, CV0);
18565   SmallVector<Constant*,2> CV1;
18572   Constant *C1 = ConstantVector::get(CV1);
24290     const Constant *PersonalityFn) const {
24298     const Constant *PersonalityFn) const {
30182   const Constant *PerFn = MF->getFunction().getPersonalityFn();
38986           Constant *Init = GV->getInitializer();
lib/Target/X86/X86ISelLowering.h
  944     const Constant *getTargetConstantFromLoad(LoadSDNode *LD) const override;
 1174     getExceptionPointerRegister(const Constant *PersonalityFn) const override;
 1179     getExceptionSelectorRegister(const Constant *PersonalityFn) const override;
lib/Target/X86/X86InstrInfo.cpp
 5338     const Constant *C = IsAllOnes ? Constant::getAllOnesValue(Ty) :
 5338     const Constant *C = IsAllOnes ? Constant::getAllOnesValue(Ty) :
 5339                                     Constant::getNullValue(Ty);
lib/Target/X86/X86MCInstLower.cpp
 1604 static const Constant *getConstantFromPool(const MachineInstr &MI,
 1618   const Constant *C = ConstantEntry.Val.ConstVal;
 1731 static void printConstant(const Constant *COp, raw_ostream &CS) {
lib/Target/X86/X86ShuffleDecodeConstantPool.cpp
   24 static bool extractConstantMask(const Constant *C, unsigned MaskEltSizeInBits,
   60       Constant *COp = C->getAggregateElement(i);
   80     Constant *COp = C->getAggregateElement(i);
  114 void DecodePSHUFBMask(const Constant *C, unsigned Width,
  152 void DecodeVPERMILPMask(const Constant *C, unsigned ElSize, unsigned Width,
  187 void DecodeVPERMIL2PMask(const Constant *C, unsigned M2Z, unsigned ElSize,
  243 void DecodeVPPERMMask(const Constant *C, unsigned Width,
  295 void DecodeVPERMVMask(const Constant *C, unsigned ElSize, unsigned Width,
  321 void DecodeVPERMV3Mask(const Constant *C, unsigned ElSize, unsigned Width,
lib/Target/X86/X86ShuffleDecodeConstantPool.h
   28 void DecodePSHUFBMask(const Constant *C, unsigned Width,
   32 void DecodeVPERMILPMask(const Constant *C, unsigned ElSize, unsigned Width,
   36 void DecodeVPERMIL2PMask(const Constant *C, unsigned MatchImm, unsigned ElSize,
   41 void DecodeVPPERMMask(const Constant *C, unsigned Width,
   45 void DecodeVPERMVMask(const Constant *C, unsigned ElSize, unsigned Width,
   49 void DecodeVPERMV3Mask(const Constant *C, unsigned ElSize, unsigned Width,
lib/Target/X86/X86TargetTransformInfo.cpp
 3099       if (!all_of(GEP->indices(), [](Value *V) { return isa<Constant>(V); }))
 3130       if (isa<Constant>(GEP->getOperand(i)))
lib/Target/X86/X86WinEHState.cpp
   96   Constant *Cookie = nullptr;
  434   Constant *FSZero =
  435       Constant::getNullValue(LinkTy->getPointerTo()->getPointerTo(257));
  453   Constant *FSZero =
  454       Constant::getNullValue(LinkTy->getPointerTo()->getPointerTo(257));
lib/Target/XCore/XCoreAsmPrinter.cpp
  117   const Constant *C = GV->getInitializer();
lib/Target/XCore/XCoreFrameLowering.cpp
  162                            const Constant *PersonalityFn,
  327       const Constant *PersonalityFn =
  362     const Constant *PersonalityFn =
lib/Target/XCore/XCoreISelLowering.cpp
  298     Constant *GA = ConstantExpr::getBitCast(const_cast<GlobalValue*>(GV), Ty);
  300     Constant *Idx = ConstantInt::get(Ty, Offset);
  301     Constant *GAI = ConstantExpr::getGetElementPtr(
lib/Target/XCore/XCoreISelLowering.h
  131     getExceptionPointerRegister(const Constant *PersonalityFn) const override {
  138     getExceptionSelectorRegister(const Constant *PersonalityFn) const override {
lib/Target/XCore/XCoreInstrInfo.cpp
  444   const Constant *C = ConstantInt::get(
lib/Target/XCore/XCoreLowerThreadLocal.cpp
   67 static Constant *
   68 createLoweredInitializer(ArrayType *NewType, Constant *OriginalInitializer) {
   69   SmallVector<Constant *, 8> Elements(MaxThreads);
  191   Constant *NewInitializer = nullptr;
lib/Target/XCore/XCoreTargetObjectFile.cpp
  145                                                         const Constant *C,
lib/Target/XCore/XCoreTargetObjectFile.h
   34                                      const Constant *C,
lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
  244   Constant *Mask = ConstantInt::get(I.getType(), MOps.Mask);
lib/Transforms/AggressiveInstCombine/TruncInstCombine.cpp
   75     if (isa<Constant>(Curr)) {
  147   if (isa<Constant>(Src))
  156     if (isa<Constant>(Curr)) {
  286   if (auto *C = dyn_cast<Constant>(V)) {
  286   if (auto *C = dyn_cast<Constant>(V)) {
  289     if (Constant *FoldedC = ConstantFoldConstant(C, DL, &TLI))
lib/Transforms/CFGuard/CFGuard.cpp
  153   Constant *GuardFnGlobal = nullptr;
lib/Transforms/Coroutines/CoroEarly.cpp
   29   Constant *NoopCoro = nullptr;
  130     Constant* Values[] = {NoopFn, NoopFn};
  131     Constant* NoopCoroConst = ConstantStruct::get(FrameTy, Values);
lib/Transforms/Coroutines/CoroElide.cpp
   45 static void replaceWithConstant(Constant *Value,
  232   auto *ResumeAddrConstant =
  239   auto *DestroyAddrConstant = ConstantExpr::getExtractValue(
lib/Transforms/Coroutines/CoroFrame.cpp
 1272   auto InitialValue = Constant::getNullValue(ValueTy);
lib/Transforms/Coroutines/CoroInstr.h
  169     Constant *Initializer = GV->getInitializer();
  176   Constant *getRawInfo() const {
  177     return cast<Constant>(getArgOperand(InfoArg)->stripPointerCasts());
  180   void setInfo(Constant *C) { setArgOperand(InfoArg, C); }
  342     return cast<Constant>(getArgOperand(FromArg))->isOneValue();
  385     return cast<Constant>(getArgOperand(FinalArg))->isOneValue();
  447     return cast<Constant>(getArgOperand(UnwindArg))->isOneValue();
lib/Transforms/Coroutines/CoroSplit.cpp
  799   auto *SizeConstant = ConstantInt::get(SizeIntrin->getType(), Size);
  824   SmallVector<Constant *, 4> Args(Fns.begin(), Fns.end());
  830   auto *ConstVal = ConstantArray::get(ArrTy, Args);
  837   auto *BC = ConstantExpr::getPointerCast(GV, Type::getInt8PtrTy(C));
lib/Transforms/IPO/Attributor.cpp
  992   } else if (auto *RVC = dyn_cast<Constant>(UniqueRV.getValue())) {
  992   } else if (auto *RVC = dyn_cast<Constant>(UniqueRV.getValue())) {
  999             Constant *RVCCast =
 1006       Constant *RVCCast =
 1173           isa<Constant>(RetVal))
 1210       } else if (isa<Constant>(RetVal)) {
 2038       if (Constant *C = dyn_cast<Constant>(&RV))
 2038       if (Constant *C = dyn_cast<Constant>(&RV))
 3184       if (isa<Constant>(It.first)) {
 3373     if (auto *C = dyn_cast<Constant>(SimplifiedAssociatedValue.getValue())) {
 3373     if (auto *C = dyn_cast<Constant>(SimplifiedAssociatedValue.getValue())) {
 3458     if (isa<Constant>(V) || isa<UndefValue>(V))
 3572       Constant *Size;
lib/Transforms/IPO/CalledValuePropagation.cpp
  130       } else if (auto *C = dyn_cast<Constant>(Key.getPointer())) {
  130       } else if (auto *C = dyn_cast<Constant>(Key.getPointer())) {
  230   CVPLatticeVal computeConstant(Constant *C) {
lib/Transforms/IPO/ConstantMerge.cpp
  116   Constant *NewConstant = New;
  141   DenseMap<Constant *, GlobalVariable *> CMap;
  181       Constant *Init = GV->getInitializer();
  212       Constant *Init = GV->getInitializer();
lib/Transforms/IPO/ElimAvailExtern.cpp
   40       Constant *Init = GV.getInitializer();
lib/Transforms/IPO/FunctionAttrs.cpp
  870     if (Constant *C = dyn_cast<Constant>(RetVal)) {
  870     if (Constant *C = dyn_cast<Constant>(RetVal)) {
lib/Transforms/IPO/GlobalDCE.cpp
  107   } else if (auto *CE = dyn_cast<Constant>(V)) {
  107   } else if (auto *CE = dyn_cast<Constant>(V)) {
  209     Constant *Ptr =
  360         Constant *Init = GV.getInitializer();
lib/Transforms/IPO/GlobalOpt.cpp
  161     if (isa<Constant>(V))
  212       if (isa<Constant>(V)) {
  220       if (isa<Constant>(MSI->getValue())) {
  241     } else if (Constant *C = dyn_cast<Constant>(U)) {
  241     } else if (Constant *C = dyn_cast<Constant>(U)) {
  276     Value *V, Constant *Init, const DataLayout &DL,
  304         Constant *SubInit = nullptr;
  323       Constant *SubInit = nullptr;
  334           SubInit = Constant::getNullValue(GEP->getResultElementType());
  348     } else if (Constant *C = dyn_cast<Constant>(U)) {
  348     } else if (Constant *C = dyn_cast<Constant>(U)) {
  370   if (U->getNumOperands() < 3 || !isa<Constant>(U->getOperand(1)) ||
  371       !cast<Constant>(U->getOperand(1))->isNullValue())
  400   if (Constant *C = dyn_cast<Constant>(V))
  400   if (Constant *C = dyn_cast<Constant>(V))
  468   Constant *Init = GV->getInitializer();
  484       Constant *In = Init->getAggregateElement(i);
  519       Constant *In = Init->getAggregateElement(i);
  548   Constant *NullInt =Constant::getNullValue(Type::getInt32Ty(GV->getContext()));
  548   Constant *NullInt =Constant::getNullValue(Type::getInt32Ty(GV->getContext()));
  570         SmallVector<Constant*, 8> Idxs;
  575             ConstantExpr::getGetElementPtr(NewTy, cast<Constant>(NewPtr), Idxs);
  679 static bool OptimizeAwayTrappingUsesOfValue(Value *V, Constant *NewV) {
  724       SmallVector<Constant*, 8> Idxs;
  728         if (Constant *C = dyn_cast<Constant>(*i))
  728         if (Constant *C = dyn_cast<Constant>(*i))
  751     GlobalVariable *GV, Constant *LV, const DataLayout &DL,
  819       if (Constant *NewC = ConstantFoldInstruction(I, DL, TLI)) {
  877   Constant *RepValue = NewGV;
 1209                               Constant::getNullValue(NPtr->getType()),
 1305         Constant::getNullValue(PFieldTy), GV->getName() + ".f" + Twine(FieldNo),
 1335   Constant *ConstantZero = ConstantInt::get(CI->getArgOperand(0)->getType(), 0);
 1340                              Constant::getNullValue(FieldMallocs[i]->getType()),
 1368                               Constant::getNullValue(GVVal->getType()));
 1378     new StoreInst(Constant::getNullValue(GVVal->getType()), FieldGlobals[i],
 1416       Constant *Null = Constant::getNullValue(ValTy);
 1416       Constant *Null = Constant::getNullValue(ValTy);
 1583     if (Constant *SOVC = dyn_cast<Constant>(StoredOnceVal)) {
 1583     if (Constant *SOVC = dyn_cast<Constant>(StoredOnceVal)) {
 1606 static bool TryToShrinkGlobalToBoolean(GlobalVariable *GV, Constant *OtherVal) {
 1638   Constant *InitVal = GV->getInitializer();
 1864 static bool allNonInstructionUsersCanBeMadeInstructions(Constant *C) {
 1890 static void makeAllConstantUsesInstructions(Constant *C) {
 2023     if (Constant *SOVConstant = dyn_cast<Constant>(GS.StoredOnceValue))
 2023     if (Constant *SOVConstant = dyn_cast<Constant>(GS.StoredOnceValue))
 2049     if (Constant *SOVConstant = dyn_cast<Constant>(GS.StoredOnceValue)) {
 2049     if (Constant *SOVConstant = dyn_cast<Constant>(GS.StoredOnceValue)) {
 2365       if (auto *C = dyn_cast<Constant>(GV->getInitializer())) {
 2365       if (auto *C = dyn_cast<Constant>(GV->getInitializer())) {
 2370         Constant *New = ConstantFoldConstant(C, DL, /*TLI*/ nullptr);
 2388 static Constant *EvaluateStoreInto(Constant *Init, Constant *Val,
 2388 static Constant *EvaluateStoreInto(Constant *Init, Constant *Val,
 2388 static Constant *EvaluateStoreInto(Constant *Init, Constant *Val,
 2396   SmallVector<Constant*, 32> Elts;
 2431 static void CommitValueTo(Constant *Val, Constant *Addr) {
 2431 static void CommitValueTo(Constant *Val, Constant *Addr) {
 2484 static void BatchCommitValueTo(const DenseMap<Constant*, Constant*> &Mem) {
 2484 static void BatchCommitValueTo(const DenseMap<Constant*, Constant*> &Mem) {
 2485   SmallVector<std::pair<GlobalVariable*, Constant*>, 32> GVs;
 2486   SmallVector<std::pair<ConstantExpr*, Constant*>, 32> ComplexCEs;
 2487   SmallVector<std::pair<ConstantExpr*, Constant*>, 32> SimpleCEs;
 2520   SmallVector<Constant *, 32> Elts;
 2525     Constant *Init = GV->getInitializer();
 2556     Constant *Val = CEPair.second;
 2574   Constant *RetValDummy;
 2593 static int compareNames(Constant *const *A, Constant *const *B) {
 2593 static int compareNames(Constant *const *A, Constant *const *B) {
 2609   SmallVector<Constant *, 8> UsedArray;
 2611     Constant *Cast
 2736   Constant *Aliasee = GA.getAliasee();
 2777     Constant *Aliasee = J->getAliasee();
 2900     CI->replaceAllUsesWith(Constant::getNullValue(CI->getType()));
lib/Transforms/IPO/GlobalSplit.cpp
   56     if (!isa<Constant>(U))
  126     auto *NewGEP = ConstantExpr::getGetElementPtr(
lib/Transforms/IPO/IPConstantPropagation.cpp
   55   SmallVector<std::pair<Constant*, bool>, 16> ArgumentConstants;
   86       Constant *C = dyn_cast_or_null<Constant>(V);
   86       Constant *C = dyn_cast_or_null<Constant>(V);
  199           if (isa<Constant>(V) || isa<Argument>(V)) {
lib/Transforms/IPO/LowerTypeTests.cpp
  418     Constant *OffsetedGlobal;
  422     Constant *AlignLog2;
  426     Constant *SizeM1;
  429     Constant *TheByteArray;
  432     Constant *BitMask;
  435     Constant *InlineBits;
  457       ArrayRef<Metadata *> TypeIds, Constant *CombinedGlobalAddr,
  481   void replaceWeakDeclarationWithJumpTablePtr(Function *F, Constant *JT,
  484   void findGlobalVariableUsersOf(Constant *C,
  630   Constant *ByteArrayConst = ConstantDataArray::get(M.getContext(), BAB.Bytes);
  638     Constant *Idxs[] = {ConstantInt::get(IntPtrTy, 0),
  640     Constant *GEP = ConstantExpr::getInBoundsGetElementPtr(
  668     Constant *ByteArray = TIL.TheByteArray;
  744   Constant *OffsetedGlobalAsInt =
  822   std::vector<Constant *> GlobalInits;
  857   Constant *NewInit = ConstantStruct::getAnon(M.getContext(), GlobalInits);
  873     Constant *CombinedGlobalIdxs[] = {ConstantInt::get(Int32Ty, 0),
  875     Constant *CombinedGlobalElemPtr = ConstantExpr::getGetElementPtr(
  964     Constant *C = M.getOrInsertGlobal(("__typeid_" + TypeId + "_" + Name).str(),
  975       Constant *C =
  982     Constant *C = ImportGlobal(Name);
 1107     ArrayRef<Metadata *> TypeIds, Constant *CombinedGlobalAddr,
 1272   GV->setInitializer(Constant::getNullValue(GV->getValueType()));
 1276     Constant *C, SmallSetVector<GlobalVariable *, 8> &Out) {
 1280     else if (auto *C2 = dyn_cast<Constant>(U))
 1280     else if (auto *C2 = dyn_cast<Constant>(U))
 1287     Function *F, Constant *JT, bool IsJumpTableCanonical) {
 1303   Constant *Target = ConstantExpr::getSelect(
 1305                             Constant::getNullValue(F->getType())),
 1306       JT, Constant::getNullValue(F->getType()));
 1510       Constant *CombinedGlobalElemPtr = ConstantExpr::getBitCast(
 1714   SmallSetVector<Constant *, 4> Constants;
 1730     if (auto *C = dyn_cast<Constant>(U.getUser())) {
 1730     if (auto *C = dyn_cast<Constant>(U.getUser())) {
 1743   for (auto *C : Constants)
lib/Transforms/IPO/MergeFunctions.cpp
  446   Constant *BitcastNew = ConstantExpr::getBitCast(New, Old->getType());
  766   Constant *BitcastF = ConstantExpr::getBitCast(F, G->getType());
  837         Constant *BitcastF = ConstantExpr::getBitCast(F, G->getType());
lib/Transforms/IPO/StripSymbols.cpp
  140 static void RemoveDeadConstant(Constant *C) {
  142   SmallPtrSet<Constant*, 4> Operands;
  145       Operands.insert(cast<Constant>(Op));
  155   for (Constant *O : Operands)
  254   std::vector<Constant*> DeadConstants;
  264         if (Constant *C = dyn_cast<Constant>(Arg1))
  264         if (Constant *C = dyn_cast<Constant>(Arg1))
  270         if (Constant *C = dyn_cast<Constant>(Arg2))
  270         if (Constant *C = dyn_cast<Constant>(Arg2))
  277     Constant *C = DeadConstants.back();
lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
  187 void forEachVirtualFunction(Constant *C, function_ref<void(Function *)> Fn) {
  193     forEachVirtualFunction(cast<Constant>(Op), Fn);
lib/Transforms/IPO/WholeProgramDevirt.cpp
  500   void applySingleImplDevirt(VTableSlotInfo &SlotInfo, Constant *TheFn,
  507   void applyICallBranchFunnel(VTableSlotInfo &SlotInfo, Constant *JT,
  534                     Constant *C);
  540   Constant *importGlobal(VTableSlot Slot, ArrayRef<uint64_t> Args,
  542   Constant *importConstant(VTableSlot Slot, ArrayRef<uint64_t> Args,
  546   Constant *getMemberAddr(const TypeMemberInfo *M);
  549                             Constant *UniqueMemberAddr);
  557                              Constant *Byte, Constant *Bit);
  557                              Constant *Byte, Constant *Bit);
  819     Constant *Ptr = getPointerAtOffset(TM.Bits->GV->getInitializer(),
  869                                          Constant *TheFn, bool &IsExported) {
 1087                                           Constant *JT, bool &IsExported) {
 1171     SmallVector<Constant *, 2> EvalArgs;
 1173         Constant::getNullValue(Target.Fn->getFunctionType()->getParamType(0)));
 1182     Constant *RetVal;
 1241                                 StringRef Name, Constant *C) {
 1260 Constant *DevirtModule::importGlobal(VTableSlot Slot, ArrayRef<uint64_t> Args,
 1262   Constant *C = M.getOrInsertGlobal(getGlobalName(Slot, Args, Name), Int8Ty);
 1269 Constant *DevirtModule::importConstant(VTableSlot Slot, ArrayRef<uint64_t> Args,
 1275   Constant *C = importGlobal(Slot, Args, Name);
 1300                                         Constant *UniqueMemberAddr) {
 1313 Constant *DevirtModule::getMemberAddr(const TypeMemberInfo *M) {
 1314   Constant *C = ConstantExpr::getBitCast(M->Bits->GV, Int8PtrTy);
 1338     Constant *UniqueMemberAddr = getMemberAddr(UniqueMember);
 1368                                          Constant *Byte, Constant *Bit) {
 1368                                          Constant *Byte, Constant *Bit) {
 1482     Constant *ByteConst = ConstantInt::get(Int32Ty, OffsetByte);
 1483     Constant *BitConst = ConstantInt::get(Int8Ty, 1ULL << OffsetBit);
 1695     Constant *SingleImpl =
 1696         cast<Constant>(M.getOrInsertFunction(Res.SingleImplName,
 1720       Constant *UniqueMemberAddr =
 1727       Constant *Byte = importConstant(Slot, CSByConstantArg.first, "byte",
 1729       Constant *Bit = importConstant(Slot, CSByConstantArg.first, "bit", Int8Ty,
 1742     Constant *JT = cast<Constant>(
 1742     Constant *JT = cast<Constant>(
lib/Transforms/InstCombine/InstCombineAddSub.cpp
  470     InstQuota = ((!isa<Constant>(V0) && V0->hasOneUse()) &&
  471                  (!isa<Constant>(V1) && V1->hasOneUse())) ? 2 : 1;
  830   Constant *Op1C;
  841     Constant *NewC =
  848   Constant *NarrowC;
  850     Constant *WideC = ConstantExpr::getSExt(NarrowC, Ty);
  851     Constant *NewC = ConstantExpr::getAdd(WideC, Op1C);
  857     Constant *WideC = ConstantExpr::getZExt(NarrowC, Ty);
  858     Constant *NewC = ConstantExpr::getAdd(WideC, Op1C);
  868   Constant *Op1C;
  876   Constant *Op00C;
 1066   Constant *MinusOne = Constant::getAllOnesValue(NBits->getType());
 1066   Constant *MinusOne = Constant::getAllOnesValue(NBits->getType());
 1134   Constant *C;
 1180   Constant *SignExtendingValueBaseConstant;
 1249         Constant *ShAmt = ConstantInt::get(Ty, ExtendAmt);
 1541         Constant *CI =
 1696       if (cast<Constant>(Op1)->isNotMinSignedValue() && I.hasNoSignedWrap())
 1729   if (Constant *C = dyn_cast<Constant>(Op0)) {
 1729   if (Constant *C = dyn_cast<Constant>(Op0)) {
 1761     Constant *C2;
 1886     Constant *C = nullptr;
 1903       Constant *NegDivC = ConstantInt::get(I.getType(), -(*DivC));
 2032   Constant *C;
 2112   Constant *C;
 2127   if (isa<Constant>(Op0))
 2183       Constant *CSubOne = ConstantExpr::getFSub(C, ConstantFP::get(Ty, 1.0));
 2188       Constant *OneSubC = ConstantExpr::getFSub(ConstantFP::get(Ty, 1.0), C);
lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
   58   if (Constant *TorF = getPredForICmpCode(Code, Sign, LHS->getType(), NewPred))
  184   Constant *HiMinusLo = ConstantInt::get(Ty, Hi - Lo);
  339       L12 = Constant::getAllOnesValue(L1->getType());
  344       L22 = Constant::getAllOnesValue(L2->getType());
  374       R12 = Constant::getAllOnesValue(R1->getType());
  398       R12 = Constant::getAllOnesValue(R2->getType());
  656     Value *Zero = Constant::getNullValue(A->getType());
 1483   if (CI->getSrcTy() == CI->getDestTy() || isa<Constant>(CastSrc))
 1498   Constant *C = dyn_cast<Constant>(Logic.getOperand(1));
 1498   Constant *C = dyn_cast<Constant>(Logic.getOperand(1));
 1512     Constant *TruncC = ConstantExpr::getTrunc(C, SrcTy);
 1513     Constant *ZextTruncC = ConstantExpr::getZExt(TruncC, DestTy);
 1522     Constant *TruncC = ConstantExpr::getTrunc(C, SrcTy);
 1523     Constant *SextTruncC = ConstantExpr::getSExt(TruncC, DestTy);
 1655 static bool canNarrowShiftAmt(Constant *C, unsigned BitWidth) {
 1663       Constant *Elt = C->getAggregateElement(i);
 1688   Constant *C;
 1765       Constant *NewC = ConstantInt::get(I.getType(), *C & *XorC);
 1798       if (!isa<Constant>(Y) && MaskedValueIsZero(Y, NotAndMask, 0, &I)) {
 1831             auto *TruncC1 = ConstantExpr::getTrunc(C1, X->getType());
 1838             auto *TruncC2 = ConstantExpr::getTrunc(AndRHS, X->getType());
 1860         Constant *C3 = ConstantExpr::getTrunc(YC, I.getType());
 1957     return SelectInst::Create(A, Op1, Constant::getNullValue(I.getType()));
 1960     return SelectInst::Create(A, Op0, Constant::getNullValue(I.getType()));
 2090 static bool areInverseVectorBitmasks(Constant *C1, Constant *C2) {
 2090 static bool areInverseVectorBitmasks(Constant *C1, Constant *C2) {
 2093     Constant *EltC1 = C1->getAggregateElement(i);
 2094     Constant *EltC2 = C2->getAggregateElement(i);
 2129   Constant *AConst, *BConst;
 2925   Constant *C;
 3046       if (isa<Constant>(X) || NotVal->hasOneUse())
 3059     Constant *C;
 3075   Constant *C1;
 3077     Constant *C2;
 3104         Constant *NewC = ConstantInt::get(I.getType(), *C + *RHSC);
 3109         Constant *NewC = ConstantInt::get(I.getType(), *C + *RHSC);
 3116         Constant *NewC = ConstantInt::get(I.getType(), *C ^ *RHSC);
lib/Transforms/InstCombine/InstCombineCalls.cpp
   95 static Constant *getNegativeIsTrueBoolVec(ConstantDataVector *V) {
   96   SmallVector<Constant *, 32> BoolVec;
   99     Constant *Elt = V->getElementAsConstant(I);
  130     MI->setLength(Constant::getNullValue(MI->getLength()->getType()));
  223   MI->setLength(Constant::getNullValue(MemOpLength->getType()));
  240     MI->setLength(Constant::getNullValue(MI->getLength()->getType()));
  279     MI->setLength(Constant::getNullValue(LenC->getType()));
  467   auto *CShift = dyn_cast<Constant>(II.getArgOperand(1));
  467   auto *CShift = dyn_cast<Constant>(II.getArgOperand(1));
  482     auto *CElt = CShift->getAggregateElement(I);
  509     SmallVector<Constant *, 8> ConstantVec;
  526   SmallVector<Constant *, 8> ShiftVecAmts;
  567   if (!isa<Constant>(Arg0) || !isa<Constant>(Arg1))
  567   if (!isa<Constant>(Arg0) || !isa<Constant>(Arg1))
  589   auto *MinC = Constant::getIntegerValue(ArgTy, MinValue);
  589   auto *MinC = Constant::getIntegerValue(ArgTy, MinValue);
  590   auto *MaxC = Constant::getIntegerValue(ArgTy, MaxValue);
  590   auto *MaxC = Constant::getIntegerValue(ArgTy, MaxValue);
  618     return Constant::getNullValue(ResTy);
  634   Res = Builder.CreateICmpSLT(Res, Constant::getNullValue(IntegerVecTy));
  731     Constant *Args[] = {ConstantInt::get(IntTy64, Val),
  737   Constant *C0 = dyn_cast<Constant>(Op0);
  737   Constant *C0 = dyn_cast<Constant>(Op0);
  777       SmallVector<Constant *, 16> ShuffleMask;
  780             Constant::getIntegerValue(IntTy32, APInt(32, i + Index)));
  783             Constant::getIntegerValue(IntTy32, APInt(32, i + 16)));
  857     SmallVector<Constant *, 16> ShuffleMask;
  859       ShuffleMask.push_back(Constant::getIntegerValue(IntTy32, APInt(32, i)));
  862           Constant::getIntegerValue(IntTy32, APInt(32, i + 16)));
  864       ShuffleMask.push_back(Constant::getIntegerValue(IntTy32, APInt(32, i)));
  875   Constant *C0 = dyn_cast<Constant>(Op0);
  875   Constant *C0 = dyn_cast<Constant>(Op0);
  876   Constant *C1 = dyn_cast<Constant>(Op1);
  876   Constant *C1 = dyn_cast<Constant>(Op1);
  893     Constant *Args[] = {ConstantInt::get(IntTy64, Val.getZExtValue()),
  902     Constant *CILength = ConstantInt::get(IntTy8, Length, false);
  903     Constant *CIIndex = ConstantInt::get(IntTy8, Index, false);
  917   Constant *V = dyn_cast<Constant>(II.getArgOperand(1));
  917   Constant *V = dyn_cast<Constant>(II.getArgOperand(1));
  928   Constant *Indexes[64] = {nullptr};
  933     Constant *COp = V->getAggregateElement(I);
  957   auto V2 = Constant::getNullValue(VecTy);
  964   Constant *V = dyn_cast<Constant>(II.getArgOperand(1));
  964   Constant *V = dyn_cast<Constant>(II.getArgOperand(1));
  976   Constant *Indexes[16] = {nullptr};
  980     Constant *COp = V->getAggregateElement(I);
 1014   auto *V = dyn_cast<Constant>(II.getArgOperand(1));
 1014   auto *V = dyn_cast<Constant>(II.getArgOperand(1));
 1025   Constant *Indexes[64] = {nullptr};
 1028     Constant *COp = V->getAggregateElement(I);
 1077   auto *ConstMask = dyn_cast<Constant>(II.getArgOperand(3));
 1077   auto *ConstMask = dyn_cast<Constant>(II.getArgOperand(3));
 1123   auto *ConstMask = dyn_cast<Constant>(II.getArgOperand(3));
 1123   auto *ConstMask = dyn_cast<Constant>(II.getArgOperand(3));
 1227     auto *C = ConstantInt::get(Op0->getType(), DefiniteZeros);
 1301   Constant *ZeroVec = Constant::getNullValue(II.getType());
 1301   Constant *ZeroVec = Constant::getNullValue(II.getType());
 1323   Constant *BoolMask = getNegativeIsTrueBoolVec(ConstMask);
 1366   Constant *BoolMask = getNegativeIsTrueBoolVec(ConstMask);
 1403   auto *C = dyn_cast<Constant>(II.getArgOperand(1));
 1403   auto *C = dyn_cast<Constant>(II.getArgOperand(1));
 1417     Constant *COp = C->getAggregateElement(I);
 1429   auto *ShuffleMask = ConstantDataVector::get(II.getContext(),
 1432   auto *V2 = Constant::getNullValue(V1->getType());
 1432   auto *V2 = Constant::getNullValue(V1->getType());
 1761   if (isa<Constant>(Arg0) && !isa<Constant>(Arg1)) {
 1761   if (isa<Constant>(Arg0) && !isa<Constant>(Arg1)) {
 1772   Constant *OverflowResult = nullptr;
 1805     if (Constant *NumBytes = dyn_cast<Constant>(MI->getLength())) {
 1805     if (Constant *NumBytes = dyn_cast<Constant>(MI->getLength())) {
 1949     Constant *ShAmtC;
 1953       Constant *WidthC = ConstantInt::get(Ty, BitWidth);
 1954       Constant *ModuloC = ConstantExpr::getURem(ShAmtC, WidthC);
 1968         Constant *LeftShiftC = ConstantExpr::getSub(WidthC, ShAmtC);
 2054     Constant *C;
 2109     Constant *C;
 2284     Constant *LHS, *RHS;
 2913     Constant *C1 = dyn_cast<Constant>(Op1);
 2913     Constant *C1 = dyn_cast<Constant>(Op1);
 2976     Constant *C1 = dyn_cast<Constant>(Op1);
 2976     Constant *C1 = dyn_cast<Constant>(Op1);
 3058       Constant *NewSelector = getNegativeIsTrueBoolVec(ConstantMask);
 3164     if (Constant *Mask = dyn_cast<Constant>(II->getArgOperand(2))) {
 3164     if (Constant *Mask = dyn_cast<Constant>(II->getArgOperand(2))) {
 3171         Constant *Elt = Mask->getAggregateElement(i);
 3272     if (Constant *CV0 = dyn_cast<Constant>(Arg0)) {
 3272     if (Constant *CV0 = dyn_cast<Constant>(Arg0)) {
 3273       if (Constant *CV1 = dyn_cast<Constant>(Arg1)) {
 3273       if (Constant *CV1 = dyn_cast<Constant>(Arg1)) {
 3285     if (Constant *CV1 = dyn_cast<Constant>(Arg1))
 3285     if (Constant *CV1 = dyn_cast<Constant>(Arg1))
 3485         Constant *Folded = ConstantVector::get({
 3626     if (isa<Constant>(Src0) && !isa<Constant>(Src1)) {
 3626     if (isa<Constant>(Src0) && !isa<Constant>(Src1)) {
 3631     if (isa<Constant>(Src1) && !isa<Constant>(Src2)) {
 3631     if (isa<Constant>(Src1) && !isa<Constant>(Src2)) {
 3636     if (isa<Constant>(Src0) && !isa<Constant>(Src1)) {
 3636     if (isa<Constant>(Src0) && !isa<Constant>(Src1)) {
 3676     if (auto *CSrc0 = dyn_cast<Constant>(Src0)) {
 3676     if (auto *CSrc0 = dyn_cast<Constant>(Src0)) {
 3677       if (auto *CSrc1 = dyn_cast<Constant>(Src1)) {
 3677       if (auto *CSrc1 = dyn_cast<Constant>(Src1)) {
 3678         Constant *CCmp = ConstantExpr::getCompare(CCVal, CSrc0, CSrc1);
 3799     if (!isa<Constant>(II->getArgOperand(0)))
 3831     if (Constant *C = dyn_cast<Constant>(II->getArgOperand(0)))
 3831     if (Constant *C = dyn_cast<Constant>(II->getArgOperand(0)))
 4333           Constant::getNullValue(CalleeF->getType()));
 4588     Args.push_back(Constant::getNullValue(FT->getParamType(i)));
 4795       Constant *NewCallee =
 4836   Constant *NewCallee = ConstantExpr::getBitCast(NestF, CalleeTy);
lib/Transforms/InstCombine/InstCombineCasts.cpp
  163   if (Constant *C = dyn_cast<Constant>(V)) {
  163   if (Constant *C = dyn_cast<Constant>(V)) {
  166     if (Constant *FoldedC = ConstantFoldConstant(C, DL, &TLI))
  306   if (isa<Constant>(V))
  598     Constant *C;
  601       Constant *NarrowC = ConstantExpr::getTrunc(C, DestTy);
  607       Constant *NarrowC = ConstantExpr::getTrunc(C, DestTy);
  644     Constant *NarrowUndef = UndefValue::get(Trunc.getType());
  724     Value *Zero = Constant::getNullValue(Src->getType());
  770       return replaceInstUsesWith(CI, Constant::getNullValue(DestTy));
  868         Constant *One = ConstantInt::get(In->getType(), 1);
  897           Constant *Res = ConstantInt::get(CI.getType(), isNE);
  911           Constant *One = ConstantInt::get(In->getType(), 1);
 1133     Constant *C = ConstantInt::get(Res->getType(),
 1156       Constant *AndConst = ConstantInt::get(A->getType(), AndValue);
 1204   Constant *C;
 1216     Constant *ZC = ConstantExpr::getZExt(C, CI.getType());
 1409     Constant *ShAmt = ConstantInt::get(DestTy, DestBitSize - SrcBitSize);
 1438     Constant *ShAmtV = ConstantInt::get(CI.getType(), ShAmt);
 1477   auto *CV = dyn_cast<Constant>(V);
 1477   auto *CV = dyn_cast<Constant>(V);
 1864     V2 = Constant::getNullValue(SrcTy);
 1910     if (Constant *C = dyn_cast<Constant>(V))
 1910     if (Constant *C = dyn_cast<Constant>(V))
 1926   if (Constant *C = dyn_cast<Constant>(V)) {
 1926   if (Constant *C = dyn_cast<Constant>(V)) {
 1947       Constant *Piece = ConstantExpr::getLShr(C, ConstantInt::get(C->getType(),
 2020   Value *Result = Constant::getNullValue(CI.getType());
 2073       X->getType() == DestTy && !isa<Constant>(X)) {
 2080       X->getType() == DestTy && !isa<Constant>(X)) {
 2090   Constant *C;
 2129       !isa<Constant>(X)) {
 2136       !isa<Constant>(X)) {
 2183       if (isa<Constant>(IncValue))
 2234       if (auto *C = dyn_cast<Constant>(V)) {
 2234       if (auto *C = dyn_cast<Constant>(V)) {
 2365                      Constant::getNullValue(Type::getInt32Ty(CI.getContext())));
 2397                      Constant::getNullValue(Type::getInt32Ty(CI.getContext())));
lib/Transforms/InstCombine/InstCombineCompares.cpp
  149   Constant *Init = GV->getInitializer();
  165       isa<Constant>(GEP->getOperand(2)))
  222   Constant *CompareRHS = cast<Constant>(ICI.getOperand(1));
  222   Constant *CompareRHS = cast<Constant>(ICI.getOperand(1));
  224     Constant *Elt = Init->getAggregateElement(i);
  235     Constant *C = ConstantFoldCompareInstOperands(ICI.getPredicate(), Elt,
  512   Constant *OffsetVal = ConstantInt::get(IntPtrTy, NewOffs);
  767   Constant *Index = ConstantInt::getNullValue(IndexType);
  777         Constant *GEPIndex = static_cast<Constant *>(GEP->getOperand(1));
  874                         Constant::getNullValue(Offset->getType()));
  878       isa<Constant>(RHS) && cast<Constant>(RHS)->isNullValue() &&
  878       isa<Constant>(RHS) && cast<Constant>(RHS)->isNullValue() &&
  905                             cast<Constant>(RHS), Base->getType()));
 1113     Constant *R = ConstantInt::get(X->getType(),
 1205   auto *TorF = ConstantInt::get(I.getType(), I.getPredicate() == I.ICMP_NE);
 1244   auto *TorF = ConstantInt::get(I.getType(), I.getPredicate() == I.ICMP_NE);
 1354   Value *Mask = Builder.CreateAdd(Y, Constant::getAllOnesValue(Y->getType()));
 1370   Constant *C;
 1700       !Shift->isArithmeticShift() && !isa<Constant>(Shift->getOperand(0))) {
 1741       Constant *Zero = Constant::getNullValue(X->getType());
 1741       Constant *Zero = Constant::getNullValue(X->getType());
 1749       Constant *NegBOC =
 1750           ConstantExpr::getNeg(cast<Constant>(And->getOperand(1)));
 1773       Constant *ZextC1 = ConstantInt::get(WideType, C1.zext(WideScalarBits));
 1774       Constant *ZextC2 = ConstantInt::get(WideType, C2->zext(WideScalarBits));
 1789     Constant *One = cast<Constant>(And->getOperand(1));
 1789     Constant *One = cast<Constant>(And->getOperand(1));
 1804       if (auto *C = dyn_cast<Constant>(B)) {
 1804       if (auto *C = dyn_cast<Constant>(B)) {
 1855     return new ICmpInst(NewPred, X, SubOne(cast<Constant>(Cmp.getOperand(1))));
 1871       return new ICmpInst(NewPred, Trunc, Constant::getNullValue(NTy));
 1954                         Constant::getNullValue(Mul->getType()));
 1995     Constant *BitWidthMinusOne = ConstantInt::get(ShiftType, TypeBits - 1);
 2071       return new ICmpInst(Pred, X, Constant::getNullValue(ShType));
 2101     Constant *Mask = ConstantInt::get(
 2105     Constant *LShrC = ConstantInt::get(ShType, C.lshr(*ShiftAmt));
 2113     Constant *Mask = ConstantInt::get(
 2118                         And, Constant::getNullValue(ShType));
 2129                           And, Constant::getNullValue(ShType));
 2138                           And, Constant::getNullValue(ShType));
 2154     Constant *NewC =
 2248     Constant *Mask = ConstantInt::get(ShrTy, Val);
 2279   Constant *MaskC = ConstantInt::get(Ty, SignMask | (*DivisorC - 1));
 2610                         ConstantExpr::getNeg(cast<Constant>(Y)));
 2617                         ConstantExpr::getNeg(cast<Constant>(Y)));
 2659   if (PredB == ICmpInst::ICMP_SGT && isa<Constant>(RHS2)) {
 2662         getFlippedStrictnessPredicateAndConstant(PredB, cast<Constant>(RHS2));
 2771       (isa<Constant>(Op1) || isa<BitCastInst>(Op1))) {
 2795   Constant *Mask;
 2914   Constant *RHS = cast<Constant>(Cmp.getOperand(1));
 2914   Constant *RHS = cast<Constant>(Cmp.getOperand(1));
 2925                             Constant::getNullValue(BO->getType()));
 2934         Constant *SubC = ConstantExpr::getSub(RHS, cast<Constant>(BOp1));
 2934         Constant *SubC = ConstantExpr::getSub(RHS, cast<Constant>(BOp1));
 2954       if (Constant *BOC = dyn_cast<Constant>(BOp1)) {
 2954       if (Constant *BOC = dyn_cast<Constant>(BOp1)) {
 2969         Constant *SubC = ConstantExpr::getSub(cast<Constant>(BOp0), RHS);
 2969         Constant *SubC = ConstantExpr::getSub(cast<Constant>(BOp0), RHS);
 2983       Constant *NotBOC = ConstantExpr::getNot(cast<Constant>(BOp1));
 2983       Constant *NotBOC = ConstantExpr::getNot(cast<Constant>(BOp1));
 2995                             BO, Constant::getNullValue(RHS->getType()));
 3006         return new ICmpInst(Pred, BOp0, Constant::getNullValue(RHS->getType()));
 3072       auto *NewOp =
 3073           IsZero ? Constant::getNullValue(Ty) : Constant::getAllOnesValue(Ty);
 3073           IsZero ? Constant::getNullValue(Ty) : Constant::getAllOnesValue(Ty);
 3085           Cmp.getPredicate(), Or, Constant::getNullValue(Ty)));
 3170   Constant *RHSC = dyn_cast<Constant>(Op1);
 3170   Constant *RHSC = dyn_cast<Constant>(Op1);
 3182           Constant::getNullValue(LHSI->getOperand(0)->getType()));
 3198     if (Constant *C = dyn_cast<Constant>(LHSI->getOperand(1))) {
 3198     if (Constant *C = dyn_cast<Constant>(LHSI->getOperand(1))) {
 3202     if (Constant *C = dyn_cast<Constant>(LHSI->getOperand(2))) {
 3202     if (Constant *C = dyn_cast<Constant>(LHSI->getOperand(2))) {
 3246           Constant::getNullValue(LHSI->getOperand(0)->getType()));
 3500   if (!isa<Constant>(X) && !isa<Constant>(Y)) {
 3500   if (!isa<Constant>(X) && !isa<Constant>(Y)) {
 3520   auto *NewShAmt = dyn_cast_or_null<Constant>(
 3520   auto *NewShAmt = dyn_cast_or_null<Constant>(
 3542       Constant *NewShAmtSplat = NewShAmt->getType()->isVectorTy()
 3552       if (auto *C = dyn_cast<Constant>(NarrowestShift->getOperand(0))) {
 3552       if (auto *C = dyn_cast<Constant>(NarrowestShift->getOperand(0))) {
 3563       if (auto *C = dyn_cast<Constant>(WidestShift->getOperand(0))) {
 3563       if (auto *C = dyn_cast<Constant>(WidestShift->getOperand(0))) {
 3593                             Constant::getNullValue(WidestTy));
 3718                         Constant::getNullValue(Op1->getType()));
 3723     return new ICmpInst(Pred, Constant::getNullValue(Op0->getType()),
 3858     return new ICmpInst(Pred, Constant::getNullValue(Op1->getType()), B);
 3861     return new ICmpInst(Pred, D, Constant::getNullValue(Op0->getType()));
 3891       if (Constant *RHSC = dyn_cast<Constant>(Op1))
 3891       if (Constant *RHSC = dyn_cast<Constant>(Op1))
 3918                           Constant::getAllOnesValue(SRem->getType()));
 3922                           Constant::getNullValue(SRem->getType()));
 3966           Constant *Mask = ConstantInt::get(
 4014       auto *Zero = Constant::getNullValue(BO0->getType());
 4014       auto *Zero = Constant::getNullValue(BO0->getType());
 4131       return new ICmpInst(Pred, OtherVal, Constant::getNullValue(A->getType()));
 4139         Constant *NC = Builder.getInt(C1->getValue() ^ C2->getValue());
 4159     return new ICmpInst(Pred, OtherVal, Constant::getNullValue(A->getType()));
 4189       I.setOperand(1, Constant::getNullValue(Op1->getType()));
 4234       return new ICmpInst(Pred, And, Constant::getNullValue(Cst1->getType()));
 4346   auto *C = dyn_cast<Constant>(ICmp.getOperand(1));
 4346   auto *C = dyn_cast<Constant>(ICmp.getOperand(1));
 4354   Constant *Res1 = ConstantExpr::getTrunc(C, SrcTy);
 4355   Constant *Res2 = ConstantExpr::getCast(CastOp0->getOpcode(), Res1, DestTy);
 4382     return new ICmpInst(CmpInst::ICMP_SGT, X, Constant::getAllOnesValue(SrcTy));
 4387   return new ICmpInst(CmpInst::ICMP_SLT, X, Constant::getNullValue(SrcTy));
 4395   if (!isa<Constant>(ICmp.getOperand(1)) && !isa<CastInst>(ICmp.getOperand(1)))
 4423     } else if (auto *RHSC = dyn_cast<Constant>(ICmp.getOperand(1))) {
 4423     } else if (auto *RHSC = dyn_cast<Constant>(ICmp.getOperand(1))) {
 4472     Instruction &OrigI, Value *&Result, Constant *&Overflow) {
 4473   if (OrigI.isCommutative() && isa<Constant>(LHS) && !isa<Constant>(RHS))
 4473   if (OrigI.isCommutative() && isa<Constant>(LHS) && !isa<Constant>(RHS))
 4966   if (!isa<Constant>(Op0) && Op0Min == Op0Max)
 4968   if (!isa<Constant>(Op1) && Op1Min == Op1Max)
 5003           auto *CmpC = ConstantInt::get(XTy, ValToCheck.countTrailingZeros());
 5009           auto *CmpC = ConstantInt::get(XTy, ValToCheck.countTrailingZeros());
 5047                             Constant::getNullValue(Op1->getType()));
 5069                             Constant::getNullValue(Op1->getType()));
 5151 llvm::Optional<std::pair<CmpInst::Predicate, Constant *>>
 5153                                                Constant *C) {
 5177       Constant *Elt = C->getAggregateElement(i);
 5198   Constant *OneOrNegOne = ConstantInt::get(Type, WillIncrement ? 1 : -1, true);
 5199   Constant *NewC = ConstantExpr::getAdd(C, OneOrNegOne);
 5215   auto *Op1C = dyn_cast<Constant>(Op1);
 5215   auto *Op1C = dyn_cast<Constant>(Op1);
 5353   Constant *Zero = Constant::getNullValue(NewX->getType());
 5353   Constant *Zero = Constant::getNullValue(NewX->getType());
 5363   Constant *M;
 5464       Constant *Zero = Constant::getNullValue(Op0->getType());
 5464       Constant *Zero = Constant::getNullValue(Op0->getType());
 5470       Constant *AllOnes = Constant::getAllOnesValue(Op0->getType());
 5470       Constant *AllOnes = Constant::getAllOnesValue(Op0->getType());
 5543       Constant *Overflow;
 5605                                                 Constant *RHSC) {
 5766   Constant *RHSInt = LHSUnsigned
 5844                                               Constant *RHSC) {
 5982       I.setOperand(1, Constant::getNullValue(OpType));
 5991       I.setOperand(1, Constant::getNullValue(OpType));
 6038   Constant *RHSC;
 6074     Constant *C;
 6076       Constant *NegC = ConstantExpr::getFNeg(C);
 6102         Constant *NewC = ConstantFP::get(X->getType(), TruncC);
lib/Transforms/InstCombine/InstCombineInternal.h
   92   return isa<Constant>(V) ? (isa<UndefValue>(V) ? 0 : 1) : 2;
  155 llvm::Optional<std::pair<CmpInst::Predicate, Constant *>>
  156 getFlippedStrictnessPredicateAndConstant(CmpInst::Predicate Pred, Constant *C);
  171 static inline Constant *AddOne(Constant *C) {
  171 static inline Constant *AddOne(Constant *C) {
  176 static inline Constant *SubOne(Constant *C) {
  176 static inline Constant *SubOne(Constant *C) {
  205       if (isa<Constant>(BO->getOperand(0)) || isa<Constant>(BO->getOperand(1)))
  205       if (isa<Constant>(BO->getOperand(0)) || isa<Constant>(BO->getOperand(1)))
  245 static inline Constant *getSafeVectorConstantForBinop(
  246       BinaryOperator::BinaryOps Opcode, Constant *In, bool IsRHSConstant) {
  250   auto *SafeC = ConstantExpr::getBinOpIdentity(Opcode, EltTy, IsRHSConstant);
  279         SafeC = Constant::getNullValue(EltTy);
  288   SmallVector<Constant *, 16> Out(NumElts);
  290     Constant *C = In->getAggregateElement(i);
  405   Instruction *FoldShiftByConstant(Value *Op0, Constant *Op1,
  501                              Constant *&OverflowResult);
  683                                    Constant *Overflow) {
  684     Constant *V[] = {UndefValue::get(Result->getType()), Overflow};
  686     Constant *Struct = ConstantStruct::get(ST, V);
  909                                     Constant *RHSC);
lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
  213       Value *NullIdx = Constant::getNullValue(IdxTy);
  226     return IC.replaceInstUsesWith(AI, Constant::getNullValue(AI.getType()));
  412         Constant *TheSrc = cast<Constant>(Copy->getSource());
  412         Constant *TheSrc = cast<Constant>(Copy->getSource());
  416         Constant *Cast =
  863   if (isa<Constant>(GEPI->getOperand(Idx)))
 1005                                   Constant::getNullValue(Op->getType()), &LI);
lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
  102 static Constant *getLogBase2(Type *Ty, Constant *C) {
  102 static Constant *getLogBase2(Type *Ty, Constant *C) {
  110   SmallVector<Constant *, 4> Elts;
  112     Constant *Elt = C->getAggregateElement(I);
  197     Constant *C1, *C2;
  203       Constant *Shl = ConstantExpr::getShl(C1, C2);
  216       if (Constant *NewCst = getLogBase2(NewOp->getType(), C1)) {
  264   if (isa<Constant>(Op1)) {
  267     Constant *C1;
  279   Constant *Op1C;
  422   Constant *C;
  438       Constant *C1;
  441         Constant *CC1 = ConstantExpr::getFMul(C, C1);
  447         Constant *CDivC1 = ConstantExpr::getFDiv(C, C1);
  453         Constant *C1DivC = ConstantExpr::getFDiv(C1, C);
  463         Constant *CC1 = ConstantExpr::getFMul(C, C1);
  469         Constant *CC1 = ConstantExpr::getFMul(C, C1);
  848   Constant *C1 = getLogBase2(Op0->getType(), cast<Constant>(Op1));
  848   Constant *C1 = getLogBase2(Op0->getType(), cast<Constant>(Op1));
  865   Constant *CI;
  869   Constant *Log2Base = getLogBase2(N->getType(), CI);
  934   Constant *C;
  938     Constant *TruncC = ConstantExpr::getTrunc(C, X->getType());
  946     Value *NarrowOp = isa<Constant>(D) ? Builder.CreateBinOp(Opcode, X, TruncC)
 1091       Constant *NarrowDivisor =
 1092           ConstantExpr::getTrunc(cast<Constant>(Op1), Op0Src->getType());
 1102       Constant *NegC = ConstantInt::get(I.getType(), -(*Op1C));
 1142   Constant *C;
 1161   auto *RecipC = ConstantExpr::getFDiv(ConstantFP::get(I.getType(), 1.0), C);
 1171   Constant *C;
 1184   Constant *C2, *NewC = nullptr;
 1218   if (isa<Constant>(Op0))
 1223   if (isa<Constant>(Op1))
 1231         (!isa<Constant>(Y) || !isa<Constant>(Op1))) {
 1231         (!isa<Constant>(Y) || !isa<Constant>(Op1))) {
 1237         (!isa<Constant>(Y) || !isa<Constant>(Op0))) {
 1237         (!isa<Constant>(Y) || !isa<Constant>(Op0))) {
 1318   if (isa<Constant>(Op1)) {
 1365     Constant *N1 = Constant::getAllOnesValue(Ty);
 1365     Constant *N1 = Constant::getAllOnesValue(Ty);
 1433     Constant *C = cast<Constant>(Op1);
 1433     Constant *C = cast<Constant>(Op1);
 1439       Constant *Elt = C->getAggregateElement(i);
 1451       SmallVector<Constant *, 16> Elts(VWidth);
 1460       Constant *NewRHSV = ConstantVector::get(Elts);
lib/Transforms/InstCombine/InstCombinePHI.cpp
  687     } else if (auto *C = dyn_cast<Constant>(V)) {
  687     } else if (auto *C = dyn_cast<Constant>(V)) {
  689       Constant *Trunc = ConstantExpr::getTrunc(C, NarrowType);
  742   Constant *ConstantOp = nullptr;
  757     ConstantOp = dyn_cast<Constant>(FirstInst->getOperand(1));
lib/Transforms/InstCombine/InstCombineSelect.cpp
   62   Constant *C;
   85   Constant *IdC = ConstantExpr::getBinOpIdentity(BO->getOpcode(), Ty, true);
  184       Constant *C = ConstantInt::get(SelType, TC);
  191       Constant *C = ConstantInt::get(SelType, FC);
  429     if (TVI->hasOneUse() && !isa<Constant>(FalseVal)) {
  445           if (!isa<Constant>(OOp) || (OOpIsAPInt && isSelect01(CI, *OOpC))) {
  460     if (FVI->hasOneUse() && !isa<Constant>(TrueVal)) {
  476           if (!isa<Constant>(OOp) || (OOpIsAPInt && isSelect01(CI, *OOpC))) {
  526   Constant *One = ConstantInt::get(SelType, 1);
  913   Constant *AdjustedRHS;
  931     Constant *SextRHS = ConstantExpr::getSExt(AdjustedRHS, SelTy);
  945       Constant *ZextRHS = ConstantExpr::getZExt(AdjustedRHS, SelTy);
  993   if (!Cmp.hasOneUse() || !isa<Constant>(Cmp.getOperand(1)))
 1031   if (!Cmp.hasOneUse() || !isa<Constant>(Cmp.getOperand(1)))
 1188   Constant *C0;
 1228   Constant *C1;
 1238   Constant *C2;
 1282   auto *ThresholdLowIncl = ConstantExpr::getNeg(C1);
 1283   auto *ThresholdHighExcl = ConstantExpr::getSub(C0, C1);
 1286   auto *Precond1 = ConstantExpr::getICmp(ICmpInst::Predicate::ICMP_SGE, C2,
 1291   auto *Precond2 = ConstantExpr::getICmp(ICmpInst::Predicate::ICMP_SLE, C2,
 1320   Constant *C0;
 1412   if (CmpRHS != CmpLHS && isa<Constant>(CmpRHS)) {
 1736   Constant *C;
 1763   Constant *TruncC = ConstantExpr::getTrunc(C, SmallType);
 1764   Constant *ExtC = ConstantExpr::getCast(ExtOpcode, TruncC, SelType);
 1782       Constant *One = ConstantInt::getTrue(SmallType);
 1783       Constant *AllOnesOrOne = ConstantExpr::getCast(ExtOpcode, One, SelType);
 1788       Constant *Zero = ConstantInt::getNullValue(SelType);
 1800   Constant *CondC;
 1805   SmallVector<Constant *, 16> Mask;
 1809     Constant *Elt = CondC->getAggregateElement(i);
lib/Transforms/InstCombine/InstCombineShifts.cpp
   83   auto *NewShAmt = dyn_cast_or_null<Constant>(
   83   auto *NewShAmt = dyn_cast_or_null<Constant>(
  142 static Constant *replaceUndefsWith(Constant *C, Constant *Replacement) {
  142 static Constant *replaceUndefsWith(Constant *C, Constant *Replacement) {
  142 static Constant *replaceUndefsWith(Constant *C, Constant *Replacement) {
  147     llvm::SmallVector<Constant *, 32> NewOps(CV->getNumOperands());
  149       Constant *EltC = CV->getOperand(i);
  204   Constant *NewMask;
  208     auto *SumOfShAmts = dyn_cast_or_null<Constant>(SimplifyAddInst(
  208     auto *SumOfShAmts = dyn_cast_or_null<Constant>(SimplifyAddInst(
  222     auto *ExtendedSumOfShAmts = ConstantExpr::getZExt(SumOfShAmts, ExtendedTy);
  224     auto *ExtendedAllOnes = ConstantExpr::getAllOnesValue(ExtendedTy);
  225     auto *ExtendedInvertedMask =
  232     auto *ShAmtsDiff = dyn_cast_or_null<Constant>(SimplifySubInst(
  232     auto *ShAmtsDiff = dyn_cast_or_null<Constant>(SimplifySubInst(
  247     auto *ExtendedNumHighBitsToClear = ConstantExpr::getZExt(
  254     auto *ExtendedAllOnes = ConstantExpr::getAllOnesValue(ExtendedTy);
  302   if (isa<Constant>(Op0))
  307   if (Constant *CUI = dyn_cast<Constant>(Op1))
  307   if (Constant *CUI = dyn_cast<Constant>(Op1))
  318   Constant *C;
  398   if (isa<Constant>(V))
  498       return Constant::getNullValue(ShType);
  534   if (Constant *C = dyn_cast<Constant>(V)) {
  534   if (Constant *C = dyn_cast<Constant>(V)) {
  540     if (auto *C = dyn_cast<Constant>(V))
  540     if (auto *C = dyn_cast<Constant>(V))
  541       if (auto *FoldedC =
  602 Instruction *InstCombiner::FoldShiftByConstant(Value *Op0, Constant *Op1,
  644       Constant *ShAmt =
  645           ConstantExpr::getZExt(cast<Constant>(Op1), TrOp->getType());
  702           Constant *Mask = ConstantInt::get(I.getContext(), Bits);
  737           Constant *Mask = ConstantInt::get(I.getContext(), Bits);
  767           Constant *NewRHS = ConstantExpr::get(I.getOpcode(),
  768                                      cast<Constant>(Op0BO->getOperand(1)), Op1);
  784         Constant *NewRHS = ConstantExpr::get(I.getOpcode(),
  785                                    cast<Constant>(Op0BO->getOperand(0)), Op1);
  808       if (!isa<Constant>(FalseVal) && TBO->getOperand(0) == FalseVal &&
  811         Constant *NewRHS = ConstantExpr::get(I.getOpcode(),
  812                                        cast<Constant>(TBO->getOperand(1)), Op1);
  827       if (!isa<Constant>(TrueVal) && FBO->getOperand(0) == TrueVal &&
  830         Constant *NewRHS = ConstantExpr::get(I.getOpcode(),
  831                                        cast<Constant>(FBO->getOperand(1)), Op1);
  892         Constant *ShiftDiff = ConstantInt::get(Ty, ShAmt - ShrAmt);
  900         Constant *ShiftDiff = ConstantInt::get(Ty, ShrAmt - ShAmt);
  934     Constant *AllOnes = ConstantInt::getAllOnesValue(Ty);
  939   Constant *C1;
  941     Constant *C2;
  953       auto *NewC = ConstantExpr::getShl(ConstantInt::get(Ty, 1), C1);
  993       Constant *RHS = ConstantInt::getSigned(Ty, IsPop ? -1 : 0);
 1003         Constant *ShiftDiff = ConstantInt::get(Ty, ShAmt - ShlAmt);
 1017         Constant *ShiftDiff = ConstantInt::get(Ty, ShlAmt - ShAmt);
 1088     Constant *AllOnes = ConstantInt::getAllOnesValue(Ty);
 1114   Constant *C1, *C2;
 1135   Constant *C0;
 1199         Constant *ShiftDiff = ConstantInt::get(Ty, ShAmt - ShlAmt);
 1206         Constant *ShiftDiff = ConstantInt::get(Ty, ShlAmt - ShAmt);
lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
  128   if (isa<Constant>(V)) {
  182       return Constant::getIntegerValue(VTy, IKnownOne);
  216       return Constant::getIntegerValue(VTy, IKnownOne);
  250       return Constant::getIntegerValue(VTy, IKnownOne);
  275       Constant *AndC = Constant::getIntegerValue(VTy,
  275       Constant *AndC = Constant::getIntegerValue(VTy,
  299         Constant *AndC =
  304         Constant *XorC =
  755     return Constant::getIntegerValue(VTy, Known.One);
  792       return Constant::getIntegerValue(ITy, IKnownOne);
  823       return Constant::getIntegerValue(ITy, IKnownOne);
  855       return Constant::getIntegerValue(ITy, IKnownOne);
  877       return Constant::getIntegerValue(ITy, Known.One);
  948       Constant *Amt = ConstantInt::get(VarX->getType(), ShlAmt - ShrAmt);
  954       Constant *Amt = ConstantInt::get(VarX->getType(), ShrAmt - ShlAmt);
 1110   if (auto *C = dyn_cast<Constant>(V)) {
 1110   if (auto *C = dyn_cast<Constant>(V)) {
 1117     Constant *Undef = UndefValue::get(EltTy);
 1118     SmallVector<Constant*, 16> Elts;
 1126       Constant *Elt = C->getAggregateElement(i);
 1138     Constant *NewCV = ConstantVector::get(Elts);
 1313       Constant *Value = nullptr;
 1342       SmallVector<Constant*, 16> Elts;
 1374         Constant *CElt = CV->getAggregateElement(i);
 1473           Constant *CElt = CV->getAggregateElement(i);
lib/Transforms/InstCombine/InstCombineVectorOps.cpp
   54   if (auto *C = dyn_cast<Constant>(V))
   54   if (auto *C = dyn_cast<Constant>(V))
  402       if (isa<Constant>(IE->getOperand(2)) && IndexC) {
  446                                          SmallVectorImpl<Constant*> &Mask) {
  539   SmallVector<Constant *, 16> ExtendMask;
  607                                          SmallVectorImpl<Constant *> &Mask,
  801   Constant *Zero = ConstantInt::get(Int32Ty, 0);
  806   SmallVector<Constant *, 16> Mask(NumElements, Zero);
  838   SmallVector<Constant *, 16> NewMaskVec(NumMaskElts);
  840   Constant *Zero = ConstantInt::getNullValue(I32Ty);
  844   Constant *NewMask = ConstantVector::get(NewMaskVec);
  874   SmallVector<Constant *, 16> NewMaskVec(NumMaskElts);
  876   Constant *NewMaskEltC = ConstantInt::get(I32Ty, IdxC);
  877   Constant *OldMask = Shuf->getMask();
  893   Constant *NewMask = ConstantVector::get(NewMaskVec);
  913   Constant *ScalarC;
  916       match(InsElt1->getOperand(1), m_Value(Y)) && !isa<Constant>(Y) &&
  938     Constant *ShufConstVec, *InsEltScalar;
  961     Constant *Mask = Shuf->getMask();
  963     SmallVector<Constant *, 16> NewShufElts(NumElts);
  964     SmallVector<Constant *, 16> NewMaskElts(NumElts);
  988     Constant *Val[2];
  994     SmallVector<Constant *, 16> Values(NumElts);
  995     SmallVector<Constant *, 16> Mask(NumElts);
 1082       SmallVector<Constant*, 16> Mask;
 1129   if (isa<Constant>(V))
 1301   if (Constant *C = dyn_cast<Constant>(V)) {
 1301   if (Constant *C = dyn_cast<Constant>(V)) {
 1302     SmallVector<Constant *, 16> MaskValues;
 1449       Constant *C;
 1451         Constant *ShlOne = ConstantExpr::getShl(ConstantInt::get(Ty, 1), C);
 1475   Constant *C;
 1489   Constant *IdC = ConstantExpr::getBinOpIdentity(BOpcode, Shuf.getType(), true);
 1497   Constant *Mask = Shuf.getMask();
 1498   Constant *NewC = Op0IsBinop ? ConstantExpr::getShuffleVector(C, IdC, Mask) :
 1528   Constant *Mask = Shuf.getMask();
 1540   Constant *Zero = Builder.getInt32(0);
 1548   SmallVector<Constant *, 16> NewMask(NumMaskElts, Zero);
 1581   Constant *C0, *C1;
 1605       C0 = cast<Constant>(AltB0.Op1);
 1609       C1 = cast<Constant>(AltB1.Op1);
 1620   Constant *Mask = Shuf.getMask();
 1621   Constant *NewC = ConstantExpr::getShuffleVector(C0, C1, Mask);
 1723   Constant *Mask;
 1744   SmallVector<Constant *, 16> NewMask(NumElts);
 1749     Constant *ExtractMaskElt = Shuf.getMask()->getAggregateElement(i);
 1750     Constant *MaskElt = Mask->getAggregateElement(i);
 1858   SmallVector<Constant *, 16> NewMask(Mask.size(), UndefValue::get(I32Ty));
 1902     SmallVector<Constant*, 16> Elts;
 2028         SmallVector<Constant *, 16> ShuffleMask(SrcNumElems,
 2225     SmallVector<Constant*, 16> Elts;
lib/Transforms/InstCombine/InstructionCombining.cpp
  274   Constant *C1, *C2;
  286   Constant *CastC2 = ConstantExpr::getCast(CastOpcode, C2, DestTy);
  287   Constant *FoldedC = ConstantExpr::get(AssocOpcode, C1, CastC2);
  433       Constant *C1, *C2;
  510   if (isa<Constant>(V))
  528     Constant *C;
  811       Constant *Elt = CV->getAggregateElement(i);
  835   bool ConstIsRHS = isa<Constant>(I.getOperand(1));
  836   Constant *ConstOperand = cast<Constant>(I.getOperand(ConstIsRHS));
  836   Constant *ConstOperand = cast<Constant>(I.getOperand(ConstIsRHS));
  838   if (auto *SOC = dyn_cast<Constant>(SO)) {
  838   if (auto *SOC = dyn_cast<Constant>(SO)) {
  864   if (!(isa<Constant>(TV) || isa<Constant>(FV)))
  864   if (!(isa<Constant>(TV) || isa<Constant>(FV)))
  909   bool ConstIsRHS = isa<Constant>(I->getOperand(1));
  910   Constant *C = cast<Constant>(I->getOperand(ConstIsRHS));
  910   Constant *C = cast<Constant>(I->getOperand(ConstIsRHS));
  912   if (auto *InC = dyn_cast<Constant>(InV)) {
  912   if (auto *InC = dyn_cast<Constant>(InV)) {
  955     if (isa<Constant>(InVal) && !isa<ConstantExpr>(InVal))
 1009       Constant *InC = dyn_cast<Constant>(PN->getIncomingValue(i));
 1009       Constant *InC = dyn_cast<Constant>(PN->getIncomingValue(i));
 1032     Constant *C = cast<Constant>(I.getOperand(1));
 1032     Constant *C = cast<Constant>(I.getOperand(1));
 1035       if (Constant *InC = dyn_cast<Constant>(PN->getIncomingValue(i)))
 1035       if (Constant *InC = dyn_cast<Constant>(PN->getIncomingValue(i)))
 1056       if (Constant *InC = dyn_cast<Constant>(PN->getIncomingValue(i)))
 1056       if (Constant *InC = dyn_cast<Constant>(PN->getIncomingValue(i)))
 1075   if (!isa<Constant>(I.getOperand(1)))
 1415   Constant *Mask;
 1488   Constant *C;
 1501     bool ConstOp1 = isa<Constant>(RHS);
 1506     SmallVector<Constant *, 16> NewVecC(SrcVecNumElts, UndefScalar);
 1509       Constant *CElt = C->getAggregateElement(I);
 1512         Constant *NewCElt = NewVecC[ShMask[I]];
 1534         Constant *MaybeUndef =
 1544       Constant *NewC = ConstantVector::get(NewVecC);
 1588     Constant *WideC;
 1591     Constant *NarrowC = ConstantExpr::getTrunc(WideC, X->getType());
 1670       if (!isa<Constant>(*I) || !match(I->get(), m_Zero())) {
 1671         *I = Constant::getNullValue(NewIndexType);
 1895     } else if (isa<Constant>(*GEP.idx_begin()) &&
 1896                cast<Constant>(*GEP.idx_begin())->isNullValue() &&
 2039         Value *Idx[2] = { Constant::getNullValue(IdxType), GEP.getOperand(1) };
 2118             Value *Off[2] = {Constant::getNullValue(IndTy), NewIdx};
 2552     RI.setOperand(0, Constant::getIntegerValue(VTy, Known.getConstant()));
 2561       !isa<Constant>(X)) {
 2599       Constant *NewCase = ConstantExpr::getSub(Case.getCaseValue(), AddRHS);
 2771 static bool isCatchAll(EHPersonality Personality, Constant *TypeInfo) {
 2815   SmallVector<Constant *, 16> NewClauses; // - Clauses for the new instruction;
 2823       Constant *CatchClause = LI.getClause(i);
 2824       Constant *TypeInfo = CatchClause->stripPointerCasts();
 2853       Constant *FilterClause = LI.getClause(i);
 2869       SmallVector<Constant *, 16> NewFilterElts; // New elements.
 2873         Constant *TypeInfo =
 2874           Constant::getNullValue(FilterType->getElementType());
 2897           Constant *Elt = Filter->getOperand(j);
 2898           Constant *TypeInfo = Elt->stripPointerCasts();
 2925             NewFilterElts.push_back(cast<Constant>(Elt));
 3017       SmallVectorImpl<Constant *>::iterator J = NewClauses.begin() + j;
 3225         (I->getNumOperands() == 0 || isa<Constant>(I->getOperand(0)))) {
 3226       if (Constant *C = ConstantFoldInstruction(I, DL, &TLI)) {
 3246         Constant *C = ConstantInt::get(Ty, Known.getConstant());
 3379   DenseMap<Constant *, Constant *> FoldedConstants;
 3379   DenseMap<Constant *, Constant *> FoldedConstants;
 3404           (Inst->getNumOperands() == 0 || isa<Constant>(Inst->getOperand(0))))
 3405         if (Constant *C = ConstantFoldInstruction(Inst, DL, TLI)) {
 3421         auto *C = cast<Constant>(U);
 3421         auto *C = cast<Constant>(U);
 3422         Constant *&FoldRes = FoldedConstants[C];
lib/Transforms/Instrumentation/AddressSanitizer.cpp
  682   Constant *AsanShadowGlobal;
  772                              ArrayRef<Constant *> MetadataInitializers);
  775                             ArrayRef<Constant *> MetadataInitializers,
  779                               ArrayRef<Constant *> MetadataInitializers);
  783                                      ArrayRef<Constant *> MetadataInitializers);
  785   GlobalVariable *CreateMetadataGlobal(Module &M, Constant *Initializer,
 1132     auto *V = mdconst::extract_or_null<Constant>(MDN->getOperand(0));
 1132     auto *V = mdconst::extract_or_null<Constant>(MDN->getOperand(0));
 1136     auto *StrippedV = V->stripPointerCasts();
 1252   Constant *LocData[] = {
 1699   Value *CmpVal = Constant::getNullValue(ShadowTy);
 2018 ModuleAddressSanitizer::CreateMetadataGlobal(Module &M, Constant *Initializer,
 2041     ArrayRef<Constant *> MetadataInitializers) {
 2046     Constant *Initializer = MetadataInitializers[i];
 2065     ArrayRef<Constant *> MetadataInitializers,
 2124     ArrayRef<Constant *> MetadataInitializers) {
 2134     Constant *Initializer = MetadataInitializers[i];
 2181     ArrayRef<Constant *> MetadataInitializers) {
 2245   SmallVector<Constant *, 16> Initializers(n);
 2282     Constant *NewInitializer = ConstantStruct::get(
 2283         NewTy, G->getInitializer(), Constant::getNullValue(RightRedZoneTy));
 2325     Constant *SourceLoc;
 2333     Constant *ODRIndicator = ConstantExpr::getNullValue(IRB.getInt8PtrTy());
 2355                              Constant::getNullValue(IRB.getInt8Ty()),
 2366     Constant *Initializer = ConstantStruct::get(
 2952   IRB.CreateStore(Constant::getNullValue(IntptrTy), DynamicAllocaLayout);
 3083     Constant *OptionDetectUseAfterReturn = F.getParent()->getOrInsertGlobal(
 3087         Constant::getNullValue(IRB.getInt32Ty()));
 3103         IRB.CreateICmpEQ(FakeStack, Constant::getNullValue(IntptrTy));
 3205           IRBRet.CreateICmpNE(FakeStack, Constant::getNullValue(IntptrTy));
 3222             Constant::getNullValue(IRBPoison.getInt8Ty()),
 3266   Value *Zero = Constant::getNullValue(IntptrTy);
lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
  331   Constant *ArgTLS;
  332   Constant *RetvalTLS;
  337   Constant *GetArgTLS;
  338   Constant *GetRetvalTLS;
  339   Constant *ExternalShadowMask;
  371   Constant *getOrBuildTrampolineFunction(FunctionType *FT, StringRef FName);
  680 Constant *DataFlowSanitizer::getOrBuildTrampolineFunction(FunctionType *FT,
  709   return cast<Constant>(C.getCallee());
 1602             Constant *T = DFSF.DFS.getOrBuildTrampolineFunction(ParamFT, TName);
lib/Transforms/Instrumentation/GCOVProfiling.cpp
  804                            Constant::getNullValue(CounterTy),
  983   Constant *Zero32 = Builder.getInt32(0);
  985   Constant *TwoZero32s[] = {Zero32, Zero32};
  987   SmallVector<Constant *, 8> FileInfos;
  997     auto *StartFileCallArgs = ConstantStruct::get(
 1002     SmallVector<Constant *, 8> EmitFunctionCallArgsArray;
 1003     SmallVector<Constant *, 8> EmitArcsCallArgsArray;
 1012                : Constant::getNullValue(Builder.getInt8PtrTy()),
 1215     Constant *Null = Constant::getNullValue(GV->getValueType());
 1215     Constant *Null = Constant::getNullValue(GV->getValueType());
lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
  289   Constant *ShadowGlobal;
  422     Constant *C = M.getOrInsertGlobal("__hwasan_tls", IntptrTy, [&] {
  842       GetStackPointerFn, {Constant::getNullValue(IRB.getInt32Ty())});
  979                        {Constant::getNullValue(IRB.getInt32Ty())}),
 1248   Constant *Initializer = GV->getInitializer();
 1257     Constant *Padding = ConstantDataArray::get(*C, Init);
 1293     auto *GVRelPtr = ConstantExpr::getTrunc(
 1301     auto *SizeAndTag = ConstantInt::get(Int32Ty, Size | (uint32_t(Tag) << 24));
 1310   Constant *Aliasee = ConstantExpr::getIntToPtr(
 1364   auto *Name = ConstantDataArray::get(*C, "LLVM\0\0\0");
 1395       Constant::getNullValue(Int8Arr0Ty), "hwasan.dummy.global");
 1442   MapVector<Constant *, std::vector<Function *>> PersonalityFns;
 1487                  : Constant::getNullValue(Int8PtrTy),
lib/Transforms/Instrumentation/InstrOrderFile.cpp
   83                            Constant::getNullValue(BufferTy), SymbolName);
   90                            Constant::getNullValue(IdxTy), IndexName);
   94                                 Constant::getNullValue(MapTy), BitMapName);
lib/Transforms/Instrumentation/InstrProfiling.cpp
  661     Constant *NC = Names->getOperand(I);
  783                          Constant::getNullValue(CounterTy),
  795   Constant *ValuesPtrExpr = ConstantPointerNull::get(Int8PtrTy);
  805                              Constant::getNullValue(ValuesTy),
  826   Constant *FunctionAddr = shouldRecordFunctionAddr(Fn)
  830   Constant *Int16ArrayVals[IPVK_Last + 1];
  834   Constant *DataVals[] = {
  904       Constant::getNullValue(VNodesTy), getInstrProfVNodesVarName());
  923   auto *NamesVal = ConstantDataArray::getString(
lib/Transforms/Instrumentation/Instrumentation.cpp
   63   Constant *StrConst = ConstantDataArray::getString(M.getContext(), Str);
lib/Transforms/Instrumentation/MemorySanitizer.cpp
  684   Constant *StrConst = ConstantDataArray::getString(M.getContext(), Str);
  748 static Constant *getOrInsertGlobal(Module &M, StringRef Name, Type *Ty) {
 1129       Constant *ConstantShadow = dyn_cast_or_null<Constant>(ConvertedShadow);
 1129       Constant *ConstantShadow = dyn_cast_or_null<Constant>(ConvertedShadow);
 1210     Constant *ConstantShadow = dyn_cast_or_null<Constant>(ConvertedShadow);
 1210     Constant *ConstantShadow = dyn_cast_or_null<Constant>(ConvertedShadow);
 1257     Constant *Zero = IRB.getInt32(0);
 1526   Constant *getCleanShadow(Type *OrigTy) {
 1530     return Constant::getNullValue(ShadowTy);
 1537   Constant *getCleanShadow(Value *V) {
 1542   Constant *getPoisonedShadow(Type *ShadowTy) {
 1545       return Constant::getAllOnesValue(ShadowTy);
 1547       SmallVector<Constant *, 4> Vals(AT->getNumElements(),
 1552       SmallVector<Constant *, 4> Vals;
 1561   Constant *getPoisonedShadow(Value *V) {
 1570     return Constant::getNullValue(MS.OriginTy);
 1635                   CpShadowPtr, Constant::getNullValue(EntryIRB.getInt8Ty()),
 1682     if (isa<Constant>(V)) return getCleanOrigin();
 2026           Constant *ConstOrigin = dyn_cast<Constant>(OpOrigin);
 2026           Constant *ConstOrigin = dyn_cast<Constant>(OpOrigin);
 2135   void handleMulByConstant(BinaryOperator &I, Constant *ConstArg,
 2137     Constant *ShadowMul;
 2142       SmallVector<Constant *, 16> Elements;
 2171     Constant *constOp0 = dyn_cast<Constant>(I.getOperand(0));
 2171     Constant *constOp0 = dyn_cast<Constant>(I.getOperand(0));
 2172     Constant *constOp1 = dyn_cast<Constant>(I.getOperand(1));
 2172     Constant *constOp1 = dyn_cast<Constant>(I.getOperand(1));
 2233     Value *Zero = Constant::getNullValue(Sc->getType());
 2234     Value *MinusOne = Constant::getAllOnesValue(Sc->getType());
 2316     Constant *constOp;
 2319     if ((constOp = dyn_cast<Constant>(I.getOperand(1)))) {
 2322     } else if ((constOp = dyn_cast<Constant>(I.getOperand(0)))) {
 2365     if ((isa<Constant>(I.getOperand(0)) || isa<Constant>(I.getOperand(1)))) {
 2365     if ((isa<Constant>(I.getOperand(0)) || isa<Constant>(I.getOperand(1)))) {
 2794         IRB.CreateICmpNE(S1, Constant::getNullValue(T)), T);
 2796         IRB.CreateICmpNE(S2, Constant::getNullValue(T)), T);
 2824     S = IRB.CreateSExt(IRB.CreateICmpNE(S, Constant::getNullValue(ResTy)),
 2840     S = IRB.CreateSExt(IRB.CreateICmpNE(S, Constant::getNullValue(ResTy)),
 2855         IRB.CreateICmpNE(S0, Constant::getNullValue(ResTy)), ResTy);
 2975             IRB.CreateICmpNE(Acc, Constant::getNullValue(Acc->getType())),
 3333         Constant *Cst = dyn_cast<Constant>(ArgShadow);
 3333         Constant *Cst = dyn_cast<Constant>(ArgShadow);
 3878     Constant *OverflowSize =
 3917     IRB.CreateMemSet(ShadowPtr, Constant::getNullValue(IRB.getInt8Ty()),
 4041     Constant *TotalVAArgSize = ConstantInt::get(IRB.getInt64Ty(), VAArgOffset);
 4067     IRB.CreateMemSet(ShadowPtr, Constant::getNullValue(IRB.getInt8Ty()),
 4079     IRB.CreateMemSet(ShadowPtr, Constant::getNullValue(IRB.getInt8Ty()),
 4211     Constant *OverflowSize =
 4236     IRB.CreateMemSet(ShadowPtr, Constant::getNullValue(IRB.getInt8Ty()),
 4248     IRB.CreateMemSet(ShadowPtr, Constant::getNullValue(IRB.getInt8Ty()),
 4476     Constant *TotalVAArgSize = ConstantInt::get(IRB.getInt64Ty(),
 4503     IRB.CreateMemSet(ShadowPtr, Constant::getNullValue(IRB.getInt8Ty()),
 4516     IRB.CreateMemSet(ShadowPtr, Constant::getNullValue(IRB.getInt8Ty()),
lib/Transforms/Instrumentation/PoisonChecking.cpp
  227   if (isa<Constant>(V)) {
lib/Transforms/Instrumentation/SanitizerCoverage.cpp
  429   Constant *SanCovLowestStackConstant =
  440     SanCovLowestStack->setInitializer(Constant::getAllOnesValue(IntptrTy));
  648       Constant::getNullValue(ArrayTy), "__sancov_gen_");
  671   SmallVector<Constant *, 32> PCs;
  749       SmallVector<Constant *, 16> Initializers;
  761         Constant *C = It.getCaseValue();
  895         IRB.CreateCall(GetFrameAddr, {Constant::getNullValue(Int32Ty)});
lib/Transforms/ObjCARC/ObjCARCOpts.cpp
  805                       Constant::getNullValue(Ty),
  826                       Constant::getNullValue(Ty),
 1845     bool KnownSafe = isa<Constant>(Arg) || isa<AllocaInst>(Arg);
lib/Transforms/Scalar/ADCE.cpp
  348         if (isa<Constant>(CI->getArgOperand(0)))
lib/Transforms/Scalar/CallSiteSplitting.cpp
   96                                   Constant *ConstValue) {
  116     if (isa<Constant>(*I) || CS.paramHasAttr(ArgNo, Attribute::NonNull))
  169     Constant *ConstVal = cast<Constant>(Cond.first->getOperand(1));
  169     Constant *ConstVal = cast<Constant>(Cond.first->getOperand(1));
  435           if (isa<Constant>(PN->getIncomingValue(0)) &&
  436               isa<Constant>(PN->getIncomingValue(1)))
lib/Transforms/Scalar/ConstantHoisting.cpp
  628     Constant *Offset = Diff == 0 ? nullptr : ConstantInt::get(Ty, Diff);
  729                                              Constant *Offset,
  842       using RebasedUse = std::tuple<Constant *, Type *, ConstantUser>;
  885         Constant *Off = std::get<0>(R);
lib/Transforms/Scalar/ConstantProp.cpp
   93         if (Constant *C = ConstantFoldInstruction(I, DL, TLI)) {
lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
  127   if (isa<Constant>(S->getOperand(0))) return false;
  129   Constant *C = LVI->getConstant(S->getCondition(), S->getParent(), S);
  162   SmallVector<std::pair<Constant *, unsigned>, 4> IncomingConstants;
  166     if (auto *IncomingConstant = dyn_cast<Constant>(Incoming)) {
  166     if (auto *IncomingConstant = dyn_cast<Constant>(Incoming)) {
  190     Constant *C = IncomingConstant.first;
  218     if (isa<Constant>(Incoming)) continue;
  232         if (Constant *C = LVI->getConstantOnEdge(
  249         Constant *C = dyn_cast<Constant>(SI->getFalseValue());
  249         Constant *C = dyn_cast<Constant>(SI->getFalseValue());
  288   if (isa<Constant>(Pointer)) return false;
  290   Constant *C = LVI->getConstant(Pointer, I->getParent(), I);
  304   auto *C = dyn_cast<Constant>(Cmp->getOperand(1));
  304   auto *C = dyn_cast<Constant>(Cmp->getOperand(1));
  323   Constant *TorF = ConstantInt::get(Type::getInt1Ty(Cmp->getContext()), Result);
  505   Constant *Struct = ConstantStruct::get(ST,
  568       if (isa<Constant>(V)) continue;
  570       Constant *C = LVI->getConstant(V, CS.getParent(), CS.getInstruction());
  585         !isa<Constant>(V) &&
  608   Constant *Zero = ConstantInt::get(SDI->getType(), 0);
  703   Constant *Zero = ConstantInt::get(SDI->getType(), 0);
  725   Constant *Zero = ConstantInt::get(Base->getType(), 0);
  806 static Constant *getConstantAt(Value *V, Instruction *At, LazyValueInfo *LVI) {
  807   if (Constant *C = LVI->getConstant(V, At->getParent(), At))
  816   Constant *Op1 = dyn_cast<Constant>(C->getOperand(1));
  816   Constant *Op1 = dyn_cast<Constant>(C->getOperand(1));
  900       if (isa<Constant>(RetVal)) break; // nothing to do
  901       if (auto *C = getConstantAt(RetVal, RI, LVI)) {
lib/Transforms/Scalar/DeadStoreElimination.cpp
  723   if (isa<Constant>(UnderlyingPointer))
 1054   Constant *StoredConstant = dyn_cast<Constant>(SI->getValueOperand());
 1054   Constant *StoredConstant = dyn_cast<Constant>(SI->getValueOperand());
lib/Transforms/Scalar/GVN.cpp
  936     Res = AvailableValue::get(Constant::getNullValue(LI->getType()));
 1410                     Constant::getNullValue(Int8Ty->getPointerTo()),
 1415   } else if (isa<Constant>(V)) {
 1422   Constant *True = ConstantInt::getTrue(V->getContext());
 1465       if (isa<Constant>(CmpLHS) && !isa<Constant>(CmpRHS))
 1465       if (isa<Constant>(CmpLHS) && !isa<Constant>(CmpRHS))
 1481       if (isa<Constant>(CmpLHS) && isa<Constant>(CmpRHS))
 1481       if (isa<Constant>(CmpLHS) && isa<Constant>(CmpRHS))
 1715     if (isa<Constant>(Val)) return Val;
 1721       if (isa<Constant>(Next->Val)) return Next->Val;
 1794     if (isa<Constant>(LHS) && isa<Constant>(RHS))
 1794     if (isa<Constant>(LHS) && isa<Constant>(RHS))
 1798     if (isa<Constant>(LHS) || (isa<Argument>(LHS) && !isa<Constant>(RHS)))
 1798     if (isa<Constant>(LHS) || (isa<Argument>(LHS) && !isa<Constant>(RHS)))
 1901       Constant *NotVal = ConstantInt::get(Cmp->getType(), isKnownFalse);
 1987     if (isa<Constant>(BI->getCondition()))
 2205     if (isa<Argument>(Op) || isa<Constant>(Op) || isa<GlobalValue>(Op))
lib/Transforms/Scalar/GVNHoist.cpp
  314     if (isa<Constant>(V))
lib/Transforms/Scalar/GVNSink.cpp
  303     return llvm::any_of(Values, [&](Value *V) { return isa<Constant>(V); });
lib/Transforms/Scalar/IndVarSimplify.cpp
 2165   if (isa<Constant>(V))
 2701     if (isa<Constant>(BI->getCondition()))
 2741     auto *NewCond = ConstantInt::get(OldCond->getType(),
 2850     if (isa<Constant>(BI->getCondition()))
lib/Transforms/Scalar/InferAddressSpaces.cpp
  175   bool isSafeToCastConstAddrSpace(Constant *C, unsigned NewAS) const;
  422   if (Constant *C = dyn_cast<Constant>(Operand))
  422   if (Constant *C = dyn_cast<Constant>(Operand))
  520       return ConstantExpr::getBitCast(cast<Constant>(NewOperand), TargetType);
  525     Constant *Src0 = CE->getOperand(1);
  526     Constant *Src1 = CE->getOperand(2);
  538   SmallVector<Constant *, 4> NewOperands;
  540     Constant *Operand = CE->getOperand(Index);
  548       NewOperands.push_back(cast<Constant>(NewOperand));
  555         NewOperands.push_back(cast<Constant>(NewOperand));
  715     auto *C0 = dyn_cast<Constant>(Src0);
  715     auto *C0 = dyn_cast<Constant>(Src0);
  716     auto *C1 = dyn_cast<Constant>(Src1);
  716     auto *C1 = dyn_cast<Constant>(Src1);
  833 bool InferAddressSpaces::isSafeToCastConstAddrSpace(Constant *C, unsigned NewAS) const {
  851       return isSafeToCastConstAddrSpace(cast<Constant>(Op->getOperand(0)), NewAS);
  914     if (Constant *C = dyn_cast<Constant>(V)) {
  914     if (Constant *C = dyn_cast<Constant>(V)) {
  915       Constant *Replace = ConstantExpr::getAddrSpaceCast(cast<Constant>(NewV),
  915       Constant *Replace = ConstantExpr::getAddrSpaceCast(cast<Constant>(NewV),
  976           if (auto *KOtherSrc = dyn_cast<Constant>(OtherSrc)) {
  976           if (auto *KOtherSrc = dyn_cast<Constant>(OtherSrc)) {
 1011           U.set(ConstantExpr::getAddrSpaceCast(cast<Constant>(NewV),
lib/Transforms/Scalar/JumpThreading.cpp
  573 static Constant *getKnownConstant(Value *Val, ConstantPreference Preference) {
  606   if (Constant *KC = getKnownConstant(V, Preference)) {
  638       Constant *PredCst = LVI->getConstantOnEdge(V, P, BB, CxtI);
  639       if (Constant *KC = getKnownConstant(PredCst, Preference))
  654       if (Constant *KC = getKnownConstant(InVal, Preference)) {
  657         Constant *CI = LVI->getConstantOnEdge(InVal,
  660         if (Constant *KC = getKnownConstant(CI, Preference))
  756         Constant *V = LHSVal.first;
  757         Constant *Folded = ConstantExpr::get(BO->getOpcode(), V, CI);
  759         if (Constant *KC = getKnownConstant(Folded, WantInteger))
  798           if (!isa<Constant>(RHS))
  808                                            cast<Constant>(RHS), PredBB, BB,
  815         if (Constant *KC = getKnownConstant(Res, WantInteger))
  824     if (isa<Constant>(CmpRHS) && !CmpType->isVectorTy()) {
  825       Constant *CmpConst = cast<Constant>(CmpRHS);
  825       Constant *CmpConst = cast<Constant>(CmpRHS);
  842           Constant *ResC = ConstantInt::get(CmpType, Res);
  878               Constant *ResC;
  901         Constant *V = LHSVal.first;
  902         Constant *Folded = ConstantExpr::getCompare(Pred, V, CmpConst);
  903         if (Constant *KC = getKnownConstant(Folded, WantInteger))
  914     Constant *TrueVal = getKnownConstant(SI->getTrueValue(), Preference);
  915     Constant *FalseVal = getKnownConstant(SI->getFalseValue(), Preference);
  921         Constant *Cond = C.first;
  937         if (Constant *Val = KnownCond ? TrueVal : FalseVal)
  950   Constant *CI = LVI->getConstant(V, BB, CxtI);
  951   if (Constant *KC = getKnownConstant(CI, Preference)) {
 1143     Constant *CondConst = dyn_cast<Constant>(CondCmp->getOperand(1));
 1143     Constant *CondConst = dyn_cast<Constant>(CondCmp->getOperand(1));
 1176           auto *CI = Ret == LazyValueInfo::True ?
 1203     if (isa<Constant>(CondCmp->getOperand(1)))
 1623   Constant *OnlyVal = nullptr;
 1624   Constant *MultipleVal = (Constant *)(intptr_t)~0ULL;
 1631     Constant *Val = PredValue.first;
 2500   Constant *CondRHS = cast<Constant>(CondCmp->getOperand(1));
 2500   Constant *CondRHS = cast<Constant>(CondCmp->getOperand(1));
lib/Transforms/Scalar/LICM.cpp
  831       if (Constant *C = ConstantFoldInstruction(
lib/Transforms/Scalar/LoopIdiomRecognize.cpp
  433 static Constant *getMemSetPatternValue(Value *V, const DataLayout *DL) {
  440   Constant *C = dyn_cast<Constant>(V);
  440   Constant *C = dyn_cast<Constant>(V);
  516   Constant *PatternValue = nullptr;
  689     Constant *FirstPatternValue = nullptr;
  722       Constant *SecondPatternValue = nullptr;
  946   Constant *PatternValue = nullptr;
lib/Transforms/Scalar/LoopInterchange.cpp
  632     if (isa<Constant>(Val))
lib/Transforms/Scalar/LoopStrengthReduce.cpp
 2138     Constant *NewInit = ConstantFP::get(DestTy, IsSigned ?
 2168     Constant *CFP = ConstantFP::get(DestTy, C->getZExtValue());
 5288       Constant *C = ConstantInt::getSigned(SE.getEffectiveSCEVType(OpTy),
lib/Transforms/Scalar/LoopUnrollPass.cpp
  356   DenseMap<Value *, Constant *> SimplifiedValues;
  357   SmallVector<std::pair<Value *, Constant *>, 4> SimplifiedInputValues;
  491       Constant *C = dyn_cast<Constant>(V);
  491       Constant *C = dyn_cast<Constant>(V);
  569           if (Constant *SimpleCond =
  580         if (Constant *SimpleCond =
lib/Transforms/Scalar/LoopUnswitch.cpp
  247     bool UnswitchIfProfitable(Value *LoopCond, Constant *Val,
  249     void UnswitchTrivialCondition(Loop *L, Value *Cond, Constant *Val,
  251     void UnswitchNontrivialCondition(Value *LIC, Constant *OnVal, Loop *L,
  255                                               Constant *Val, bool isEqual);
  257     void EmitPreheaderBranchOnCondition(Value *LIC, Constant *Val,
  267                                            Constant *Val);
  437   if (isa<Constant>(Cond)) return nullptr;
  761         Constant *UnswitchVal = nullptr;
  767           auto *AllZero = cast<ConstantInt>(Constant::getNullValue(SC->getType()));
  775           auto *AllOne = cast<ConstantInt>(Constant::getAllOnesValue(SC->getType()));
  787             Constant *UnswitchValCandidate = Case.getCaseValue();
  880 bool LoopUnswitch::UnswitchIfProfitable(Value *LoopCond, Constant *Val,
  932 void LoopUnswitch::EmitPreheaderBranchOnCondition(Value *LIC, Constant *Val,
  999 void LoopUnswitch::UnswitchTrivialCondition(Loop *L, Value *Cond, Constant *Val,
 1122   Constant *CondVal = nullptr;
 1233 void LoopUnswitch::UnswitchNontrivialCondition(Value *LIC, Constant *Val,
 1398       LICHandle && !isa<Constant>(LICHandle))
 1443                                                         Constant *Val,
 1656                                                      Constant *Val) {
lib/Transforms/Scalar/LowerConstantIntrinsics.cpp
   45   return isa<Constant>(Op) ? ConstantInt::getTrue(II->getType())
lib/Transforms/Scalar/NewGVN.cpp
  681   const ConstantExpression *createConstantExpression(Constant *) const;
  973   return isa<Constant>(V) || isa<Argument>(V);
 1004     OriginalOpsConstant = OriginalOpsConstant && isa<Constant>(P.first);
 1030     AllConstant = AllConstant && isa<Constant>(Operand);
 1070   if (auto *C = dyn_cast<Constant>(V)) {
 1070   if (auto *C = dyn_cast<Constant>(V)) {
 1157     if (isa<Constant>(E->getOperand(0)) ||
 1189     SmallVector<Constant *, 8> C;
 1191       C.emplace_back(cast<Constant>(Arg));
 1233   if (auto *C = dyn_cast<Constant>(V))
 1233   if (auto *C = dyn_cast<Constant>(V))
 1238 const ConstantExpression *NewGVN::createConstantExpression(Constant *C) const {
 1428       if (auto *C = dyn_cast<Constant>(
 1428       if (auto *C = dyn_cast<Constant>(
 1443       if (auto *C = dyn_cast<Constant>(lookupOperandLeader(DepLI)))
 1443       if (auto *C = dyn_cast<Constant>(lookupOperandLeader(DepLI)))
 1444         if (auto *PossibleConstant =
 1454       if (auto *PossibleConstant =
 1484     return createConstantExpression(Constant::getNullValue(LoadType));
 1560       return createConstantExpression(cast<Constant>(PSwitch->CaseValue));
 1621       return createConstantExpression(cast<Constant>(FirstOp));
 1959   if (auto *C = dyn_cast<Constant>(V))
 1959   if (auto *C = dyn_cast<Constant>(V))
 2466   return isa<Constant>(Result) ? Result : nullptr;
 3702                 Constant::getNullValue(Int8Ty->getPointerTo()),
 4147   if (isa<Constant>(V))
lib/Transforms/Scalar/Reassociate.cpp
  226   if (LHS == RHS || isa<Constant>(RHS))
  228   if (isa<Constant>(LHS) || getRank(RHS) < getRank(LHS))
  274   Constant *NegOne = Ty->isIntOrIntVectorTy() ?
  278   Neg->setOperand(OpNo, Constant::getNullValue(Ty)); // Drop use of op.
  624     Constant *Identity = ConstantExpr::getBinOpIdentity(Opcode, I->getType());
  759       Constant *Undef = UndefValue::get(I->getType());
  817   if (auto *C = dyn_cast<Constant>(V))
  817   if (auto *C = dyn_cast<Constant>(V))
  961   Sub->setOperand(0, Constant::getNullValue(Sub->getType())); // Drop use of op.
  962   Sub->setOperand(1, Constant::getNullValue(Sub->getType())); // Drop use of op.
  976   Constant *MulCst = ConstantInt::get(Shl->getType(), 1);
  977   MulCst = ConstantExpr::getShl(MulCst, cast<Constant>(Shl->getOperand(1)));
 1143           return Constant::getNullValue(X->getType());
 1146           return Constant::getAllOnesValue(X->getType());
 1165         return Constant::getNullValue(Ops[0].Op->getType());
 1460       Constant *C = Ty->isIntOrIntVectorTy() ?
 1496       return Constant::getNullValue(X->getType());
 1500       return Constant::getAllOnesValue(X->getType());
 1514       Value *V = Constant::getAllOnesValue(X->getType());
 1837   Constant *Cst = nullptr;
 1839   while (!Ops.empty() && isa<Constant>(Ops.back().Op)) {
 1840     Constant *C = cast<Constant>(Ops.pop_back_val().Op);
 1840     Constant *C = cast<Constant>(Ops.pop_back_val().Op);
lib/Transforms/Scalar/Reg2Mem.cpp
   86       Constant::getNullValue(Type::getInt32Ty(F.getContext())),
lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
  442   if (isa<Constant>(I))
  504   if (isa<Constant>(I)) {
 1781           Constant *CPN = ConstantPointerNull::get(PT);
 2288       if (isa<Constant>(BasePair.second))
 2654       if (isHandledGCPointerType(V->getType()) && !isa<Constant>(V)) {
 2681       if (isHandledGCPointerType(V->getType()) && !isa<Constant>(V))
lib/Transforms/Scalar/SCCP.cpp
  100   PointerIntPair<Constant *, 2, LatticeValueTy> Val;
  117   Constant *getConstant() const {
  132   bool markConstant(Constant *V) {
  172   void markForcedConstant(Constant *V) {
  433   bool markConstant(LatticeVal &IV, Value *V, Constant *C) {
  440   bool markConstant(Value *V, Constant *C) {
  445   void markForcedConstant(Value *V, Constant *C) {
  499     if (auto *C = dyn_cast<Constant>(V)) {
  499     if (auto *C = dyn_cast<Constant>(V)) {
  537     if (auto *C = dyn_cast<Constant>(V)) {
  537     if (auto *C = dyn_cast<Constant>(V)) {
  538       Constant *Elt = C->getAggregateElement(i);
  800   Constant *OperandVal = nullptr;
  878     Constant *C = ConstantFoldCastOperand(I.getOpcode(), OpSt.getConstant(),
  983     Constant *C = ConstantExpr::get(I.getOpcode(), V0State.getConstant());
 1007     Constant *C = ConstantExpr::get(I.getOpcode(), V1State.getConstant(),
 1082   Constant *C = V1State.getCompare(I.getPredicate(), I.getType(), V2State);
 1105   SmallVector<Constant*, 8> Operands;
 1120   Constant *Ptr = Operands[0];
 1122   Constant *C =
 1163   Constant *Ptr = PtrVal.getConstant();
 1187   if (Constant *C = ConstantFoldLoadFromConstPtr(Ptr, I.getType(), DL)) {
 1273       SmallVector<Constant*, 8> Operands;
 1293       if (Constant *C = ConstantFoldCall(cast<CallBase>(CS.getInstruction()), F,
 1526           markForcedConstant(&I, Constant::getNullValue(ITy));
 1542         markForcedConstant(&I, Constant::getNullValue(ITy));
 1551         markForcedConstant(&I, Constant::getNullValue(ITy));
 1558         markForcedConstant(&I, Constant::getAllOnesValue(ITy));
 1565           markForcedConstant(&I, Constant::getNullValue(ITy));
 1585         markForcedConstant(&I, Constant::getNullValue(ITy));
 1600         markForcedConstant(&I, Constant::getNullValue(ITy));
 1618         markForcedConstant(&I, Constant::getNullValue(ITy));
 1753   Constant *Const = nullptr;
 1759     std::vector<Constant *> ConstVals;
 1973   Constant *C = nullptr;
lib/Transforms/Scalar/SROA.cpp
 2068     if (MI->isVolatile() || !isa<Constant>(MI->getLength()))
 2200   SmallVector<Constant *, 8> Mask;
 2236   SmallVector<Constant *, 8> Mask;
 2741             Constant::getAllOnesValue(SplatIntTy),
 2742             ConstantExpr::getZExt(Constant::getAllOnesValue(V->getType()),
 2764     if (!isa<Constant>(II.getLength())) {
 2800       Constant *Size = ConstantInt::get(SizeTy, NewEndOffset - NewBeginOffset);
 2972       Constant *Size = ConstantInt::get(SizeTy, NewEndOffset - NewBeginOffset);
lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp
  619     if (Constant *C = dyn_cast<Constant>(Current)) {
  619     if (Constant *C = dyn_cast<Constant>(Current)) {
lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
  118       if (isa<Constant>(OpV))
  142                                      Constant &Replacement) {
  888       if (isa<Constant>(SI->getCondition()))
  918     if (!BI->isConditional() || isa<Constant>(BI->getCondition()))
 2551           if (!isa<Constant>(Cond) && L.isLoopInvariant(Cond))
 2558       if (!isa<Constant>(SI->getCondition()) &&
 2565     if (!BI || !BI->isConditional() || isa<Constant>(BI->getCondition()) ||
lib/Transforms/Scalar/SpeculateAroundPHIs.cpp
  685           isa<Constant>(NewI->getOperand(0)) &&
  686           !isa<Constant>(NewI->getOperand(1)))
lib/Transforms/Scalar/StraightLineStrengthReduce.cpp
  617   Constant *Delta = ConstantInt::get(DeltaType, IndexOffset);
lib/Transforms/Scalar/StructurizeCFG.cpp
  405   if (Constant *C = dyn_cast<Constant>(Condition))
  405   if (Constant *C = dyn_cast<Constant>(Condition))
lib/Transforms/Scalar/TailRecursionElimination.cpp
  255           if (isa<Constant>(Arg.getUser()))
  363   if (isa<Constant>(V)) return true; // Static constants are always dyn consts
lib/Transforms/Utils/CanonicalizeAliases.cpp
   42 static Constant *canonicalizeAlias(Constant *C, bool &Changed) {
   42 static Constant *canonicalizeAlias(Constant *C, bool &Changed) {
   44     auto *NewAliasee = canonicalizeAlias(GA->getAliasee(), Changed);
   56   std::vector<Constant *> Ops;
   58     Ops.push_back(canonicalizeAlias(cast<Constant>(U), Changed));
lib/Transforms/Utils/CloneFunction.cpp
  182       Constant *OldBBAddr = BlockAddress::get(const_cast<Function*>(OldFunc),
  324     Constant *OldBBAddr = BlockAddress::get(const_cast<Function*>(OldFunc),
lib/Transforms/Utils/CloneModule.cpp
  179     if (const Constant *C = I->getAliasee())
lib/Transforms/Utils/CodeExtractor.cpp
  333       if (dyn_cast<Constant>(MemAddr))
  934       Idx[0] = Constant::getNullValue(Type::getInt32Ty(header->getContext()));
 1118       Idx[0] = Constant::getNullValue(Type::getInt32Ty(Context));
 1157       Idx[0] = Constant::getNullValue(Type::getInt32Ty(Context));
 1180       SwitchInst::Create(Constant::getNullValue(Type::getInt16Ty(Context)),
 1260       Idx[0] = Constant::getNullValue(Type::getInt32Ty(Context));
 1293                          Constant::getNullValue(OldFnRetTy), TheSwitch);
lib/Transforms/Utils/CtorUtils.cpp
   30   SmallVector<Constant *, 10> CAList;
   38   Constant *CA = ConstantArray::get(ATy, CAList);
   55     Constant *V = NGV;
lib/Transforms/Utils/EscapeEnumerator.cpp
   72     F.setPersonalityFn(cast<Constant>(PersFn.getCallee()));
lib/Transforms/Utils/Evaluator.cpp
   48 isSimpleEnoughValueToCommit(Constant *C,
   49                             SmallPtrSetImpl<Constant *> &SimpleConstants,
   61 isSimpleEnoughValueToCommitHelper(Constant *C,
   62                                   SmallPtrSetImpl<Constant *> &SimpleConstants,
   76       if (!isSimpleEnoughValueToCommit(cast<Constant>(Op), SimpleConstants, DL))
  116 isSimpleEnoughValueToCommit(Constant *C,
  117                             SmallPtrSetImpl<Constant *> &SimpleConstants,
  131 static bool isSimpleEnoughPointerToCommit(Constant *C) {
  181 static Constant *
  182 evaluateBitcastFromPtr(Constant *Ptr, const DataLayout &DL,
  184                        std::function<Constant *(Constant *)> Func) {
  184                        std::function<Constant *(Constant *)> Func) {
  185   Constant *Val;
  195     Constant *IdxZero = ConstantInt::get(IdxTy, 0, false);
  196     Constant *const IdxList[] = {IdxZero, IdxZero};
  199     if (auto *FoldedPtr = ConstantFoldConstant(Ptr, DL, TLI))
  205 static Constant *getInitializer(Constant *C) {
  205 static Constant *getInitializer(Constant *C) {
  212 Constant *Evaluator::ComputeLoadResult(Constant *P) {
  212 Constant *Evaluator::ComputeLoadResult(Constant *P) {
  216     DenseMap<Constant *, Constant *>::const_iterator I =
  216     DenseMap<Constant *, Constant *>::const_iterator I =
  221   if (Constant *Val = findMemLoc(P))
  235       if (auto *I = getInitializer(CE->getOperand(0)))
  244       Constant *Val =
  258 static Function *getFunction(Constant *C) {
  270                                    SmallVector<Constant *, 8> &Formals) {
  285                                 SmallVector<Constant *, 8> &Formals) {
  298     auto *ArgC = ConstantFoldLoadThroughBitcast(getVal(*ArgI), *ParI, DL);
  311 Constant *Evaluator::castCallResultIfNeeded(Value *CallExpr, Constant *RV) {
  311 Constant *Evaluator::castCallResultIfNeeded(Value *CallExpr, Constant *RV) {
  332     Constant *InstResult = nullptr;
  341       Constant *Ptr = getVal(SI->getOperand(1));
  342       if (auto *FoldedPtr = ConstantFoldConstant(Ptr, DL, TLI)) {
  354       Constant *Val = getVal(SI->getOperand(0));
  377             if (Constant *FV = ConstantFoldLoadThroughBitcast(Val, Ty, DL)) {
  384           Constant *NewVal =
  434       Constant *P = getVal(GEP->getOperand(0));
  435       SmallVector<Constant*, 8> GEPOps;
  450       Constant *Ptr = getVal(LI->getOperand(0));
  451       if (auto *FoldedPtr = ConstantFoldConstant(Ptr, DL, TLI)) {
  501           Constant *Ptr = getVal(MSI->getDest());
  502           Constant *Val = getVal(MSI->getValue());
  503           Constant *DestVal = ComputeLoadResult(getVal(Ptr));
  561       SmallVector<Constant *, 8> Formals;
  570         if (Constant *C = ConstantFoldCall(cast<CallBase>(CS.getInstruction()),
  587         Constant *RetVal = nullptr;
  651       if (auto *FoldedInstResult = ConstantFoldConstant(InstResult, DL, TLI))
  672 bool Evaluator::EvaluateFunction(Function *F, Constant *&RetVal,
  673                                  const SmallVectorImpl<Constant*> &ActualArgs) {
lib/Transforms/Utils/FunctionComparator.cpp
  200 int FunctionComparator::cmpConstants(const Constant *L,
  201                                      const Constant *R) const {
  308       if (int Res = cmpConstants(cast<Constant>(LA->getOperand(i)),
  309                                  cast<Constant>(RA->getOperand(i))))
  322       if (int Res = cmpConstants(cast<Constant>(LS->getOperand(i)),
  323                                  cast<Constant>(RS->getOperand(i))))
  336       if (int Res = cmpConstants(cast<Constant>(LV->getOperand(i)),
  337                                  cast<Constant>(RV->getOperand(i))))
  350       if (int Res = cmpConstants(cast<Constant>(LE->getOperand(i)),
  351                                  cast<Constant>(RE->getOperand(i))))
  732   const Constant *ConstL = dyn_cast<Constant>(L);
  732   const Constant *ConstL = dyn_cast<Constant>(L);
  733   const Constant *ConstR = dyn_cast<Constant>(R);
  733   const Constant *ConstR = dyn_cast<Constant>(R);
lib/Transforms/Utils/GlobalStatus.cpp
   45 bool llvm::isSafeToDestroyConstant(const Constant *C) {
   53     if (const Constant *CU = dyn_cast<Constant>(U)) {
   53     if (const Constant *CU = dyn_cast<Constant>(U)) {
  113             if (Constant *C = dyn_cast<Constant>(StoredVal)) {
  113             if (Constant *C = dyn_cast<Constant>(StoredVal)) {
  174     } else if (const Constant *C = dyn_cast<Constant>(UR)) {
  174     } else if (const Constant *C = dyn_cast<Constant>(UR)) {
lib/Transforms/Utils/InlineFunction.cpp
 1345   return isa<Constant>(AI->getArraySize()) && !AI->isUsedWithInAlloca();
 1592   Constant *CalledPersonality =
 1600   Constant *CallerPersonality =
lib/Transforms/Utils/LibCallsShrinkWrap.cpp
  115     Constant *V = ConstantFP::get(BBBuilder.getContext(), APFloat(Val));
  440     Constant *V = ConstantFP::get(CI->getContext(), APFloat(127.0f));
  468     Constant *V = ConstantFP::get(CI->getContext(), APFloat(UpperV));
  469     Constant *V0 = ConstantFP::get(CI->getContext(), APFloat(0.0f));
lib/Transforms/Utils/Local.cpp
  426     if (Constant *C = dyn_cast<Constant>(CI->getArgOperand(0)))
  426     if (Constant *C = dyn_cast<Constant>(CI->getArgOperand(0)))
  707     Constant *Replacement =
 2559   auto *NullInt = ConstantExpr::getPtrToInt(
 2561   auto *NonNullInt = ConstantExpr::getAdd(NullInt, ConstantInt::get(ITy, 1));
 2907   if (!isa<Constant>(I->getOperand(OpIdx)))
lib/Transforms/Utils/LoopRotationUtils.cpp
  556           !isa<Constant>(I->getOperand(0))
  558               : !isa<Constant>(I->getOperand(1)) ? I->getOperand(1) : nullptr;
lib/Transforms/Utils/LoopUtils.cpp
  830   SmallVector<Constant *, 32> ShuffleMask(VF, nullptr);
  891           Constant::getNullValue(Src->getType()->getVectorElementType()), Src);
lib/Transforms/Utils/LowerMemIntrinsics.cpp
   85     Constant *LoopEndCI = ConstantInt::get(TypeOfCopyLen, LoopEndCount);
lib/Transforms/Utils/LowerSwitch.cpp
  363       Constant* NegLo = ConstantExpr::getNeg(Leaf.Low);
  367       Constant *UpperBound = ConstantExpr::getAdd(NegLo, Leaf.High);
lib/Transforms/Utils/ModuleUtils.cpp
   23                                 int Priority, Constant *Data) {
   29   SmallVector<Constant *, 16> CurrentCtors;
   33     if (Constant *Init = GVCtor->getInitializer()) {
   37         CurrentCtors.push_back(cast<Constant>(Init->getOperand(i)));
   43   Constant *CSVals[3];
   47                    : Constant::getNullValue(IRB.getInt8PtrTy());
   48   Constant *RuntimeCtorInit =
   55   Constant *NewInit = ConstantArray::get(AT, CurrentCtors);
   63 void llvm::appendToGlobalCtors(Module &M, Function *F, int Priority, Constant *Data) {
   67 void llvm::appendToGlobalDtors(Module &M, Function *F, int Priority, Constant *Data) {
   73   SmallPtrSet<Constant *, 16> InitAsSet;
   74   SmallVector<Constant *, 16> Init;
   78       Constant *C = cast_or_null<Constant>(Op);
   78       Constant *C = cast_or_null<Constant>(Op);
   87     Constant *C = ConstantExpr::getBitCast(V, Int8PtrTy);
lib/Transforms/Utils/PromoteMemoryToRegister.cpp
  308                                        Constant::getNullValue(LI->getType()));
lib/Transforms/Utils/SanitizerStats.cpp
   51       {Constant::getNullValue(Int8PtrTy),
   86           {Constant::getNullValue(Int8PtrTy),
lib/Transforms/Utils/SimplifyCFG.cpp
  155     SmallVector<std::pair<Constant *, SmallVector<ConstantInt *, 4>>, 2>;
  160 using SwitchCaseResultsTy = SmallVector<std::pair<PHINode *, Constant *>, 4>;
  412   if (CI || !isa<Constant>(V) || !V->getType()->isPointerTy())
  871     SmallPtrSet<Constant *, 16> DeadCases;
 3655   Constant *DefaultCst = ConstantInt::getTrue(BB->getContext());
 3656   Constant *NewCst = ConstantInt::getFalse(BB->getContext());
 4390   Constant *Offset = ConstantExpr::getNeg(ContiguousCases->back());
 4391   Constant *NumCases =
 4605 static bool ValidLookupTableConstant(Constant *C, const TargetTransformInfo &TTI) {
 4631 static Constant *
 4633                const SmallDenseMap<Value *, Constant *> &ConstantPool) {
 4634   if (Constant *C = dyn_cast<Constant>(V))
 4634   if (Constant *C = dyn_cast<Constant>(V))
 4643 static Constant *
 4645              const SmallDenseMap<Value *, Constant *> &ConstantPool) {
 4647     Constant *A = LookupConstant(Select->getCondition(), ConstantPool);
 4657   SmallVector<Constant *, 4> COps;
 4659     if (Constant *A = LookupConstant(I->getOperand(N), ConstantPool))
 4680                SmallVectorImpl<std::pair<PHINode *, Constant *>> &Res,
 4687   SmallDenseMap<Value *, Constant *> ConstantPool;
 4696     } else if (Constant *C = ConstantFold(&I, DL, ConstantPool)) {
 4732     Constant *ConstVal =
 4805   SmallVector<std::pair<PHINode *, Constant *>, 1> DefaultResults;
 4892   Constant *DefaultResult;
 4923       const SmallVectorImpl<std::pair<ConstantInt *, Constant *>> &Values,
 4924       Constant *DefaultValue, const DataLayout &DL, const StringRef &FuncName);
 4959   Constant *SingleValue = nullptr;
 4977     const SmallVectorImpl<std::pair<ConstantInt *, Constant *>> &Values,
 4978     Constant *DefaultValue, const DataLayout &DL, const StringRef &FuncName) {
 4988   SmallVector<Constant *, 64> TableContents(TableSize);
 4991     Constant *CaseRes = Values[I].second;
 5080   Constant *Initializer = ConstantArray::get(ArrayTy, TableContents);
 5227     Constant *DefaultValue,
 5228     const SmallVectorImpl<std::pair<ConstantInt *, Constant *>> &Values) {
 5238   Constant *CmpOp1 = dyn_cast<Constant>(CmpInst->getOperand(1));
 5238   Constant *CmpOp1 = dyn_cast<Constant>(CmpInst->getOperand(1));
 5243   Constant *TrueConst = ConstantInt::getTrue(RangeCmp->getType());
 5244   Constant *FalseConst = ConstantInt::getFalse(RangeCmp->getType());
 5247   Constant *DefaultConst = ConstantExpr::getICmp(CmpInst->getPredicate(),
 5255     Constant *CaseConst = ConstantExpr::getICmp(CmpInst->getPredicate(),
 5324   using ResultListTy = SmallVector<std::pair<ConstantInt *, Constant *>, 4>;
 5327   SmallDenseMap<PHINode *, Constant *> DefaultResults;
 5339     using ResultsTy = SmallVector<std::pair<PHINode *, Constant *>, 4>;
 5348       Constant *Value = I.second;
 5367   SmallVector<std::pair<PHINode *, Constant *>, 4> DefaultResultsList;
 5383     Constant *Result = I.second;
 5483     Constant *DV = NeedMask ? ResultLists[PHI][0].second : DefaultResults[PHI];
 5965   Constant *C = dyn_cast<Constant>(V);
 5965   Constant *C = dyn_cast<Constant>(V);
lib/Transforms/Utils/SimplifyLibCalls.cpp
  166       if (Constant *C = dyn_cast<Constant>(IC->getOperand(1)))
  166       if (Constant *C = dyn_cast<Constant>(IC->getOperand(1)))
  378     return Constant::getNullValue(CI->getType());
  406     return Constant::getNullValue(CI->getType());
  761     return Constant::getNullValue(CI->getType());
  767       return Constant::getNullValue(CI->getType());
  799     return Constant::getNullValue(CI->getType());
  819     return Constant::getNullValue(CI->getType());
  874       return Constant::getNullValue(CI->getType());
  909       return Constant::getNullValue(CI->getType());
  981     return Constant::getNullValue(CI->getType());
  991     return Constant::getNullValue(CI->getType());
 1013     if (auto *LHSC = dyn_cast<Constant>(LHS)) {
 1013     if (auto *LHSC = dyn_cast<Constant>(LHS)) {
 1018     if (auto *RHSC = dyn_cast<Constant>(RHS)) {
 1018     if (auto *RHSC = dyn_cast<Constant>(RHS)) {
 1070     return Constant::getNullValue(CI->getType());
 1080     return Constant::getNullValue(CI->getType());
 1941     Constant *Eul;
 2210   Value *Cond = B.CreateICmpNE(Op, Constant::getNullValue(ArgType));
 2230   Value *IsNeg = B.CreateICmpSLT(X, Constant::getNullValue(X->getType()));
lib/Transforms/Utils/SplitModule.cpp
   85       if (isa<Constant>(UU) && !isa<GlobalValue>(UU)) {
lib/Transforms/Utils/VNCoercion.cpp
   43     if (auto *CI = dyn_cast<Constant>(StoredVal))
   43     if (auto *CI = dyn_cast<Constant>(StoredVal))
   52 static T *coerceAvailableValueToLoadTypeHelper(T *StoredVal, Type *LoadedTy,
   52 static T *coerceAvailableValueToLoadTypeHelper(T *StoredVal, Type *LoadedTy,
   57   if (auto *C = dyn_cast<Constant>(StoredVal))
   57   if (auto *C = dyn_cast<Constant>(StoredVal))
   58     if (auto *FoldedStoredVal = ConstantFoldConstant(C, DL))
   92       if (auto *FoldedStoredVal = ConstantFoldConstant(C, DL))
  137   if (auto *C = dyn_cast<Constant>(StoredVal))
  137   if (auto *C = dyn_cast<Constant>(StoredVal))
  138     if (auto *FoldedStoredVal = ConstantFoldConstant(C, DL))
  231     auto *CI = dyn_cast<Constant>(StoredVal);
  231     auto *CI = dyn_cast<Constant>(StoredVal);
  308   Constant *Src = dyn_cast<Constant>(MTI->getSource());
  308   Constant *Src = dyn_cast<Constant>(MTI->getSource());
  333   Constant *OffsetCst =
  344 static T *getStoreValueForLoadHelper(T *SrcVal, unsigned Offset, Type *LoadTy,
  344 static T *getStoreValueForLoadHelper(T *SrcVal, unsigned Offset, Type *LoadTy,
  395 Constant *getConstantStoreValueForLoad(Constant *SrcVal, unsigned Offset,
  395 Constant *getConstantStoreValueForLoad(Constant *SrcVal, unsigned Offset,
  453 Constant *getConstantLoadValueForLoad(Constant *SrcVal, unsigned Offset,
  453 Constant *getConstantLoadValueForLoad(Constant *SrcVal, unsigned Offset,
  463 T *getMemInstValueForLoadHelper(MemIntrinsic *SrcInst, unsigned Offset,
  474     T *Val = cast<T>(MSI->getValue());
  474     T *Val = cast<T>(MSI->getValue());
  478     T *OneElt = Val;
  484         T *ShVal = Helper.CreateShl(
  492       T *ShVal = Helper.CreateShl(Val, ConstantInt::get(Val->getType(), 1 * 8));
  502   Constant *Src = cast<Constant>(MTI->getSource());
  502   Constant *Src = cast<Constant>(MTI->getSource());
  509   Constant *OffsetCst =
  527 Constant *getConstantMemInstValueForLoad(MemIntrinsic *SrcInst, unsigned Offset,
  532     if (!isa<Constant>(MSI->getValue()))
  535   return getMemInstValueForLoadHelper<Constant, ConstantFolder>(SrcInst, Offset,
lib/Transforms/Utils/ValueMapper.cpp
   74     Constant *Init;
   78     Constant *InitPrefix;
   82     Constant *Target;
  120   SmallVector<Constant *, 16> AppendingInits;
  148   Constant *mapConstant(const Constant *C) {
  148   Constant *mapConstant(const Constant *C) {
  149     return cast_or_null<Constant>(mapValue(C));
  158   void scheduleMapGlobalInitializer(GlobalVariable &GV, Constant &Init,
  160   void scheduleMapAppendingVariable(GlobalVariable &GV, Constant *InitPrefix,
  162                                     ArrayRef<Constant *> NewMembers,
  164   void scheduleMapGlobalIndirectSymbol(GlobalIndirectSymbol &GIS, Constant &Target,
  171   void mapGlobalInitializer(GlobalVariable &GV, Constant &Init);
  172   void mapAppendingVariable(GlobalVariable &GV, Constant *InitPrefix,
  174                             ArrayRef<Constant *> NewMembers);
  175   void mapGlobalIndirectSymbol(GlobalIndirectSymbol &GIS, Constant &Target);
  411   Constant *C = const_cast<Constant*>(dyn_cast<Constant>(V));
  411   Constant *C = const_cast<Constant*>(dyn_cast<Constant>(V));
  451   SmallVector<Constant*, 8> Ops;
  454     Ops.push_back(cast<Constant>(C->getOperand(j)));
  458     Ops.push_back(cast<Constant>(Mapped));
  465       Ops.push_back(cast<Constant>(Mapped));
  955 void Mapper::mapAppendingVariable(GlobalVariable &GV, Constant *InitPrefix,
  957                                   ArrayRef<Constant *> NewMembers) {
  958   SmallVector<Constant *, 16> Elements;
  977   for (auto *V : NewMembers) {
  978     Constant *NewV;
  981       auto *E1 = cast<Constant>(mapValue(S->getOperand(0)));
  981       auto *E1 = cast<Constant>(mapValue(S->getOperand(0)));
  982       auto *E2 = cast<Constant>(mapValue(S->getOperand(1)));
  982       auto *E2 = cast<Constant>(mapValue(S->getOperand(1)));
  983       Constant *Null = Constant::getNullValue(VoidPtrTy);
  983       Constant *Null = Constant::getNullValue(VoidPtrTy);
  986       NewV = cast_or_null<Constant>(mapValue(V));
  995 void Mapper::scheduleMapGlobalInitializer(GlobalVariable &GV, Constant &Init,
 1009                                           Constant *InitPrefix,
 1011                                           ArrayRef<Constant *> NewMembers,
 1028                                              Constant &Target, unsigned MCID) {
 1098 Constant *ValueMapper::mapConstant(const Constant &C) {
 1098 Constant *ValueMapper::mapConstant(const Constant &C) {
 1099   return cast_or_null<Constant>(mapValue(C));
 1119                                                Constant &Init,
 1125                                                Constant *InitPrefix,
 1127                                                ArrayRef<Constant *> NewMembers,
 1134                                                   Constant &Target,
lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
  362       if (auto *C = dyn_cast<Constant>(V))
  362       if (auto *C = dyn_cast<Constant>(V))
  518       isa<Constant>(ID.getStartValue()) &&
  519       cast<Constant>(ID.getStartValue())->isNullValue()) {
  884       if (auto *C = dyn_cast<Constant>(Operand))
  884       if (auto *C = dyn_cast<Constant>(Operand))
lib/Transforms/Vectorize/LoopVectorize.cpp
  354 static Constant *getSignedIntOrFpConstant(Type *Ty, int64_t C) {
 1716   Value *SplatVF = isa<Constant>(Mul)
 1717                        ? ConstantVector::getSplat(VF, cast<Constant>(Mul))
 1902   SmallVector<Constant *, 8> Indices;
 1910     Constant *Cv = ConstantVector::get(Indices);
 1928   Constant *Cv = ConstantVector::get(Indices);
 1979       auto *StartIdx = getSignedIntOrFpConstant(ScalarIVTy, VF * Part + Lane);
 2110   SmallVector<Constant *, 8> ShuffleMask;
 2247           auto *RepMask = createReplicatedMask(Builder, InterleaveFactor, VF);
 2275       Constant *StrideMask = createStrideMask(Builder, I, InterleaveFactor, VF);
 2324     Constant *IMask = createInterleaveMask(Builder, VF, InterleaveFactor);
 2331       auto *RepMask = createReplicatedMask(Builder, InterleaveFactor, VF);
 2609   Constant *Step = ConstantInt::get(Ty, VF * UF);
 2985   Constant *Step = ConstantInt::get(IdxTy, VF * UF);
 3568   SmallVector<Constant *, 8> ShuffleMask(VF);
 3642   Constant *Zero = Builder.getInt32(0);
 3680     Constant *Iden = RecurrenceDescriptor::getRecurrenceIdentity(
 4031         Constant *Idx = ConstantInt::get(PtrInd->getType(), Lane + Part * VF);
 6570     Constant *C = ConstantFP::get(Ty, (double)StartIdx);
 6576   Constant *C = ConstantInt::get(Ty, StartIdx);
lib/Transforms/Vectorize/SLPVectorizer.cpp
  203     if (!isa<Constant>(i) || isa<ConstantExpr>(i) || isa<GlobalValue>(i))
  824           if (isa<Constant>(Op)) {
 1020         else if (isa<Constant>(OpLane0))
 3688       if (Res.second || isa<Constant>(V))
 4199       SmallVector<Constant *, 8> Mask(e);
 4989   if (isa<Constant>(V)) {
 5484       if (GEP->getNumIndices() > 1 || isa<Constant>(Idx))
 5693   SmallVector<Constant *, 32> ShuffleMask(
tools/bugpoint-passes/TestPasses.cpp
   62             CI->replaceAllUsesWith(Constant::getNullValue(CI->getType()));
tools/bugpoint/CrashDebugger.cpp
  221   std::vector<Constant *> Used;
  223     Constant *Op = cast<Constant>(V->stripPointerCasts());
  223     Constant *Op = cast<Constant>(V->stripPointerCasts());
  225       Used.push_back(cast<Constant>(V));
  230   auto *NewUsedVal = ConstantArray::get(NewValTy, Used);
  282       Constant *Replacement = ConstantPointerNull::get(Ty);
  290         Constant *Replacement = ConstantPointerNull::get(Ty);
  475           BBTerm->replaceAllUsesWith(Constant::getNullValue(BBTerm->getType()));
tools/bugpoint/ExtractFunction.cpp
   54   Constant *I = GV->getInitializer();
   58   std::vector<Constant *> Todo;
   59   std::set<Constant *> Done;
   63     Constant *V = Todo.back();
   74       Constant *C = dyn_cast<Constant>(*i);
   74       Constant *C = dyn_cast<Constant>(*i);
  105     TheInst->replaceAllUsesWith(Constant::getNullValue(TheInst->getType()));
  228 static Constant *GetTorInit(std::vector<std::pair<Function *, int>> &TorList) {
  230   std::vector<Constant *> ArrayElts;
  235     Constant *Elts[] = {ConstantInt::get(Int32Ty, TorList[i].second),
  270       Constant *FP = CS->getOperand(1);
  288     Constant *M1Init = GetTorInit(M1Tors);
  299     Constant *M2Init = GetTorInit(M2Tors);
tools/bugpoint/Miscompilation.cpp
  843         Constant *InitArray =
  853         std::vector<Constant *> GEPargs(
  854             2, Constant::getNullValue(Type::getInt32Ty(F->getContext())));
  864           Constant *NullPtr = ConstantPointerNull::get(F->getType());
tools/clang/include/clang/CodeGen/ConstantInitBuilder.h
   54     llvm::SmallVector<llvm::Constant*, 4> Indices;
   59   llvm::SmallVector<llvm::Constant*, 16> Buffer;
   77   llvm::GlobalVariable *createGlobal(llvm::Constant *initializer,
   85   ConstantInitFuture createFuture(llvm::Constant *initializer);
   88                             llvm::Constant *initializer);
  108   llvm::SmallVectorImpl<llvm::Constant*> &getBuffer() {
  112   const llvm::SmallVectorImpl<llvm::Constant*> &getBuffer() const {
  186   void add(llvm::Constant *value) {
  208   void addBitCast(llvm::Constant *value, llvm::Type *type) {
  213   void addAll(llvm::ArrayRef<llvm::Constant *> values) {
  225   void addRelativeOffset(llvm::IntegerType *type, llvm::Constant *target) {
  234                                llvm::Constant *address,
  236     llvm::Constant *offset = getRelativeOffset(type, address);
  289   void fillPlaceholder(PlaceholderPosition position, llvm::Constant *value) {
  292     llvm::Constant *&slot = Builder.Buffer[position.Index];
  303   llvm::Constant *getAddrOfCurrentPosition(llvm::Type *type);
  305   llvm::ArrayRef<llvm::Constant*> getGEPIndicesToCurrentPosition(
  306                            llvm::SmallVectorImpl<llvm::Constant*> &indices) {
  312   llvm::Constant *finishArray(llvm::Type *eltTy);
  313   llvm::Constant *finishStruct(llvm::StructType *structTy);
  316   void getGEPIndicesTo(llvm::SmallVectorImpl<llvm::Constant*> &indices,
  319   llvm::Constant *getRelativeOffset(llvm::IntegerType *offsetType,
  320                                     llvm::Constant *target);
  423   llvm::Constant *finishImpl() {
  474   llvm::Constant *finishImpl() {
tools/clang/include/clang/CodeGen/ConstantInitFuture.h
   48   using PairTy = llvm::PointerUnion<ConstantInitBuilderBase*, llvm::Constant*>;
   59   explicit ConstantInitFuture(llvm::Constant *initializer) : Data(initializer) {
tools/clang/include/clang/CodeGen/ModuleBuilder.h
   85   llvm::Constant *GetAddrOfGlobal(GlobalDecl decl, bool isForDefinition);
tools/clang/lib/CodeGen/Address.h
   76   ConstantAddress(llvm::Constant *pointer, CharUnits alignment)
   83   llvm::Constant *getPointer() const {
   84     return llvm::cast<llvm::Constant>(Address::getPointer());
   97     return llvm::isa<llvm::Constant>(addr.getPointer());
  100     return ConstantAddress(llvm::cast<llvm::Constant>(addr.getPointer()),
  108 template <class U> inline U cast(CodeGen::Address addr) {
tools/clang/lib/CodeGen/BackendUtil.cpp
 1600   SmallVector<Constant*, 2> UsedArray;
 1634   llvm::Constant *ModuleConstant =
 1657     llvm::Constant *CmdConstant =
tools/clang/lib/CodeGen/CGBlocks.cpp
   50 static llvm::Constant *buildGlobalBlock(CodeGenModule &CGM,
   52                                         llvm::Constant *blockFn);
   55 static llvm::Constant *buildCopyHelper(CodeGenModule &CGM,
   61 static llvm::Constant *buildDisposeHelper(CodeGenModule &CGM,
  184 static llvm::Constant *buildBlockDescriptor(CodeGenModule &CGM,
  227     llvm::Constant *copyHelper = buildCopyHelper(CGM, blockInfo);
  231     llvm::Constant *disposeHelper = buildDisposeHelper(CGM, blockInfo);
  411 static llvm::Constant *tryCaptureAsConstant(CodeGenModule &CGM,
  592     if (llvm::Constant *constant = tryCaptureAsConstant(CGM, CGF, variable)) {
  906     if (llvm::Constant *Block = CGM.getAddrOfGlobalBlockIfEmitted(blockExpr)) {
  939   auto *blockFn = llvm::ConstantExpr::getPointerCast(InvokeFn, GenVoidPtrTy);
  950   llvm::Constant *isa;
  951   llvm::Constant *descriptor;
  957     llvm::Constant *blockISA = blockInfo.getBlockDecl()->doesNotEscape()
 1353                                          llvm::Constant *Addr) {
 1359 llvm::Constant *
 1362   if (llvm::Constant *Block = getAddrOfGlobalBlockIfEmitted(BE))
 1382 static llvm::Constant *buildGlobalBlock(CodeGenModule &CGM,
 1384                                         llvm::Constant *blockFn) {
 1465   llvm::Constant *Result =
 1991 llvm::Constant *
 2186 llvm::Constant *
 2443 static llvm::Constant *
 2512 static llvm::Constant *buildByrefCopyHelper(CodeGenModule &CGM,
 2520 static llvm::Constant *
 2575 static llvm::Constant *buildByrefDisposeHelper(CodeGenModule &CGM,
 2947                                          llvm::Constant *C) {
 2991       *this, cast<llvm::Constant>(BlockObjectDispose.getCallee()));
 3004       *this, cast<llvm::Constant>(BlockObjectAssign.getCallee()));
 3008 llvm::Constant *CodeGenModule::getNSConcreteGlobalBlock() {
 3019 llvm::Constant *CodeGenModule::getNSConcreteStackBlock() {
tools/clang/lib/CodeGen/CGBuiltin.cpp
   69 llvm::Constant *CodeGenModule::getBuiltinLibFunction(const FunctionDecl *FD,
  441   Value *Zero = llvm::Constant::getNullValue(IntTy);
  446                               const CallExpr *E, llvm::Constant *calleeValue) {
  923     Value *ArgZero = llvm::Constant::getNullValue(ArgType);
  924     Value *ResZero = llvm::Constant::getNullValue(ResultType);
 1103       ArgValue, llvm::Constant::getNullValue(ArgValue->getType()));
 1248       ArgVal = llvm::Constant::getIntegerValue(Int64Ty, llvm::APInt(64, Val));
 1258         if (!isa<Constant>(ArgVal))
 1333   llvm::Value *Zero = llvm::Constant::getNullValue(OpTy);
 1818     Constant *Zero = llvm::Constant::getNullValue(ArgValue->getType());
 1818     Constant *Zero = llvm::Constant::getNullValue(ArgValue->getType());
 1832         : llvm::Constant::getNullValue(Imag->getType());
 1905     Value *Zero = llvm::Constant::getNullValue(ArgType);
 1962     Value *Zero = llvm::Constant::getNullValue(ArgType);
 2243     Constant *Infinity = ConstantFP::getInfinity(V->getType());
 2260     Value *Zero = Constant::getNullValue(IntTy);
 2311     Value *IsZero = Builder.CreateFCmpOEQ(V, Constant::getNullValue(Ty),
 2847       Builder.CreateAlignedStore(llvm::Constant::getNullValue(ITy), Ptr,
 2882       Args.add(RValue::get(llvm::Constant::getNullValue(VoidPtrTy)),
 4120                       cast<llvm::Constant>(EmitScalarExpr(E->getCallee())));
 4335 Value *CodeGenFunction::EmitNeonSplat(Value *V, Constant *C) {
 5289     Constant *ShiftAmt =
 5526     llvm::Constant *CI = ConstantInt::get(SizeTy, 0);
 5691     Constant *ShiftAmt =
 5827     Op = Builder.CreateFCmp(Fp, Op, Constant::getNullValue(OTy));
 5829     Op = Builder.CreateICmp(Ip, Op, Constant::getNullValue(OTy));
 6747       Value *SV = llvm::ConstantVector::get(cast<llvm::Constant>(Ops[2]));
 6972     llvm::Constant *EightV = ConstantInt::get(Ty, 8);
 6990     llvm::Constant *TwentyFourV = ConstantInt::get(Ty, 24);
 7042   llvm::Constant *CI = ConstantInt::get(SizeTy, 0);
 7779         Builder.CreateICmpEQ(Ops[0], llvm::Constant::getNullValue(Int64Ty));
 7879                                 llvm::Constant::getNullValue(Int64Ty));
 8018     Constant *CI = ConstantInt::get(SizeTy, 0);
 8115     Constant *CI = ConstantInt::get(SizeTy, 0);
 8363     llvm::Constant *cst = cast<Constant>(Ops[3]);
 8363     llvm::Constant *cst = cast<Constant>(Ops[3]);
 9155     llvm::Constant *CI = ConstantInt::get(Int32Ty, 0);
 9469     AllConstants &= isa<Constant>(Ops[i]);
 9473     SmallVector<llvm::Constant*, 16> CstOps;
 9475       CstOps.push_back(cast<Constant>(Ops[i]));
 9643     return llvm::Constant::getNullValue(Ty); // FALSE
 9645     return llvm::Constant::getAllOnesValue(Ty); // TRUE
 9659   if (const auto *C = dyn_cast<Constant>(Mask))
 9659   if (const auto *C = dyn_cast<Constant>(Mask))
 9671   if (const auto *C = dyn_cast<Constant>(Mask))
 9671   if (const auto *C = dyn_cast<Constant>(Mask))
 9686     const auto *C = dyn_cast<Constant>(MaskIn);
 9686     const auto *C = dyn_cast<Constant>(MaskIn);
 9698         Cmp, llvm::Constant::getNullValue(Cmp->getType()), Indices);
 9714     Cmp = Constant::getNullValue(
 9717     Cmp = Constant::getAllOnesValue(
 9741   Value *Zero = Constant::getNullValue(In->getType());
 9767   Value *Zero = llvm::Constant::getNullValue(Ty);
 9868     MaskFalseVal = Constant::getNullValue(Ops[0]->getType());
 9915     Value *PassThru = ZeroMask ? Constant::getNullValue(Res->getType())
 9940     Constant *ShiftAmt = ConstantInt::get(Ty, 32);
 9947     Constant *Mask = ConstantInt::get(Ty, 0xffffffff);
10036   llvm::Constant *CpuModel = CGM.CreateRuntimeVariable(STy, "__cpu_model");
10109     llvm::Constant *CpuModel = CGM.CreateRuntimeVariable(STy, "__cpu_model");
10128     llvm::Constant *CpuFeatures2 = CGM.CreateRuntimeVariable(Int32Ty,
10269     return llvm::Constant::getNullValue(ConvertType(E->getType()));
10455                              Constant::getNullValue(Ops[0]->getType()));
10937     if (const auto *C = dyn_cast<Constant>(Ops[2]))
10937     if (const auto *C = dyn_cast<Constant>(Ops[2]))
11116       return llvm::Constant::getNullValue(ConvertType(E->getType()));
11123       Ops[0] = llvm::Constant::getNullValue(Ops[0]->getType());
11240       return llvm::Constant::getNullValue(ResultType);
11254     Value *Zero = llvm::Constant::getNullValue(VecTy);
11270       return llvm::Constant::getNullValue(ResultType);
11284     Value *Zero = llvm::Constant::getNullValue(VecTy);
11298       return llvm::Constant::getNullValue(Ops[0]->getType());
11306     Value *Zero = llvm::Constant::getNullValue(In->getType());
11320       return llvm::Constant::getNullValue(Ops[0]->getType());
11328     Value *Zero = llvm::Constant::getNullValue(In->getType());
11466     Value *C = llvm::Constant::getAllOnesValue(Ops[0]->getType());
11475     Value *C = llvm::Constant::getNullValue(Ops[0]->getType());
12678       Constant *ShuffleElts[2] = { ConstantInt::get(Int32Ty, 1),
12681       Constant *ShuffleMask = llvm::ConstantVector::get(ShuffleElts);
12720       Constant *ShuffleElts[2] = { ConstantInt::get(Int32Ty, 1),
12723       Constant *ShuffleMask = llvm::ConstantVector::get(ShuffleElts);
12747     Constant *ShuffleElts[2] = {ConstantInt::get(Int32Ty, ElemIdx0),
12749     Constant *ShuffleMask = llvm::ConstantVector::get(ShuffleElts);
12786     Constant *ShuffleElts[4] = {ConstantInt::get(Int32Ty, ElemIdx0),
12791     Constant *ShuffleMask = llvm::ConstantVector::get(ShuffleElts);
tools/clang/lib/CodeGen/CGCUDANV.cpp
   80   llvm::Constant *makeConstantString(const std::string &Str,
   84     llvm::Constant *Zeros[] = {llvm::ConstantInt::get(SizeTy, 0),
  363     llvm::Constant *Zero = llvm::ConstantInt::get(IntTy, 0);
  421     llvm::Constant *KernelName = makeConstantString(getDeviceSideName(I.D));
  422     llvm::Constant *NullPtr = llvm::ConstantPointerNull::get(VoidPtrTy);
  448     llvm::Constant *VarName = makeConstantString(getDeviceSideName(Info.D));
  542   llvm::Constant *FatBinStr;
  640       llvm::Constant *Zero =
  641           llvm::Constant::getNullValue(HandleValue->getType());
  694     llvm::Constant *ModuleIDConstant =
  783     llvm::Constant *Zero = llvm::Constant::getNullValue(HandleValue->getType());
  783     llvm::Constant *Zero = llvm::Constant::getNullValue(HandleValue->getType());
tools/clang/lib/CodeGen/CGCXX.cpp
  141   llvm::Constant *Aliasee = Ref;
  240   llvm::Constant *Ptr = GetOrCreateLLVMFunction(
tools/clang/lib/CodeGen/CGCXXABI.cpp
   31 llvm::Constant *CGCXXABI::GetBogusMemberPointer(QualType T) {
   32   return llvm::Constant::getNullValue(CGM.getTypes().ConvertType(T));
   53   llvm::Constant *FnPtr = llvm::Constant::getNullValue(FTy->getPointerTo());
   53   llvm::Constant *FnPtr = llvm::Constant::getNullValue(FTy->getPointerTo());
   64   return llvm::Constant::getNullValue(Ty);
   74 llvm::Constant *CGCXXABI::EmitMemberPointerConversion(const CastExpr *E,
   75                                                       llvm::Constant *Src) {
   97 llvm::Constant *
  102 llvm::Constant *CGCXXABI::EmitMemberFunctionPointer(const CXXMethodDecl *MD) {
  107 llvm::Constant *CGCXXABI::EmitMemberDataPointer(const MemberPointerType *MPT,
  112 llvm::Constant *CGCXXABI::EmitMemberPointer(const APValue &MP, QualType MPT) {
  233 llvm::Constant *CGCXXABI::getMemberPointerAdjustment(const CastExpr *E) {
tools/clang/lib/CodeGen/CGCXXABI.h
   66   llvm::Constant *GetBogusMemberPointer(QualType T);
  173   virtual llvm::Constant *EmitMemberPointerConversion(const CastExpr *E,
  174                                                       llvm::Constant *Src);
  186   virtual llvm::Constant *EmitNullMemberPointer(const MemberPointerType *MPT);
  189   virtual llvm::Constant *EmitMemberFunctionPointer(const CXXMethodDecl *MD);
  192   virtual llvm::Constant *EmitMemberDataPointer(const MemberPointerType *MPT,
  196   virtual llvm::Constant *EmitMemberPointer(const APValue &MP, QualType MPT);
  218   llvm::Constant *getMemberPointerAdjustment(const CastExpr *E);
  246   virtual llvm::Constant *getAddrOfRTTIDescriptor(QualType Ty) = 0;
  396   virtual llvm::Constant *
  409   virtual llvm::Constant *
  560                                   llvm::Constant *Addr) = 0;
tools/clang/lib/CodeGen/CGCall.cpp
 2237       llvm::Constant* Zero = llvm::Constant::getNullValue(LLVMTy);
 2237       llvm::Constant* Zero = llvm::Constant::getNullValue(LLVMTy);
 3016   llvm::Constant *StaticData[] = {EmitCheckSourceLocation(AttrLoc)};
 3395       Builder.CreateICmpNE(V, llvm::Constant::getNullValue(V->getType()));
 3396   llvm::Constant *StaticData[] = {
tools/clang/lib/CodeGen/CGCall.h
  133     static CGCallee forDirect(llvm::Constant *functionPtr,
tools/clang/lib/CodeGen/CGClass.cpp
  176 llvm::Constant *
  368     PHI->addIncoming(llvm::Constant::getNullValue(BasePtrTy), origBB);
  428     PHI->addIncoming(llvm::Constant::getNullValue(Value->getType()), CastNull);
 2156   llvm::Constant *CalleePtr = CGM.getAddrOfCXXStructor(GlobalDecl(D, Type));
 2762   llvm::Constant *StaticData[] = {
 2841   llvm::Constant *calleePtr =
tools/clang/lib/CodeGen/CGCleanup.cpp
 1213     llvm::Constant *value = CGF.Builder.getInt1(kind == ForDeactivation);
tools/clang/lib/CodeGen/CGCleanup.h
   38   llvm::Constant *RTTI;
  196   void setHandler(unsigned I, llvm::Constant *Type, llvm::BasicBlock *Block) {
tools/clang/lib/CodeGen/CGDebugInfo.cpp
 1353   llvm::Constant *C = nullptr;
 1770       llvm::Constant *V = nullptr;
 1802           TheCU, Name, TTy, cast_or_null<llvm::Constant>(V)));
 1807       llvm::Constant *V = nullptr;
 1838       llvm::Constant *V = ConstantEmitter(CGM).emitAbstract(E, T);
tools/clang/lib/CodeGen/CGDecl.cpp
  218 llvm::Constant *CodeGenModule::getOrCreateStaticVarDecl(
  224   if (llvm::Constant *ExistingGV = StaticLocalDeclMap[&D])
  243   llvm::Constant *Init = nullptr;
  265   llvm::Constant *Addr = GV;
  316   llvm::Constant *Init = emitter.tryEmitForInitializer(D);
  354     llvm::Constant *NewPtrForOldDecl =
  382   llvm::Constant *addr = CGM.getOrCreateStaticVarDecl(D, Linkage);
  436   llvm::Constant *castedAddr =
  559     llvm::Constant *CleanupFn;
  563     CallCleanupFunction(llvm::Constant *CleanupFn, const CGFunctionInfo *Info,
  732   llvm::Constant *StaticData[] = {
  859 static bool canEmitInitWithFewStoresAfterBZero(llvm::Constant *Init,
  874       llvm::Constant *Elt = cast<llvm::Constant>(Init->getOperand(i));
  874       llvm::Constant *Elt = cast<llvm::Constant>(Init->getOperand(i));
  884       llvm::Constant *Elt = CDS->getElementAsConstant(i);
  898                                         llvm::Constant *Init, Address Loc,
  913       llvm::Constant *Elt = CDS->getElementAsConstant(i);
  928     llvm::Constant *Elt = cast<llvm::Constant>(Init->getOperand(i));
  928     llvm::Constant *Elt = cast<llvm::Constant>(Init->getOperand(i));
  941 static bool shouldUseBZeroPlusStoresToInitialize(llvm::Constant *Init,
  962 static llvm::Value *shouldUseMemSetToInitialize(llvm::Constant *Init,
  988 static llvm::Constant *patternOrZeroFor(CodeGenModule &CGM, IsPattern isPattern,
  993     return llvm::Constant::getNullValue(Ty);
  996 static llvm::Constant *constWithPadding(CodeGenModule &CGM, IsPattern isPattern,
  997                                         llvm::Constant *constant);
 1000 static llvm::Constant *constStructWithPadding(CodeGenModule &CGM,
 1003                                               llvm::Constant *constant) {
 1008   SmallVector<llvm::Constant *, 8> Values;
 1017     llvm::Constant *CurOp;
 1019       CurOp = llvm::Constant::getNullValue(STy->getElementType(i));
 1021       CurOp = cast<llvm::Constant>(constant->getAggregateElement(i));
 1022     auto *NewOp = constWithPadding(CGM, isPattern, CurOp);
 1040 static llvm::Constant *constWithPadding(CodeGenModule &CGM, IsPattern isPattern,
 1041                                         llvm::Constant *constant) {
 1046     llvm::SmallVector<llvm::Constant *, 8> Values;
 1052     llvm::Constant *OpValue, *PaddedOp;
 1054       OpValue = llvm::Constant::getNullValue(ElemTy);
 1078                                                llvm::Constant *Constant,
 1130                                                 llvm::Constant *Constant,
 1143                                   llvm::Constant *constant) {
 1197               cast<llvm::Constant>(Builder.CreateExtractValue(constant, i)));
 1208               cast<llvm::Constant>(Builder.CreateExtractValue(constant, i)));
 1226   llvm::Constant *constant =
 1227       constWithPadding(CGM, IsPattern::No, llvm::Constant::getNullValue(ElTy));
 1235   llvm::Constant *constant = constWithPadding(
 1241 static bool containsUndef(llvm::Constant *constant) {
 1247       if (containsUndef(cast<llvm::Constant>(Op)))
 1252 static llvm::Constant *replaceUndef(CodeGenModule &CGM, IsPattern isPattern,
 1253                                     llvm::Constant *constant) {
 1261   llvm::SmallVector<llvm::Constant *, 8> Values(constant->getNumOperands());
 1263     auto *OpValue = cast<llvm::Constant>(constant->getOperand(Op));
 1263     auto *OpValue = cast<llvm::Constant>(constant->getOperand(Op));
 1705     llvm::Constant *Constant = constWithPadding(
 1812   llvm::Constant *constant = nullptr;
 2004     llvm::Constant *F = CGM.GetAddrOfFunction(FD);
tools/clang/lib/CodeGen/CGDeclCXX.cpp
   96   llvm::Constant *Argument;
  140     Argument = llvm::Constant::getNullValue(CGF.Int8PtrTy);
  149                               llvm::Constant *Addr) {
  154 void CodeGenFunction::EmitInvariantStart(llvm::Constant *Addr, CharUnits Size) {
  173                                                llvm::Constant *DeclPtr,
  230                                                   llvm::Constant *addr) {
  263                                                    llvm::Constant *addr) {
  265   llvm::Constant *dtorStub = createAtExitStub(VD, dtor, addr);
  269 void CodeGenFunction::registerGlobalDtorWithAtExit(llvm::Constant *dtorStub) {
  730                                  llvm::Constant *>> &DtorsAndObjects) {
  742       llvm::Constant *Arg;
tools/clang/lib/CodeGen/CGException.cpp
  245 static llvm::Constant *getOpaquePersonalityFn(CodeGenModule &CGM,
  252   return llvm::ConstantExpr::getBitCast(cast<llvm::Constant>(Fn.getCallee()),
  271       llvm::Constant *CVal = cast<llvm::Constant>(Val);
  271       llvm::Constant *CVal = cast<llvm::Constant>(Val);
  288 static bool PersonalityHasOnlyCXXUses(llvm::Constant *Fn) {
  356 static llvm::Constant *getCatchAllValue(CodeGenFunction &CGF) {
  864     SmallVector<llvm::Constant*, 8> Filters;
  871       Filters.push_back(cast<llvm::Constant>(filterTypes[i]));
  872     llvm::Constant *FilterArray = llvm::ConstantArray::get(AType, Filters);
  919       TypeInfo.RTTI = llvm::Constant::getNullValue(CGF.VoidPtrTy);
  926                         llvm::Constant::getNullValue(CGF.VoidPtrTy)});
  969       TypeInfo.RTTI = llvm::Constant::getNullValue(CGF.VoidPtrTy);
 1001       TypeInfo.RTTI = llvm::Constant::getNullValue(CGF.VoidPtrTy);
 1725     llvm::Constant *ParentI8Fn =
 1791     llvm::Constant *ParentI8Fn =
 2012   llvm::Constant *C =
 2025   llvm::Constant *OpaqueFunc =
tools/clang/lib/CodeGen/CGExpr.cpp
  335     llvm::Constant *CleanupArg;
  341       CleanupArg = llvm::Constant::getNullValue(CGF.Int8PtrTy);
  345       CleanupArg = cast<llvm::Constant>(ReferenceTemporary.getPointer());
  396           llvm::Constant *C = GV;
  492                          cast<llvm::Constant>(Object.getPointer()),
  616                                              const llvm::Constant *Elts) {
  720     llvm::Constant *ConstantSize = dyn_cast<llvm::Constant>(Size);
  720     llvm::Constant *ConstantSize = dyn_cast<llvm::Constant>(Size);
  764     llvm::Constant *StaticData[] = {
  837       llvm::Constant *StaticData[] = {
  975   llvm::Constant *StaticData[] = {
 1625   llvm::Constant *StaticArgs[] = {EmitCheckSourceLocation(Loc),
 1729         llvm::Constant *Mask[] = {Builder.getInt32(0), Builder.getInt32(1),
 1856   const llvm::Constant *Elts = LV.getExtVectorElts();
 1870   SmallVector<llvm::Constant*, 4> Mask;
 1891   const llvm::Constant *Elts = LV.getExtVectorElts();
 2097   const llvm::Constant *Elts = Dst.getExtVectorElts();
 2108       SmallVector<llvm::Constant*, 4> Mask(NumDstElts);
 2121       SmallVector<llvm::Constant*, 4> ExtMask;
 2131       SmallVector<llvm::Constant*, 4> Mask;
 2396 static llvm::Constant *EmitFunctionDeclPointer(CodeGenModule &CGM,
 2403   llvm::Constant *V = CGM.GetAddrOfFunction(FD);
 2535       llvm::Constant *Val = ConstantEmitter(*this).emitAbstract(
 2791 llvm::Constant *CodeGenFunction::EmitCheckTypeDescriptor(QualType T) {
 2793   if (llvm::Constant *C = CGM.getTypeDescriptorFromMap(T))
 2816   llvm::Constant *Components[] = {
 2820   llvm::Constant *Descriptor = llvm::ConstantStruct::getAnon(Components);
 2872 llvm::Constant *CodeGenFunction::EmitCheckSourceLocation(SourceLocation Loc) {
 2873   llvm::Constant *Filename;
 2911     Filename = llvm::Constant::getNullValue(Int8PtrTy);
 2915   llvm::Constant *Data[] = {Filename, Builder.getInt32(Line),
 3007     SanitizerHandler CheckHandler, ArrayRef<llvm::Constant *> StaticArgs,
 3073       llvm::Constant *Info = llvm::ConstantStruct::getAnon(StaticArgs);
 3117     llvm::Value *Ptr, ArrayRef<llvm::Constant *> StaticArgs) {
 3134     llvm::Constant *Info = llvm::ConstantStruct::getAnon(StaticArgs);
 3840     llvm::Constant *CV =
 3847   llvm::Constant *BaseElts = Base.getExtVectorElts();
 3848   SmallVector<llvm::Constant *, 4> CElts;
 3852   llvm::Constant *CV = llvm::ConstantVector::get(CElts);
 4551   llvm::Constant *calleePtr = EmitFunctionDeclPointer(CGF.CGM, FD);
 4791     if (llvm::Constant *PrefixSig =
 4798       llvm::Constant *FTRTTIConst =
 4827       llvm::Constant *StaticData[] = {EmitCheckSourceLocation(E->getBeginLoc()),
 4861     llvm::Constant *StaticData[] = {
tools/clang/lib/CodeGen/CGExprAgg.cpp
  498     if (llvm::Constant *C = Emitter.tryEmitForInitializer(E, AS, ArrayQTy)) {
 1320               llvm::Constant::getNullValue(CGF.Int8PtrTy),
 1505           CGF.Int8Ty, llvm::Constant::getNullValue(CGF.Int8PtrTy),
 1834   llvm::Constant *SizeVal = CGF.Builder.getInt64(Size.getQuantity());
tools/clang/lib/CodeGen/CGExprCXX.cpp
  526   llvm::Constant *NullConstantForBase = CGF.CGM.EmitNullConstantForBase(Base);
  781       size = llvm::Constant::getAllOnesValue(CGF.SizeTy);
  923                                  llvm::Constant::getAllOnesValue(CGF.SizeTy),
 1000       auto *InitializedSize = llvm::ConstantInt::get(
 1290   llvm::Constant *CalleePtr = CGF.CGM.GetAddrOfFunction(CalleeDecl);
 1742     PHI->addIncoming(llvm::Constant::getNullValue(resultPtr->getType()),
 2148     llvm::Constant *TypeInfo =
 2171     return llvm::Constant::getNullValue(DestLTy);
 2265     PHI->addIncoming(llvm::Constant::getNullValue(Value->getType()), CastNull);
tools/clang/lib/CodeGen/CGExprComplex.cpp
  132     llvm::Constant *pair = Constant.getValue();
  235     llvm::Constant *Null = llvm::Constant::getNullValue(CGF.ConvertType(Elem));
  235     llvm::Constant *Null = llvm::Constant::getNullValue(CGF.ConvertType(Elem));
  241     llvm::Constant *Null =
  242                        llvm::Constant::getNullValue(CGF.ConvertType(Elem));
  402   return ComplexPairTy(llvm::Constant::getNullValue(Imag->getType()), Imag);
  447   return ComplexPairTy(Val, llvm::Constant::getNullValue(Val->getType()));
  795         LibCallOp.LHS.second = llvm::Constant::getNullValue(LHSr->getType());
  815         LHSi = llvm::Constant::getNullValue(RHSi->getType());
 1080   llvm::Value* zeroConstant = llvm::Constant::getNullValue(LTy);
tools/clang/lib/CodeGen/CGExprConstant.cpp
   46   CharUnits getAlignment(const llvm::Constant *C) const {
   55   CharUnits getSize(const llvm::Constant *C) const {
   59   llvm::Constant *getPadding(CharUnits PadSize) const {
   66   llvm::Constant *getZeroes(CharUnits ZeroSize) const {
   83   llvm::SmallVector<llvm::Constant*, 32> Elems;
   98   static llvm::Constant *buildFrom(CodeGenModule &CGM,
   99                                    ArrayRef<llvm::Constant *> Elems,
  114   bool add(llvm::Constant *C, CharUnits Offset, bool AllowOverwrite);
  128   llvm::Constant *build(llvm::Type *DesiredTy, bool AllowOversized) const {
  141 bool ConstantAggregateBuilder::add(llvm::Constant *C, CharUnits Offset,
  250         llvm::Constant *&ToUpdate = Elems[*FirstElemToUpdate];
  316   llvm::Constant *C = Elems[Index];
  382 static llvm::Constant *
  385                   SmallVectorImpl<llvm::Constant *> &Elements,
  386                   llvm::Constant *Filler);
  388 llvm::Constant *ConstantAggregateBuilder::buildFrom(
  389     CodeGenModule &CGM, ArrayRef<llvm::Constant *> Elems,
  406     llvm::Constant *Filler = llvm::Constant::getNullValue(CommonType);
  406     llvm::Constant *Filler = llvm::Constant::getNullValue(CommonType);
  408     SmallVector<llvm::Constant*, 32> ArrayElements;
  434   for (llvm::Constant *C : Elems)
  439   ArrayRef<llvm::Constant*> UnpackedElems = Elems;
  440   llvm::SmallVector<llvm::Constant*, 32> UnpackedElemStorage;
  456   llvm::SmallVector<llvm::Constant*, 32> PackedElems;
  524   llvm::Constant *Replacement = buildFrom(
  543   static llvm::Constant *BuildStruct(ConstantEmitter &Emitter,
  545   static llvm::Constant *BuildStruct(ConstantEmitter &Emitter,
  558                    llvm::Constant *InitExpr, bool AllowOverwrite = false);
  560   bool AppendBytes(CharUnits FieldOffsetInChars, llvm::Constant *InitCst,
  569   llvm::Constant *Finalize(QualType Ty);
  573     const FieldDecl *Field, uint64_t FieldOffset, llvm::Constant *InitCst,
  583                                      llvm::Constant *InitCst,
  624   llvm::Constant *FillC = nullptr;
  652       llvm::Constant *Val = Emitter.tryEmitPrivateForMemory(Init, ElemType);
  714     llvm::Constant *EltInit =
  769       llvm::Constant *VTableAddressPoint =
  816     llvm::Constant *EltInit =
  841 llvm::Constant *ConstStructBuilder::Finalize(QualType Type) {
  847 llvm::Constant *ConstStructBuilder::BuildStruct(ConstantEmitter &Emitter,
  859 llvm::Constant *ConstStructBuilder::BuildStruct(ConstantEmitter &Emitter,
  895   llvm::Constant *C = emitter.tryEmitForInitializer(E->getInitializer(),
  915 static llvm::Constant *
  918                   SmallVectorImpl<llvm::Constant *> &Elements,
  919                   llvm::Constant *Filler) {
  941       llvm::Constant *Initial = llvm::ConstantArray::get(
  970   for (llvm::Constant *Elt : Elements)
  984   public StmtVisitor<ConstExprEmitter, llvm::Constant*, QualType> {
  997   llvm::Constant *VisitStmt(Stmt *S, QualType T) {
 1001   llvm::Constant *VisitConstantExpr(ConstantExpr *CE, QualType T) {
 1005   llvm::Constant *VisitParenExpr(ParenExpr *PE, QualType T) {
 1009   llvm::Constant *
 1015   llvm::Constant *VisitGenericSelectionExpr(GenericSelectionExpr *GE,
 1020   llvm::Constant *VisitChooseExpr(ChooseExpr *CE, QualType T) {
 1024   llvm::Constant *VisitCompoundLiteralExpr(CompoundLiteralExpr *E, QualType T) {
 1028   llvm::Constant *VisitCastExpr(CastExpr *E, QualType destType) {
 1049       SmallVector<llvm::Constant*, 2> Elts;
 1162   llvm::Constant *VisitCXXDefaultInitExpr(CXXDefaultInitExpr *DIE, QualType T) {
 1168   llvm::Constant *VisitExprWithCleanups(ExprWithCleanups *E, QualType T) {
 1174   llvm::Constant *VisitMaterializeTemporaryExpr(MaterializeTemporaryExpr *E,
 1179   llvm::Constant *EmitArrayInitialization(InitListExpr *ILE, QualType T) {
 1192     llvm::Constant *fillC = nullptr;
 1200     SmallVector<llvm::Constant*, 16> Elts;
 1209       llvm::Constant *C = Emitter.tryEmitPrivateForMemory(Init, EltType);
 1225   llvm::Constant *EmitRecordInitialization(InitListExpr *ILE, QualType T) {
 1229   llvm::Constant *VisitImplicitValueInitExpr(ImplicitValueInitExpr* E,
 1234   llvm::Constant *VisitInitListExpr(InitListExpr *ILE, QualType T) {
 1247   llvm::Constant *VisitDesignatedInitUpdateExpr(DesignatedInitUpdateExpr *E,
 1267   llvm::Constant *VisitCXXConstructExpr(CXXConstructExpr *E, QualType Ty) {
 1299   llvm::Constant *VisitStringLiteral(StringLiteral *E, QualType T) {
 1304   llvm::Constant *VisitObjCEncodeExpr(ObjCEncodeExpr *E, QualType T) {
 1318   llvm::Constant *VisitUnaryExtension(const UnaryOperator *E, QualType T) {
 1330 llvm::Constant *ConstantEmitter::validateAndPopAbstract(llvm::Constant *C,
 1330 llvm::Constant *ConstantEmitter::validateAndPopAbstract(llvm::Constant *C,
 1342 llvm::Constant *
 1349 llvm::Constant *
 1356 llvm::Constant *
 1363 llvm::Constant *
 1376 llvm::Constant *
 1390 llvm::Constant *ConstantEmitter::tryEmitForInitializer(const VarDecl &D) {
 1395 llvm::Constant *ConstantEmitter::tryEmitForInitializer(const Expr *E,
 1402 llvm::Constant *ConstantEmitter::emitForInitializer(const APValue &value,
 1431 void ConstantEmitter::registerCurrentAddrPrivate(llvm::Constant *signal,
 1444     llvm::Constant *Base;
 1448     llvm::DenseMap<llvm::Constant*, llvm::GlobalVariable*> PlaceholderAddresses;
 1451     llvm::DenseMap<llvm::GlobalVariable*, llvm::Constant*> Locations;
 1457     llvm::SmallVector<llvm::Constant*, 8> IndexValues;
 1459     ReplacePlaceholders(CodeGenModule &CGM, llvm::Constant *base,
 1460                         ArrayRef<std::pair<llvm::Constant*,
 1466     void replaceInInitializer(llvm::Constant *init) {
 1497     void findLocations(llvm::Constant *init) {
 1555       llvm::Constant *location =
 1596 llvm::Constant *ConstantEmitter::tryEmitPrivateForVarInit(const VarDecl &D) {
 1638 llvm::Constant *
 1645 llvm::Constant *
 1653 llvm::Constant *ConstantEmitter::tryEmitPrivateForMemory(const Expr *E,
 1656   llvm::Constant *C = tryEmitPrivate(E, nonMemoryDestType);
 1660 llvm::Constant *ConstantEmitter::tryEmitPrivateForMemory(const APValue &value,
 1667 llvm::Constant *ConstantEmitter::emitForMemory(CodeGenModule &CGM,
 1668                                                llvm::Constant *C,
 1681     llvm::Constant *elts[] = {
 1698 llvm::Constant *ConstantEmitter::tryEmitPrivate(const Expr *E,
 1709   llvm::Constant *C;
 1718 llvm::Constant *CodeGenModule::getNullPointer(llvm::PointerType *T, QualType QT) {
 1726   llvm::Constant *Value;
 1729   /*implicit*/ ConstantLValue(llvm::Constant *value,
 1753   llvm::Constant *tryEmit();
 1756   llvm::Constant *tryEmitAbsolute(llvm::Type *destTy);
 1780   llvm::Constant *getOffset() {
 1786   llvm::Constant *applyOffset(llvm::Constant *C) {
 1786   llvm::Constant *applyOffset(llvm::Constant *C) {
 1802 llvm::Constant *ConstantLValueEmitter::tryEmit() {
 1825   llvm::Constant *value = result.Value;
 1843 llvm::Constant *
 1856   llvm::Constant *C;
 1893     llvm::Constant *TypeInfo =
 1952   llvm::Constant *Ptr = Emitter.CGF->GetAddrOfLabel(E->getLabel());
 2011 llvm::Constant *ConstantEmitter::tryEmitPrivate(const APValue &Value,
 2026     llvm::Constant *Complex[2];
 2049     llvm::Constant *Complex[2];
 2063     SmallVector<llvm::Constant *, 4> Inits(NumElts);
 2079     llvm::Constant *LHS = tryEmitPrivate(LHSExpr, LHSExpr->getType());
 2080     llvm::Constant *RHS = tryEmitPrivate(RHSExpr, RHSExpr->getType());
 2087     llvm::Constant *AddrLabelDiff = llvm::ConstantExpr::getSub(LHS, RHS);
 2104     llvm::Constant *Filler = nullptr;
 2113     SmallVector<llvm::Constant*, 16> Elts;
 2121       llvm::Constant *C = tryEmitPrivateForMemory(
 2171 llvm::Constant *
 2187 static llvm::Constant *EmitNullConstantForBase(CodeGenModule &CGM,
 2191 static llvm::Constant *EmitNullConstant(CodeGenModule &CGM,
 2200   std::vector<llvm::Constant *> elements(numElements);
 2269       elements[i] = llvm::Constant::getNullValue(structure->getElementType(i));
 2276 static llvm::Constant *EmitNullConstantForBase(CodeGenModule &CGM,
 2283     return llvm::Constant::getNullValue(baseType);
 2289 llvm::Constant *ConstantEmitter::emitNullForMemory(CodeGenModule &CGM,
 2294 llvm::Constant *CodeGenModule::EmitNullConstant(QualType T) {
 2300     return llvm::Constant::getNullValue(getTypes().ConvertTypeForMem(T));
 2308     llvm::Constant *Element =
 2311     SmallVector<llvm::Constant *, 8> Array(NumElements, Element);
 2324 llvm::Constant *
tools/clang/lib/CodeGen/CGExprScalar.cpp
  387     llvm::Value *Zero = llvm::Constant::getNullValue(V->getType());
  932   llvm::Constant *StaticArgs[] = {CGF.EmitCheckSourceLocation(Loc),
 1019   llvm::Constant *StaticArgs[] = {
 1063     llvm::Constant *Zero = llvm::ConstantInt::get(VTy, 0);
 1159   llvm::Constant *StaticArgs[] = {
 1444       Value *Zero = llvm::Constant::getNullValue(Result->getType());
 1536   SmallVector<llvm::Constant *, 4> StaticData;
 1631   SmallVector<llvm::Constant*, 32> indices;
 1682     llvm::Value *Zero = llvm::Constant::getNullValue(SrcTy);
 1757 static llvm::Constant *getMaskElt(llvm::ShuffleVectorInst *SVI, unsigned Idx,
 1765 static llvm::Constant *getAsInt32(llvm::ConstantInt *C, llvm::Type *I32Ty) {
 1809     SmallVector<llvm::Constant*, 16> Args;
 1845             llvm::Constant *Mask = llvm::ConstantVector::get(Args);
 1898       llvm::Constant *Mask = llvm::ConstantVector::get(Args);
 1914     llvm::Constant *Mask = llvm::ConstantVector::get(Args);
 1927     llvm::Value *Init = llvm::Constant::getNullValue(EltTy);
 2282     return llvm::Constant::getNullValue(ConvertType(DestTy));
 2596   BinOp.LHS = llvm::Constant::getNullValue(BinOp.RHS->getType());
 2614     Value *Zero = llvm::Constant::getNullValue(Oper->getType());
 2646   llvm::Value* Result = llvm::Constant::getNullValue(ResultType);
 2805   return llvm::Constant::getNullValue(ConvertType(E->getType()));
 3000       llvm::Value *Zero = llvm::Constant::getNullValue(ConvertType(Ops.Ty));
 3005       llvm::Value *Zero = llvm::Constant::getNullValue(ConvertType(Ops.Ty));
 3042     llvm::Value *Zero = llvm::Constant::getNullValue(ConvertType(Ops.Ty));
 3863       LHS.second = llvm::Constant::getNullValue(LHS.first->getType());
 3874       RHS.second = llvm::Constant::getNullValue(RHS.first->getType());
 3997       return llvm::Constant::getNullValue(ResTy);
 4202     llvm::Value *zeroVec = llvm::Constant::getNullValue(vecTy);
 4331   SmallVector<llvm::Constant*, 4> Args;
 4337   llvm::Constant *Mask = llvm::ConstantVector::get(Args);
 4566   if (isa<llvm::Constant>(GEPVal)) {
 4585   auto *Zero = llvm::ConstantInt::getNullValue(IntPtrTy);
 4634       auto *ElementSize = llvm::ConstantInt::get(
 4669       !isa<llvm::Constant>(GEPVal) && PtrTy->getPointerAddressSpace() == 0;
 4687   auto *Zero = llvm::ConstantInt::getNullValue(IntPtrTy);
 4760   llvm::Constant *StaticArgs[] = {EmitCheckSourceLocation(Loc)};
tools/clang/lib/CodeGen/CGNonTrivialStruct.cpp
  228 static llvm::Constant *getNullForVariable(Address Addr) {
  655     llvm::Constant *SizeVal = CGF->Builder.getInt64(Size.getQuantity());
tools/clang/lib/CodeGen/CGObjC.cpp
   39 static llvm::Constant *getNullForVariable(Address addr) {
   47   llvm::Constant *C =
   98     llvm::Constant *GV = CGM.GetAddrOfConstantCString(Str).getPointer();
  131     llvm::Constant *Constant =
  955   llvm::Constant *AtomicHelperFn =
  995                                           llvm::Constant *AtomicHelperFn) {
 1025                                         llvm::Constant *AtomicHelperFn) {
 1247                                           llvm::Constant *AtomicHelperFn) {
 1313                                         llvm::Constant *AtomicHelperFn) {
 1491   llvm::Constant *AtomicHelperFn =
 1700   llvm::Constant *Count = llvm::ConstantInt::get(NSUIntegerTy, NumItems);
 1715   llvm::Value *zero = llvm::Constant::getNullValue(NSUIntegerTy);
 1899     llvm::Value *null = llvm::Constant::getNullValue(convertedElementType);
 3483 llvm::Constant *
 3495   llvm::Constant *HelperFn = nullptr;
 3567 llvm::Constant *
 3579   llvm::Constant *HelperFn = nullptr;
 3711   return Builder.CreateICmpNE(CallRes, llvm::Constant::getNullValue(Int32Ty));
 3747                                 llvm::Constant::getNullValue(VoidPtrTy));
tools/clang/lib/CodeGen/CGObjCGNU.cpp
  204   llvm::Constant *MakeConstantString(StringRef Str, const char *Name = "") {
  214   llvm::Constant *ExportUniqueString(const std::string &Str,
  220       llvm::Constant *value = llvm::ConstantDataArray::getString(VMContext,Str);
  233   llvm::Constant *MakePropertyEncodingString(const ObjCPropertyDecl *PD,
  279   virtual llvm::Constant *GenerateCategoryProtocolList(const
  308         llvm::Constant *TypeEncoding = MakeConstantString(TypeStr);
  334   llvm::Constant *Zeros[2];
  336   llvm::Constant *NULLPtr;
  353   std::vector<llvm::Constant*> Classes;
  355   std::vector<llvm::Constant*> Categories;
  358   std::vector<llvm::Constant*> ConstantStrings;
  362   llvm::StringMap<llvm::Constant*> ObjCStrings;
  364   llvm::StringMap<llvm::Constant*> ExistingProtocols;
  443   virtual llvm::Constant *GenerateIvarList(ArrayRef<llvm::Constant *> IvarNames,
  443   virtual llvm::Constant *GenerateIvarList(ArrayRef<llvm::Constant *> IvarNames,
  444                              ArrayRef<llvm::Constant *> IvarTypes,
  445                              ArrayRef<llvm::Constant *> IvarOffsets,
  446                              ArrayRef<llvm::Constant *> IvarAlign,
  454   llvm::Constant *GenerateMethodList(StringRef ClassName,
  462   virtual llvm::Constant *GenerateEmptyProtocol(StringRef ProtocolName);
  466   llvm::Constant *GeneratePropertyList(const Decl *Container,
  473   llvm::Constant *GenerateProtocolList(ArrayRef<std::string> Protocols);
  482   llvm::Constant *GenerateClassStructure(
  483       llvm::Constant *MetaClass,
  484       llvm::Constant *SuperClass,
  487       llvm::Constant *Version,
  488       llvm::Constant *InstanceSize,
  489       llvm::Constant *IVars,
  490       llvm::Constant *Methods,
  491       llvm::Constant *Protocols,
  492       llvm::Constant *IvarOffsets,
  493       llvm::Constant *Properties,
  494       llvm::Constant *StrongIvarBitmap,
  495       llvm::Constant *WeakIvarBitmap,
  500   virtual llvm::Constant *GenerateProtocolMethodList(
  504   void EmitProtocolMethodList(T &&Methods, llvm::Constant *&Required,
  505       llvm::Constant *&Optional) {
  570   llvm::Constant *MakeBitField(ArrayRef<bool> bits);
  597   virtual llvm::Constant *GetConstantSelector(Selector Sel,
  601   llvm::Constant *GetConstantSelector(const ObjCMethodDecl *M) {
  605   llvm::Constant *GetEHType(QualType T) override;
  654   llvm::Constant *BuildGCBlockLayout(CodeGenModule &CGM,
  658   llvm::Constant *BuildRCBlockLayout(CodeGenModule &CGM,
  663   llvm::Constant *BuildByrefLayout(CodeGenModule &CGM, QualType T) override {
  745     llvm::Constant *GetEHType(QualType T) override;
  943   typedef std::pair<std::string, std::pair<llvm::Constant*, int>> EarlyInitPair;
  973     llvm::StringMap<llvm::Constant*>::iterator old = ObjCStrings.find(Str);
  994       auto *ObjCStr = llvm::ConstantExpr::getIntToPtr(
 1006     llvm::Constant *isa = TheModule.getNamedGlobal(Sym);
 1061       auto *C = llvm::ConstantDataArray::get(VMContext, Arr);
 1105       std::pair<llvm::Constant*, int> v{ObjCStrGV, 0};
 1108     llvm::Constant *ObjCStr = llvm::ConstantExpr::getBitCast(ObjCStrGV, IdTy);
 1149   llvm::Constant *
 1186   llvm::Constant *GenerateCategoryProtocolList(const ObjCCategoryDecl *OCD)
 1188     SmallVector<llvm::Constant*, 16> Protocols;
 1282   llvm::Constant *GenerateIvarList(ArrayRef<llvm::Constant *> IvarNames,
 1282   llvm::Constant *GenerateIvarList(ArrayRef<llvm::Constant *> IvarNames,
 1283                    ArrayRef<llvm::Constant *> IvarTypes,
 1284                    ArrayRef<llvm::Constant *> IvarOffsets,
 1285                    ArrayRef<llvm::Constant *> IvarAlign,
 1290   llvm::Constant *GenerateEmptyProtocol(StringRef ProtocolName) override {
 1303   llvm::StringMap<llvm::Constant*> ExistingProtocolRefs;
 1308     auto *&Ref = ExistingProtocolRefs[Name];
 1310       auto *&Protocol = ExistingProtocols[Name];
 1328   llvm::Constant *GenerateProtocolList(ArrayRef<llvm::Constant*> Protocols) {
 1328   llvm::Constant *GenerateProtocolList(ArrayRef<llvm::Constant*> Protocols) {
 1331     llvm::Constant * ProtocolArray = llvm::ConstantArray::get(ProtocolArrayTy,
 1345   llvm::Constant *GenerateProtocolRef(const ObjCProtocolDecl *PD) {
 1347     auto *&Protocol = ExistingProtocols[ProtocolName];
 1370     SmallVector<llvm::Constant*, 16> Protocols;
 1375     llvm::Constant *ProtocolList = GenerateProtocolList(Protocols);
 1378     llvm::Constant *InstanceMethodList, *OptionalInstanceMethodList;
 1379     llvm::Constant *ClassMethodList, *OptionalClassMethodList;
 1419   llvm::Constant *EnforceType(llvm::Constant *Val, llvm::Type *Ty) {
 1419   llvm::Constant *EnforceType(llvm::Constant *Val, llvm::Type *Ty) {
 1428   llvm::Constant  *GetTypeString(llvm::StringRef TypeEncoding) {
 1437       llvm::Constant *Init = llvm::ConstantDataArray::getString(VMContext,
 1448   llvm::Constant *GetConstantSelector(Selector Sel,
 1471     auto *SelVal = EnforceType(GV, SelectorTy);
 1483   std::pair<llvm::Constant*,llvm::Constant*>
 1483   std::pair<llvm::Constant*,llvm::Constant*>
 1490       auto ZeroInit = llvm::Constant::getNullValue(emptyStruct);
 1576     for (auto *C : Categories) {
 1584       for (auto *F : Init)
 1695     auto *classNameConstant = MakeConstantString(className);
 1759     llvm::Constant *SuperClass = nullptr;
 1836         llvm::Constant *OffsetValue = llvm::ConstantInt::get(IntTy, Offset);
 1909     SmallVector<llvm::Constant*, 16> Protocols;
 1941         std::pair<llvm::Constant*, int> v{classStruct, 1};
 2270   llvm::Constant *ClassName = MakeConstantString(Name);
 2359 llvm::Constant *CGObjCGNU::GetEHType(QualType T) {
 2380 llvm::Constant *CGObjCGNUstep::GetEHType(QualType T) {
 2393     llvm::Constant *IDEHType =
 2414   llvm::Constant *typeinfo = TheModule.getGlobalVariable(typeinfoName);
 2430   llvm::Constant *Two = llvm::ConstantInt::get(IntTy, 2);
 2431   auto *BVtable = llvm::ConstantExpr::getBitCast(
 2435   llvm::Constant *typeName =
 2442   llvm::Constant *TI =
 2457   llvm::StringMap<llvm::Constant*>::iterator old = ObjCStrings.find(Str);
 2468   llvm::Constant *isa = TheModule.getNamedGlobal(Sym);
 2481   llvm::Constant *ObjCStr =
 2658             llvm::Constant::getNullValue(Receiver->getType()));
 2736       phi->addIncoming(llvm::Constant::getNullValue(v->getType()), startBB);
 2743       CGF.InitTempAlloca(NullVal, llvm::Constant::getNullValue(RetTy));
 2751       phi->addIncoming(llvm::Constant::getNullValue(v.first->getType()),
 2755       phi2->addIncoming(llvm::Constant::getNullValue(v.second->getType()),
 2765 llvm::Constant *CGObjCGNU::
 2809     llvm::Constant *FnPtr =
 2835 llvm::Constant *CGObjCGNU::
 2836 GenerateIvarList(ArrayRef<llvm::Constant *> IvarNames,
 2837                  ArrayRef<llvm::Constant *> IvarTypes,
 2838                  ArrayRef<llvm::Constant *> IvarOffsets,
 2839                  ArrayRef<llvm::Constant *> IvarAlign,
 2871 llvm::Constant *CGObjCGNU::GenerateClassStructure(
 2872     llvm::Constant *MetaClass,
 2873     llvm::Constant *SuperClass,
 2876     llvm::Constant *Version,
 2877     llvm::Constant *InstanceSize,
 2878     llvm::Constant *IVars,
 2879     llvm::Constant *Methods,
 2880     llvm::Constant *Protocols,
 2881     llvm::Constant *IvarOffsets,
 2882     llvm::Constant *Properties,
 2883     llvm::Constant *StrongIvarBitmap,
 2884     llvm::Constant *WeakIvarBitmap,
 2971   llvm::Constant *Class =
 2983 llvm::Constant *CGObjCGNU::
 3005 llvm::Constant *
 3016     llvm::Constant *protocol = nullptr;
 3017     llvm::StringMap<llvm::Constant*>::iterator value =
 3033   llvm::Constant *&protocol = ExistingProtocols[PD->getNameAsString()];
 3041 llvm::Constant *
 3043   llvm::Constant *ProtocolList = GenerateProtocolList({});
 3044   llvm::Constant *MethodList = GenerateProtocolMethodList({});
 3094   llvm::Constant *ProtocolList = GenerateProtocolList(Protocols);
 3095   llvm::Constant *InstanceMethodList =
 3097   llvm::Constant *ClassMethodList =
 3099   llvm::Constant *OptionalInstanceMethodList =
 3101   llvm::Constant *OptionalClassMethodList =
 3110   llvm::Constant *PropertyList =
 3112   llvm::Constant *OptionalPropertyList =
 3185 llvm::Constant *CGObjCGNU::MakeBitField(ArrayRef<bool> bits) {
 3195   SmallVector<llvm::Constant *, 8> values;
 3213   llvm::Constant *GS =
 3215   llvm::Constant *ptr = llvm::ConstantExpr::getPtrToInt(GS, IntPtrTy);
 3219 llvm::Constant *CGObjCGNU::GenerateCategoryProtocolList(const
 3277 llvm::Constant *CGObjCGNU::GeneratePropertyList(const Decl *Container,
 3408   SmallVector<llvm::Constant*, 16> IvarNames;
 3409   SmallVector<llvm::Constant*, 16> IvarTypes;
 3410   SmallVector<llvm::Constant*, 16> IvarOffsets;
 3411   SmallVector<llvm::Constant*, 16> IvarAligns;
 3443       llvm::Constant *OffsetValue = llvm::ConstantInt::get(IntTy, Offset);
 3477   llvm::Constant *StrongIvarBitmap = MakeBitField(StrongIvars);
 3478   llvm::Constant *WeakIvarBitmap = MakeBitField(WeakIvars);
 3506   llvm::Constant *Properties = GeneratePropertyList(OID, ClassDecl);
 3514   llvm::Constant *SuperClass;
 3521   SmallVector<llvm::Constant*, 1>  empty;
 3523   llvm::Constant *MethodList = GenerateMethodList(ClassName, "",
 3525   llvm::Constant *ClassMethodList = GenerateMethodList(ClassName, "",
 3527   llvm::Constant *IvarList = GenerateIvarList(IvarNames, IvarTypes,
 3540   llvm::Constant *offsetPointerIndexes[] = {Zeros[0],
 3550       llvm::Constant *offsetValue = llvm::ConstantExpr::getGetElementPtr(
 3567   llvm::Constant *ZeroPtr = llvm::ConstantInt::get(IntPtrTy, 0);
 3570   llvm::Constant *MetaClassStruct = GenerateClassStructure(
 3578   llvm::Constant *ClassStruct = GenerateClassStructure(
 3624   llvm::Constant *statics = NULLPtr;
 3671       llvm::Constant *selName = ExportUniqueString(selNameStr, ".objc_sel_name");
 3674         llvm::Constant *selectorTypeEncoding = NULLPtr;
 3707     llvm::Constant *idxs[] = {
 3712     llvm::Constant *selPtr = llvm::ConstantExpr::getGetElementPtr(
 3750   llvm::Constant *module = [&] {
 3826             llvm::Constant::getNullValue(RegisterAlias->getType()));
 3834        llvm::Constant *TheClass =
 4089           llvm::Constant::getNullValue(IntTy), name);
tools/clang/lib/CodeGen/CGObjCMac.cpp
  930   llvm::Constant *GetMethodVarName(Selector Sel);
  931   llvm::Constant *GetMethodVarName(IdentifierInfo *Ident);
  937   llvm::Constant *GetMethodVarType(const ObjCMethodDecl *D,
  939   llvm::Constant *GetMethodVarType(const FieldDecl *D);
  943   llvm::Constant *GetPropertyName(IdentifierInfo *Ident);
  946   llvm::Constant *GetPropertyTypeString(const ObjCPropertyDecl *PD,
  952   llvm::Constant *GetClassName(StringRef RuntimeName);
  963   llvm::Constant *BuildIvarLayout(const ObjCImplementationDecl *OI,
  969   llvm::Constant *BuildStrongIvarLayout(const ObjCImplementationDecl *OI,
  975   llvm::Constant *BuildWeakIvarLayout(const ObjCImplementationDecl *OI,
 1001   llvm::Constant *getBitmapBlockLayout(bool ComputeByrefLayout);
 1005   llvm::Constant *GetIvarLayoutName(IdentifierInfo *Ident,
 1010   llvm::Constant *EmitPropertyList(Twine Name,
 1018   llvm::Constant *EmitProtocolMethodTypes(Twine Name,
 1019                                           ArrayRef<llvm::Constant*> MethodTypes,
 1025   llvm::Constant *GetProtocolRef(const ObjCProtocolDecl *PD);
 1055                                           llvm::Constant *Init,
 1100   virtual llvm::Constant *GetOrEmitProtocol(const ObjCProtocolDecl *PD)=0;
 1106   virtual llvm::Constant *GetOrEmitProtocolRef(const ObjCProtocolDecl *PD)=0;
 1108   virtual llvm::Constant *getNSConstantStringClassRef() = 0;
 1110   llvm::Constant *BuildGCBlockLayout(CodeGen::CodeGenModule &CGM,
 1112   llvm::Constant *BuildRCBlockLayout(CodeGen::CodeGenModule &CGM,
 1117   llvm::Constant *BuildByrefLayout(CodeGen::CodeGenModule &CGM,
 1180   SmallVector<llvm::Constant*, 8> emitExtendedTypesArray(Self *self) const {
 1187     SmallVector<llvm::Constant*, 8> result;
 1200   llvm::Constant *emitMethodList(Self *self, const ObjCProtocolDecl *PD,
 1221   llvm::Constant *EmitModuleSymbols();
 1230   llvm::Constant *EmitClassExtension(const ObjCImplementationDecl *ID,
 1253   llvm::Constant *EmitIvarList(const ObjCImplementationDecl *ID,
 1259   llvm::Constant *EmitMetaClassRef(const ObjCInterfaceDecl *ID);
 1263   llvm::Constant *EmitMetaClass(const ObjCImplementationDecl *ID,
 1264                                 llvm::Constant *Protocols,
 1275   llvm::Constant *emitMethodList(Twine Name, MethodListType MLT,
 1281   llvm::Constant *GetOrEmitProtocol(const ObjCProtocolDecl *PD) override;
 1287   llvm::Constant *GetOrEmitProtocolRef(const ObjCProtocolDecl *PD) override;
 1293   llvm::Constant *
 1299   llvm::Constant *EmitProtocolList(Twine Name,
 1311   llvm::Constant *getNSConstantStringClassRef() override;
 1342   llvm::Constant *GetEHType(QualType T) override;
 1399   llvm::Constant* ObjCEmptyVtableVar;
 1436                                          llvm::Constant *IsAGV,
 1437                                          llvm::Constant *SuperClassGV,
 1438                                          llvm::Constant *ClassRoGV,
 1447   llvm::Constant *emitMethodList(Twine Name, MethodListType MLT,
 1455   llvm::Constant *EmitIvarList(const ObjCImplementationDecl *ID);
 1457   llvm::Constant *EmitIvarOffsetVar(const ObjCInterfaceDecl *ID,
 1464   llvm::Constant *GetOrEmitProtocol(const ObjCProtocolDecl *PD) override;
 1470   llvm::Constant *GetOrEmitProtocolRef(const ObjCProtocolDecl *PD) override;
 1474   llvm::Constant *EmitProtocolList(Twine Name,
 1490   llvm::Constant *GetClassGlobal(StringRef Name,
 1493   llvm::Constant *GetClassGlobal(const ObjCInterfaceDecl *ID,
 1497   llvm::Constant *GetClassGlobalForClassRef(const ObjCInterfaceDecl *ID);
 1538   llvm::Constant *GetInterfaceEHType(const ObjCInterfaceDecl *ID,
 1596   llvm::Constant *getNSConstantStringClassRef() override;
 1639   llvm::Constant *GetEHType(QualType T) override;
 1778       llvm::Constant *null = CGF.CGM.EmitNullConstant(resultType);
 1809     llvm::Constant *scalarZero = llvm::Constant::getNullValue(scalarTy);
 1809     llvm::Constant *scalarZero = llvm::Constant::getNullValue(scalarTy);
 1827 static llvm::Constant *getConstantGEP(llvm::LLVMContext &VMContext,
 1897 llvm::Constant *CGObjCMac::GetEHType(QualType T) {
 1948 llvm::Constant *CGObjCMac::getNSConstantStringClassRef() {
 1950     return cast<llvm::Constant>(V);
 1964 llvm::Constant *CGObjCNonFragileABIMac::getNSConstantStringClassRef() {
 1966     return cast<llvm::Constant>(V);
 1972   llvm::Constant *GV = GetClassGlobal(str, NotForDefinition);
 1991   llvm::Constant *Class = getNSConstantStringClassRef();
 2010   llvm::Constant *C =
 2086       llvm::Constant *MetaClassPtr = EmitMetaClassRef(Class);
 2213   llvm::Constant *BitcastFn = cast<llvm::Constant>(
 2213   llvm::Constant *BitcastFn = cast<llvm::Constant>(
 2342     llvm::Constant *buildBitmap(CGObjCCommonMac &CGObjC,
 2357 llvm::Constant *CGObjCCommonMac::BuildGCBlockLayout(CodeGenModule &CGM,
 2360   llvm::Constant *nullPtr = llvm::Constant::getNullValue(CGM.Int8PtrTy);
 2360   llvm::Constant *nullPtr = llvm::Constant::getNullValue(CGM.Int8PtrTy);
 2373   llvm::Constant *C = builder.buildBitmap(*this, buffer);
 2718 llvm::Constant *CGObjCCommonMac::getBitmapBlockLayout(bool ComputeByrefLayout) {
 2719   llvm::Constant *nullPtr = llvm::Constant::getNullValue(CGM.Int8PtrTy);
 2719   llvm::Constant *nullPtr = llvm::Constant::getNullValue(CGM.Int8PtrTy);
 2953 llvm::Constant *
 2967 llvm::Constant *CGObjCCommonMac::BuildByrefLayout(CodeGen::CodeGenModule &CGM,
 2976     llvm::Constant *Result = getBitmapBlockLayout(true);
 2981   llvm::Constant *nullPtr = llvm::Constant::getNullValue(CGM.Int8PtrTy);
 2981   llvm::Constant *nullPtr = llvm::Constant::getNullValue(CGM.Int8PtrTy);
 3007 llvm::Constant *CGObjCCommonMac::GetProtocolRef(const ObjCProtocolDecl *PD) {
 3045 llvm::Constant *CGObjCMac::GetOrEmitProtocol(const ObjCProtocolDecl *PD) {
 3092 llvm::Constant *CGObjCMac::GetOrEmitProtocolRef(const ObjCProtocolDecl *PD) {
 3120 llvm::Constant *
 3148     return llvm::Constant::getNullValue(ObjCTypes.ProtocolExtensionPtrTy);
 3175 llvm::Constant *
 3181     return llvm::Constant::getNullValue(ObjCTypes.ProtocolListPtrTy);
 3242 llvm::Constant *CGObjCCommonMac::EmitPropertyList(Twine Name,
 3253       return llvm::Constant::getNullValue(ObjCTypes.PropertyListPtrTy);
 3289     return llvm::Constant::getNullValue(ObjCTypes.PropertyListPtrTy);
 3317 llvm::Constant *
 3319                                          ArrayRef<llvm::Constant*> MethodTypes,
 3323     return llvm::Constant::getNullValue(ObjCTypes.Int8PtrPtrTy);
 3327   llvm::Constant *Init = llvm::ConstantArray::get(AT, MethodTypes);
 3528   llvm::Constant *Protocols =
 3620 llvm::Constant *CGObjCMac::EmitMetaClass(const ObjCImplementationDecl *ID,
 3621                                          llvm::Constant *Protocols,
 3683 llvm::Constant *CGObjCMac::EmitMetaClassRef(const ObjCInterfaceDecl *ID) {
 3730 llvm::Constant *
 3735   llvm::Constant *layout;
 3744   llvm::Constant *propertyList =
 3752     return llvm::Constant::getNullValue(ObjCTypes.ClassExtensionPtrTy);
 3781 llvm::Constant *CGObjCMac::EmitIvarList(const ObjCImplementationDecl *ID,
 3789     return llvm::Constant::getNullValue(ObjCTypes.IvarListPtrTy);
 3816     return llvm::Constant::getNullValue(ObjCTypes.IvarListPtrTy);
 3883 llvm::Constant *CGObjCMac::emitMethodList(Twine name, MethodListType MLT,
 3933     return llvm::Constant::getNullValue(forProtocol
 4006                                                          llvm::Constant *Init,
 4056   llvm::Constant *Value =
 4514   llvm::Constant *Zero = llvm::ConstantInt::get(CGF.Builder.getInt32Ty(), 0);
 5045 llvm::Constant *CGObjCMac::EmitModuleSymbols() {
 5051     return llvm::Constant::getNullValue(ObjCTypes.SymtabPtrTy);
 5091     llvm::Constant *Casted =
 5129     llvm::Constant *Casted =
 5141 llvm::Constant *CGObjCCommonMac::GetClassName(StringRef RuntimeName) {
 5159 llvm::Constant *CGObjCCommonMac::GetIvarLayoutName(IdentifierInfo *Ident,
 5161   return llvm::Constant::getNullValue(ObjCTypes.Int8PtrTy);
 5264 llvm::Constant *IvarLayoutBuilder::buildBitmap(CGObjCCommonMac &CGObjC,
 5418 llvm::Constant *
 5428     return llvm::Constant::getNullValue(PtrTy);
 5467     return llvm::Constant::getNullValue(PtrTy);
 5477     return llvm::Constant::getNullValue(PtrTy);
 5480   llvm::Constant *C = builder.buildBitmap(*this, buffer);
 5491 llvm::Constant *CGObjCCommonMac::GetMethodVarName(Selector Sel) {
 5500 llvm::Constant *CGObjCCommonMac::GetMethodVarName(IdentifierInfo *ID) {
 5504 llvm::Constant *CGObjCCommonMac::GetMethodVarType(const FieldDecl *Field) {
 5514 llvm::Constant *CGObjCCommonMac::GetMethodVarType(const ObjCMethodDecl *D,
 5526 llvm::Constant *CGObjCCommonMac::GetPropertyName(IdentifierInfo *Ident) {
 5535 llvm::Constant *
 6058   SmallVector<llvm::Constant*, 8> Symbols(NumClasses);
 6062   llvm::Constant *Init =
 6299                                          llvm::Constant *IsAGV,
 6300                                          llvm::Constant *SuperClassGV,
 6301                                          llvm::Constant *ClassRoGV,
 6399   llvm::Constant *SuperClassGV, *IsAGV;
 6511   llvm::Constant *Init =
 6656 llvm::Constant *
 6661     return llvm::Constant::getNullValue(ObjCTypes.MethodListnfABIPtrTy);
 6754 llvm::Constant *
 6803 llvm::Constant *CGObjCNonFragileABIMac::EmitIvarList(
 6848     return llvm::Constant::getNullValue(ObjCTypes.IvarListnfABIPtrTy);
 6862 llvm::Constant *CGObjCNonFragileABIMac::GetOrEmitProtocolRef(
 6904 llvm::Constant *CGObjCNonFragileABIMac::GetOrEmitProtocol(
 7005 llvm::Constant *
 7009   SmallVector<llvm::Constant *, 16> ProtocolRefs;
 7013     return llvm::Constant::getNullValue(ObjCTypes.ProtocolListnfABIPtrTy);
 7183     values.add(cast<llvm::Constant>(fn.getCallee()));
 7243 llvm::Constant *
 7257 llvm::Constant *
 7286 llvm::Constant *
 7288   llvm::Constant *ClassGV = GetClassGlobal(ID, /*metaclass*/ false,
 7324     llvm::Constant *ClassGV;
 7372     llvm::Constant *ClassGV = GetClassGlobalForClassRef(ID);
 7491     llvm::Constant *Casted =
 7629 llvm::Constant *
 7683 llvm::Constant *
tools/clang/lib/CodeGen/CGObjCRuntime.cpp
  122     llvm::Constant *TypeInfo;
tools/clang/lib/CodeGen/CGObjCRuntime.h
  141   virtual llvm::Constant *GetEHType(QualType T) = 0;
  275   virtual llvm::Constant *BuildGCBlockLayout(CodeGen::CodeGenModule &CGM,
  277   virtual llvm::Constant *BuildRCBlockLayout(CodeGen::CodeGenModule &CGM,
  285   virtual llvm::Constant *BuildByrefLayout(CodeGen::CodeGenModule &CGM,
tools/clang/lib/CodeGen/CGOpenMPRuntime.cpp
  828     llvm::Constant *Init = CGF.CGM.EmitNullConstant(Ty);
 1012   auto *ElemSizeOf = llvm::ConstantExpr::getSizeOf(ElemType);
 1524                              ArrayRef<llvm::Constant *> Data) {
 1533       Fields.add(llvm::Constant::getNullValue(StructTy->getElementType(I)));
 1543                    ArrayRef<llvm::Constant *> Data, const Twine &Name,
 1558                                          ArrayRef<llvm::Constant *> Data,
 1584     llvm::Constant *Data[] = {
 2701       registerTargetGlobalVariable(VD, cast<llvm::Constant>(Ptr));
 2708 llvm::Constant *
 2841     CopyCtor = llvm::Constant::getNullValue(CopyCtorTy);
 2846       Ctor = llvm::Constant::getNullValue(CtorTy);
 2852       Dtor = llvm::Constant::getNullValue(DtorTy);
 2909     llvm::Constant *Ctor;
 2910     llvm::Constant *ID;
 2936           llvm::Constant::getNullValue(CGM.Int8Ty), Twine(Buffer, "_ctor"));
 2947     llvm::Constant *Dtor;
 2948     llvm::Constant *ID;
 2975           llvm::Constant::getNullValue(CGM.Int8Ty), Twine(Buffer, "_dtor"));
 3133 llvm::Constant *CGOpenMPRuntime::getOrCreateInternalVariable(
 3148              llvm::GlobalValue::CommonLinkage, llvm::Constant::getNullValue(Ty),
 3901                                   llvm::Constant *Addr, llvm::Constant *ID,
 3901                                   llvm::Constant *Addr, llvm::Constant *ID,
 3969     registerDeviceGlobalVarEntryInfo(StringRef VarName, llvm::Constant *Addr,
 4017     llvm::Constant *ID, llvm::Constant *Addr, uint64_t Size, int32_t Flags,
 4017     llvm::Constant *ID, llvm::Constant *Addr, uint64_t Size, int32_t Flags,
 4024   llvm::Constant *StrPtrInit = llvm::ConstantDataArray::getString(C, Name);
 4032   llvm::Constant *Data[] = {llvm::ConstantExpr::getBitCast(ID, CGM.VoidPtrTy),
 6463     llvm::Function *&OutlinedFn, llvm::Constant *&OutlinedFnID,
 6473     llvm::Function *&OutlinedFn, llvm::Constant *&OutlinedFnID,
 6529         llvm::Constant::getNullValue(CGM.Int8Ty), Name);
 8011           Sizes.push_back(llvm::Constant::getNullValue(CGF.Int64Ty));
 8067           CurSizes.push_back(llvm::Constant::getNullValue(this->CGF.Int64Ty));
 8496         CurSizes.push_back(llvm::Constant::getNullValue(CGF.Int64Ty));
 8516         llvm::Constant *Addr =
 8572       if (!isa<llvm::Constant>(S)) {
 8601       SmallVector<llvm::Constant *, 16> ConstSizes;
 8603         ConstSizes.push_back(cast<llvm::Constant>(S));
 8605       auto *SizesArrayInit = llvm::ConstantArray::get(
 8620     llvm::Constant *MapTypesArrayInit =
 9644 llvm::Constant *
 9650   llvm::Constant *Addr;
 9679                                                    llvm::Constant *Addr) {
 9715         llvm::Constant *AddrRef =
 9739       Addr = cast<llvm::Constant>(getAddrOfDeclareTargetVar(VD).getPointer());
10100     llvm::Constant *PointerNum =
11361     llvm::Function *&OutlinedFn, llvm::Constant *&OutlinedFnID,
tools/clang/lib/CodeGen/CGOpenMPRuntime.h
  224   virtual void createOffloadEntry(llvm::Constant *ID, llvm::Constant *Addr,
  224   virtual void createOffloadEntry(llvm::Constant *ID, llvm::Constant *Addr,
  240                                                 llvm::Constant *&OutlinedFnID,
  322   llvm::Constant *DefaultOpenMPPSource = nullptr;
  375   llvm::StringMap<llvm::AssertingVH<llvm::Constant>, llvm::BumpPtrAllocator>
  473       llvm::Constant *getAddress() const {
  474         return cast_or_null<llvm::Constant>(Addr);
  476       void setAddress(llvm::Constant *V) {
  518       llvm::Constant *ID = nullptr;
  524                                             llvm::Constant *Addr,
  525                                             llvm::Constant *ID,
  532       llvm::Constant *getID() const { return ID; }
  533       void setID(llvm::Constant *V) {
  549                                        llvm::Constant *Addr, llvm::Constant *ID,
  549                                        llvm::Constant *Addr, llvm::Constant *ID,
  587          unsigned Order, llvm::Constant *Addr, CharUnits VarSize,
  611     registerDeviceGlobalVarEntryInfo(StringRef VarName, llvm::Constant *Addr,
  730   llvm::Constant *getOrCreateThreadPrivateCache(const VarDecl *VD);
  738   llvm::Constant *getOrCreateInternalVariable(llvm::Type *Ty,
 1433                                           llvm::Constant *&OutlinedFnID,
 1471                                             llvm::Constant *Addr);
 1475   llvm::Constant *registerTargetFirstprivateCopy(CodeGenFunction &CGF,
 2123                                   llvm::Constant *&OutlinedFnID,
tools/clang/lib/CodeGen/CGOpenMPRuntimeNVPTX.cpp
 1141                                              llvm::Constant *&OutlinedFnID,
 1273                                           llvm::Constant *&OutlinedFnID,
 1433   CGF.InitTempAlloca(WorkFn, llvm::Constant::getNullValue(CGF.Int8PtrTy));
 1834 void CGOpenMPRuntimeNVPTX::createOffloadEntry(llvm::Constant *ID,
 1835                                               llvm::Constant *Addr,
 1858     llvm::Function *&OutlinedFn, llvm::Constant *&OutlinedFnID,
 2767   CGF.EmitStoreOfScalar(llvm::Constant::getNullValue(CGM.Int32Ty), CounterLVal,
 3216         llvm::Constant::getNullValue(Ty), TransferMediumName,
 3261         CGF.EmitStoreOfScalar(llvm::Constant::getNullValue(CGM.IntTy), CntAddr,
 3303           TransferMedium, {llvm::Constant::getNullValue(CGM.Int64Ty), WarpID});
 3349           {llvm::Constant::getNullValue(CGM.Int64Ty), ThreadID});
 4755           llvm::Constant::getNullValue(VarTy), VD->getName(),
 4767           llvm::Constant::getNullValue(VarTy), VD->getName(),
 4780           llvm::Constant::getNullValue(VarTy), VD->getName());
 5128           llvm::Constant::getNullValue(LLVMStaticTy),
 5132       auto *Replacement = llvm::ConstantExpr::getPointerBitCastOrAddrSpaceCast(
 5158           llvm::Constant::getNullValue(LLVMArr2Ty),
 5160       auto *Replacement = llvm::ConstantExpr::getPointerBitCastOrAddrSpaceCast(
 5193         llvm::Constant::getNullValue(LLVMReductionsBufferTy),
tools/clang/lib/CodeGen/CGOpenMPRuntimeNVPTX.h
   97   void createOffloadEntry(llvm::Constant *ID, llvm::Constant *Addr,
   97   void createOffloadEntry(llvm::Constant *ID, llvm::Constant *Addr,
  112                          llvm::Constant *&OutlinedFnID, bool IsOffloadEntry,
  128                       llvm::Constant *&OutlinedFnID, bool IsOffloadEntry,
  143                                   llvm::Constant *&OutlinedFnID,
tools/clang/lib/CodeGen/CGStmt.cpp
 1055     llvm::Constant *SLoc = EmitCheckSourceLocation(S.getBeginLoc());
 1936     llvm::Constant *Loc = llvm::ConstantInt::get(CGF.Int32Ty,
tools/clang/lib/CodeGen/CGStmtOpenMP.cpp
 2285   llvm::Constant *Addr;
 3665         ScalarVal, llvm::Constant::getNullValue(ScalarVal->getType()));
 4131   llvm::Constant *FnID = nullptr;
 4213   llvm::Constant *Addr;
 4299   llvm::Constant *Addr;
 4345   llvm::Constant *Addr;
 4391   llvm::Constant *Addr;
 4533   llvm::Constant *Addr;
 4585   llvm::Constant *Addr;
 4861   llvm::Constant *Addr;
 4901   llvm::Constant *Addr;
 4940   llvm::Constant *Addr;
tools/clang/lib/CodeGen/CGVTT.cpp
   59   SmallVector<llvm::Constant *, 8> VTTComponents;
   82      llvm::Constant *Init = llvm::ConstantExpr::getGetElementPtr(
   91   llvm::Constant *Init = llvm::ConstantArray::get(ArrayType, VTTComponents);
tools/clang/lib/CodeGen/CGVTables.cpp
   33 llvm::Constant *CodeGenModule::GetAddrOfThunk(StringRef Name, llvm::Type *FnTy,
  104     PHI->addIncoming(llvm::Constant::getNullValue(ReturnValue->getType()),
  458   llvm::Constant *Callee = CGM.GetAddrOfFunction(GD, Ty, /*ForVTable=*/true);
  487 llvm::Constant *CodeGenVTables::maybeEmitThunk(GlobalDecl GD,
  503   llvm::Constant *Thunk = CGM.GetAddrOfThunk(Name, ThunkVTableTy, GD);
  534       llvm::Constant *NewPtrForOldDecl =
  620     unsigned idx, llvm::Constant *rtti, unsigned &nextVTableThunkIndex) {
  681       llvm::Constant *fn = cast<llvm::Constant>(
  681       llvm::Constant *fn = cast<llvm::Constant>(
  688     llvm::Constant *fnPtr;
  741                                              llvm::Constant *rtti) {
  797   llvm::Constant *RTTI = CGM.GetAddrOfRTTIDescriptor(
tools/clang/lib/CodeGen/CGVTables.h
   54   llvm::Constant *PureVirtualFn = nullptr;
   57   llvm::Constant *DeletedVirtualFn = nullptr;
   60   llvm::Constant *maybeEmitThunk(GlobalDecl GD,
   66                           llvm::Constant *rtti,
   74                                llvm::Constant *rtti);
tools/clang/lib/CodeGen/CGValue.h
  182     llvm::Constant *VectorElts;
  348   llvm::Constant *getExtVectorElts() const {
  391   static LValue MakeExtVectorElt(Address vecAddress, llvm::Constant *Elts,
tools/clang/lib/CodeGen/CodeGenFunction.cpp
  499 llvm::Constant *
  501                                             llvm::Constant *Addr) {
  514   auto *GOTAsInt = llvm::ConstantExpr::getPtrToInt(GV, IntPtrTy);
  515   auto *FuncAsInt = llvm::ConstantExpr::getPtrToInt(F, IntPtrTy);
  516   auto *PCRelAsInt = llvm::ConstantExpr::getSub(GOTAsInt, FuncAsInt);
  630 static llvm::Constant *getPrologueSignature(CodeGenModule &CGM,
  784       if (llvm::Constant *PrologueSig = getPrologueSignature(CGM, FD)) {
  790         llvm::Constant *FTRTTIConst =
  792         llvm::Constant *FTRTTIConstEncoded =
  794         llvm::Constant *PrologueStructElems[] = {PrologueSig,
  796         llvm::Constant *PrologueStructConst =
 1666     llvm::Constant *NullConstant = CGM.EmitNullConstant(Ty);
 1943             llvm::Value *Zero = llvm::Constant::getNullValue(Size->getType());
 1944             llvm::Constant *StaticArgs[] = {
 2371     llvm::Constant *StaticData[] = {EmitCheckSourceLocation(Loc),
tools/clang/lib/CodeGen/CodeGenFunction.h
 1743                               llvm::Constant *AtomicHelperFn);
 1754                               llvm::Constant *AtomicHelperFn);
 1776   llvm::Constant *GenerateCopyHelperFunction(const CGBlockInfo &blockInfo);
 1777   llvm::Constant *GenerateDestroyHelperFunction(const CGBlockInfo &blockInfo);
 1778   llvm::Constant *GenerateObjCAtomicSetterCopyHelperFunction(
 1780   llvm::Constant *GenerateObjCAtomicGetterCopyHelperFunction(
 1995   llvm::Constant *EncodeAddrForUseInPrologue(llvm::Function *F,
 1996                                              llvm::Constant *Addr);
 2381   static unsigned getAccessedFieldNo(unsigned Idx, const llvm::Constant *Elts);
 3528     llvm::PointerIntPair<llvm::Constant*, 1, bool> ValueAndIsReference;
 3529     ConstantEmission(llvm::Constant *C, bool isReference)
 3533     static ConstantEmission forReference(llvm::Constant *C) {
 3536     static ConstantEmission forValue(llvm::Constant *C) {
 3551     llvm::Constant *getValue() const {
 3760   llvm::Value *EmitNeonSplat(llvm::Value *V, llvm::Constant *Idx);
 3941   void EmitInvariantStart(llvm::Constant *Addr, CharUnits Size);
 3945   void EmitCXXGlobalVarDeclInit(const VarDecl &D, llvm::Constant *DeclPtr,
 3949                                    llvm::Constant *Addr);
 3954                                     llvm::Constant *addr);
 3957   void registerGlobalDtorWithAtExit(llvm::Constant *dtorStub);
 3987                                    llvm::Constant *>> &DtorsAndObjects);
 4098   llvm::Constant *EmitCheckTypeDescriptor(QualType T);
 4106   llvm::Constant *EmitCheckSourceLocation(SourceLocation Loc);
 4112                  SanitizerHandler Check, ArrayRef<llvm::Constant *> StaticArgs,
 4119                             ArrayRef<llvm::Constant *> StaticArgs);
tools/clang/lib/CodeGen/CodeGenModule.cpp
  225 void CodeGenModule::addReplacement(StringRef Name, llvm::Constant *C) {
  232     llvm::Constant *Replacement = I.second;
  260 void CodeGenModule::addGlobalValReplacement(llvm::GlobalValue *GV, llvm::Constant *C) {
  267     llvm::Constant *C = I.second;
  279   const llvm::Constant *C = &GIS;
  328     llvm::Constant *Aliasee = Alias->getIndirectSymbol();
 1133                                   llvm::Constant *AssociatedData) {
 1904   SmallVector<llvm::Constant*, 8> UsedArray;
 1909             cast<llvm::Constant>(&*List[i]), CGM.Int8PtrTy);
 2165   llvm::Constant *Array = llvm::ConstantArray::get(llvm::ArrayType::get(
 2173 llvm::Constant *CodeGenModule::EmitAnnotationString(StringRef Str) {
 2174   llvm::Constant *&AStr = AnnotationStrings[Str];
 2179   llvm::Constant *s = llvm::ConstantDataArray::getString(getLLVMContext(), Str);
 2189 llvm::Constant *CodeGenModule::EmitAnnotationUnit(SourceLocation Loc) {
 2197 llvm::Constant *CodeGenModule::EmitAnnotationLineNo(SourceLocation L) {
 2205 llvm::Constant *CodeGenModule::EmitAnnotateAttr(llvm::GlobalValue *GV,
 2209   llvm::Constant *AnnoGV = EmitAnnotationString(AA->getAnnotation()),
 2214   llvm::Constant *Fields[4] = {
 2371   llvm::Constant *Init = EmitUuidofInitializer(Uuid);
 2398   llvm::Constant *Aliasee;
 2862           llvm::Constant *Func = GetGlobalValue(MangledName);
 2951     llvm::Constant *Func = GetGlobalValue(MangledName);
 3010     llvm::Constant *AliasFunc = GetGlobalValue(AliasName);
 3025 llvm::Constant *CodeGenModule::GetOrCreateMultiVersionResolver(
 3053     llvm::Constant *Resolver = GetOrCreateLLVMFunction(
 3064   llvm::Constant *Resolver = GetOrCreateLLVMFunction(
 3079 llvm::Constant *CodeGenModule::GetOrCreateLLVMFunction(
 3198     llvm::Constant *BC = llvm::ConstantExpr::getBitCast(
 3269 llvm::Constant *CodeGenModule::GetAddrOfFunction(GlobalDecl GD,
 3346   llvm::Constant *C =
 3406 llvm::Constant *
 3473       llvm::Constant *NewPtrForOldDecl =
 3546           llvm::Constant *Init = emitter.tryEmitForInitializer(*InitDecl);
 3591 llvm::Constant *
 3640       llvm::Constant *NewPtrForOldDecl =
 3663 llvm::Constant *CodeGenModule::GetAddrOfGlobalVar(const VarDecl *D,
 3680 llvm::Constant *
 3688   auto *Ret = GetOrCreateLLVMGlobal(Name, PtrTy, nullptr);
 3770 static llvm::Constant *
 3773   llvm::Constant *Cast = GV;
 3871   llvm::Constant *Init = nullptr;
 3938   llvm::Constant *Entry =
 3969     llvm::Constant *NewPtrForOldDecl =
 4255 static void replaceUsesOfNonProtoConstant(llvm::Constant *old,
 4458   llvm::Constant *Aliasee;
 4544   llvm::Constant *Resolver =
 4627   llvm::Constant *Zero = llvm::Constant::getNullValue(Int32Ty);
 4627   llvm::Constant *Zero = llvm::Constant::getNullValue(Int32Ty);
 4628   llvm::Constant *Zeros[] = { Zero, Zero };
 4668     llvm::Constant *C = CreateRuntimeVariable(Ty, CFConstantStringClassName);
 4723   llvm::Constant *C = nullptr;
 4757   llvm::Constant *Str =
 4844 llvm::Constant *
 4885 GenerateStringLiteral(llvm::Constant *C, llvm::GlobalValue::LinkageTypes LT,
 4914   llvm::Constant *C = GetConstantArrayFromStringLiteral(S);
 4974   llvm::Constant *C =
 5016   if (llvm::Constant *Slot = MaterializedGlobalTemporaryMap[E])
 5047   llvm::Constant *InitialValue = nullptr;
 5090   llvm::Constant *CV = GV;
 5553 static llvm::Constant *GetPointerConstant(llvm::LLVMContext &Context,
 5703 llvm::Constant *CodeGenModule::EmitUuidofInitializer(StringRef Uuid) {
 5715   llvm::Constant *Field3[8];
 5720   llvm::Constant *Fields[4] = {
 5730 llvm::Constant *CodeGenModule::GetAddrOfRTTIDescriptor(QualType Ty,
 5736     return llvm::Constant::getNullValue(Int8PtrTy);
 5924   llvm::Constant *C = ConstantEmitter(CGF).emitAbstract(E, E->getType());
tools/clang/lib/CodeGen/CodeGenModule.h
  249   llvm::Constant *CopyHelper;
  250   llvm::Constant *DisposeHelper;
  284     Structor(int Priority, llvm::Constant *Initializer,
  285              llvm::Constant *AssociatedData)
  289     llvm::Constant *Initializer;
  290     llvm::Constant *AssociatedData;
  356   typedef llvm::StringMap<llvm::TrackingVH<llvm::Constant> > ReplacementsTy;
  362   llvm::SmallVector<std::pair<llvm::GlobalValue *, llvm::Constant *>, 8>
  406   std::vector<llvm::Constant*> Annotations;
  409   llvm::StringMap<llvm::Constant*> AnnotationStrings;
  413   llvm::DenseMap<llvm::Constant *, llvm::GlobalVariable *> ConstantStringMap;
  414   llvm::DenseMap<const Decl*, llvm::Constant *> StaticLocalDeclMap;
  416   llvm::DenseMap<const Expr*, llvm::Constant *> MaterializedGlobalTemporaryMap;
  418   llvm::DenseMap<QualType, llvm::Constant *> AtomicSetterHelperFnMap;
  419   llvm::DenseMap<QualType, llvm::Constant *> AtomicGetterHelperFnMap;
  422   llvm::DenseMap<QualType, llvm::Constant *> TypeDescriptorMap;
  463       std::tuple<llvm::FunctionType *, llvm::WeakTrackingVH, llvm::Constant *>>
  508   llvm::DenseMap<const BlockExpr *, llvm::Constant *> EmittedGlobalBlocks;
  513   llvm::Constant *NSConcreteGlobalBlock = nullptr;
  514   llvm::Constant *NSConcreteStackBlock = nullptr;
  610   llvm::Constant *getStaticLocalDeclAddress(const VarDecl *D) {
  614                                  llvm::Constant *C) {
  618   llvm::Constant *
  630   Address createUnnamedGlobalFrom(const VarDecl &D, llvm::Constant *Constant,
  636   llvm::Constant *getAtomicSetterHelperFnMap(QualType Ty) {
  640                             llvm::Constant *Fn) {
  644   llvm::Constant *getAtomicGetterHelperFnMap(QualType Ty) {
  648                             llvm::Constant *Fn) {
  652   llvm::Constant *getTypeDescriptorFromMap(QualType Ty) {
  655   void setTypeDescriptorInMap(QualType Ty, llvm::Constant *C) {
  793   llvm::Constant *GetAddrOfGlobal(GlobalDecl GD,
  828   llvm::Constant *GetAddrOfGlobalVar(const VarDecl *D,
  842   llvm::Constant *GetAddrOfFunction(GlobalDecl GD, llvm::Type *Ty = nullptr,
  849   llvm::Constant *GetAddrOfRTTIDescriptor(QualType Ty, bool ForEH = false);
  855   llvm::Constant *GetAddrOfThunk(StringRef Name, llvm::Type *FnTy,
  883   llvm::Constant *
  900   llvm::Constant *GetAddrOfGlobalBlock(const BlockExpr *BE, StringRef Name);
  904   llvm::Constant *getAddrOfGlobalBlockIfEmitted(const BlockExpr *BE) {
  910   void setAddrOfGlobalBlock(const BlockExpr *BE, llvm::Constant *Addr);
  921   llvm::Constant *GetConstantArrayFromStringLiteral(const StringLiteral *E);
  970   llvm::Constant *
  975     return cast<llvm::Constant>(getAddrAndTypeOfCXXStructor(GD, FnInfo, FnType,
  988   llvm::Constant *getBuiltinLibFunction(const FunctionDecl *FD,
 1024   void AddCXXDtorEntry(llvm::FunctionCallee DtorFn, llvm::Constant *Object) {
 1048   llvm::Constant *CreateRuntimeVariable(llvm::Type *Ty,
 1054   llvm::Constant *getNSConcreteGlobalBlock();
 1055   llvm::Constant *getNSConcreteStackBlock();
 1067   llvm::Constant *getMemberPointerConstant(const UnaryOperator *e);
 1077   llvm::Constant *EmitNullConstant(QualType T);
 1081   llvm::Constant *EmitNullConstantForBase(const CXXRecordDecl *Record);
 1206   llvm::Constant *EmitAnnotationString(StringRef Str);
 1209   llvm::Constant *EmitAnnotationUnit(SourceLocation Loc);
 1212   llvm::Constant *EmitAnnotationLineNo(SourceLocation L);
 1221   llvm::Constant *EmitAnnotateAttr(llvm::GlobalValue *GV,
 1264   void addReplacement(StringRef Name, llvm::Constant *C);
 1266   void addGlobalValReplacement(llvm::GlobalValue *GV, llvm::Constant *C);
 1367   llvm::Constant *getNullPointer(llvm::PointerType *T, QualType QT);
 1370   llvm::Constant *GetOrCreateLLVMFunction(
 1376   llvm::Constant *GetOrCreateMultiVersionResolver(GlobalDecl GD,
 1381   llvm::Constant *GetOrCreateLLVMGlobal(StringRef MangledName,
 1432                      llvm::Constant *AssociatedData = nullptr);
 1501   llvm::Constant *EmitUuidofInitializer(StringRef uuidstr);
tools/clang/lib/CodeGen/CodeGenPGO.cpp
  926   if (isa<llvm::Constant>(ValuePtr))
tools/clang/lib/CodeGen/ConstantEmitter.h
   47   llvm::SmallVector<std::pair<llvm::Constant *, llvm::GlobalVariable*>, 4>
   72   llvm::Constant *tryEmitForInitializer(const VarDecl &D);
   73   llvm::Constant *tryEmitForInitializer(const Expr *E, LangAS destAddrSpace,
   75   llvm::Constant *emitForInitializer(const APValue &value, LangAS destAddrSpace,
   96   llvm::Constant *tryEmitAbstractForInitializer(const VarDecl &D);
  102   llvm::Constant *emitAbstract(const Expr *E, QualType T);
  103   llvm::Constant *emitAbstract(SourceLocation loc, const APValue &value,
  107   llvm::Constant *tryEmitAbstract(const Expr *E, QualType T);
  108   llvm::Constant *tryEmitAbstractForMemory(const Expr *E, QualType T);
  110   llvm::Constant *tryEmitAbstract(const APValue &value, QualType T);
  111   llvm::Constant *tryEmitAbstractForMemory(const APValue &value, QualType T);
  113   llvm::Constant *emitNullForMemory(QualType T) {
  116   llvm::Constant *emitForMemory(llvm::Constant *C, QualType T) {
  116   llvm::Constant *emitForMemory(llvm::Constant *C, QualType T) {
  120   static llvm::Constant *emitNullForMemory(CodeGenModule &CGM, QualType T);
  121   static llvm::Constant *emitForMemory(CodeGenModule &CGM, llvm::Constant *C,
  121   static llvm::Constant *emitForMemory(CodeGenModule &CGM, llvm::Constant *C,
  128   llvm::Constant *tryEmitPrivateForVarInit(const VarDecl &D);
  130   llvm::Constant *tryEmitPrivate(const Expr *E, QualType T);
  131   llvm::Constant *tryEmitPrivateForMemory(const Expr *E, QualType T);
  133   llvm::Constant *tryEmitPrivate(const APValue &value, QualType T);
  134   llvm::Constant *tryEmitPrivateForMemory(const APValue &value, QualType T);
  150   void registerCurrentAddrPrivate(llvm::Constant *signal,
  159   llvm::Constant *markIfFailed(llvm::Constant *init) {
  159   llvm::Constant *markIfFailed(llvm::Constant *init) {
  174   llvm::Constant *validateAndPopAbstract(llvm::Constant *C, AbstractState save);
  174   llvm::Constant *validateAndPopAbstract(llvm::Constant *C, AbstractState save);
tools/clang/lib/CodeGen/ConstantInitBuilder.cpp
   23   if (Data.is<llvm::Constant*>()) {
   24     return Data.get<llvm::Constant*>()->getType();
   40   if (Data.is<llvm::Constant*>()) {
   41     GV->setInitializer(Data.get<llvm::Constant*>());
   52 ConstantInitBuilderBase::createFuture(llvm::Constant *initializer) {
   67 ConstantInitBuilderBase::createGlobal(llvm::Constant *initializer,
   88                                                    llvm::Constant *initializer){
   97     llvm::Constant *resolvedReference =
  128 llvm::Constant *
  130                                                 llvm::Constant *target) {
  137   llvm::Constant *offset = llvm::ConstantExpr::getSub(target, base);
  147 llvm::Constant *
  162                                llvm::SmallVectorImpl<llvm::Constant*> &indices,
  227       llvm::Constant *element = Builder.Buffer[cacheEnd];
  244 llvm::Constant *ConstantAggregateBuilderBase::finishArray(llvm::Type *eltTy) {
  259 llvm::Constant *
  269   llvm::Constant *constant;
tools/clang/lib/CodeGen/CoverageMappingGen.cpp
 1335   llvm::Constant *FunctionRecordVals[] = {
 1411   auto *FilenamesAndMappingsVal =
 1425   llvm::Constant *CovDataHeaderVals[] = {
 1436   llvm::Constant *TUDataVals[] = {CovDataHeaderVal, RecordsVal,
tools/clang/lib/CodeGen/CoverageMappingGen.h
   53   std::vector<llvm::Constant *> FunctionRecords;
   54   std::vector<llvm::Constant *> FunctionNames;
tools/clang/lib/CodeGen/ItaniumCXXABI.cpp
  136   llvm::Constant *EmitMemberPointerConversion(const CastExpr *E,
  137                                               llvm::Constant *Src) override;
  139   llvm::Constant *EmitNullMemberPointer(const MemberPointerType *MPT) override;
  141   llvm::Constant *EmitMemberFunctionPointer(const CXXMethodDecl *MD) override;
  142   llvm::Constant *EmitMemberDataPointer(const MemberPointerType *MPT,
  144   llvm::Constant *EmitMemberPointer(const APValue &MP, QualType MPT) override;
  145   llvm::Constant *BuildMemberPointer(const CXXMethodDecl *MD,
  171   llvm::Constant *getAddrOfRTTIDescriptor(QualType Ty) override;
  244   llvm::Constant *
  256   llvm::Constant *
  319                           llvm::Constant *addr) override;
  589   llvm::Constant *ptrdiff_1 = llvm::ConstantInt::get(CGM.PtrDiffTy, 1);
  650   llvm::Constant *CheckSourceLocation;
  651   llvm::Constant *CheckTypeDesc;
  706       llvm::Constant *StaticData[] = {
  743       llvm::Constant *StaticData[] = {
  842   if (isa<llvm::Constant>(src))
  843     return EmitMemberPointerConversion(E, cast<llvm::Constant>(src));
  845   llvm::Constant *adj = getMemberPointerAdjustment(E);
  864     llvm::Value *null = llvm::Constant::getAllOnesValue(src->getType());
  886 llvm::Constant *
  888                                            llvm::Constant *src) {
  897   llvm::Constant *adj = getMemberPointerAdjustment(E);
  924   llvm::Constant *srcAdj = llvm::ConstantExpr::getExtractValue(src, 1);
  925   llvm::Constant *dstAdj;
  934 llvm::Constant *
  941   llvm::Constant *Zero = llvm::ConstantInt::get(CGM.PtrDiffTy, 0);
  942   llvm::Constant *Values[2] = { Zero, Zero };
  946 llvm::Constant *
  955 llvm::Constant *
  960 llvm::Constant *ItaniumCXXABI::BuildMemberPointer(const CXXMethodDecl *MD,
  967   llvm::Constant *MemPtr[2];
 1007     llvm::Constant *addr = CGM.GetAddrOfFunction(MD, Ty);
 1018 llvm::Constant *ItaniumCXXABI::EmitMemberPointer(const APValue &MP,
 1084   llvm::Value *Zero = llvm::Constant::getNullValue(LPtr->getType());
 1123       llvm::Constant::getAllOnesValue(MemPtr->getType());
 1130   llvm::Constant *Zero = llvm::ConstantInt::get(Ptr->getType(), 0);
 1136     llvm::Constant *One = llvm::ConstantInt::get(Ptr->getType(), 1);
 1259   llvm::Constant *TypeInfo = CGM.GetAddrOfRTTIDescriptor(ThrowType,
 1264   llvm::Constant *Dtor = nullptr;
 1273   if (!Dtor) Dtor = llvm::Constant::getNullValue(CGM.Int8PtrTy);
 1642   llvm::Constant *RTTI =
 1694 llvm::Constant *
 1735 llvm::Constant *ItaniumCXXABI::getVTableAddressPointForConstExpr(
 2358                                         llvm::Constant *addr, bool TLS) {
 2379   llvm::Constant *handle =
 2399     addr = llvm::Constant::getNullValue(CGF.Int8PtrTy);
 2402                              cast<llvm::Constant>(dtor.getCallee()), dtorTy),
 2455                                        llvm::Constant *addr) {
 2762   SmallVector<llvm::Constant *, 16> Fields;
 2770   llvm::Constant *GetAddrOfExternalRTTIDescriptor(QualType Ty);
 2845   llvm::Constant *BuildTypeInfo(QualType Ty);
 2848   llvm::Constant *BuildTypeInfo(
 2865   llvm::Constant *Init = llvm::ConstantDataArray::getString(VMContext,
 2877 llvm::Constant *
 3258   llvm::Constant *VTable =
 3266   llvm::Constant *Two = llvm::ConstantInt::get(PtrDiffTy, 2);
 3328 llvm::Constant *ItaniumRTTIBuilder::BuildTypeInfo(QualType Ty) {
 3376 llvm::Constant *ItaniumRTTIBuilder::BuildTypeInfo(
 3386   llvm::Constant *TypeNameField;
 3396     llvm::Constant *flag =
 3492   llvm::Constant *Init = llvm::ConstantStruct::getAnon(Fields);
 3506     llvm::Constant *NewPtr =
 3569   llvm::Constant *BaseTypeInfo =
 3580   llvm::Constant *BaseTypeInfo =
 3776   llvm::Constant *PointeeTypeInfo =
 3803   llvm::Constant *PointeeTypeInfo =
 3815 llvm::Constant *ItaniumCXXABI::getAddrOfRTTIDescriptor(QualType Ty) {
 3976       auto *Aliasee = CGM.GetAddrOfGlobal(BaseDecl);
tools/clang/lib/CodeGen/MicrosoftCXXABI.cpp
  126   llvm::Constant *getAddrOfRTTIDescriptor(QualType Ty) override;
  279   llvm::Constant *
  287   llvm::Constant *
  330     SmallVector<llvm::Constant *, 4> Map(NumEntries,
  349     llvm::Constant *Init = llvm::ConstantArray::get(VDispMapTy, Map);
  400                           llvm::Constant *Addr) override;
  534   llvm::Constant *getImageRelativeConstant(llvm::Constant *PtrVal) {
  534   llvm::Constant *getImageRelativeConstant(llvm::Constant *PtrVal) {
  539       return llvm::Constant::getNullValue(CGM.IntTy);
  541     llvm::Constant *ImageBaseAsInt =
  543     llvm::Constant *PtrValAsInt =
  545     llvm::Constant *Diff =
  556   llvm::Constant *getZeroInt() {
  560   llvm::Constant *getAllOnesInt() {
  561     return  llvm::Constant::getAllOnesValue(CGM.IntTy);
  568                              llvm::SmallVectorImpl<llvm::Constant *> &fields);
  603   llvm::Constant *EmitFullMemberPointer(llvm::Constant *FirstField,
  603   llvm::Constant *EmitFullMemberPointer(llvm::Constant *FirstField,
  610                                    llvm::Constant *MP);
  632   llvm::Constant *EmitNullMemberPointer(const MemberPointerType *MPT) override;
  634   llvm::Constant *EmitMemberDataPointer(const MemberPointerType *MPT,
  636   llvm::Constant *EmitMemberFunctionPointer(const CXXMethodDecl *MD) override;
  637   llvm::Constant *EmitMemberPointer(const APValue &MP, QualType MPT) override;
  664   llvm::Constant *EmitMemberPointerConversion(const CastExpr *E,
  665                                               llvm::Constant *Src) override;
  667   llvm::Constant *EmitMemberPointerConversion(
  670       CastExpr::path_const_iterator PathEnd, llvm::Constant *Src);
  749   llvm::Constant *getCatchableType(QualType T,
  944       emitRTtypeidCall(CGF, llvm::Constant::getNullValue(CGM.VoidPtrTy));
 1667     llvm::Constant *RTTI = nullptr;
 1689   llvm::Constant *VTableAddressPoint = getVTableAddressPoint(Base, VTableClass);
 1704 llvm::Constant *
 1712 llvm::Constant *MicrosoftCXXABI::getVTableAddressPointForConstExpr(
 1714   llvm::Constant *VFTable = getVTableAddressPoint(Base, VTableClass);
 1827     llvm::Constant *VTableGEP = llvm::ConstantExpr::getInBoundsGetElementPtr(
 2089   SmallVector<llvm::Constant *, 4> Offsets(1 + ObjectWithVPtr->getNumVBases(),
 2119   llvm::Constant *Init = llvm::ConstantArray::get(VBTableType, Offsets);
 2259                                         llvm::Constant *Addr) {
 2261   llvm::Constant *DtorStub = CGF.createAtExitStub(VD, Dtor, Addr);
 2278                                          llvm::Constant *Addr) {
 2634                            llvm::SmallVectorImpl<llvm::Constant *> &fields) {
 2640     fields.push_back(llvm::Constant::getNullValue(CGM.VoidPtrTy));
 2657 llvm::Constant *
 2659   llvm::SmallVector<llvm::Constant *, 4> fields;
 2663   llvm::Constant *Res = llvm::ConstantStruct::getAnon(fields);
 2668 llvm::Constant *
 2669 MicrosoftCXXABI::EmitFullMemberPointer(llvm::Constant *FirstField,
 2681   llvm::SmallVector<llvm::Constant *, 4> fields;
 2702 llvm::Constant *
 2709   llvm::Constant *FirstField =
 2715 llvm::Constant *MicrosoftCXXABI::EmitMemberPointer(const APValue &MP,
 2725   llvm::Constant *C;
 2769 llvm::Constant *
 2778   llvm::Constant *FirstField;
 2866     llvm::Value *Zero = llvm::Constant::getNullValue(L0->getType());
 2881   llvm::SmallVector<llvm::Constant *, 4> fields;
 2884     fields.push_back(llvm::Constant::getNullValue(CGM.VoidPtrTy));
 2908                                                   llvm::Constant *Val) {
 2911     llvm::Constant *FirstField = Val->getType()->isStructTy() ?
 2923   llvm::SmallVector<llvm::Constant *, 4> Fields;
 3087   if (isa<llvm::Constant>(Src))
 3088     return EmitMemberPointerConversion(E, cast<llvm::Constant>(Src));
 3112   llvm::Constant *DstNull = EmitNullMemberPointer(DstTy);
 3153   bool IsConstant = isa<llvm::Constant>(Src);
 3205   llvm::Constant *BaseClassOffset = llvm::ConstantInt::get(
 3228         llvm::Constant *Mapping = VDispMap->getInitializer();
 3230             Mapping->getAggregateElement(cast<llvm::Constant>(VBIndex));
 3285 llvm::Constant *
 3287                                              llvm::Constant *Src) {
 3298 llvm::Constant *MicrosoftCXXABI::EmitMemberPointerConversion(
 3301     CastExpr::path_const_iterator PathEnd, llvm::Constant *Src) {
 3317   auto *Dst = cast<llvm::Constant>(EmitNonNullMemberPointerConversion(
 3317   auto *Dst = cast<llvm::Constant>(EmitNonNullMemberPointerConversion(
 3604   llvm::Constant *Fields[] = {
 3640   SmallVector<llvm::Constant *, 8> BaseClassArrayData;
 3644   BaseClassArrayData.push_back(llvm::Constant::getNullValue(PtrType));
 3682   llvm::Constant *Fields[] = {
 3726   llvm::Constant *Fields[] = {
 3735   llvm::ArrayRef<llvm::Constant *> FieldsRef(Fields);
 3808 llvm::Constant *MicrosoftCXXABI::getAddrOfRTTIDescriptor(QualType Type) {
 3830   llvm::Constant *Fields[] = {
 3983   llvm::Constant *CalleePtr =
 4000 llvm::Constant *MicrosoftCXXABI::getCatchableType(QualType T,
 4026   llvm::Constant *TD = getImageRelativeConstant(getAddrOfRTTIDescriptor(T));
 4030   llvm::Constant *CopyCtor;
 4039     CopyCtor = llvm::Constant::getNullValue(CGM.Int8PtrTy);
 4065   llvm::Constant *Fields[] = {
 4096   llvm::SmallSetVector<llvm::Constant *, 2> CatchableTypes;
 4182   llvm::Constant *Fields[] = {
 4243   llvm::Constant *CleanupFn = llvm::Constant::getNullValue(CGM.Int8PtrTy);
 4243   llvm::Constant *CleanupFn = llvm::Constant::getNullValue(CGM.Int8PtrTy);
 4251   llvm::Constant *ForwardCompat =
 4252       getImageRelativeConstant(llvm::Constant::getNullValue(CGM.Int8PtrTy));
 4253   llvm::Constant *PointerToCatchableTypes = getImageRelativeConstant(
 4256   llvm::Constant *Fields[] = {
tools/clang/lib/CodeGen/ModuleBuilder.cpp
  125     llvm::Constant *GetAddrOfGlobal(GlobalDecl global, bool isForDefinition) {
  324 llvm::Constant *CodeGenerator::GetAddrOfGlobal(GlobalDecl global,
tools/clang/lib/CodeGen/ObjectFilePCHContainerOperations.cpp
  275     auto *Data = llvm::ConstantDataArray::getString(
tools/clang/lib/CodeGen/PatternInit.cpp
   14 llvm::Constant *clang::CodeGen::initializationPatternFor(CodeGenModule &CGM,
   52     auto *Int = llvm::ConstantInt::get(IntTy, IntValue);
   68     llvm::SmallVector<llvm::Constant *, 8> Element(
   81   llvm::SmallVector<llvm::Constant *, 8> Struct(StructTy->getNumElements());
tools/clang/lib/CodeGen/PatternInit.h
   22 llvm::Constant *initializationPatternFor(CodeGenModule &, llvm::Type *);
tools/clang/lib/CodeGen/TargetInfo.cpp
  432 llvm::Constant *TargetCodeGenInfo::getNullPointer(const CodeGen::CodeGenModule &CGM,
  450   if (auto *C = dyn_cast<llvm::Constant>(Src))
  450   if (auto *C = dyn_cast<llvm::Constant>(Src))
  457 llvm::Constant *
  458 TargetCodeGenInfo::performAddrSpaceCast(CodeGenModule &CGM, llvm::Constant *Src,
 1139   llvm::Constant *
 2343   llvm::Constant *
 7405             llvm::ConstantAsMetadata::get(llvm::Constant::getIntegerValue(
 7408             llvm::ConstantAsMetadata::get(llvm::Constant::getIntegerValue(
 7411             llvm::ConstantAsMetadata::get(llvm::Constant::getIntegerValue(
 7897   llvm::Constant *getNullPointer(const CodeGen::CodeGenModule &CGM,
 8039 llvm::Constant *AMDGPUTargetCodeGenInfo::getNullPointer(
tools/clang/lib/CodeGen/TargetInfo.h
  167   virtual llvm::Constant *
  236   virtual llvm::Constant *getNullPointer(const CodeGen::CodeGenModule &CGM,
  265   virtual llvm::Constant *performAddrSpaceCast(CodeGenModule &CGM,
  266                                                llvm::Constant *V,
  295     virtual llvm::SmallVector<llvm::Constant *, 1>
tools/clang/tools/clang-offload-wrapper/ClangOffloadWrapper.cpp
  199     Constant *ZeroZero[] = {Zero, Zero};
  202     SmallVector<Constant *, 4u> ImagesInits;
  205       auto *Data = ConstantDataArray::get(C, Buf);
  212       Constant *ZeroSize[] = {Zero, Size};
  214       auto *ImageB = ConstantExpr::getGetElementPtr(Image->getValueType(),
  216       auto *ImageE = ConstantExpr::getGetElementPtr(Image->getValueType(),
  224     auto *ImagesData = ConstantArray::get(
  233     auto *ImagesB = ConstantExpr::getGetElementPtr(Images->getValueType(),
  237     auto *DescInit = ConstantStruct::get(
tools/clang/unittests/CodeGen/CodeGenExternalTest.cpp
  177         Constant *c = my->Builder->GetAddrOfGlobal(GlobalDecl(fd), false);
tools/lldb/source/Expression/IRInterpreter.cpp
  166     const Constant *constant = dyn_cast<Constant>(value);
  166     const Constant *constant = dyn_cast<Constant>(value);
  229   bool ResolveConstantValue(APInt &value, const Constant *constant) {
  270           Constant *base = dyn_cast<Constant>(*op_cursor);
  270           Constant *base = dyn_cast<Constant>(*op_cursor);
  340   bool ResolveConstant(lldb::addr_t process_address, const Constant *constant) {
  419     if (const Constant *constant = dyn_cast<Constant>(value)) {
  419     if (const Constant *constant = dyn_cast<Constant>(value)) {
  452 static bool CanResolveConstant(llvm::Constant *constant) {
  471         Constant *base = dyn_cast<Constant>(*op_cursor);
  471         Constant *base = dyn_cast<Constant>(*op_cursor);
  623         if (Constant *constant = llvm::dyn_cast<Constant>(operand)) {
  623         if (Constant *constant = llvm::dyn_cast<Constant>(operand)) {
tools/lldb/source/Plugins/ExpressionParser/Clang/IRDynamicChecks.cpp
  250     Constant *fun_addr_int =
  274     Constant *fun_addr_int =
tools/lldb/source/Plugins/ExpressionParser/Clang/IRForTarget.cpp
  394     Constant *initializer = result_global->getInitializer();
  481     Constant *CFSCWB_addr_int =
  492   Constant *alloc_arg = Constant::getNullValue(i8_ptr_ty);
  492   Constant *alloc_arg = Constant::getNullValue(i8_ptr_ty);
  493   Constant *bytes_arg = cstr ? ConstantExpr::getBitCast(cstr, i8_ptr_ty)
  494                              : Constant::getNullValue(i8_ptr_ty);
  495   Constant *numBytes_arg = ConstantInt::get(
  514  Constant *encoding_arg = ConstantInt::get(i32_ty, encoding_flags, false);
  515  Constant *isExternal_arg =
  622       Constant *nsstring_member = nsstring_struct->getOperand(2);
  650         Constant *nsstring_cstr = nsstring_expr->getOperand(0);
  653         Constant *nsstring_cstr = nsstring_expr->getOperand(0);
  797   Constant *osr_initializer = _objc_selector_references_->getInitializer();
  818   Constant *omvn_initializer = _objc_meth_var_name_->getInitializer();
  865     Constant *srN_addr_int =
  873   Constant *omvn_pointer = ConstantExpr::getBitCast(
  955   Constant *ocr_initializer = _objc_class_references_->getInitializer();
  976   Constant *ocn_initializer = _objc_class_name_->getInitializer();
 1016     Constant *ogC_addr_int =
 1024   Constant *ocn_pointer = ConstantExpr::getBitCast(
 1298   Constant *symbol_addr_int = ConstantInt::get(m_intptr_ty, symbol_addr, false);
 1340   Constant *initializer = global_variable->getInitializer();
 1372   Constant *class_addr = ConstantInt::get(m_intptr_ty, (uint64_t)class_ptr);
 1375     Constant *class_bitcast =
 1479   Constant *Old = dyn_cast<Constant>(V);
 1479   Constant *Old = dyn_cast<Constant>(V);
 1500   Constant *zero(Constant::getNullValue(guard_load->getType()));
 1500   Constant *zero(Constant::getNullValue(guard_load->getType()));
 1536 bool IRForTarget::UnfoldConstant(Constant *old_constant,
 1551     if (Constant *constant = dyn_cast<Constant>(user)) {
 1551     if (Constant *constant = dyn_cast<Constant>(user)) {
 1813       if (Constant *constant = dyn_cast<Constant>(value)) {
 1813       if (Constant *constant = dyn_cast<Constant>(value)) {
 1889       GlobalVariable::InternalLinkage, Constant::getNullValue(int8_ty),
tools/lldb/source/Plugins/ExpressionParser/Clang/IRForTarget.h
  178                                   llvm::Constant **&value_ptr);
  214   void MaybeSetConstantResult(llvm::Constant *initializer,
  516   static bool UnfoldConstant(llvm::Constant *old_constant,
tools/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptx86ABIFixups.cpp
  181     llvm::Constant *new_func_cast = llvm::ConstantExpr::getCast(
tools/llvm-diff/DiffConsumer.cpp
   67   if (isa<Constant>(V)) {
tools/llvm-diff/DifferenceEngine.cpp
  381   bool equivalentAsOperands(Constant *L, Constant *R) {
  381   bool equivalentAsOperands(Constant *L, Constant *R) {
  466     if (isa<Constant>(L))
  467       return equivalentAsOperands(cast<Constant>(L), cast<Constant>(R));
  467       return equivalentAsOperands(cast<Constant>(L), cast<Constant>(R));
tools/llvm-stress/llvm-stress.cpp
  209   Constant *getRandomConstant(Type *Tp) {
  243       std::vector<Constant*> TempValues;
  248       ArrayRef<Constant*> VectorValue(TempValues);
  501     std::vector<Constant*> Idxs;
  505       Constant *CI = ConstantInt::get(I32, getRandom() % (Width*2));
  512     Constant *Mask = ConstantVector::get(Idxs);
tools/opt/AnalysisWrappers.cpp
   48             if (!isa<Constant>(*AI)) continue;
tools/polly/lib/Analysis/ScopDetection.cpp
  789   if (isa<Argument>(Val) || isa<Constant>(Val))
tools/polly/lib/CodeGen/BlockGenerators.cpp
 1067     SmallVector<Constant *, 16> Indices;
 1070     Constant *SV = llvm::ConstantVector::get(Indices);
 1094   Constant *SplatVector = Constant::getNullValue(
 1094   Constant *SplatVector = Constant::getNullValue(
 1345     Constant *SplatVector = Constant::getNullValue(
 1345     Constant *SplatVector = Constant::getNullValue(
tools/polly/lib/CodeGen/IslNodeBuilder.cpp
 1311   MergePHI->addIncoming(Constant::getNullValue(AccInstTy), CondBB);
tools/polly/lib/CodeGen/LoopGeneratorsKMP.cpp
  478     Constant *InitStr = ConstantDataArray::getString(
  481     Constant *StrPtr = static_cast<Constant *>(Builder.CreateInBoundsGEP(
  484     Constant *LocInitStruct = ConstantStruct::get(
tools/polly/lib/CodeGen/PerfMonitor.cpp
   38   std::vector<Constant *> V;
   41     Constant *Array = GV->getInitializer();
   43       V.push_back(cast<Constant>(X));
   73                               Constant *InitialValue, Value **Location) {
tools/polly/lib/CodeGen/RuntimeDebugBuilder.cpp
  287   Builder.CreateCall(F, Constant::getNullValue(F->arg_begin()->getType()));
tools/polly/lib/Support/VirtualInstruction.cpp
   59   if (isa<llvm::Constant>(Val) || isa<MetadataAsValue>(Val))
tools/polly/lib/Transform/ZoneAlgo.cpp
  435     auto *WrittenConstant = dyn_cast<Constant>(Memset->getValue());
  435     auto *WrittenConstant = dyn_cast<Constant>(Memset->getValue());
  438       Constant *Zero = Constant::getNullValue(Ty);
  438       Constant *Zero = Constant::getNullValue(Ty);
tools/verify-uselistorder/verify-uselistorder.cpp
  228           if ((isa<Constant>(Op) && !isa<GlobalValue>(*Op)) ||
  238   if (auto *C = dyn_cast<Constant>(V))
  388   if (auto *C = dyn_cast<Constant>(V))
  388   if (auto *C = dyn_cast<Constant>(V))
  430   if (auto *C = dyn_cast<Constant>(V))
  430   if (auto *C = dyn_cast<Constant>(V))
  504           if ((isa<Constant>(Op) && !isa<GlobalValue>(*Op)) ||
unittests/Analysis/MemorySSATest.cpp
  706   Constant *One = ConstantInt::get(Int8, 1);
  707   Constant *Zero = ConstantInt::get(Int8, 0);
  770   Constant *One = ConstantInt::get(Int8, 1);
unittests/Analysis/ScalarEvolutionTest.cpp
   76   Constant *Init = Constant::getNullValue(Ty);
   76   Constant *Init = Constant::getNullValue(Ty);
  130   PN->addIncoming(Constant::getNullValue(Ty), EntryBB);
  690   Value *Accum = Constant::getNullValue(I8PtrTy);
  849   auto *Limit = ConstantInt::get(T_int64, 1000);
 1175   auto *Limit = ConstantInt::get(T_int64, 1000);
unittests/Analysis/SparsePropagation.cpp
   64   TestLatticeVal(Constant *C, TestLatticeStateTy State)
   86   PointerIntPair<const Constant *, 2, TestLatticeStateTy> LatticeVal;
  114       if (auto *C = dyn_cast<Constant>(Key.getPointer()))
  114       if (auto *C = dyn_cast<Constant>(Key.getPointer()))
  518   Constant *C =
unittests/Analysis/UnrollAnalyzerTest.cpp
   20 static SmallVector<DenseMap<Value *, Constant *>, 16> SimplifiedValuesVector;
   39       DenseMap<Value *, Constant *> SimplifiedValues;
unittests/Analysis/ValueLatticeTest.cpp
   41   auto *C2 = ConstantFP::get(FloatTy, 1.1);
  138   auto *C1 = ConstantFP::get(FloatTy, 1.0);
unittests/Analysis/VectorUtilsTest.cpp
   83   Constant *UndefScalar = UndefValue::get(IRB.getInt8Ty());
   86   Constant *ScalarC = IRB.getInt8(42);
   89   Constant *OtherScalarC = IRB.getInt8(-42);
   90   Constant *NonSplatC = ConstantVector::get({ScalarC, OtherScalarC});
   97   Constant *SplatWithUndefC = ConstantVector::get({ScalarC, UndefScalar});
unittests/ExecutionEngine/MCJIT/MCJITTestBase.h
  132     Constant *IV = ConstantInt::get(Context, APInt(32, InitialValue));
unittests/FuzzMutate/OperationsTest.cpp
   39 void PrintTo(Constant *C, ::std::ostream *OS) { PrintTo(cast<Value>(C), OS); }
   82   Constant *i1 = ConstantInt::getFalse(Ctx);
   83   Constant *i8 = ConstantInt::get(Type::getInt8Ty(Ctx), 3);
   84   Constant *i16 = ConstantInt::get(Type::getInt16Ty(Ctx), 1 << 15);
   85   Constant *i32 = ConstantInt::get(Type::getInt32Ty(Ctx), 0);
   86   Constant *i64 = ConstantInt::get(Type::getInt64Ty(Ctx),
   88   Constant *f16 = ConstantFP::getInfinity(Type::getHalfTy(Ctx));
   89   Constant *f32 = ConstantFP::get(Type::getFloatTy(Ctx), 0.0);
   90   Constant *f64 = ConstantFP::get(Type::getDoubleTy(Ctx), 123.45);
   91   Constant *s =
   93   Constant *a =
   95   Constant *v8i8 = ConstantVector::getSplat(8, i8);
   96   Constant *v4f16 = ConstantVector::getSplat(4, f16);
   97   Constant *p0i32 =
  346   Constant *SVal = UndefValue::get(StructTy);
  347   Constant *OVal = UndefValue::get(OpaqueTy);
  348   Constant *AVal = UndefValue::get(ArrayTy);
  349   Constant *ZAVal = UndefValue::get(ZeroSizedArrayTy);
  350   Constant *VVal = UndefValue::get(VectorTy);
unittests/IR/ConstantsTest.cpp
   26   Constant* One = ConstantInt::get(Int1, 1, true);
   27   Constant* Zero = ConstantInt::get(Int1, 0);
   28   Constant* NegOne = ConstantInt::get(Int1, static_cast<uint64_t>(-1), true);
   30   Constant* Undef = UndefValue::get(Int1);
  124   Constant *Zero128 = Constant::getNullValue(Int128Ty);
  124   Constant *Zero128 = Constant::getNullValue(Int128Ty);
  125   Constant *X = ConstantExpr::getUIToFP(Zero128, FP128Ty);
  169   Constant *NullInt32Ptr0 = Constant::getNullValue(Int32PtrTy);
  169   Constant *NullInt32Ptr0 = Constant::getNullValue(Int32PtrTy);
  170   Constant *NullInt32Ptr1 = Constant::getNullValue(Int32Ptr1Ty);
  170   Constant *NullInt32Ptr1 = Constant::getNullValue(Int32Ptr1Ty);
  202   Constant *Global = M->getOrInsertGlobal("dummy",
  204   Constant *Global2 = M->getOrInsertGlobal("dummy2",
  207   Constant *P0 = ConstantExpr::getPtrToInt(Global, Int32Ty);
  208   Constant *P1 = ConstantExpr::getUIToFP(P0, FloatTy);
  209   Constant *P2 = ConstantExpr::getUIToFP(P0, DoubleTy);
  210   Constant *P3 = ConstantExpr::getTrunc(P0, Int1Ty);
  211   Constant *P4 = ConstantExpr::getPtrToInt(Global2, Int32Ty);
  212   Constant *P5 = ConstantExpr::getUIToFP(P4, FloatTy);
  213   Constant *P6 = ConstantExpr::getBitCast(P4, VectorType::get(Int16Ty, 2));
  215   Constant *One = ConstantInt::get(Int32Ty, 1);
  216   Constant *Two = ConstantInt::get(Int64Ty, 2);
  217   Constant *Big = ConstantInt::get(Context, APInt{256, uint64_t(-1), true});
  218   Constant *Elt = ConstantInt::get(Int16Ty, 2015);
  219   Constant *Undef16  = UndefValue::get(Int16Ty);
  220   Constant *Undef64  = UndefValue::get(Int64Ty);
  221   Constant *UndefV16 = UndefValue::get(P6->getType());
  278   std::vector<Constant*> V;
  309   Constant *One = ConstantInt::get(Int32Ty, 1);
  311   Constant *Global =
  313   Constant *GEP = ConstantExpr::getGetElementPtr(
  330   Constant *A01Vals[2] = {ConstantInt::get(IntTy, 0),
  332   Constant *A01 = ConstantArray::get(ArrayTy, A01Vals);
  334   Constant *Global = new GlobalVariable(*M, IntTy, false,
  336   Constant *GlobalInt = ConstantExpr::getPtrToInt(Global, IntTy);
  337   Constant *A0GVals[2] = {ConstantInt::get(IntTy, 0), GlobalInt};
  338   Constant *A0G = ConstantArray::get(ArrayTy, A0GVals);
  354   Constant *G1 = new GlobalVariable(*M, IntTy, false,
  356   Constant *G2 = new GlobalVariable(*M, IntTy, false,
  360   Constant *Int1 = ConstantExpr::getPtrToInt(G1, IntTy);
  361   Constant *Int2 = ConstantExpr::getPtrToInt(G2, IntTy);
  378   auto *C1 = ConstantInt::get(IntTy, 1);
  381   auto *GEP = ConstantExpr::getGetElementPtr(IntTy, Placeholder, C1);
  405   Constant *Aliasee = ConstantExpr::getBitCast(G, I16PTy);
  425     Constant *Vals[] = {ConstantInt::get(T, 0), ConstantInt::get(T, 1)};
  426     Constant *CDV = ConstantArray::get(ArrayTy, Vals);
  434     Constant *Vals[] = {ConstantFP::get(T, 0), ConstantFP::get(T, 1)};
  435     Constant *CDV = ConstantArray::get(ArrayTy, Vals);
  447     Constant *Vals[] = {ConstantInt::get(T, 0), ConstantInt::get(T, 1)};
  448     Constant *CDV = ConstantVector::get(Vals);
  455     Constant *Vals[] = {ConstantFP::get(T, 0), ConstantFP::get(T, 1)};
  456     Constant *CDV = ConstantVector::get(Vals);
  474   auto *C = ConstantExpr::getBitCast(G, PtrTy);
  492   Constant *TheConstantExpr(
  581   Constant *TheConstantExpr(
unittests/IR/IRBuilderTest.cpp
  612   Constant *C = Builder.getInt32(42);
unittests/IR/InstructionsTest.cpp
   49   Constant* One = ConstantInt::get(Int1, 1, true);
  139   Constant* One = ConstantInt::get(Int1, 1, true);
  216   const Constant* c8 = Constant::getNullValue(V8x8Ty);
  216   const Constant* c8 = Constant::getNullValue(V8x8Ty);
  217   const Constant* c64 = Constant::getNullValue(V8x64Ty);
  217   const Constant* c64 = Constant::getNullValue(V8x64Ty);
  219   const Constant *v2ptr32 = Constant::getNullValue(V2Int32PtrTy);
  219   const Constant *v2ptr32 = Constant::getNullValue(V2Int32PtrTy);
  294   Constant *NullV2I32Ptr = Constant::getNullValue(V2Int32PtrTy);
  294   Constant *NullV2I32Ptr = Constant::getNullValue(V2Int32PtrTy);
  321   std::vector<Constant*> ConstVa(2, Ci32a);
  322   std::vector<Constant*> ConstVb(2, Ci32b);
  323   Constant *C2xi32a = ConstantVector::get(ConstVa);
  324   Constant *C2xi32b = ConstantVector::get(ConstVb);
  508   Value *Callee = Constant::getNullValue(FnTy->getPointerTo());
  542   Value *Callee = Constant::getNullValue(FnTy->getPointerTo());
  569   Value *Callee = Constant::getNullValue(FnTy->getPointerTo());
  649     Value *GEPBase = Constant::getNullValue(B.getInt8PtrTy());
  807   Constant *CU = UndefValue::get(Int32Ty);
  808   Constant *C0 = ConstantInt::get(Int32Ty, 0);
  809   Constant *C1 = ConstantInt::get(Int32Ty, 1);
  810   Constant *C2 = ConstantInt::get(Int32Ty, 2);
  811   Constant *C3 = ConstantInt::get(Int32Ty, 3);
  812   Constant *C4 = ConstantInt::get(Int32Ty, 4);
  813   Constant *C5 = ConstantInt::get(Int32Ty, 5);
  814   Constant *C6 = ConstantInt::get(Int32Ty, 6);
  815   Constant *C7 = ConstantInt::get(Int32Ty, 7);
  817   Constant *Identity = ConstantVector::get({C0, CU, C2, C3, C4});
  825   Constant *Select = ConstantVector::get({CU, C1, C5});
  833   Constant *Reverse = ConstantVector::get({C3, C2, C1, CU});
  841   Constant *SingleSource = ConstantVector::get({C2, C2, C0, CU});
  849   Constant *ZeroEltSplat = ConstantVector::get({C0, C0, CU, C0});
  857   Constant *Transpose = ConstantVector::get({C0, C4, C2, C6});
  885   Constant *V0 = ConstantVector::get({C0, C1, C2, C3});
  886   Constant *V1 = ConstantVector::get({C3, C2, C1, C0});
 1052   Constant *One = ConstantFP::get(FltTy, 1.0);
unittests/IR/MetadataTest.cpp
  108   Constant *getConstant() {
  211   Constant *C = ConstantInt::get(Type::getInt32Ty(Context), 1);
  262   Constant *C = ConstantInt::get(Type::getInt32Ty(Context), 7);
  321   Constant *C = ConstantInt::get(Type::getInt32Ty(Context), 7);
unittests/IR/PatternMatch.cpp
  512   Value *CNeg128 = ConstantExpr::getNeg(cast<Constant>(C128));
  521   Value *CNegIntMin = ConstantExpr::getNeg(cast<Constant>(CIntMin));
  915   SmallVector<Constant *, 2> VecElemIdxs;
  918   auto *IdxVec = ConstantVector::get(VecElemIdxs);
 1002   Constant *ScalarUndef = UndefValue::get(ScalarTy);
 1003   Constant *VectorUndef = UndefValue::get(VectorTy);
 1004   Constant *ScalarZero = Constant::getNullValue(ScalarTy);
 1004   Constant *ScalarZero = Constant::getNullValue(ScalarTy);
 1005   Constant *VectorZero = Constant::getNullValue(VectorTy);
 1005   Constant *VectorZero = Constant::getNullValue(VectorTy);
 1007   SmallVector<Constant *, 4> Elems;
 1012   Constant *VectorZeroUndef = ConstantVector::get(Elems);
 1030   Constant *ScalarUndef = UndefValue::get(ScalarTy);
 1031   Constant *VectorUndef = UndefValue::get(VectorTy);
 1032   Constant *ScalarZero = Constant::getNullValue(ScalarTy);
 1032   Constant *ScalarZero = Constant::getNullValue(ScalarTy);
 1033   Constant *VectorZero = Constant::getNullValue(VectorTy);
 1033   Constant *VectorZero = Constant::getNullValue(VectorTy);
 1035   SmallVector<Constant *, 4> Elems;
 1040   Constant *VectorZeroUndef = ConstantVector::get(Elems);
unittests/IR/ValueHandleTest.cpp
   23   Constant *ConstantV;
  327           Constant::getNullValue(Type::getInt32Ty(*Context)));
  343       RVH, Constant::getNullValue(Type::getInt32Ty(Context))));
unittests/IR/ValueMapTest.cpp
   25   Constant *ConstantV;
unittests/IR/ValueTest.cpp
   57                          Constant::getAllOnesValue(Int32Ty),
   68   Constant *Dummy1 = M->getOrInsertGlobal("dummy", Int32Ty);
   79                          Constant::getAllOnesValue(Int32Ty),
   86   Constant *DummyCast1 = M->getOrInsertGlobal("dummy_cast", Int8Ty);
  100                          Constant::getAllOnesValue(Int32Ty), "var", nullptr,
unittests/IR/VerifierTest.cpp
   37   Constant *False = ConstantInt::getFalse(C);
   42   Constant *Zero32 = ConstantInt::get(IntegerType::get(C, 32), 0);
   84   Constant *ConstZero = ConstantInt::get(Type::getInt32Ty(C), 0);
unittests/Linker/LinkModulesTest.cpp
   46     std::vector<Constant *> Init;
   47     Constant *SwitchCase1BA = BlockAddress::get(SwitchCase1BB);
   50     Constant *SwitchCase2BA = BlockAddress::get(SwitchCase2BB);
   54     Constant *OnePtr = ConstantExpr::getCast(Instruction::IntToPtr, One,
  105   const Constant *Init = LinkedGV->getInitializer();
unittests/Transforms/Utils/CloningTest.cpp
  140   Constant *Z = Constant::getNullValue(Type::getInt32Ty(context));
  140   Constant *Z = Constant::getNullValue(Type::getInt32Ty(context));
unittests/Transforms/Utils/FunctionComparatorTest.cpp
   22   Constant *C;
   71   int testCmpConstants(const Constant *L, const Constant *R) {
   71   int testCmpConstants(const Constant *L, const Constant *R) {
unittests/Transforms/Utils/LocalTest.cpp
  154   Value *NewBase = Constant::getNullValue(Type::getInt32PtrTy(C));
unittests/Transforms/Utils/ValueMapperTest.cpp
  336   Constant &C = *ConstantInt::get(Int8, 42);
usr/include/c++/7.4.0/bits/functional_hash.h
  106     struct hash<_Tp*> : public __hash_base<size_t, _Tp*>
  109       operator()(_Tp* __p) const noexcept
usr/include/c++/7.4.0/type_traits
  381     : public __is_pointer_helper<typename remove_cv<_Tp>::type>::type
 1554     { typedef _Tp     type; };
 1558     { typedef _Tp     type; };
 1563     { typedef _Tp     type; };
 1574       remove_const<typename remove_volatile<_Tp>::type>::type     type;
 1983     { typedef _Up     type; };
utils/unittest/googletest/include/gtest/gtest-message.h
  116   inline Message& operator <<(const T& val) {
utils/unittest/googletest/include/gtest/gtest-printers.h
  407                     T* p, ::std::ostream* os) {
  416     if (IsTrue(ImplicitlyConvertible<T*, const void*>::value)) {
utils/unittest/googletest/include/gtest/internal/custom/raw-ostream.h
   35 auto printable(const T &V) -> decltype(StreamSwitch<T>::printable(V)) {
   35 auto printable(const T &V) -> decltype(StreamSwitch<T>::printable(V)) {
   37   return StreamSwitch<T>::printable(V);
   54   const T& V;
   55   friend std::ostream &operator<<(std::ostream &S, const RawStreamProxy<T> &V) {
   69   static const RawStreamProxy<T> printable(const T &V) { return {V}; }
   69   static const RawStreamProxy<T> printable(const T &V) { return {V}; }