This revision was automatically updated to reflect the committed changes.
Closed by commit rG8beaba13b8a6: [Clang][AArch64] Capturing proper pointer
alignment for Neon vld1 intrinsicts (authored by pratlucas).
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
efriedma accepted this revision.
efriedma added a comment.
LGTM
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D79721/new/
https://reviews.llvm.org/D79721
___
cfe-commits mailing list
pratlucas marked 5 inline comments as done.
pratlucas added inline comments.
Comment at: clang/lib/CodeGen/CGBuiltin.cpp:10334
Ops[0] = Builder.CreateBitCast(Ops[0], llvm::PointerType::getUnqual(VTy));
-auto Alignment = CharUnits::fromQuantity(
-BuiltinID ==
pratlucas updated this revision to Diff 267905.
pratlucas added a comment.
Addressing review comments and extending tests.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D79721/new/
https://reviews.llvm.org/D79721
Files:
efriedma added a comment.
I'm not completely happy with using EmitPointerWithAlignment here... but I
guess it's the same thing we do for 32-bit ARM, so it must be mostly usable in
practice. I'd like to see some tests in
clang/test/CodeGen/aarch64-neon-intrinsics.c showing what happens if you
pratlucas updated this revision to Diff 266504.
pratlucas added a comment.
Hi @efriedma and @plotf,
Thank you the reduced test and for reverting the original patch.
I've updated it to avoid the issue while still capturing the proper argument
alignment.
Do you mind taking a look before a reland
plotfi added a subscriber: echristo.
plotfi added a comment.
@pratlucas please reland once the bugzilla issue is resolved and the testsuite
builds for aarch64. Thanks @echristo
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D79721/new/
plotfi added a comment.
Reduced crash case even further:
void f() {
signed char d[16];
__builtin_neon_vld1q_v(d, 32);
}
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D79721/new/
https://reviews.llvm.org/D79721
plotfi added a comment.
After reducing the test case it looks the same as the bugzilla filing, running
`clang --target=aarch64-unknown-linux-gnu -c` on the following does it:
typedef signed char int8_t;
typedef __attribute__((neon_vector_type(16))) int8_t int8x16_t;
typedef struct
plotfi added a comment.
@efriedma I am also seeing a similar crash in the llvm-test-suite for
llvm-test-suite/SingleSource/UnitTests/Vector/NEON/simple.c
I will try and reduce the case.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D79721/new/
efriedma added inline comments.
Comment at: clang/lib/CodeGen/CGBuiltin.cpp:10331
+auto Alignment = CGM.getNaturalPointeeTypeAlignment(
+E->getArg(0)->IgnoreParenCasts()->getType());
Ops[0] = Builder.CreateBitCast(Ops[0], llvm::PointerType::getUnqual(VTy));
efriedma added a comment.
This caused https://bugs.llvm.org/show_bug.cgi?id=46084
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D79721/new/
https://reviews.llvm.org/D79721
___
cfe-commits mailing list
This revision was automatically updated to reflect the committed changes.
Closed by commit rG98cad555e291: [Clang][AArch64] Capturing proper pointer
alignment for Neon vld1 intrinsicts (authored by pratlucas).
Changed prior to commit:
https://reviews.llvm.org/D79721?vs=263188=266138#toc
ostannard accepted this revision.
ostannard added a comment.
This revision is now accepted and ready to land.
LGTM
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D79721/new/
https://reviews.llvm.org/D79721
pratlucas added a comment.
Ping.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D79721/new/
https://reviews.llvm.org/D79721
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
pratlucas created this revision.
Herald added subscribers: cfe-commits, danielkiss, kristof.beyls.
Herald added a project: clang.
pratlucas added reviewers: t.p.northover, ostannard, pcc.
During CodeGen for AArch64 Neon intrinsics, Clang was incorrectly
assuming all the pointers from which loads
16 matches
Mail list logo