@@ -4104,35 +4104,49 @@ class DILabel : public DINode {
41044104 friend class LLVMContextImpl ;
41054105 friend class MDNode ;
41064106
4107- DILabel (LLVMContext &C, StorageType Storage, unsigned Line,
4107+ unsigned Column;
4108+ std::optional<unsigned > CoroSuspendIdx;
4109+ bool IsArtificial;
4110+
4111+ DILabel (LLVMContext &C, StorageType Storage, unsigned Line, unsigned Column,
4112+ bool IsArtificial, std::optional<unsigned > CoroSuspendIdx,
41084113 ArrayRef<Metadata *> Ops);
41094114 ~DILabel () = default ;
41104115
41114116 static DILabel *getImpl (LLVMContext &Context, DIScope *Scope, StringRef Name,
4112- DIFile *File, unsigned Line, StorageType Storage,
4113- bool ShouldCreate = true ) {
4117+ DIFile *File, unsigned Line, unsigned Column,
4118+ bool IsArtificial, std::optional<unsigned > CoroSuspendIdx,
4119+ StorageType Storage, bool ShouldCreate = true ) {
41144120 return getImpl (Context, Scope, getCanonicalMDString (Context, Name), File,
4115- Line, Storage, ShouldCreate);
4121+ Line, Column, IsArtificial, CoroSuspendIdx, Storage,
4122+ ShouldCreate);
41164123 }
41174124 LLVM_ABI static DILabel *getImpl (LLVMContext &Context, Metadata *Scope,
41184125 MDString *Name, Metadata *File,
4119- unsigned Line, StorageType Storage,
4126+ unsigned Line, unsigned Column,
4127+ bool IsArtificial, std::optional<unsigned > CoroSuspendIdx,
4128+ StorageType Storage,
41204129 bool ShouldCreate = true );
41214130
41224131 TempDILabel cloneImpl () const {
41234132 return getTemporary (getContext (), getScope (), getName (), getFile (),
4124- getLine ());
4133+ getLine (), getColumn (), isArtificial (),
4134+ getCoroSuspendIdx ());
41254135 }
41264136
41274137public:
41284138 DEFINE_MDNODE_GET (DILabel,
41294139 (DILocalScope * Scope, StringRef Name, DIFile *File,
4130- unsigned Line),
4131- (Scope, Name, File, Line))
4140+ unsigned Line, unsigned Column, bool IsArtificial,
4141+ std::optional<unsigned > CoroSuspendIdx),
4142+ (Scope, Name, File, Line, Column, IsArtificial,
4143+ CoroSuspendIdx))
41324144 DEFINE_MDNODE_GET (DILabel,
41334145 (Metadata * Scope, MDString *Name, Metadata *File,
4134- unsigned Line),
4135- (Scope, Name, File, Line))
4146+ unsigned Line, unsigned Column, bool IsArtificial,
4147+ std::optional<unsigned > CoroSuspendIdx),
4148+ (Scope, Name, File, Line, Column, IsArtificial,
4149+ CoroSuspendIdx))
41364150
41374151 TempDILabel clone () const { return cloneImpl (); }
41384152
@@ -4143,8 +4157,11 @@ class DILabel : public DINode {
41434157 return cast_or_null<DILocalScope>(getRawScope ());
41444158 }
41454159 unsigned getLine () const { return SubclassData32; }
4160+ unsigned getColumn () const { return Column; }
41464161 StringRef getName () const { return getStringOperand (1 ); }
41474162 DIFile *getFile () const { return cast_or_null<DIFile>(getRawFile ()); }
4163+ bool isArtificial () const { return IsArtificial; }
4164+ std::optional<unsigned > getCoroSuspendIdx () const { return CoroSuspendIdx; }
41484165
41494166 Metadata *getRawScope () const { return getOperand (0 ); }
41504167 MDString *getRawName () const { return getOperandAs<MDString>(1 ); }
0 commit comments