@@ -119,26 +119,30 @@ Module::~Module() {
119119}
120120
121121void Module::removeDebugIntrinsicDeclarations () {
122- auto *DeclareIntrinsicFn =
123- Intrinsic::getOrInsertDeclaration (this , Intrinsic::dbg_declare);
124- assert ((!isMaterialized () || DeclareIntrinsicFn->hasZeroLiveUses ()) &&
125- " Debug declare intrinsic should have had uses removed." );
126- DeclareIntrinsicFn->eraseFromParent ();
127- auto *ValueIntrinsicFn =
128- Intrinsic::getOrInsertDeclaration (this , Intrinsic::dbg_value);
129- assert ((!isMaterialized () || ValueIntrinsicFn->hasZeroLiveUses ()) &&
130- " Debug value intrinsic should have had uses removed." );
131- ValueIntrinsicFn->eraseFromParent ();
132- auto *AssignIntrinsicFn =
133- Intrinsic::getOrInsertDeclaration (this , Intrinsic::dbg_assign);
134- assert ((!isMaterialized () || AssignIntrinsicFn->hasZeroLiveUses ()) &&
135- " Debug assign intrinsic should have had uses removed." );
136- AssignIntrinsicFn->eraseFromParent ();
137- auto *LabelntrinsicFn =
138- Intrinsic::getOrInsertDeclaration (this , Intrinsic::dbg_label);
139- assert ((!isMaterialized () || LabelntrinsicFn->hasZeroLiveUses ()) &&
140- " Debug label intrinsic should have had uses removed." );
141- LabelntrinsicFn->eraseFromParent ();
122+ if (auto *DeclareIntrinsicFn =
123+ Intrinsic::getDeclarationIfExists (this , Intrinsic::dbg_declare)) {
124+ assert ((!isMaterialized () || DeclareIntrinsicFn->hasZeroLiveUses ()) &&
125+ " Debug declare intrinsic should have had uses removed." );
126+ DeclareIntrinsicFn->eraseFromParent ();
127+ }
128+ if (auto *ValueIntrinsicFn =
129+ Intrinsic::getDeclarationIfExists (this , Intrinsic::dbg_value)) {
130+ assert ((!isMaterialized () || ValueIntrinsicFn->hasZeroLiveUses ()) &&
131+ " Debug value intrinsic should have had uses removed." );
132+ ValueIntrinsicFn->eraseFromParent ();
133+ }
134+ if (auto *AssignIntrinsicFn =
135+ Intrinsic::getDeclarationIfExists (this , Intrinsic::dbg_assign)) {
136+ assert ((!isMaterialized () || AssignIntrinsicFn->hasZeroLiveUses ()) &&
137+ " Debug assign intrinsic should have had uses removed." );
138+ AssignIntrinsicFn->eraseFromParent ();
139+ }
140+ if (auto *LabelntrinsicFn =
141+ Intrinsic::getDeclarationIfExists (this , Intrinsic::dbg_label)) {
142+ assert ((!isMaterialized () || LabelntrinsicFn->hasZeroLiveUses ()) &&
143+ " Debug label intrinsic should have had uses removed." );
144+ LabelntrinsicFn->eraseFromParent ();
145+ }
142146}
143147
144148std::unique_ptr<RandomNumberGenerator>
0 commit comments