[clang] [clang] Avoid memcopy for small structure with padding under -ftrivial-auto-var-init (PR #71677)
via cfe-commits
cfe-commits at lists.llvm.org
Thu Nov 9 14:08:53 PST 2023
================
@@ -1506,8 +1497,16 @@ TEST_CUSTOM(unmatchedreverse, unmatchedreverse, { .c = 42 });
// CHECK-O0: call void @llvm.memcpy
// CHECK-NOT: !annotation
// CHECK-O0: call void @{{.*}}used{{.*}}%custom)
-// PATTERN-O1: store i32 -1431655894, ptr {{.*}}, align 4
-// ZERO-O1: store i32 42, ptr {{.*}}, align 4
+// PATTERN-O1: store i8 42, ptr {{.*}}, align 4
+// PATTERN-O1-NEXT: %[[I:[^ ]*]] = getelementptr inbounds i8, ptr %custom, i64 1
+// PATTERN-O1-NEXT: store i8 -86, ptr %[[I]], align {{.*}}
+// PATTERN-O1-NEXT: %[[I:[^ ]*]] = getelementptr inbounds i8, ptr %custom, i64 2
+// PATTERN-O1-NEXT: store i8 -86, ptr %[[I]], align {{.*}}
+// PATTERN-O1-NEXT: %[[I:[^ ]*]] = getelementptr inbounds i8, ptr %custom, i64 3
+// PATTERN-O1-NEXT: store i8 -86, ptr %[[I]], align {{.*}}
----------------
serge-sans-paille wrote:
That's my feeling too.
https://github.com/llvm/llvm-project/pull/71677
More information about the cfe-commits
mailing list