[RISCV] Simplify usage of SplatPat_simm5_plus1. NFC (#125340)
[llvm-project.git] / clang / test / CodeGenCXX / datasizeof.cpp
blob5a8f4fc79bdf05432537b8f4ab4cb7e145c769a0
1 // RUN: %clang_cc1 -triple x86_64-unknown-gnu-linux -emit-llvm %s -o - | FileCheck %s
3 // CHECK-LABEL: define dso_local noundef i32 @_Z4testi(
4 // CHECK-SAME: i32 noundef [[I:%.*]]) #[[ATTR0:[0-9]+]] {
5 // CHECK-NEXT: entry:
6 // CHECK-NEXT: [[I_ADDR:%.*]] = alloca i32, align 4
7 // CHECK-NEXT: store i32 [[I]], ptr [[I_ADDR]], align 4
8 // CHECK-NEXT: [[TMP0:%.*]] = load i32, ptr [[I_ADDR]], align 4
9 // CHECK-NEXT: [[INC:%.*]] = add nsw i32 [[TMP0]], 1
10 // CHECK-NEXT: store i32 [[INC]], ptr [[I_ADDR]], align 4
11 // CHECK-NEXT: [[TMP1:%.*]] = zext i32 [[TMP0]] to i64
12 // CHECK-NEXT: [[TMP2:%.*]] = mul nuw i64 4, [[TMP1]]
13 // CHECK-NEXT: [[TMP3:%.*]] = load i32, ptr [[I_ADDR]], align 4
14 // CHECK-NEXT: ret i32 [[TMP3]]
16 int test(int i) {
17 (void)__datasizeof(int[i++]);
18 return i;