This revision was automatically updated to reflect the committed changes.
Closed by commit rG8ea72b388734: [clang][AArch64][SVE] Avoid going through
memory for coerced VLST return values (authored by joechrisellis).
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
joechrisellis created this revision.
joechrisellis added reviewers: peterwaller-arm, DavidTruby.
Herald added subscribers: psnobl, kristof.beyls, tschuett.
Herald added a reviewer: efriedma.
joechrisellis requested review of this revision.
Herald added projects: clang, LLVM.
Herald added
joechrisellis created this revision.
joechrisellis added reviewers: peterwaller-arm, DavidTruby.
Herald added subscribers: psnobl, kristof.beyls, tschuett.
Herald added a reviewer: efriedma.
joechrisellis requested review of this revision.
Herald added a project: clang.
Herald added a subscriber:
joechrisellis updated this revision to Diff 310185.
joechrisellis added a comment.
Do not try to generate `llvm.experimental.vector.extract` instructions if the
vector element types differ.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D92762/new/
joechrisellis updated this revision to Diff 310532.
joechrisellis added a comment.
Herald added a subscriber: NickHung.
Rebase.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D92762/new/
https://reviews.llvm.org/D92762
Files:
joechrisellis updated this revision to Diff 310529.
joechrisellis added a comment.
Herald added a subscriber: NickHung.
Rebase.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D92761/new/
https://reviews.llvm.org/D92761
Files:
joechrisellis commandeered this revision.
joechrisellis edited reviewers, added: fpetrogalli; removed: joechrisellis.
joechrisellis added a comment.
I am finishing up this patch.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D91806/new/
joechrisellis updated this revision to Diff 308910.
joechrisellis added a comment.
Reduce debug info in `debug-declare-no-warnings-on-scalable-vectors.ll`.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D91806/new/
https://reviews.llvm.org/D91806
joechrisellis updated this revision to Diff 308964.
joechrisellis added a comment.
Address @sdesmalen's comments.
- Update commit message to better reflect the changes in this patch.
- Rename `debug-declare-no-warnings-on-scalable-vectors.ll` to
`dbg-info-scalable-typesize-warning.ll`.
joechrisellis created this revision.
joechrisellis added reviewers: bsmith, pbarrio, AshokBhat.
Herald added subscribers: danielkiss, kristof.beyls.
joechrisellis requested review of this revision.
Herald added a project: clang.
Herald added a subscriber: cfe-commits.
Prior to this patch, Clang
This revision was landed with ongoing or failed builds.
This revision was automatically updated to reflect the committed changes.
Closed by commit rG5a2a8369e82c: [AArch64][NEON] Remove undocumented
vceqz{,q}_p16, vml{a,s}q_n_f64 intrinsics (authored by joechrisellis).
Repository:
rG LLVM
joechrisellis added reviewers: c-rhodes, aeubanks.
joechrisellis added subscribers: aeubanks, c-rhodes.
joechrisellis added a comment.
Adding reviewers @c-rhodes and @aeubanks because `git blame` tells me they've
touched the surrounding code.
Repository:
rG LLVM Github Monorepo
CHANGES
joechrisellis marked an inline comment as done.
joechrisellis added inline comments.
Comment at: clang/lib/AST/ASTContext.cpp:8563-8566
+if (const auto *BT = FirstType->getAs()) {
+ if (const auto *VT = SecondType->getAs()) {
+if (VT->getVectorKind() ==
joechrisellis updated this revision to Diff 304469.
joechrisellis marked 3 inline comments as done.
joechrisellis added a comment.
Address @fpetrogalli's comments.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D91067/new/
joechrisellis created this revision.
joechrisellis added reviewers: fpetrogalli, peterwaller-arm, DavidTruby.
Herald added subscribers: cfe-commits, psnobl, kristof.beyls, tschuett.
Herald added a reviewer: efriedma.
Herald added a project: clang.
joechrisellis requested review of this revision.
joechrisellis updated this revision to Diff 304513.
joechrisellis added a comment.
Add tests for C-style casts to/from scalable/fixed float vector types.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D91262/new/
https://reviews.llvm.org/D91262
joechrisellis updated this revision to Diff 304553.
joechrisellis marked 4 inline comments as done.
joechrisellis added a comment.
Address @fpetrogalli's comments.
- Add version of ACLE spec.
- Use ACLE nomenclature.
- Introduce preprocessor macro to reduce code size of
joechrisellis added inline comments.
Comment at: clang/test/Sema/aarch64-sve-explicit-casts-fixed-size.cpp:16
+// Fixed-size SVE types can be cast to scalable SVE types (regardless of lane
size).
+// NOTE: the list below is not exhaustive for all SVE types.
+
joechrisellis updated this revision to Diff 305494.
joechrisellis added a comment.
Remove failing test; it was checking that a conversion _failed_, although the
conversion should now _pass_ given the changes in this patch.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
joechrisellis updated this revision to Diff 306043.
joechrisellis added a comment.
Remove redundant tests from clang/test/Sema/attr-arm-sve-vector-bits.c.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D91696/new/
https://reviews.llvm.org/D91696
joechrisellis created this revision.
joechrisellis added reviewers: fpetrogalli, peterwaller-arm.
Herald added subscribers: cfe-commits, psnobl, kristof.beyls, tschuett.
Herald added a reviewer: efriedma.
Herald added a project: clang.
joechrisellis requested review of this revision.
Previously,
joechrisellis updated this revision to Diff 306351.
joechrisellis marked an inline comment as done.
joechrisellis added a comment.
Address @c-rhodes's comments regarding lax conversion when
__ARM_FEATURE_SVE_BITS != N for GNU vectors.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST
joechrisellis added inline comments.
Comment at: clang/test/Sema/attr-arm-sve-vector-bits.c:278-283
-// Test implicit conversion between SVE and GNU vector is invalid when
-// __ARM_FEATURE_SVE_BITS != N
-#if defined(__ARM_FEATURE_SVE_BITS) && __ARM_FEATURE_SVE_BITS == 512
joechrisellis updated this revision to Diff 306358.
joechrisellis added a comment.
Avoid doing `FirstType->getAs()`.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D91262/new/
https://reviews.llvm.org/D91262
Files:
clang/include/clang/Sema/Sema.h
This revision was landed with ongoing or failed builds.
This revision was automatically updated to reflect the committed changes.
Closed by commit rG1e2da3839cc3: [AArch64][SVE] Allow C-style casts between
fixed-size and scalable vectors (authored by joechrisellis).
Repository:
rG LLVM Github
joechrisellis updated this revision to Diff 305763.
joechrisellis marked 7 inline comments as done.
joechrisellis added a comment.
Address @c-rhodes's and @peterwaller-arm's comments.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D91262/new/
joechrisellis added inline comments.
Comment at: clang/lib/Sema/SemaCast.cpp:2217-2218
- // Allow reinterpret_casts between vectors of the same size and
- // between vectors and integers of the same size.
bool destIsVector = DestType->isVectorType();
joechrisellis updated this revision to Diff 305769.
joechrisellis added a comment.
Address @c-rhodes's comment regarding comment change.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D91262/new/
https://reviews.llvm.org/D91262
Files:
joechrisellis added inline comments.
Comment at: clang/lib/Sema/SemaCast.cpp:2217-2218
- // Allow reinterpret_casts between vectors of the same size and
- // between vectors and integers of the same size.
bool destIsVector = DestType->isVectorType();
joechrisellis created this revision.
joechrisellis added a reviewer: fpetrogalli.
Herald added subscribers: cfe-commits, psnobl, kristof.beyls, tschuett.
Herald added a reviewer: efriedma.
Herald added a project: clang.
joechrisellis requested review of this revision.
These were previously
This revision was landed with ongoing or failed builds.
This revision was automatically updated to reflect the committed changes.
Closed by commit rG23a96b84a8d9: [AArch64][SVE] Support implicit lax vector
conversions for SVE types (authored by joechrisellis).
Repository:
rG LLVM Github
This revision was landed with ongoing or failed builds.
This revision was automatically updated to reflect the committed changes.
Closed by commit rG1d7abcf99e3d: [AArch64][SVE] Add tests for VLST - VLAT
lax conversions (authored by joechrisellis).
Repository:
rG LLVM Github Monorepo
CHANGES
joechrisellis created this revision.
joechrisellis added reviewers: peterwaller-arm, fpetrogalli, DavidTruby.
Herald added subscribers: cfe-commits, psnobl, kristof.beyls, tschuett.
Herald added a reviewer: rengolin.
Herald added a reviewer: efriedma.
Herald added a project: clang.
joechrisellis
joechrisellis updated this revision to Diff 303838.
joechrisellis marked an inline comment as done.
joechrisellis added a comment.
Address @peterwaller-arm's comment regarding unused types.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D91067/new/
joechrisellis added inline comments.
Comment at: clang/test/Sema/aarch64-sve-lax-vector-conversions.cpp:15
+typedef svint32_t fixed_int32_t FIXED_ATTR;
+typedef svint64_t fixed_int64_t FIXED_ATTR;
+
peterwaller-arm wrote:
> I can't see any uses of
This revision was landed with ongoing or failed builds.
This revision was automatically updated to reflect the committed changes.
Closed by commit rG3c696a212ba4: [AArch64][SVE] Allow lax conversion between
VLATs and GNU vectors (authored by joechrisellis).
Repository:
rG LLVM Github Monorepo
joechrisellis updated this revision to Diff 304811.
joechrisellis marked an inline comment as done.
joechrisellis added a comment.
- Support C lax vector conversions.
- Test C lax vector conversions.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
joechrisellis added inline comments.
Comment at: clang/lib/Sema/SemaCast.cpp:-2227
+// Allow bitcasting if either the source or destination is a scalable
+// vector.
+if (SrcType->isSizelessBuiltinType() || DestType->isSizelessBuiltinType())
{
+ Kind =
joechrisellis updated this revision to Diff 304796.
joechrisellis marked 2 inline comments as done.
joechrisellis added a comment.
Address @c-rhodes's comments.
- Only allow casting between VLATs and VLSTs.
- Add C test.
- Move C++ test to the correct directory.
- Remove superfluous test.
joechrisellis added a comment.
Thanks for the patch @fpetrogalli! One small comment from me, but not a blocker
for me, so approved.
Comment at: clang/test/Sema/aarch64-sve-enums.c:14-15
+#include
+enum svpattern a1 = SV_ALL;
+svpattern b1 = {1.0f};
+enum svprfop a2 =
This revision was automatically updated to reflect the committed changes.
Closed by commit rG3d5b18a3fdf4: [clang][AArch64][SVE] Avoid going through
memory for coerced VLST arguments (authored by joechrisellis).
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
joechrisellis created this revision.
joechrisellis added reviewers: c-rhodes, bsmith, peterwaller-arm.
Herald added subscribers: NickHung, psnobl, kristof.beyls, tschuett.
Herald added a reviewer: efriedma.
joechrisellis requested review of this revision.
Herald added a project: clang.
Herald
joechrisellis updated this revision to Diff 315339.
joechrisellis added a comment.
Address @c-rhodes's comment.
- Use `SrcTy` instead of `Src.getElementType()`.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D94290/new/
joechrisellis added inline comments.
Comment at: clang/lib/AST/ExprConstant.cpp:9803-9804
+ (Field->isBitField() &&
+truncateBitfieldValue(Info, InitExpr, Result.getUnionValue(),
+ Field));
}
nit: I would
joechrisellis updated this revision to Diff 314354.
joechrisellis marked 2 inline comments as done.
joechrisellis added a comment.
Address @c-rhodes's comments.
- Make comment clearer.
- Change structure of the if statements for better readability.
- Drop superfluous `this->`.
Repository:
rG
joechrisellis updated this revision to Diff 314365.
joechrisellis added a comment.
Address @c-rhodes's comment.
- Use name `castFixedSve` instead of `castScalableSve`.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D92762/new/
joechrisellis marked an inline comment as done.
joechrisellis added inline comments.
Comment at: clang/lib/CodeGen/CGCall.cpp:2671-2673
+ // See if this is a VLST coerced to a VLAT at the function boundary and
+ // the types match up. If so, use
joechrisellis updated this revision to Diff 312150.
joechrisellis added a comment.
Address @c-rhodes's comments.
- Add a comment stating that we intend to eliminate going through memory when
the element types of the vectors are not the same (for example, with
predicates).
- Doc comments for
This revision was landed with ongoing or failed builds.
This revision was automatically updated to reflect the committed changes.
Closed by commit rGdad07baf123e: [clang][AArch64][SVE] Avoid going through
memory for VLAT - VLST casts (authored by joechrisellis).
Repository:
rG LLVM Github
This revision was landed with ongoing or failed builds.
This revision was automatically updated to reflect the committed changes.
Closed by commit rG2ed7db0d206b: [InstSimplify] Remove redundant
{insert,extract}_vector intrinsic chains (authored by joechrisellis).
Repository:
rG LLVM Github
joechrisellis created this revision.
joechrisellis added reviewers: bsmith, DavidTruby, peterwaller-arm.
Herald added a subscriber: hiraditya.
joechrisellis requested review of this revision.
Herald added projects: clang, LLVM.
Herald added subscribers: llvm-commits, cfe-commits.
This commit
joechrisellis updated this revision to Diff 325410.
joechrisellis added a comment.
Address comments.
- @c-rhodes: remove test; it is probably not necessary.
- @craig.topper: add better constraints for when we do/don't bail out.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
This revision was landed with ongoing or failed builds.
This revision was automatically updated to reflect the committed changes.
Closed by commit rG1b1b30cf0f7d: [clang][SVE] Dont warn on vector to
sizeless builtin implicit conversion (authored by joechrisellis).
Repository:
rG LLVM Github
joechrisellis updated this revision to Diff 325749.
joechrisellis marked an inline comment as done.
joechrisellis added a comment.
Address linter comments.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D97053/new/
https://reviews.llvm.org/D97053
joechrisellis created this revision.
joechrisellis added reviewers: DavidTruby, peterwaller-arm, paulwalker-arm,
bsmith.
Herald added subscribers: psnobl, kristof.beyls, tschuett.
Herald added a reviewer: efriedma.
joechrisellis requested review of this revision.
Herald added a project: clang.
joechrisellis updated this revision to Diff 324311.
joechrisellis added a comment.
This revision is now accepted and ready to land.
Use __inline__ instead of inline.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D96852/new/
joechrisellis added a comment.
> That makes sense and suggests we're missing some additional C++ testing?
Agreed -- this passes all tests at the moment, so we can do better test-wise.
The error to do with the one definition rule would crop up at link time,
though, so we'd need at least two
joechrisellis planned changes to this revision.
joechrisellis added a comment.
Speaking to @DavidTruby about this, it appears that this fix is insufficient --
`inline` has important semantic meaning in C++ that means that we can't simply
omit the keyword here.
The `inline` keyword bypasses the
This revision was landed with ongoing or failed builds.
This revision was automatically updated to reflect the committed changes.
Closed by commit rG1f2122c9b046: [clang][SVE] Use __inline__ instead of inline
in arm_sve.h (authored by joechrisellis).
Repository:
rG LLVM Github Monorepo
joechrisellis created this revision.
joechrisellis added reviewers: c-rhodes, bsmith.
Herald added subscribers: psnobl, kristof.beyls, tschuett.
Herald added a reviewer: efriedma.
joechrisellis requested review of this revision.
Herald added a project: clang.
Herald added a subscriber:
joechrisellis added inline comments.
Comment at:
clang/test/Sema/aarch64-fixed-vector-to-scalable-implicit-conversion.c:1-32
+// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve \
+// RUN: -msve-vector-bits=512 -Wconversion -fallow-half-arguments-and-returns
joechrisellis updated this revision to Diff 325461.
joechrisellis marked an inline comment as done.
joechrisellis added a comment.
Address @c-rhodes's comment.
- use `isVLSTBuiltinType` instead of `isSizelessBuiltinType`.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
joechrisellis added inline comments.
Comment at: clang/lib/Sema/SemaChecking.cpp:12055
+ if (auto *SourceVT = dyn_cast(Source)) {
+if (Target->isSizelessBuiltinType()) {
+ auto SourceVectorKind = SourceVT->getVectorKind();
c-rhodes wrote:
> I suppose
63 matches
Mail list logo