This revision was automatically updated to reflect the committed changes.
Closed by commit rL355660: Variable auto-init: split out small arrays (authored
by jfb, committed by ).
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.
Repository:
rL LLVM
CHANGES SINCE LAST
jfb marked an inline comment as done.
jfb added a comment.
Comparing clang stage2 in release mode, with an without this change, we see a
408 byte size difference, which is ~nothing. Here's details, nothing surprising:
$ /s/bloaty/bloaty -d sections /s/llvm1/llvm/stage2/bin/clang-9 --
glider accepted this revision.
glider added inline comments.
This revision is now accepted and ready to land.
Comment at: lib/CodeGen/CGDecl.cpp:1206
+ bool canDoSingleStore = Ty->isIntOrIntVectorTy() ||
+ Ty->isPtrOrPtrVectorTy() ||
jfb marked 3 inline comments as done.
jfb added inline comments.
Comment at: lib/CodeGen/CGDecl.cpp:1206
+ bool canDoSingleStore = Ty->isIntOrIntVectorTy() ||
+ Ty->isPtrOrPtrVectorTy() || Ty->isFPOrFPVectorTy();
+ if (canDoSingleStore) {
glider added a comment.
The change itself looks good.
It doesn't seem to regress kernel performance on ARM64. I haven't got to
testing on x86 yet, but don't anticipate any problems either.
Comment at: lib/CodeGen/CGDecl.cpp:1206
+ bool canDoSingleStore =
jfb updated this revision to Diff 189159.
jfb added a comment.
- Fix test labels.
Repository:
rC Clang
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D58885/new/
https://reviews.llvm.org/D58885
Files:
lib/CodeGen/CGDecl.cpp
test/CodeGenCXX/auto-var-init.cpp
Index:
jfb marked 2 inline comments as done.
jfb added inline comments.
Comment at: test/CodeGenCXX/auto-var-init.cpp:1025
// PATTERN-LABEL: @test_intptr4_uninit()
-// PATTERN: call void @llvm.memcpy{{.*}} @__const.test_intptr4_uninit.uninit
-// ZERO-LABEL: @test_intptr4_uninit()
-//
glider added inline comments.
Comment at: test/CodeGenCXX/auto-var-init.cpp:1025
// PATTERN-LABEL: @test_intptr4_uninit()
-// PATTERN: call void @llvm.memcpy{{.*}} @__const.test_intptr4_uninit.uninit
-// ZERO-LABEL: @test_intptr4_uninit()
-// ZERO: call void @llvm.memset{{.*}},
jfb updated this revision to Diff 189085.
jfb marked an inline comment as done.
jfb added a comment.
- typo
Repository:
rC Clang
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D58885/new/
https://reviews.llvm.org/D58885
Files:
lib/CodeGen/CGDecl.cpp
jfb added a comment.
I'll do a few size diffs to double-check that this also pays off. @glider can
you also check that it doesn't regress what you've been looking at?
Comment at: test/CodeGenCXX/auto-var-init.cpp:1133
// PATTERN-O1: bitcast
-// PATTERN-O1: call void
jfb created this revision.
jfb added reviewers: glider, pcc, kcc, rjmccall.
Herald added subscribers: cfe-commits, jdoerfert, dexonsmith, jkorous.
Herald added a project: clang.
Following up with r355181, initialize small arrays as well.
Repository:
rC Clang
https://reviews.llvm.org/D58885
11 matches
Mail list logo