Page MenuHomePhabricator
Feed Advanced Search

Yesterday

c-rhodes added reviewers for D88233: [clang][aarch64] Address various fixed-length SVE vector operations: DavidTruby, peterwaller-arm.
Mon, Oct 26, 4:13 AM · Restricted Project

Tue, Oct 20

c-rhodes accepted D88563: [SVE][CodeGen] Replace use of TypeSize comparison operator in CreateStackTemporary.

LGTM

Tue, Oct 20, 3:37 AM · Restricted Project

Fri, Oct 16

c-rhodes committed rGfbd62fe60fb2: [ValueTracking] Clarify TypeSize comparisons (authored by c-rhodes).
[ValueTracking] Clarify TypeSize comparisons
Fri, Oct 16, 3:32 AM
c-rhodes closed D89387: [ValueTracking] Clarify TypeSize comparisons.
Fri, Oct 16, 3:32 AM · Restricted Project
c-rhodes added inline comments to D89387: [ValueTracking] Clarify TypeSize comparisons.
Fri, Oct 16, 3:11 AM · Restricted Project

Wed, Oct 14

c-rhodes accepted D89101: [SVE][NFC] Replace some TypeSize comparisons in non-AArch64 Targets.

LGTM

Wed, Oct 14, 5:34 AM · Restricted Project
c-rhodes requested review of D89387: [ValueTracking] Clarify TypeSize comparisons.
Wed, Oct 14, 5:15 AM · Restricted Project

Tue, Oct 13

c-rhodes committed rGc87bd2d8eb37: [AArch64] Implement .variant_pcs directive (authored by c-rhodes).
[AArch64] Implement .variant_pcs directive
Tue, Oct 13, 3:07 AM
c-rhodes closed D89138: [AArch64] Implement .variant_pcs directive.
Tue, Oct 13, 3:07 AM · Restricted Project
c-rhodes abandoned D89246: [SVE] Remove aarch64_sve_vector_pcs attribute.
Tue, Oct 13, 2:53 AM · Restricted Project

Mon, Oct 12

c-rhodes added a comment to D89246: [SVE] Remove aarch64_sve_vector_pcs attribute.

I thought we kept it around intentionally because it has a different set of callee-save registers? If it turns out we don't care about that, sure, I guess we can drop it.

Mon, Oct 12, 10:23 AM · Restricted Project
c-rhodes requested review of D89246: [SVE] Remove aarch64_sve_vector_pcs attribute.
Mon, Oct 12, 8:43 AM · Restricted Project
c-rhodes added inline comments to D89138: [AArch64] Implement .variant_pcs directive.
Mon, Oct 12, 3:31 AM · Restricted Project
c-rhodes updated the diff for D89138: [AArch64] Implement .variant_pcs directive.

Address Sander's comments

Mon, Oct 12, 3:20 AM · Restricted Project

Fri, Oct 9

c-rhodes requested review of D89138: [AArch64] Implement .variant_pcs directive.
Fri, Oct 9, 9:03 AM · Restricted Project

Mon, Oct 5

c-rhodes added inline comments to D88663: [AArch64] Use TargetRegisterClass::hasSubClassEq in tryToFindRegisterToRename.
Mon, Oct 5, 7:51 AM · Restricted Project

Fri, Oct 2

c-rhodes added inline comments to D88663: [AArch64] Use TargetRegisterClass::hasSubClassEq in tryToFindRegisterToRename.
Fri, Oct 2, 8:57 AM · Restricted Project
c-rhodes updated the diff for D88663: [AArch64] Use TargetRegisterClass::hasSubClassEq in tryToFindRegisterToRename.

Address Eli's comments

Fri, Oct 2, 8:38 AM · Restricted Project

Thu, Oct 1

c-rhodes requested review of D88663: [AArch64] Use TargetRegisterClass::hasSubClassEq in tryToFindRegisterToRename.
Thu, Oct 1, 8:23 AM · Restricted Project

Sep 24 2020

c-rhodes requested review of D88233: [clang][aarch64] Address various fixed-length SVE vector operations.
Sep 24 2020, 8:34 AM · Restricted Project

Sep 17 2020

c-rhodes committed rG9218f9283802: [clang][aarch64] ACLE: Support implicit casts between GNU and SVE vectors (authored by c-rhodes).
[clang][aarch64] ACLE: Support implicit casts between GNU and SVE vectors
Sep 17 2020, 2:36 AM
c-rhodes closed D87607: [clang][aarch64] Support implicit casts between GNU and SVE vectors.
Sep 17 2020, 2:36 AM · Restricted Project

Sep 16 2020

c-rhodes added inline comments to D87607: [clang][aarch64] Support implicit casts between GNU and SVE vectors.
Sep 16 2020, 3:24 AM · Restricted Project
c-rhodes updated the diff for D87607: [clang][aarch64] Support implicit casts between GNU and SVE vectors.

Address comments

Sep 16 2020, 3:24 AM · Restricted Project
c-rhodes added inline comments to D87607: [clang][aarch64] Support implicit casts between GNU and SVE vectors.
Sep 16 2020, 2:46 AM · Restricted Project

Sep 15 2020

c-rhodes added inline comments to D87607: [clang][aarch64] Support implicit casts between GNU and SVE vectors.
Sep 15 2020, 7:45 AM · Restricted Project
c-rhodes added inline comments to D87607: [clang][aarch64] Support implicit casts between GNU and SVE vectors.
Sep 15 2020, 6:50 AM · Restricted Project
c-rhodes updated the diff for D87607: [clang][aarch64] Support implicit casts between GNU and SVE vectors.

Added tests for implicit casts between GNU and fixed-length SVE vectors. I was planning to create a separate patch for this but since it's only tests and no functional changes I've included it in this patch.

Sep 15 2020, 6:38 AM · Restricted Project
c-rhodes added inline comments to D87607: [clang][aarch64] Support implicit casts between GNU and SVE vectors.
Sep 15 2020, 3:22 AM · Restricted Project

Sep 14 2020

c-rhodes requested review of D87607: [clang][aarch64] Support implicit casts between GNU and SVE vectors.
Sep 14 2020, 5:45 AM · Restricted Project

Sep 11 2020

c-rhodes added a comment to D87463: [clang][aarch64] Fix mangling of bfloat16 neon vectors.

I'm not sure what the procedure is to get patches into LLVM 11, but I think there's still time. Could you try to get this in there as well @c-rhodes ?

Sep 11 2020, 5:27 AM · Restricted Project
c-rhodes added inline comments to D87358: [clang][aarch64] Fix ILP32 ABI for arm_sve_vector_bits.
Sep 11 2020, 3:14 AM · Restricted Project
c-rhodes committed rGcabd60c26b5d: [clang][aarch64] Fix mangling of bfloat16 neon vectors (authored by c-rhodes).
[clang][aarch64] Fix mangling of bfloat16 neon vectors
Sep 11 2020, 3:13 AM
c-rhodes closed D87463: [clang][aarch64] Fix mangling of bfloat16 neon vectors.
Sep 11 2020, 3:13 AM · Restricted Project
c-rhodes committed rG002f5ab3b171: [clang][aarch64] Fix ILP32 ABI for arm_sve_vector_bits (authored by c-rhodes).
[clang][aarch64] Fix ILP32 ABI for arm_sve_vector_bits
Sep 11 2020, 2:48 AM
c-rhodes closed D87358: [clang][aarch64] Fix ILP32 ABI for arm_sve_vector_bits.
Sep 11 2020, 2:47 AM · Restricted Project

Sep 10 2020

c-rhodes requested review of D87463: [clang][aarch64] Fix mangling of bfloat16 neon vectors.
Sep 10 2020, 9:00 AM · Restricted Project
c-rhodes added inline comments to D87358: [clang][aarch64] Fix ILP32 ABI for arm_sve_vector_bits.
Sep 10 2020, 7:55 AM · Restricted Project
c-rhodes updated the diff for D87358: [clang][aarch64] Fix ILP32 ABI for arm_sve_vector_bits.
  • Get the element type of scalable vectors from getBuiltinVectorTypeInfo when creating VLS types. This fixes the ABI issue since it calls ASTContext::getIntTypeForBitwidth which gets the correct type for a given target.
  • Element type for svfloat16_t is changed from Float16Ty to HalfTy for VLS types since this is what’s used elsewhere.
Sep 10 2020, 7:50 AM · Restricted Project

Sep 9 2020

c-rhodes requested review of D87358: [clang][aarch64] Fix ILP32 ABI for arm_sve_vector_bits.
Sep 9 2020, 3:22 AM · Restricted Project

Sep 4 2020

c-rhodes accepted D87098: [SVE][CodeGen] Fix DAGCombiner::ForwardStoreValueToDirectLoad for scalable vectors.

LGTM

Sep 4 2020, 4:53 AM · Restricted Project
c-rhodes added a comment to D86928: [SVE][CodeGen] Fix TypeSize/ElementCount related warnings in sve-split-store.ll.

I see no CHECK line for warnings in sve-split-store.ll?

Sep 4 2020, 3:04 AM · Restricted Project
c-rhodes added inline comments to D87098: [SVE][CodeGen] Fix DAGCombiner::ForwardStoreValueToDirectLoad for scalable vectors.
Sep 4 2020, 2:51 AM · Restricted Project

Sep 3 2020

c-rhodes committed rGf9091e56d34f: [clang][aarch64] Drop experimental from __ARM_FEATURE_SVE_BITS macro (authored by c-rhodes).
[clang][aarch64] Drop experimental from __ARM_FEATURE_SVE_BITS macro
Sep 3 2020, 2:40 AM
c-rhodes closed D86720: [clang][aarch64] Drop experimental from __ARM_FEATURE_SVE_BITS macro.
Sep 3 2020, 2:40 AM · Restricted Project

Sep 2 2020

c-rhodes abandoned D85128: [Prototype][SVE] Support arm_sve_vector_bits attribute.

Closing this now the prototype has been split into separate patches that have landed.

Sep 2 2020, 4:36 AM · Restricted Project, Restricted Project

Sep 1 2020

c-rhodes added a comment to D85743: [CodeGen][AArch64] Support arm_sve_vector_bits attribute.

The IR differences were caused by the new pass manager which is on by default for the Fuchsia builder. I've re-landed the patch with a fix for CodeGen/attr-arm-sve-vector-bits-call.c to use the legacy pm with -fno-experimental-new-pass-manager.

Thanks for the update! We do have the new PM on by default, but I'm surprised that this wouldn't appear on clang-x86_64-debian-new-pass-manager-fast which also tests the new PM.

Sep 1 2020, 5:14 AM · Restricted Project

Aug 28 2020

c-rhodes added a comment to D85743: [CodeGen][AArch64] Support arm_sve_vector_bits attribute.

Hi! The attr-arm-sve-vector-bits-call.c test seems to be failing on our clang builders:

Could you take a look? Thanks.

Builder: https://luci-milo.appspot.com/p/fuchsia/builders/ci/clang-linux-x64/b8870800848452818112?

Sorry about that, I've reverted it (commit 2e7041f) whilst I investigate. Thanks for raising.

Aug 28 2020, 9:01 AM · Restricted Project
c-rhodes committed rG2ddf795e8cac: Reland "[CodeGen][AArch64] Support arm_sve_vector_bits attribute" (authored by c-rhodes).
Reland "[CodeGen][AArch64] Support arm_sve_vector_bits attribute"
Aug 28 2020, 8:57 AM

Aug 27 2020

c-rhodes added a comment to D85743: [CodeGen][AArch64] Support arm_sve_vector_bits attribute.

Hi! The attr-arm-sve-vector-bits-call.c test seems to be failing on our clang builders:

Could you take a look? Thanks.

Builder: https://luci-milo.appspot.com/p/fuchsia/builders/ci/clang-linux-x64/b8870800848452818112?

Aug 27 2020, 2:33 PM · Restricted Project
c-rhodes added a reverting change for rG42587345a3af: [CodeGen][AArch64] Support arm_sve_vector_bits attribute: rG2e7041fdc223: Revert "[CodeGen][AArch64] Support arm_sve_vector_bits attribute".
Aug 27 2020, 2:33 PM
c-rhodes committed rG2e7041fdc223: Revert "[CodeGen][AArch64] Support arm_sve_vector_bits attribute" (authored by c-rhodes).
Revert "[CodeGen][AArch64] Support arm_sve_vector_bits attribute"
Aug 27 2020, 2:33 PM
c-rhodes added a reverting change for D85743: [CodeGen][AArch64] Support arm_sve_vector_bits attribute: rG2e7041fdc223: Revert "[CodeGen][AArch64] Support arm_sve_vector_bits attribute".
Aug 27 2020, 2:33 PM · Restricted Project
c-rhodes updated the summary of D86720: [clang][aarch64] Drop experimental from __ARM_FEATURE_SVE_BITS macro.
Aug 27 2020, 8:44 AM · Restricted Project
c-rhodes requested review of D86720: [clang][aarch64] Drop experimental from __ARM_FEATURE_SVE_BITS macro.
Aug 27 2020, 8:44 AM · Restricted Project
c-rhodes added a comment to D85743: [CodeGen][AArch64] Support arm_sve_vector_bits attribute.

LGTM

Like I mentioned on the review for the prototype, I still think we should try to implement a scheme that makes CK_BItCast between fixed and scalable types trivial. Doing coercion this way is going to have a significant performance cost. But there isn't any user-visible effect, so I'm fine with leaving that for a followup.

Aug 27 2020, 8:14 AM · Restricted Project
c-rhodes committed rG42587345a3af: [CodeGen][AArch64] Support arm_sve_vector_bits attribute (authored by c-rhodes).
[CodeGen][AArch64] Support arm_sve_vector_bits attribute
Aug 27 2020, 8:12 AM
c-rhodes closed D85743: [CodeGen][AArch64] Support arm_sve_vector_bits attribute.
Aug 27 2020, 8:12 AM · Restricted Project
c-rhodes committed rGfeed5a7239d8: [Sema][AArch64] Support arm_sve_vector_bits attribute (authored by c-rhodes).
[Sema][AArch64] Support arm_sve_vector_bits attribute
Aug 27 2020, 3:39 AM
c-rhodes closed D85736: [Sema][AArch64] Support arm_sve_vector_bits attribute.
Aug 27 2020, 3:39 AM · Restricted Project
c-rhodes added a comment to D85736: [Sema][AArch64] Support arm_sve_vector_bits attribute.

@rsandifo-arm @aaron.ballman thanks for reviewing!

Aug 27 2020, 2:47 AM · Restricted Project
c-rhodes updated the diff for D85736: [Sema][AArch64] Support arm_sve_vector_bits attribute.

Address comments

Aug 27 2020, 2:45 AM · Restricted Project

Aug 26 2020

c-rhodes committed rG1f44dfb640cb: [AArch64][AsmParser] Fix bug in operand printer (authored by c-rhodes).
[AArch64][AsmParser] Fix bug in operand printer
Aug 26 2020, 2:32 AM
c-rhodes closed D86535: [AArch64][AsmParser] Fix bug in operand printer.
Aug 26 2020, 2:31 AM · Restricted Project

Aug 25 2020

c-rhodes requested review of D86535: [AArch64][AsmParser] Fix bug in operand printer.
Aug 25 2020, 6:02 AM · Restricted Project

Aug 24 2020

c-rhodes added a comment to D85736: [Sema][AArch64] Support arm_sve_vector_bits attribute.

ping

Aug 24 2020, 1:57 AM · Restricted Project

Aug 20 2020

c-rhodes added reviewers for D85736: [Sema][AArch64] Support arm_sve_vector_bits attribute: rsmith, rjmccall.
Aug 20 2020, 4:32 AM · Restricted Project

Aug 18 2020

c-rhodes accepted D86100: [Clang][SVE] NFC: Move info about ACLE types into separate function..

LGTM, just one minor nit but seems like a nice improvement

Aug 18 2020, 9:14 AM · Restricted Project

Aug 17 2020

c-rhodes committed rG2ccde3c96b78: [InlineCost] Fix scalable vectors in visitAlloca (authored by c-rhodes).
[InlineCost] Fix scalable vectors in visitAlloca
Aug 17 2020, 3:35 AM
c-rhodes closed D85848: [InlineCost] Fix scalable vectors in visitAlloca.
Aug 17 2020, 3:35 AM · Restricted Project

Aug 14 2020

c-rhodes added inline comments to D85848: [InlineCost] Fix scalable vectors in visitAlloca.
Aug 14 2020, 7:05 AM · Restricted Project
c-rhodes updated the diff for D85848: [InlineCost] Fix scalable vectors in visitAlloca.

Replace getFixedSize with getKnownMinSize rather than skipping scalable vectors.

Aug 14 2020, 7:02 AM · Restricted Project
c-rhodes updated the diff for D85743: [CodeGen][AArch64] Support arm_sve_vector_bits attribute.

More getFixedSize fixes.

Aug 14 2020, 6:54 AM · Restricted Project
c-rhodes added inline comments to D85743: [CodeGen][AArch64] Support arm_sve_vector_bits attribute.
Aug 14 2020, 1:48 AM · Restricted Project
c-rhodes updated the diff for D85743: [CodeGen][AArch64] Support arm_sve_vector_bits attribute.

Changes:

  • s/getKnownMinSize/getFixedSize/g fixes.
  • Implemented new mangling scheme for VLS types.
Aug 14 2020, 1:26 AM · Restricted Project

Aug 13 2020

c-rhodes added inline comments to D85736: [Sema][AArch64] Support arm_sve_vector_bits attribute.
Aug 13 2020, 2:19 AM · Restricted Project
c-rhodes updated the diff for D85736: [Sema][AArch64] Support arm_sve_vector_bits attribute.

Address @rsandifo-arm comments.

Aug 13 2020, 1:53 AM · Restricted Project

Aug 12 2020

c-rhodes added inline comments to D85848: [InlineCost] Fix scalable vectors in visitAlloca.
Aug 12 2020, 12:52 PM · Restricted Project
c-rhodes requested review of D85848: [InlineCost] Fix scalable vectors in visitAlloca.
Aug 12 2020, 11:16 AM · Restricted Project
c-rhodes updated the diff for D85736: [Sema][AArch64] Support arm_sve_vector_bits attribute.

Added missing implicit conversions for C++. I considered handling this with the
existing implicit vector conversion although one side of the conversion will be
an SVE builtin, so instead I've added a new conversion specifically for SVE. I
suspect the existing one could support this but I wasn't sure if that was a good
idea (?). In C++ implicit conversions between VLA/VLS have a rank just below
derived-to-base conversion.

Aug 12 2020, 10:08 AM · Restricted Project
c-rhodes committed rG511d5aaca37a: [Transforms][SROA] Skip uses of allocas where the type is scalable (authored by c-rhodes).
[Transforms][SROA] Skip uses of allocas where the type is scalable
Aug 12 2020, 2:36 AM
c-rhodes closed D85725: [Transforms][SROA] Skip uses of allocas where the type is scalable.
Aug 12 2020, 2:36 AM · Restricted Project
c-rhodes accepted D83950: [CodeGen] In narrowExtractedVectorLoad bail out for scalable vectors.

LGTM

Aug 12 2020, 1:55 AM · Restricted Project

Aug 11 2020

c-rhodes added a comment to D85725: [Transforms][SROA] Skip uses of allocas where the type is scalable.

I also tried specifying it in an attribute group but I wasn't sure it was having any effect since it didn't complain when I put garbage in there.

Err, right... aarch64-sve-vector-bits-min is a backend flag; it's not going to have any effect on SROA. (I'm not sure what effect it could have, anyway.) So probably the extra run lines aren't useful.

Aug 11 2020, 12:39 PM · Restricted Project
c-rhodes added inline comments to D85725: [Transforms][SROA] Skip uses of allocas where the type is scalable.
Aug 11 2020, 12:05 PM · Restricted Project
c-rhodes updated the diff for D85725: [Transforms][SROA] Skip uses of allocas where the type is scalable.

Specify -aarch64-sve-vector-bits-min=512 in test.

Aug 11 2020, 12:02 PM · Restricted Project
c-rhodes added inline comments to D85725: [Transforms][SROA] Skip uses of allocas where the type is scalable.
Aug 11 2020, 11:39 AM · Restricted Project
c-rhodes requested review of D85743: [CodeGen][AArch64] Support arm_sve_vector_bits attribute.
Aug 11 2020, 9:01 AM · Restricted Project
c-rhodes requested review of D85736: [Sema][AArch64] Support arm_sve_vector_bits attribute.
Aug 11 2020, 7:59 AM · Restricted Project
c-rhodes requested review of D85725: [Transforms][SROA] Skip uses of allocas where the type is scalable.
Aug 11 2020, 5:56 AM · Restricted Project

Aug 5 2020

c-rhodes added a comment to D85128: [Prototype][SVE] Support arm_sve_vector_bits attribute.

Sorry. I meant ABI. Can link GCC .o files with Clang .o files using the attributes?

Aug 5 2020, 2:24 AM · Restricted Project, Restricted Project

Aug 4 2020

c-rhodes added a comment to D85128: [Prototype][SVE] Support arm_sve_vector_bits attribute.
  • Is it compatible with GCC?

Support for this attribute landed in GCC 10 and it's more complete than what this patch implements. We've yet to implement the behaviour guarded by the __ARM_FEATURE_SVE_VECTOR_OPERATORS and __ARM_FEATURE_SVE_PREDICATE_OPERATORS feature macros, so the GNU __attribute__((vector_size)) extension is not available and operators such as binary '+' are not supported for VLSTs. Support for this is intended to be addressed by later patches.

Aug 4 2020, 4:17 AM · Restricted Project, Restricted Project
c-rhodes added a comment to D85128: [Prototype][SVE] Support arm_sve_vector_bits attribute.

Not going to write detailed review comments, but this looks like the right approach in general.

Thanks for taking a look! I'll split this up into separate patches soon.

Aug 4 2020, 3:56 AM · Restricted Project, Restricted Project
c-rhodes added a comment to D85128: [Prototype][SVE] Support arm_sve_vector_bits attribute.

Stupid questions.

  • Is it for convenience? You get arrays, global variables, structs, ... . Vectorization becomes easier ...
Aug 4 2020, 3:03 AM · Restricted Project, Restricted Project

Aug 3 2020

c-rhodes abandoned D83553: [PATCH 3/4][Sema][AArch64] Add codegen for arm_sve_vector_bits attribute.

I've posted a prototype D85128 with an alternative implementation, given it's quite different to this patch I've posted it as a separate patch and am abandoning this one. See new patch for more details, cheers

Aug 3 2020, 5:47 AM · Restricted Project
c-rhodes requested review of D85128: [Prototype][SVE] Support arm_sve_vector_bits attribute.
Aug 3 2020, 5:41 AM · Restricted Project, Restricted Project

Jul 24 2020

c-rhodes added a comment to D82582: [SVE] Remove calls to VectorType::getNumElements from clang.

there's a few places the getNumElements calls can be fixed by getting the initial cast right

Jul 24 2020, 2:06 AM · Restricted Project

Jul 23 2020

c-rhodes added inline comments to D83553: [PATCH 3/4][Sema][AArch64] Add codegen for arm_sve_vector_bits attribute.
Jul 23 2020, 10:12 AM · Restricted Project
c-rhodes added inline comments to D82582: [SVE] Remove calls to VectorType::getNumElements from clang.
Jul 23 2020, 1:28 AM · Restricted Project

Jul 22 2020

c-rhodes committed rG89e61e782b73: [Sema][AArch64] Add semantics for arm_sve_vector_bits attribute (authored by c-rhodes).
[Sema][AArch64] Add semantics for arm_sve_vector_bits attribute
Jul 22 2020, 9:27 AM