@@ -5225,9 +5225,8 @@ RValue CodeGenFunction::EmitBuiltinExpr(const GlobalDecl GD, unsigned BuiltinID,
5225
5225
llvm::BasicBlock *ContBB = createBasicBlock("atomic.scope.continue", CurFn);
5226
5226
5227
5227
llvm::DenseMap<llvm::BasicBlock *, llvm::AtomicOrdering> OrderBBs;
5228
- if (isa<llvm::ConstantInt>(Order)) {
5229
- int Ord = cast<llvm::ConstantInt>(Order)->getZExtValue();
5230
- switch (Ord) {
5228
+ if (auto Ord = dyn_cast<llvm::ConstantInt>(Order)) {
5229
+ switch (Ord->getZExtValue()) {
5231
5230
case 0: // memory_order_relaxed
5232
5231
default: // invalid order
5233
5232
ContBB->eraseFromParent();
@@ -5249,11 +5248,10 @@ RValue CodeGenFunction::EmitBuiltinExpr(const GlobalDecl GD, unsigned BuiltinID,
5249
5248
break;
5250
5249
}
5251
5250
} else {
5252
- llvm::BasicBlock *AcquireBB, *ReleaseBB, *AcqRelBB, *SeqCstBB;
5253
- AcquireBB = createBasicBlock("acquire", CurFn);
5254
- ReleaseBB = createBasicBlock("release", CurFn);
5255
- AcqRelBB = createBasicBlock("acqrel", CurFn);
5256
- SeqCstBB = createBasicBlock("seqcst", CurFn);
5251
+ llvm::BasicBlock *AcquireBB = createBasicBlock("acquire", CurFn);
5252
+ llvm::BasicBlock *ReleaseBB = createBasicBlock("release", CurFn);
5253
+ llvm::BasicBlock *AcqRelBB = createBasicBlock("acqrel", CurFn);
5254
+ llvm::BasicBlock *SeqCstBB = createBasicBlock("seqcst", CurFn);
5257
5255
5258
5256
Order = Builder.CreateIntCast(Order, Builder.getInt32Ty(), false);
5259
5257
llvm::SwitchInst *SI = Builder.CreateSwitch(Order, ContBB);
@@ -5271,10 +5269,9 @@ RValue CodeGenFunction::EmitBuiltinExpr(const GlobalDecl GD, unsigned BuiltinID,
5271
5269
5272
5270
for (auto &[OrderBB, Ordering] : OrderBBs) {
5273
5271
Builder.SetInsertPoint(OrderBB);
5274
- if (isa<llvm::ConstantInt>(Scope)) {
5275
- int Scp = cast<llvm::ConstantInt>(Scope)->getZExtValue();
5276
- SyncScope SS = ScopeModel->isValid(Scp)
5277
- ? ScopeModel->map(Scp)
5272
+ if (auto Scp = dyn_cast<llvm::ConstantInt>(Scope)) {
5273
+ SyncScope SS = ScopeModel->isValid(Scp->getZExtValue())
5274
+ ? ScopeModel->map(Scp->getZExtValue())
5278
5275
: ScopeModel->map(ScopeModel->getFallBackValue());
5279
5276
Builder.CreateFence(Ordering,
5280
5277
getTargetHooks().getLLVMSyncScopeID(
0 commit comments