Page MenuHomePhabricator

stuij (Ties Stuij)
User

Projects

User does not belong to any projects.

User Details

User Since
Apr 24 2018, 8:11 AM (257 w, 9 h)

Recent Activity

Yesterday

stuij committed rG88383f18f3a6: [llvm-exegesis] if lit can't find llvm-exegesis, fail gracefully (authored by stuij).
[llvm-exegesis] if lit can't find llvm-exegesis, fail gracefully
Mon, Mar 27, 8:36 AM · Restricted Project, Restricted Project
stuij closed D146964: [llvm-exegesis] if lit can't find llvm-exegesis, fail gracefully.
Mon, Mar 27, 8:35 AM · Restricted Project, Restricted Project
stuij added a comment to D146302: [llvm-exegesis] Improve test flexibility by using available_features.

This was breaking for us because can_use_perf_counters() in lit.local.cfg couldn't find llvm-exegesis in the first place.

Mon, Mar 27, 7:45 AM · Restricted Project, Restricted Project
stuij updated the summary of D146964: [llvm-exegesis] if lit can't find llvm-exegesis, fail gracefully.
Mon, Mar 27, 7:43 AM · Restricted Project, Restricted Project
stuij updated the diff for D146964: [llvm-exegesis] if lit can't find llvm-exegesis, fail gracefully.

amend commit message

Mon, Mar 27, 7:42 AM · Restricted Project, Restricted Project
stuij requested review of D146964: [llvm-exegesis] if lit can't find llvm-exegesis, fail gracefully.
Mon, Mar 27, 7:36 AM · Restricted Project, Restricted Project

Tue, Mar 7

stuij added a comment to D136919: [X86][RFC] Change mangle name of __bf16 from u6__bf16 to DF16b.

FWIW, at Arm we decided to keep the old name mangling to minimise friction with existing code/libraries, but allow more operations with this same name-mangling. We also discussed with Red Hat and they were ok with this.

Tue, Mar 7, 1:53 AM · Restricted Project, Restricted Project

Mon, Feb 27

stuij accepted D144757: Allow building with CMAKE_SYSTEM_NAME=Generic.

LGTM

Mon, Feb 27, 1:34 AM · Restricted Project, Restricted Project

Jan 26 2023

stuij added a comment to D138905: [AArch64] add missing Armv8.9-A -> Armv9.4-A equivalence test.

@tmatheson -^ ?

Jan 26 2023, 5:21 AM · Restricted Project, Restricted Project
stuij updated subscribers of D141650: [VectorUtils] Enhance VFABI demangling API.

Thanks a lot for reviewing!

@lebedev.ri

  1. Do we need that parameter? Is empty <parameters> list generally ill-formed and must be diagnosed?

There's one subtle difference in AArch64 and X86 VFABI documentations about Vector Function Name Mangling: the X86 doc explicitly allows an empty parameter list while the AArch64 doc doesn't -- so I think this is why we need a parameter to let users choose whatever standard to conform. In fact, our internal implementation has to remove the diagnostic on empty parameter from tryDemangleForVFABI to make sure we're conforming the X86 VFABI.

Nitpick: would it be possible to simply ask AArch64 for clarification, what is the intended behaviour for them?

@fpetrogalli Can you please kindly provide some inputs on AArch64 VFABI? Reference commit: https://github.com/ARM-software/abi-aa/commit/8fcf3f72d7cc200c50a4b029cee295469ab46fe5

It's been a long time since I looked into this, but from a quick skimming thought the Parameter mapping rules I think the behaviour of AArch64 would be to allow empty parameters list.

If you consider a function with signature int f(void), it means that the function has no input parameters. This means that the only <P> (parameter or return value, in the notation of the specs) considered to create the vector function is the return value.

So, if targeting for example NEON, the sequence of rules for mangling the name would be:

  1. MTV(P) = true (rule 3 of 4.1.1)
  2. PBV(P) = true ( rule 1 of 4.1.2)
  3. MAP(P) = ADVSIMD_MAP(P) (rule 2 of 4.1.3)
  4. LS(P) = 4 (rule 2 of 4.2.1 - T(P) is the type of P in the specs)
  5. NDS(f) = 4 (4.2.2)
  6. VLEN = 2,4 (rule 2 of 4.3.1)
  7. ADVSIMD_MAP(P) is a vector of VLEN elements of type T(P) (=int). -> int32x2_t and int32x4_t -> 2 vector functions can be associated to f (because NEON has 64 and 128 bit vector register views) (rule 3 of 4.3.2)

Therefore, according to the name mangling function at 4.5.1, we have 2 vector functions associated to f:

  • int32x2_t _ZVGnN2_f()
  • int32x4_t _ZVGnN4_f()

I hope helps clarifying a bit the current situation (unless of course I misinterpreted the specs).

I am CCing @stuij (hello mate! :) ), who I think is responsible for these bits of the compiler and the specs these days.

Notice that in the example with f I have ignored the generation of the versions that use Masking, because it seems odd to use masking for a function that have no input parameters... something that would need sorting in the specs, probably?

Jan 26 2023, 3:55 AM · Restricted Project, Restricted Project

Jan 25 2023

stuij added a comment to D138905: [AArch64] add missing Armv8.9-A -> Armv9.4-A equivalence test.

I meant to mark this as dropped after Tomas' comment, but searching through the codebase I don't see any tests for convert<X>to<Y>. Are those not needed at all anymore, or were they accidentally cut?

Jan 25 2023, 8:50 AM · Restricted Project, Restricted Project

Jan 23 2023

stuij committed rGb1d1a1a59243: [docs] add early Arm arch support improvements to release notes (authored by stuij).
[docs] add early Arm arch support improvements to release notes
Jan 23 2023, 8:12 AM · Restricted Project, Restricted Project
stuij closed D142229: [docs] add early Arm arch support improvements to release notes.
Jan 23 2023, 8:12 AM · Restricted Project, Restricted Project
stuij added inline comments to D142229: [docs] add early Arm arch support improvements to release notes.
Jan 23 2023, 7:27 AM · Restricted Project, Restricted Project
stuij updated the diff for D142229: [docs] add early Arm arch support improvements to release notes.

rephrasing after review comment

Jan 23 2023, 7:25 AM · Restricted Project, Restricted Project

Jan 20 2023

stuij updated the diff for D142229: [docs] add early Arm arch support improvements to release notes.

fix typo

Jan 20 2023, 9:18 AM · Restricted Project, Restricted Project
stuij added reviewers for D142229: [docs] add early Arm arch support improvements to release notes: peter.smith, pratlucas.
Jan 20 2023, 9:06 AM · Restricted Project, Restricted Project
stuij requested review of D142229: [docs] add early Arm arch support improvements to release notes.
Jan 20 2023, 9:05 AM · Restricted Project, Restricted Project
stuij added inline comments to D76062: [PATCH] [ARM] ARMv8.6-a command-line + BFloat16 Asm Support.
Jan 20 2023, 3:34 AM · Restricted Project, Restricted Project, Restricted Project

Jan 13 2023

stuij committed rG6f9ff1beee9d: [lld][ARM] support position independent thunks for Armv4(T) (authored by stuij).
[lld][ARM] support position independent thunks for Armv4(T)
Jan 13 2023, 3:57 AM · Restricted Project
stuij closed D141272: [lld][ARM] support position independent thunks for Armv4(T).
Jan 13 2023, 3:57 AM · Restricted Project, Restricted Project

Jan 11 2023

stuij committed rG8b55b47f4bfa: [compiler-rt] support armv5t, armv6 (authored by stuij).
[compiler-rt] support armv5t, armv6
Jan 11 2023, 2:55 AM · Restricted Project, Restricted Project
stuij closed D141322: [compiler-rt] support armv5t, armv6.
Jan 11 2023, 2:55 AM · Restricted Project, Restricted Project

Jan 10 2023

stuij added a comment to D139608: [Clang][NFC] Add default `getBFloat16Mangling` impl.

I went back and forth on this for a bit. There's a review outstanding to change the mangling name for X86: https://reviews.llvm.org/D136919 to align with the C++23 std::bfloat16_t issue from above. I settled on preferring to be conservative, and not risk at some point accidentally opting an arch into a name that doesn't conform with their ABI.

Jan 10 2023, 8:14 AM · Restricted Project, Restricted Project
stuij committed rG88b3127ed1fa: [AArch64] lower abs intrinsic to new ABS instruction in GIsel (authored by stuij).
[AArch64] lower abs intrinsic to new ABS instruction in GIsel
Jan 10 2023, 3:47 AM · Restricted Project, Restricted Project
stuij closed D139419: [AArch64] lower abs intrinsic to new ABS instruction in GIsel.
Jan 10 2023, 3:46 AM · Restricted Project, Restricted Project

Jan 9 2023

stuij added reviewers for D141322: [compiler-rt] support armv5t, armv6: nickdesaulniers, peter.smith, MaskRay.
Jan 9 2023, 1:34 PM · Restricted Project, Restricted Project
stuij requested review of D141322: [compiler-rt] support armv5t, armv6.
Jan 9 2023, 1:33 PM · Restricted Project, Restricted Project
stuij added inline comments to D139419: [AArch64] lower abs intrinsic to new ABS instruction in GIsel.
Jan 9 2023, 9:28 AM · Restricted Project, Restricted Project
stuij updated the diff for D139419: [AArch64] lower abs intrinsic to new ABS instruction in GIsel.

simplified code some more

Jan 9 2023, 9:26 AM · Restricted Project, Restricted Project
stuij committed rG747fc27ee44d: [lld][ARM] don't use short thumb thunks if no branch range extension (authored by stuij).
[lld][ARM] don't use short thumb thunks if no branch range extension
Jan 9 2023, 3:46 AM · Restricted Project
stuij closed D140633: [lld][ARM] don't use short thumb thunks if no branch range extension.
Jan 9 2023, 3:46 AM · Restricted Project, Restricted Project
stuij added a reviewer for D141272: [lld][ARM] support position independent thunks for Armv4(T): peter.smith.
Jan 9 2023, 3:15 AM · Restricted Project, Restricted Project
stuij requested review of D141272: [lld][ARM] support position independent thunks for Armv4(T).
Jan 9 2023, 3:11 AM · Restricted Project, Restricted Project

Jan 6 2023

stuij updated the diff for D140633: [lld][ARM] don't use short thumb thunks if no branch range extension.

addressed review comments

Jan 6 2023, 3:19 AM · Restricted Project, Restricted Project
stuij committed rG0b066e02a679: [AArch64] add GlobalIsel support for scalar CNT instruction (authored by stuij).
[AArch64] add GlobalIsel support for scalar CNT instruction
Jan 6 2023, 3:09 AM · Restricted Project, Restricted Project
stuij closed D139417: [AArch64] add GlobalIsel support for scalar CNT instruction.
Jan 6 2023, 3:08 AM · Restricted Project, Restricted Project
stuij added inline comments to D139419: [AArch64] lower abs intrinsic to new ABS instruction in GIsel.
Jan 6 2023, 2:20 AM · Restricted Project, Restricted Project
stuij updated the diff for D139419: [AArch64] lower abs intrinsic to new ABS instruction in GIsel.

addressed review comment

Jan 6 2023, 2:05 AM · Restricted Project, Restricted Project

Jan 5 2023

stuij added a comment to D140633: [lld][ARM] don't use short thumb thunks if no branch range extension.

Thanks for the manual. It uses "b (2)" which resolves my question. Where does "extra range of 2048 bytes" come from?

The maximum range of a BL is 4MB. So of course the max a ThunkSection can be placed from this BL is also 4MB. At this point we could use a short Thunk which for Thumb on v4/5/6 is a maximum of 2048 bytes (our friend b (2). But this seems like an unlikely scenario as the ThunkSection would have to be placed exactly 4MB away from the call site, or at least within 2048 bytes from 4MB away to have any effect.

Jan 5 2023, 8:58 AM · Restricted Project, Restricted Project
stuij added a comment to D139417: [AArch64] add GlobalIsel support for scalar CNT instruction.

removed the lambdas as with the other CSSC patches

Jan 5 2023, 8:09 AM · Restricted Project, Restricted Project
stuij updated the diff for D139419: [AArch64] lower abs intrinsic to new ABS instruction in GIsel.

address review comment

Jan 5 2023, 8:08 AM · Restricted Project, Restricted Project
stuij updated the diff for D139417: [AArch64] add GlobalIsel support for scalar CNT instruction.

removed lambdas, addressed review comment

Jan 5 2023, 8:06 AM · Restricted Project, Restricted Project
stuij committed rG8d5b759a6c7a: [AArch64][GlobalISel] implement GPR (U/S)(MIN/MAX) instr support (authored by stuij).
[AArch64][GlobalISel] implement GPR (U/S)(MIN/MAX) instr support
Jan 5 2023, 3:51 AM · Restricted Project, Restricted Project
stuij closed D139420: [AArch64][GlobalISel] implement GPR (U/S)(MIN/MAX) instr support.
Jan 5 2023, 3:50 AM · Restricted Project, Restricted Project

Dec 23 2022

stuij added inline comments to D140633: [lld][ARM] don't use short thumb thunks if no branch range extension.
Dec 23 2022, 1:11 PM · Restricted Project, Restricted Project
stuij added inline comments to D140633: [lld][ARM] don't use short thumb thunks if no branch range extension.
Dec 23 2022, 1:02 PM · Restricted Project, Restricted Project
stuij added a comment to D140633: [lld][ARM] don't use short thumb thunks if no branch range extension.

On these architectures (v4, v5, and most of v6), we could replace the b.w with a Thumb b (2) instruction, but that would in an ideal situation only give us an extra range of 2048 bytes on top of the 4MB range of a BL,

Q: what is "Thumb b (2)" ?

Dec 23 2022, 12:50 PM · Restricted Project, Restricted Project
stuij added reviewers for D140633: [lld][ARM] don't use short thumb thunks if no branch range extension: peter.smith, pcc.
Dec 23 2022, 9:52 AM · Restricted Project, Restricted Project
stuij requested review of D140633: [lld][ARM] don't use short thumb thunks if no branch range extension.
Dec 23 2022, 9:50 AM · Restricted Project, Restricted Project

Dec 22 2022

stuij committed rG9faff9a09178: [GlobalISel][Legalizer] add minScalarIf action (authored by stuij).
[GlobalISel][Legalizer] add minScalarIf action
Dec 22 2022, 8:21 AM · Restricted Project, Restricted Project
stuij closed D140305: [GlobalISel][Legalizer] add minScalarIf action.
Dec 22 2022, 8:21 AM · Restricted Project, Restricted Project
stuij added inline comments to D139420: [AArch64][GlobalISel] implement GPR (U/S)(MIN/MAX) instr support.
Dec 22 2022, 7:30 AM · Restricted Project, Restricted Project
stuij updated the diff for D139420: [AArch64][GlobalISel] implement GPR (U/S)(MIN/MAX) instr support.

unlambdify actions

Dec 22 2022, 7:28 AM · Restricted Project, Restricted Project

Dec 21 2022

stuij committed rG50ddc8cca631: [AArch64] GlobalIsel codegen for gpr CTZ (authored by stuij).
[AArch64] GlobalIsel codegen for gpr CTZ
Dec 21 2022, 3:32 AM · Restricted Project, Restricted Project
stuij closed D139418: [AArch64] GlobalIsel codegen for gpr CTZ.
Dec 21 2022, 3:32 AM · Restricted Project, Restricted Project
stuij committed rG62c605771a30: [lld][ARM] support absolute thunks for Armv4T Thumb and interworking (authored by stuij).
[lld][ARM] support absolute thunks for Armv4T Thumb and interworking
Dec 21 2022, 3:06 AM · Restricted Project
stuij closed D139888: [lld][ARM] support absolute thunks for Armv4T Thumb and interworking.
Dec 21 2022, 3:06 AM · Restricted Project, Restricted Project
stuij added inline comments to D139420: [AArch64][GlobalISel] implement GPR (U/S)(MIN/MAX) instr support.
Dec 21 2022, 2:53 AM · Restricted Project, Restricted Project

Dec 20 2022

stuij added inline comments to D139888: [lld][ARM] support absolute thunks for Armv4T Thumb and interworking.
Dec 20 2022, 5:28 AM · Restricted Project, Restricted Project
stuij updated the diff for D139888: [lld][ARM] support absolute thunks for Armv4T Thumb and interworking.

addressed review comments

Dec 20 2022, 5:20 AM · Restricted Project, Restricted Project

Dec 19 2022

stuij updated the diff for D139420: [AArch64][GlobalISel] implement GPR (U/S)(MIN/MAX) instr support.

flip around .legalIf and .minScalarIf in the action definition builder

Dec 19 2022, 7:40 AM · Restricted Project, Restricted Project
stuij added inline comments to D140305: [GlobalISel][Legalizer] add minScalarIf action.
Dec 19 2022, 7:25 AM · Restricted Project, Restricted Project
stuij updated the diff for D140305: [GlobalISel][Legalizer] add minScalarIf action.

addressed review comment

Dec 19 2022, 7:24 AM · Restricted Project, Restricted Project
stuij added reviewers for D140305: [GlobalISel][Legalizer] add minScalarIf action: aemerson, paquette.
Dec 19 2022, 6:59 AM · Restricted Project, Restricted Project
stuij retitled D139420: [AArch64][GlobalISel] implement GPR (U/S)(MIN/MAX) instr support from [GlobalISel][Legalizer] add minScalarIf action to [AArch64][GlobalISel] implement GPR (U/S)(MIN/MAX) instr support.
Dec 19 2022, 6:58 AM · Restricted Project, Restricted Project
stuij added inline comments to D139420: [AArch64][GlobalISel] implement GPR (U/S)(MIN/MAX) instr support.
Dec 19 2022, 6:56 AM · Restricted Project, Restricted Project
stuij retitled D139420: [AArch64][GlobalISel] implement GPR (U/S)(MIN/MAX) instr support from [AArch64] implement GPR (U/S)(MIN/MAX) instruction GISel support to [GlobalISel][Legalizer] add minScalarIf action.
Dec 19 2022, 6:55 AM · Restricted Project, Restricted Project
stuij updated the diff for D139420: [AArch64][GlobalISel] implement GPR (U/S)(MIN/MAX) instr support.

spun out minScalarIf definition into it's own patch

Dec 19 2022, 6:54 AM · Restricted Project, Restricted Project
stuij requested review of D140305: [GlobalISel][Legalizer] add minScalarIf action.
Dec 19 2022, 6:50 AM · Restricted Project, Restricted Project
stuij updated the diff for D139419: [AArch64] lower abs intrinsic to new ABS instruction in GIsel.

remove changes to select-abs.mir

Dec 19 2022, 3:59 AM · Restricted Project, Restricted Project
stuij updated the diff for D139418: [AArch64] GlobalIsel codegen for gpr CTZ.

minor code cleanup

Dec 19 2022, 3:32 AM · Restricted Project, Restricted Project

Dec 16 2022

stuij added inline comments to D139419: [AArch64] lower abs intrinsic to new ABS instruction in GIsel.
Dec 16 2022, 9:15 AM · Restricted Project, Restricted Project
stuij added inline comments to D139418: [AArch64] GlobalIsel codegen for gpr CTZ.
Dec 16 2022, 8:19 AM · Restricted Project, Restricted Project
stuij updated the diff for D139418: [AArch64] GlobalIsel codegen for gpr CTZ.

moved HasCSSC further up the file

Dec 16 2022, 8:10 AM · Restricted Project, Restricted Project
stuij added inline comments to D139417: [AArch64] add GlobalIsel support for scalar CNT instruction.
Dec 16 2022, 7:03 AM · Restricted Project, Restricted Project
stuij updated the diff for D139417: [AArch64] add GlobalIsel support for scalar CNT instruction.

addressed review comments

Dec 16 2022, 7:01 AM · Restricted Project, Restricted Project

Dec 15 2022

stuij accepted D139936: [AArch64] RASv2 Assembly Support.

LGTM

Dec 15 2022, 7:54 AM · Restricted Project, Restricted Project

Dec 14 2022

stuij updated the diff for D139888: [lld][ARM] support absolute thunks for Armv4T Thumb and interworking.

edit commit message to reflect thunk renaming

Dec 14 2022, 3:23 AM · Restricted Project, Restricted Project
stuij updated the summary of D139888: [lld][ARM] support absolute thunks for Armv4T Thumb and interworking.
Dec 14 2022, 3:22 AM · Restricted Project, Restricted Project
stuij updated the summary of D139888: [lld][ARM] support absolute thunks for Armv4T Thumb and interworking.
Dec 14 2022, 3:21 AM · Restricted Project, Restricted Project
stuij added inline comments to D139888: [lld][ARM] support absolute thunks for Armv4T Thumb and interworking.
Dec 14 2022, 3:16 AM · Restricted Project, Restricted Project
stuij updated the diff for D139888: [lld][ARM] support absolute thunks for Armv4T Thumb and interworking.

change thunk names to agreed upon wording

Dec 14 2022, 3:15 AM · Restricted Project, Restricted Project

Dec 13 2022

stuij added inline comments to D139888: [lld][ARM] support absolute thunks for Armv4T Thumb and interworking.
Dec 13 2022, 8:39 AM · Restricted Project, Restricted Project
stuij added inline comments to D139888: [lld][ARM] support absolute thunks for Armv4T Thumb and interworking.
Dec 13 2022, 6:45 AM · Restricted Project, Restricted Project
stuij added inline comments to D139888: [lld][ARM] support absolute thunks for Armv4T Thumb and interworking.
Dec 13 2022, 5:55 AM · Restricted Project, Restricted Project
stuij updated the diff for D139888: [lld][ARM] support absolute thunks for Armv4T Thumb and interworking.

addressed various review comments

Dec 13 2022, 5:54 AM · Restricted Project, Restricted Project
stuij added inline comments to D139888: [lld][ARM] support absolute thunks for Armv4T Thumb and interworking.
Dec 13 2022, 4:07 AM · Restricted Project, Restricted Project
stuij added a comment to D139888: [lld][ARM] support absolute thunks for Armv4T Thumb and interworking.

NDS has a v5T and a v4T, not sure what the development story was for it, whether the software used v4T exclusively or the chips were programmed independently.

Dec 13 2022, 3:55 AM · Restricted Project, Restricted Project
stuij added a comment to D139888: [lld][ARM] support absolute thunks for Armv4T Thumb and interworking.

What are the "absolute relocations"? They usually refer to R_ARM_ABS32 and other relocation types that are represented as R_ABS in lld.

"linker" in the subject isn't useful. The directory is all about the linker implementation.

Dec 13 2022, 2:46 AM · Restricted Project, Restricted Project
stuij retitled D139888: [lld][ARM] support absolute thunks for Armv4T Thumb and interworking from [lld][ARM] add linker support for Armv4(T) absolute relocations to [lld][ARM] support absolute thunks for Armv4T Thumb and interworking.
Dec 13 2022, 2:06 AM · Restricted Project, Restricted Project
stuij updated the diff for D139888: [lld][ARM] support absolute thunks for Armv4T Thumb and interworking.

renamed commit message

Dec 13 2022, 2:05 AM · Restricted Project, Restricted Project

Dec 12 2022

stuij updated the summary of D139888: [lld][ARM] support absolute thunks for Armv4T Thumb and interworking.
Dec 12 2022, 3:28 PM · Restricted Project, Restricted Project
stuij requested review of D139888: [lld][ARM] support absolute thunks for Armv4T Thumb and interworking.
Dec 12 2022, 3:17 PM · Restricted Project, Restricted Project

Dec 7 2022

stuij added reviewers for D139420: [AArch64][GlobalISel] implement GPR (U/S)(MIN/MAX) instr support: paquette, aemerson.
Dec 7 2022, 2:10 AM · Restricted Project, Restricted Project
stuij added reviewers for D139419: [AArch64] lower abs intrinsic to new ABS instruction in GIsel: paquette, aemerson.
Dec 7 2022, 2:09 AM · Restricted Project, Restricted Project
stuij added reviewers for D139418: [AArch64] GlobalIsel codegen for gpr CTZ: paquette, aemerson.
Dec 7 2022, 2:09 AM · Restricted Project, Restricted Project
stuij added reviewers for D139417: [AArch64] add GlobalIsel support for scalar CNT instruction: paquette, aemerson.
Dec 7 2022, 2:08 AM · Restricted Project, Restricted Project

Dec 6 2022

stuij added reviewers for D139420: [AArch64][GlobalISel] implement GPR (U/S)(MIN/MAX) instr support: tmatheson, lenary, dmgreen, pratlucas.
Dec 6 2022, 7:02 AM · Restricted Project, Restricted Project
stuij added reviewers for D139419: [AArch64] lower abs intrinsic to new ABS instruction in GIsel: lenary, dmgreen, pratlucas, tmatheson.
Dec 6 2022, 7:01 AM · Restricted Project, Restricted Project