Page MenuHomePhabricator

simon_tatham (Simon Tatham)
Compiler Engineer (Arm)

Projects

User does not belong to any projects.

User Details

User Since
Jul 12 2017, 1:23 AM (205 w, 4 d)

Recent Activity

Fri, Jun 18

simon_tatham committed rGfd569a11b585: [libclang] Fix error handler in translateSourceLocation. (authored by simon_tatham).
[libclang] Fix error handler in translateSourceLocation.
Fri, Jun 18, 5:44 AM
simon_tatham closed D104442: [libclang] Fix error handler in translateSourceLocation..
Fri, Jun 18, 5:43 AM · Restricted Project
simon_tatham added a comment to D97204: [RFC] Clang 64-bit source locations.

Thanks to @miyuki for repeating the previous benchmark with this version of the patch (and on the same machine as before, which was better than I could have done).

Fri, Jun 18, 5:41 AM · Restricted Project, Restricted Project, Restricted Project

Thu, Jun 17

simon_tatham updated the summary of D97204: [RFC] Clang 64-bit source locations.
Thu, Jun 17, 1:49 AM · Restricted Project, Restricted Project, Restricted Project
simon_tatham updated the diff for D97204: [RFC] Clang 64-bit source locations.

@miyuki is working on other things at the moment, and I've picked this up.

Thu, Jun 17, 1:35 AM · Restricted Project, Restricted Project, Restricted Project
simon_tatham commandeered D97204: [RFC] Clang 64-bit source locations.
Thu, Jun 17, 1:24 AM · Restricted Project, Restricted Project, Restricted Project
simon_tatham requested review of D104442: [libclang] Fix error handler in translateSourceLocation..
Thu, Jun 17, 1:24 AM · Restricted Project

Tue, Jun 8

simon_tatham accepted D103808: [ARM] Generate VDUP(Const) from constant buildvectors.
Tue, Jun 8, 2:53 AM · Restricted Project

Mon, Jun 7

simon_tatham added a comment to D103808: [ARM] Generate VDUP(Const) from constant buildvectors.

Looks like an obviously good thing, and I only have one nitpick.

Mon, Jun 7, 7:56 AM · Restricted Project

May 12 2021

simon_tatham added inline comments to D102238: [TableGen] [Clang] Clean up arm_mve.td file.
May 12 2021, 6:59 AM · Restricted Project

May 11 2021

simon_tatham added a comment to D102238: [TableGen] [Clang] Clean up arm_mve.td file.

For example, that's how I tested the refactoring in D72690.

May 11 2021, 8:53 AM · Restricted Project
simon_tatham added a comment to D102238: [TableGen] [Clang] Clean up arm_mve.td file.

For this kind of pure refactoring on a .td file, my usual approach to testing it is to run the file through Tablegen without any output option (i.e. just in the default -print-records mode), before and after the change. In this case, I'd think, you ought to be able to expect bit-for-bit identical output – and if you get it, then you can be pretty confident that all the directly useful output modes won't have changed either.

May 11 2021, 8:29 AM · Restricted Project

Apr 26 2021

simon_tatham accepted D101263: [ARM] Recognize VIDUP from BUILDVECTORs of additions.

That's a particularly striking improvement for the vectors of u8 :-)

Apr 26 2021, 3:00 AM · Restricted Project

Apr 21 2021

simon_tatham committed rG77e170db8678: [ARM][Driver][Windows] Allow command-line upgrade to Armv8. (authored by simon_tatham).
[ARM][Driver][Windows] Allow command-line upgrade to Armv8.
Apr 21 2021, 3:20 AM
simon_tatham closed D100937: [ARM][Driver][Windows] Allow command-line upgrade to Armv8..
Apr 21 2021, 3:20 AM · Restricted Project, Restricted Project
simon_tatham updated the diff for D100937: [ARM][Driver][Windows] Allow command-line upgrade to Armv8..

Added a unit test on the LLVM side.

Apr 21 2021, 3:15 AM · Restricted Project, Restricted Project
simon_tatham added a comment to D100937: [ARM][Driver][Windows] Allow command-line upgrade to Armv8..

Yes, it looks easy enough to add something in llvm/unittests/ADT/TripleTest.cpp to directly test getARMCPUForArch.

Apr 21 2021, 3:10 AM · Restricted Project, Restricted Project
simon_tatham requested review of D100937: [ARM][Driver][Windows] Allow command-line upgrade to Armv8..
Apr 21 2021, 2:47 AM · Restricted Project, Restricted Project

Mar 29 2021

simon_tatham accepted D97291: [ARM] Handle Splats in MVE lane interleaving.
Mar 29 2021, 2:00 AM · Restricted Project

Mar 4 2021

simon_tatham accepted D97766: [objdump][ARM] Use correct offset when printing ARM/Thumb branch targets.

Very nice – it hadn't even occurred to me that you might be able to find the branch-target operand automatically as well as identifying Arm/Thumb.

Mar 4 2021, 2:22 AM · Restricted Project

Mar 3 2021

simon_tatham accepted D97788: [ARM] KnownBits for CSINC/CSNEG/CSINV.

LGTM, but to show willing I've spotted a typo in a comment :-)

Mar 3 2021, 8:46 AM · Restricted Project

Mar 2 2021

simon_tatham added inline comments to D97766: [objdump][ARM] Use correct offset when printing ARM/Thumb branch targets.
Mar 2 2021, 9:36 AM · Restricted Project

Feb 18 2021

simon_tatham accepted D96836: [FPEnv][AArch64] Implement lowering of llvm.set.rounding.

Looks nicer now, thanks!

Feb 18 2021, 3:54 AM · Restricted Project

Feb 17 2021

simon_tatham added inline comments to D96836: [FPEnv][AArch64] Implement lowering of llvm.set.rounding.
Feb 17 2021, 8:10 AM · Restricted Project
simon_tatham added inline comments to D96836: [FPEnv][AArch64] Implement lowering of llvm.set.rounding.
Feb 17 2021, 5:22 AM · Restricted Project

Feb 16 2021

simon_tatham accepted D96784: Pass the cmdline aapcs bitfield options to cc1.
Feb 16 2021, 7:37 AM · Restricted Project
simon_tatham accepted D96723: [ARM] Use rGPR for writeback vldrs.

Oh yes, I must have seen if Rn == '1101' && W == '1' and absentmindedly interpreted the W as a write to memory, not a write back to the register.

Feb 16 2021, 4:44 AM · Restricted Project

Feb 15 2021

simon_tatham accepted D95881: [ARM] Extend search for increment in load/store optimizer.

I was lucky to notice it at all – I only spotted it because one of the test changes in the previous version of the patch did lift an increment of SP past two load instructions. As best I could tell it wasn't harmful in that particular case, but that clued me in to look more closely and see whether it could have been harmful in another case.

Feb 15 2021, 1:34 AM · Restricted Project

Feb 12 2021

simon_tatham added a comment to D95881: [ARM] Extend search for increment in load/store optimizer.

What happens about a case like the following:

mov r0, sp
ldrd r1, r2, [sp]
ldr r3, [r0]
add sp, sp, #8

In this case, the LDR of r3 is not directly reading or modifying SP, but it is nonetheless dependent on SP not having been incremented yet, because it's accessing the stack slot that becomes invalid as soon as SP is increased. I don't see any check for that situation here.

Feb 12 2021, 7:33 AM · Restricted Project
simon_tatham accepted D96501: [FPEnv][ARM] Implement lowering of llvm.set.rounding.

LGTM. Thanks!

Feb 12 2021, 2:55 AM · Restricted Project

Feb 11 2021

simon_tatham added a comment to D96501: [FPEnv][ARM] Implement lowering of llvm.set.rounding.

The table-lookup strategy seems like overkill to me. As far as I can see, the integer mapping required is: 0→3, 3→2. 2→1, 1→0. In other words, all four input values (that can be handled at all) are just reduced by 1, mod 4. So instead of (147 >> (value << 1)) & 3, you could compute (value - 1) & 3, surely more cheaply.

Feb 11 2021, 7:47 AM · Restricted Project
simon_tatham committed rG69f1a7ad82fd: [ARM] Copy-paste error in ARMv87a architecture definition. (authored by simon_tatham).
[ARM] Copy-paste error in ARMv87a architecture definition.
Feb 11 2021, 5:37 AM
simon_tatham closed D96493: [ARM] Copy-paste error in ARMv87a architecture definition..
Feb 11 2021, 5:36 AM · Restricted Project
simon_tatham updated the diff for D96493: [ARM] Copy-paste error in ARMv87a architecture definition..

Ahem. Now actually tested, and with the necessary extra enum definition.

Feb 11 2021, 5:29 AM · Restricted Project
simon_tatham requested review of D96493: [ARM] Copy-paste error in ARMv87a architecture definition..
Feb 11 2021, 5:13 AM · Restricted Project

Feb 8 2021

simon_tatham accepted D96153: [ARM] Make v2f62 scalar_to_vector legal.

You've got a typo in the subject line :-) v2f64, not v2f62.

Feb 8 2021, 1:15 AM · Restricted Project

Feb 5 2021

simon_tatham accepted D95456: [ARM] i16 insert-of-extract to VINS pattern.
Feb 5 2021, 7:55 AM · Restricted Project
simon_tatham accepted D96065: [ARM] Single source VMOVNT.
Feb 5 2021, 1:56 AM · Restricted Project
simon_tatham added inline comments to D95456: [ARM] i16 insert-of-extract to VINS pattern.
Feb 5 2021, 1:05 AM · Restricted Project

Feb 4 2021

simon_tatham added inline comments to D95456: [ARM] i16 insert-of-extract to VINS pattern.
Feb 4 2021, 4:56 AM · Restricted Project
simon_tatham accepted D95446: [ARM] Handle f16 in GeneratePerfectShuffle.
Feb 4 2021, 1:33 AM · Restricted Project

Jan 28 2021

simon_tatham accepted D95319: [ARM] Add alignment checks for MVE VLDn.
Jan 28 2021, 2:20 AM · Restricted Project

Jan 27 2021

simon_tatham committed rG7b3ba8dd020e: [libcxx] Update include/__libcpp_version to match include/__config (authored by simon_tatham).
[libcxx] Update include/__libcpp_version to match include/__config
Jan 27 2021, 7:17 AM

Jan 20 2021

simon_tatham accepted D94599: [clang][Tooling] Get rid of a hack in SymbolOccurrences, NFCI.

Thanks. LGTM now.

Jan 20 2021, 1:24 AM · Restricted Project

Jan 19 2021

simon_tatham added inline comments to D94599: [clang][Tooling] Get rid of a hack in SymbolOccurrences, NFCI.
Jan 19 2021, 5:16 AM · Restricted Project
simon_tatham added inline comments to D94599: [clang][Tooling] Get rid of a hack in SymbolOccurrences, NFCI.
Jan 19 2021, 3:58 AM · Restricted Project

Dec 8 2020

simon_tatham accepted D92470: [ARM] Common inverse constant predicates to VPNOT.

That seems like a reasonable precaution to me, yes – with only one VPR, there's only one previous value that it might be of obviously low cost to VPNOT.

Dec 8 2020, 2:45 AM · Restricted Project

Dec 2 2020

simon_tatham added a comment to D92470: [ARM] Common inverse constant predicates to VPNOT.

Should there be a range limit somewhere in this logic, beyond just 'in the same basic block'? I worry slightly that if there's a very long basic block with two completely separate predicated sections, and they happen to reuse the same constant, then it might not be a win to do this change. Something along the lines of

Dec 2 2020, 4:11 AM · Restricted Project

Dec 1 2020

simon_tatham accepted D92235: [ARM] Turn pred_cast(xor(x, -1)) into xor(pred_cast(x), -1).
Dec 1 2020, 1:49 AM · Restricted Project

Nov 30 2020

simon_tatham added inline comments to D92235: [ARM] Turn pred_cast(xor(x, -1)) into xor(pred_cast(x), -1).
Nov 30 2020, 2:35 AM · Restricted Project

Nov 27 2020

simon_tatham accepted D92213: [ARM] PREDICATE_CAST demanded bits.
Nov 27 2020, 1:33 AM · Restricted Project

Nov 20 2020

simon_tatham accepted D90305: Correctly parse and print Tag_THUMB_ISA_use=3.
Nov 20 2020, 1:07 AM · Restricted Project

Nov 19 2020

simon_tatham added inline comments to D91773: [AArch64] Add SubtargetFeatures for v8.7-A options.
Nov 19 2020, 3:19 AM · Restricted Project

Oct 16 2020

simon_tatham committed rGbcb7b8770620: [libcxxabi] Fix printf formats in a test. (authored by simon_tatham).
[libcxxabi] Fix printf formats in a test.
Oct 16 2020, 6:00 AM
simon_tatham closed D89547: [libcxxabi] Fix printf formats in a test..
Oct 16 2020, 6:00 AM · Restricted Project
simon_tatham added a comment to D89545: [libcxx] Fix printf formats in two tests..

Thanks for the quick review – sorry I wasn't on the ball enough to fold D89547 into this one too...

Oct 16 2020, 5:57 AM · Restricted Project
simon_tatham requested review of D89547: [libcxxabi] Fix printf formats in a test..
Oct 16 2020, 5:57 AM · Restricted Project
simon_tatham committed rG4d60467f99a0: [libcxx] Fix printf formats in two tests. (authored by simon_tatham).
[libcxx] Fix printf formats in two tests.
Oct 16 2020, 5:48 AM
simon_tatham closed D89545: [libcxx] Fix printf formats in two tests..
Oct 16 2020, 5:47 AM · Restricted Project
simon_tatham requested review of D89545: [libcxx] Fix printf formats in two tests..
Oct 16 2020, 5:43 AM · Restricted Project

Oct 14 2020

simon_tatham added a comment to D88806: [SCEV] Model ptrtoint(SCEVUnknown) cast not as unknown, but as zext/trunc/self of SCEVUnknown.

Thanks for the quick response!

Oct 14 2020, 6:18 AM · Restricted Project
simon_tatham added a comment to D88806: [SCEV] Model ptrtoint(SCEVUnknown) cast not as unknown, but as zext/trunc/self of SCEVUnknown.

Hi @lebedev.ri , it looks as if this commit is causing an assertion failure compiling the following example code.

void bar(void), baz(unsigned);
Oct 14 2020, 2:59 AM · Restricted Project

Sep 3 2020

simon_tatham accepted D86702: [ARM] Fold predicate_cast(load) into vldr p0.
Sep 3 2020, 1:54 AM · Restricted Project

Aug 7 2020

simon_tatham committed rG1d782942500b: [Sema][BFloat] Forbid arithmetic on vectors of bfloat. (authored by simon_tatham).
[Sema][BFloat] Forbid arithmetic on vectors of bfloat.
Aug 7 2020, 3:27 AM
simon_tatham closed D85009: [Sema][BFloat] Forbid arithmetic on vectors of bfloat..
Aug 7 2020, 3:27 AM · Restricted Project

Aug 6 2020

simon_tatham added a comment to D85009: [Sema][BFloat] Forbid arithmetic on vectors of bfloat..

This discussion seems to have wound down. I'll land this patch tomorrow on the strength of @LukeGeeson's review, unless you have strong objections, @jfb?

Aug 6 2020, 2:18 AM · Restricted Project

Aug 3 2020

simon_tatham committed rGed0e4c70c99d: [clang][ARM] Add name-mangling test for direct __fp16 arguments. (authored by simon_tatham).
[clang][ARM] Add name-mangling test for direct __fp16 arguments.
Aug 3 2020, 5:31 AM
simon_tatham closed D85010: [clang][ARM] Add name-mangling test for direct __fp16 arguments..
Aug 3 2020, 5:31 AM · Restricted Project
simon_tatham added a comment to D85009: [Sema][BFloat] Forbid arithmetic on vectors of bfloat..
In D85009#2187643, @jfb wrote:

Language-wise I think https://wg21.link/p1467 is where C++ is going, and C is taking a similar approach.

Aug 3 2020, 2:02 AM · Restricted Project

Jul 31 2020

simon_tatham added a comment to D85009: [Sema][BFloat] Forbid arithmetic on vectors of bfloat..
In D85009#2187621, @jfb wrote:

You mean: only aarch64 backend supports lowering bfloat16 vectors at the moment?

Jul 31 2020, 9:23 AM · Restricted Project
simon_tatham added a comment to D85009: [Sema][BFloat] Forbid arithmetic on vectors of bfloat..
In D85009#2187549, @jfb wrote:

Is that true of all vector bfloat implementations? It seems like arithmetic on these types is something implementations would likely support.

Jul 31 2020, 9:06 AM · Restricted Project
simon_tatham requested review of D85010: [clang][ARM] Add name-mangling test for direct __fp16 arguments..
Jul 31 2020, 1:33 AM · Restricted Project
simon_tatham requested review of D85009: [Sema][BFloat] Forbid arithmetic on vectors of bfloat..
Jul 31 2020, 1:27 AM · Restricted Project

Jul 20 2020

simon_tatham accepted D84102: [ARM] Add predicated mla reduction patterns.
Jul 20 2020, 6:11 AM · Restricted Project
simon_tatham accepted D84101: [ARM] Add predicated add reduction patterns.
Jul 20 2020, 5:29 AM · Restricted Project
simon_tatham added inline comments to D84102: [ARM] Add predicated mla reduction patterns.
Jul 20 2020, 5:20 AM · Restricted Project

Jul 14 2020

simon_tatham committed rG86d362f48928: [utils] New script `check_ninja_deps.py` (authored by simon_tatham).
[utils] New script `check_ninja_deps.py`
Jul 14 2020, 6:54 AM
simon_tatham closed D83032: [utils] New script `check_ninja_deps.py`.
Jul 14 2020, 6:54 AM · Restricted Project
simon_tatham added inline comments to D83032: [utils] New script `check_ninja_deps.py`.
Jul 14 2020, 6:22 AM · Restricted Project
simon_tatham accepted D83566: [ARM] CSEL generation.
Jul 14 2020, 1:53 AM · Restricted Project

Jul 3 2020

simon_tatham added a comment to D82659: Fix missing build dependency on omp_gen..

@jdoerfert , @clementval : over in D83032 is a polished-up version of the script I used to check where the missing deps needed to go. Might be useful for the next problem of this kind. But I'm not sure who to get to review it; perhaps one of you might look at it?

Jul 3 2020, 1:35 AM · Restricted Project, Restricted Project

Jul 2 2020

simon_tatham created D83032: [utils] New script `check_ninja_deps.py`.
Jul 2 2020, 4:15 AM · Restricted Project
simon_tatham committed rG9e6f19fd8390: Fix missing build dependency on omp_gen. (authored by simon_tatham).
Fix missing build dependency on omp_gen.
Jul 2 2020, 1:34 AM
simon_tatham closed D82659: Fix missing build dependency on omp_gen..
Jul 2 2020, 1:34 AM · Restricted Project, Restricted Project

Jul 1 2020

simon_tatham added a comment to D82659: Fix missing build dependency on omp_gen..

LGTM. So later the DEPENDS omp_gen that are in clang subdirectories could be removed right?

Jul 1 2020, 8:42 AM · Restricted Project, Restricted Project
simon_tatham added a comment to D82659: Fix missing build dependency on omp_gen..

[facepalm] Thank you. I carefully wrote a revised description, but forgot to upload it to this issue.

Jul 1 2020, 8:42 AM · Restricted Project, Restricted Project
simon_tatham updated the summary of D82659: Fix missing build dependency on omp_gen..
Jul 1 2020, 8:42 AM · Restricted Project, Restricted Project
simon_tatham updated the diff for D82659: Fix missing build dependency on omp_gen..

Here's a completely different patch, which adds all the missing dependencies on OMP.h.inc in the clang subdirectory in one go.

Jul 1 2020, 3:44 AM · Restricted Project, Restricted Project

Jun 30 2020

simon_tatham added a comment to D82659: Fix missing build dependency on omp_gen..

Cannot you just add a depends for your failing case?

Jun 30 2020, 9:12 AM · Restricted Project, Restricted Project
simon_tatham reopened D82659: Fix missing build dependency on omp_gen..

Unfortunately, I had to revert this because it caused a buildbot failure: rG39ea5d74b283d5a42f34b856d22bfaf806a1c907

Jun 30 2020, 5:23 AM · Restricted Project, Restricted Project
simon_tatham added a reverting change for rGed4328c60730: Fix missing build dependency on omp_gen.: rG39ea5d74b283: Revert "Fix missing build dependency on omp_gen.".
Jun 30 2020, 2:08 AM
simon_tatham committed rG39ea5d74b283: Revert "Fix missing build dependency on omp_gen." (authored by simon_tatham).
Revert "Fix missing build dependency on omp_gen."
Jun 30 2020, 2:08 AM
simon_tatham committed rGed4328c60730: Fix missing build dependency on omp_gen. (authored by simon_tatham).
Fix missing build dependency on omp_gen.
Jun 30 2020, 1:03 AM
simon_tatham closed D82659: Fix missing build dependency on omp_gen..
Jun 30 2020, 1:02 AM · Restricted Project, Restricted Project

Jun 29 2020

simon_tatham added a comment to D82659: Fix missing build dependency on omp_gen..

@clementval , are you happy for me to commit this patch?

Jun 29 2020, 6:58 AM · Restricted Project, Restricted Project

Jun 26 2020

simon_tatham added a comment to D82659: Fix missing build dependency on omp_gen..

I wondered about that. I think it may well mean some of those DEPENDS can be removed, but I'm not sure how to be certain of it :-)

Jun 26 2020, 8:44 AM · Restricted Project, Restricted Project
simon_tatham created D82659: Fix missing build dependency on omp_gen..
Jun 26 2020, 8:10 AM · Restricted Project, Restricted Project
simon_tatham committed rG41eb63929183: Fix implicit include dependencies on SmallVector.h. (authored by simon_tatham).
Fix implicit include dependencies on SmallVector.h.
Jun 26 2020, 5:58 AM

Jun 24 2020

simon_tatham accepted D81339: [ARM] MVE VCVT lowering for f16->f32 extends.
Jun 24 2020, 9:09 AM · Restricted Project
simon_tatham committed rGb769eb02b526: [ARM][BFloat] Legalize bf16 type even without fullfp16. (authored by simon_tatham).
[ARM][BFloat] Legalize bf16 type even without fullfp16.
Jun 24 2020, 2:08 AM