Skip to content

Commit 3120c27

Browse files
committed
Apply suggestions
Created using spr 1.3.6-beta.1
2 parents 00e09c7 + e120a24 commit 3120c27

File tree

2 files changed

+14
-21
lines changed

2 files changed

+14
-21
lines changed

clang/lib/CodeGen/CGBuiltin.cpp

Lines changed: 10 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -22520,35 +22520,28 @@ Value *CodeGenFunction::EmitRISCVCpuIs(StringRef CPUStr) {
2252022520
CGM.CreateRuntimeVariable(StructTy, "__riscv_cpu_model");
2252122521
cast<llvm::GlobalValue>(RISCVCPUModel)->setDSOLocal(true);
2252222522

22523-
auto loadRISCVCPUID = [&](unsigned Index, llvm::Type *ValueTy,
22524-
CGBuilderTy &Builder, CodeGenModule &CGM) {
22525-
llvm::Value *GEPIndices[] = {Builder.getInt32(0),
22526-
llvm::ConstantInt::get(Int32Ty, Index)};
22527-
Value *Ptr = Builder.CreateInBoundsGEP(StructTy, RISCVCPUModel, GEPIndices);
22528-
Value *CPUID = Builder.CreateAlignedLoad(
22529-
ValueTy, Ptr,
22530-
CharUnits::fromQuantity(ValueTy->getScalarSizeInBits() / 8));
22523+
auto loadRISCVCPUID = [&](unsigned Index, llvm::Type *ValueTy) {
22524+
Value *Ptr = Builder.CreateStructGEP(StructTy, RISCVCPUModel, Index);
22525+
Value *CPUID = Builder.CreateAlignedLoad(ValueTy, Ptr, llvm::MaybeAlign());
2253122526
return CPUID;
2253222527
};
2253322528

2253422529
const llvm::RISCV::CPUModel CPUModel = llvm::RISCV::getCPUModel(CPUStr);
2253522530

2253622531
// Compare mvendorid.
22537-
Value *VendorID = loadRISCVCPUID(0, Int32Ty, Builder, CGM);
22538-
Value *Result = Builder.CreateICmpEQ(
22539-
VendorID, llvm::ConstantInt::get(Int32Ty, CPUModel.MVendorID));
22532+
Value *VendorID = loadRISCVCPUID(0, Int32Ty);
22533+
Value *Result =
22534+
Builder.CreateICmpEQ(VendorID, Builder.getInt32(CPUModel.MVendorID));
2254022535

2254122536
// Compare marchid.
22542-
Value *ArchID = loadRISCVCPUID(1, Int64Ty, Builder, CGM);
22537+
Value *ArchID = loadRISCVCPUID(1, Int64Ty);
2254322538
Result = Builder.CreateAnd(
22544-
Result, Builder.CreateICmpEQ(
22545-
ArchID, llvm::ConstantInt::get(Int64Ty, CPUModel.MArchID)));
22539+
Result, Builder.CreateICmpEQ(ArchID, Builder.getInt64(CPUModel.MArchID)));
2254622540

2254722541
// Compare mimplid.
22548-
Value *ImplID = loadRISCVCPUID(2, Int64Ty, Builder, CGM);
22542+
Value *ImplID = loadRISCVCPUID(2, Int64Ty);
2254922543
Result = Builder.CreateAnd(
22550-
Result, Builder.CreateICmpEQ(
22551-
ImplID, llvm::ConstantInt::get(Int64Ty, CPUModel.MImpID)));
22544+
Result, Builder.CreateICmpEQ(ImplID, Builder.getInt64(CPUModel.MImpID)));
2255222545

2255322546
return Result;
2255422547
}

clang/test/CodeGen/RISCV/builtin-cpu-is.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@
77
// CHECK-RV64-NEXT: [[ENTRY:.*:]]
88
// CHECK-RV64-NEXT: [[TMP0:%.*]] = load i32, ptr @__riscv_cpu_model, align 4
99
// CHECK-RV64-NEXT: [[TMP1:%.*]] = icmp eq i32 [[TMP0]], 1567
10-
// CHECK-RV64-NEXT: [[TMP2:%.*]] = load i64, ptr getelementptr inbounds ({ i32, i64, i64 }, ptr @__riscv_cpu_model, i32 0, i32 1), align 8
10+
// CHECK-RV64-NEXT: [[TMP2:%.*]] = load i64, ptr getelementptr inbounds nuw ({ i32, i64, i64 }, ptr @__riscv_cpu_model, i32 0, i32 1), align 8
1111
// CHECK-RV64-NEXT: [[TMP3:%.*]] = icmp eq i64 [[TMP2]], -9223372036854710272
1212
// CHECK-RV64-NEXT: [[TMP4:%.*]] = and i1 [[TMP1]], [[TMP3]]
13-
// CHECK-RV64-NEXT: [[TMP5:%.*]] = load i64, ptr getelementptr inbounds ({ i32, i64, i64 }, ptr @__riscv_cpu_model, i32 0, i32 2), align 8
13+
// CHECK-RV64-NEXT: [[TMP5:%.*]] = load i64, ptr getelementptr inbounds nuw ({ i32, i64, i64 }, ptr @__riscv_cpu_model, i32 0, i32 2), align 8
1414
// CHECK-RV64-NEXT: [[TMP6:%.*]] = icmp eq i64 [[TMP5]], 273
1515
// CHECK-RV64-NEXT: [[TMP7:%.*]] = and i1 [[TMP4]], [[TMP6]]
1616
// CHECK-RV64-NEXT: [[CONV:%.*]] = zext i1 [[TMP7]] to i32
@@ -25,10 +25,10 @@ int test_cpu_is_veyron_v1() {
2525
// CHECK-RV64-NEXT: [[ENTRY:.*:]]
2626
// CHECK-RV64-NEXT: [[TMP0:%.*]] = load i32, ptr @__riscv_cpu_model, align 4
2727
// CHECK-RV64-NEXT: [[TMP1:%.*]] = icmp eq i32 [[TMP0]], 1808
28-
// CHECK-RV64-NEXT: [[TMP2:%.*]] = load i64, ptr getelementptr inbounds ({ i32, i64, i64 }, ptr @__riscv_cpu_model, i32 0, i32 1), align 8
28+
// CHECK-RV64-NEXT: [[TMP2:%.*]] = load i64, ptr getelementptr inbounds nuw ({ i32, i64, i64 }, ptr @__riscv_cpu_model, i32 0, i32 1), align 8
2929
// CHECK-RV64-NEXT: [[TMP3:%.*]] = icmp eq i64 [[TMP2]], -9223372035378380799
3030
// CHECK-RV64-NEXT: [[TMP4:%.*]] = and i1 [[TMP1]], [[TMP3]]
31-
// CHECK-RV64-NEXT: [[TMP5:%.*]] = load i64, ptr getelementptr inbounds ({ i32, i64, i64 }, ptr @__riscv_cpu_model, i32 0, i32 2), align 8
31+
// CHECK-RV64-NEXT: [[TMP5:%.*]] = load i64, ptr getelementptr inbounds nuw ({ i32, i64, i64 }, ptr @__riscv_cpu_model, i32 0, i32 2), align 8
3232
// CHECK-RV64-NEXT: [[TMP6:%.*]] = icmp eq i64 [[TMP5]], 1152921505839391232
3333
// CHECK-RV64-NEXT: [[TMP7:%.*]] = and i1 [[TMP4]], [[TMP6]]
3434
// CHECK-RV64-NEXT: [[CONV:%.*]] = zext i1 [[TMP7]] to i32

0 commit comments

Comments
 (0)