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 (253 w, 5 d)

Recent Activity

Fri, May 13

simon_tatham accepted D119720: [ARM] Pass for Cortex-A57 and Cortex-A72 Fused AES Erratum.

Thanks, that explanation looks fine. (And I agree that re-paragraphing it made more sense than my version)

Fri, May 13, 1:28 AM · Restricted Project, Restricted Project, Restricted Project

Tue, May 3

simon_tatham added inline comments to D122914: [Windows] Fix handling of \" in program name on cmd line..
Tue, May 3, 3:59 AM · Restricted Project, Restricted Project
simon_tatham committed rG32814df44269: [Windows] Fix handling of \" in program name on cmd line. (authored by simon_tatham).
[Windows] Fix handling of \" in program name on cmd line.
Tue, May 3, 3:58 AM · Restricted Project, Restricted Project
simon_tatham committed rG1be024ee450f: [Windows] Fix cmd line tokenization of unclosed quotes. (authored by simon_tatham).
[Windows] Fix cmd line tokenization of unclosed quotes.
Tue, May 3, 3:58 AM · Restricted Project, Restricted Project
simon_tatham closed D122914: [Windows] Fix handling of \" in program name on cmd line..
Tue, May 3, 3:58 AM · Restricted Project, Restricted Project

Apr 11 2022

simon_tatham added inline comments to D119720: [ARM] Pass for Cortex-A57 and Cortex-A72 Fused AES Erratum.
Apr 11 2022, 6:16 AM · Restricted Project, Restricted Project, Restricted Project
simon_tatham added a comment to D122914: [Windows] Fix handling of \" in program name on cmd line..

Gentle ping: @rnk, are you satisfied with my changes and explanations from last week?

Apr 11 2022, 4:58 AM · Restricted Project, Restricted Project

Apr 5 2022

simon_tatham committed rG82bd0bd24f61: [AArch64] Make PMMIR_EL1 read-only. (authored by simon_tatham).
[AArch64] Make PMMIR_EL1 read-only.
Apr 5 2022, 3:10 AM · Restricted Project, Restricted Project
simon_tatham closed D123111: [AArch64] Make PMMIR_EL1 read-only..
Apr 5 2022, 3:10 AM · Restricted Project, Restricted Project
simon_tatham updated the diff for D123111: [AArch64] Make PMMIR_EL1 read-only..

Oh yes, so there is. Moved the def.

Apr 5 2022, 2:54 AM · Restricted Project, Restricted Project
simon_tatham requested review of D123111: [AArch64] Make PMMIR_EL1 read-only..
Apr 5 2022, 2:30 AM · Restricted Project, Restricted Project
simon_tatham updated the diff for D122914: [Windows] Fix handling of \" in program name on cmd line..

Fixed a CI failure (unreachable in tokenizeWindowsCommandLineImpl was reached because I forgot to correctly handle an unquoted initial backslash in CommandName mode), and added an extra unit test to ensure the triggering case stays working.

Apr 5 2022, 12:44 AM · Restricted Project, Restricted Project

Apr 4 2022

simon_tatham updated the diff for D122914: [Windows] Fix handling of \" in program name on cmd line..

Updated to fix the handling of a trailing unclosed quoted string, as suggested. It turns out (checking with that same 6-line test program) that even an empty unclosed quoted string still turns into an argv word, contrary to one of the existing unit tests.

Apr 4 2022, 1:52 AM · Restricted Project, Restricted Project
simon_tatham added a comment to D122914: [Windows] Fix handling of \" in program name on cmd line..

We tried to write this code exactly following the rules the CRT uses to produce the argv[] array supplied to main. How does the CRT startup code handle that? Does it have special handling for the first token to match CreateProcess here?

Apr 4 2022, 1:28 AM · Restricted Project, Restricted Project

Apr 1 2022

simon_tatham requested review of D122914: [Windows] Fix handling of \" in program name on cmd line..
Apr 1 2022, 9:23 AM · Restricted Project, Restricted Project

Mar 21 2022

simon_tatham added inline comments to D122046: [clang] Remove Address::deprecated from MveEmitter.
Mar 21 2022, 7:59 AM · Restricted Project, Restricted Project
simon_tatham accepted D122046: [clang] Remove Address::deprecated from MveEmitter.

Whereas I'm familiar with this code but not with the opaque-pointers effort, so I had to look up the other half of what was going on :-)

Mar 21 2022, 2:33 AM · Restricted Project, Restricted Project

Mar 18 2022

simon_tatham added inline comments to D121929: [AArch64] Mark all instructions that read/write FPCR as doing so.
Mar 18 2022, 3:28 AM · Restricted Project, Restricted Project

Mar 7 2022

simon_tatham committed rG54dafd38c5c6: [AArch64] Move FeatureSpecRestrict into core 8.0-R architecture. (authored by simon_tatham).
[AArch64] Move FeatureSpecRestrict into core 8.0-R architecture.
Mar 7 2022, 7:55 AM · Restricted Project
simon_tatham closed D120830: [AArch64] Move FeatureSpecRestrict into core 8.0-R architecture..
Mar 7 2022, 7:55 AM · Restricted Project, Restricted Project
simon_tatham added a comment to D121093: [Driver][AArch64] Split up aarch64-cpus.c test further.

I like this version! This definitely says to me "nobody is going to just thoughtlessly append to an existing file".

Mar 7 2022, 5:20 AM · Restricted Project, Restricted Project
simon_tatham accepted D121093: [Driver][AArch64] Split up aarch64-cpus.c test further.
Mar 7 2022, 4:07 AM · Restricted Project, Restricted Project
simon_tatham added inline comments to D121093: [Driver][AArch64] Split up aarch64-cpus.c test further.
Mar 7 2022, 2:46 AM · Restricted Project, Restricted Project

Mar 3 2022

simon_tatham added a comment to D120875: [Driver] Split up huge aarch64-cpus.c test..

While splitting up the test file is not ideal [...]

Mar 3 2022, 1:28 AM · Restricted Project, Restricted Project

Mar 2 2022

simon_tatham requested review of D120830: [AArch64] Move FeatureSpecRestrict into core 8.0-R architecture..
Mar 2 2022, 9:33 AM · Restricted Project, Restricted Project

Feb 16 2022

simon_tatham accepted D119591: clang-analyzer plugins require LLVM_ENABLE_PLUGINS also.

LGTM this time. Thanks very much for the rework!

Feb 16 2022, 8:56 AM · Restricted Project

Feb 15 2022

simon_tatham added a comment to D119591: clang-analyzer plugins require LLVM_ENABLE_PLUGINS also.

I ran another test of this patch, by trying the cross product of the following cmake configuration choices (on a build targeting Windows, with LLVM_ENABLE_PROJECTS=clang):

Feb 15 2022, 8:04 AM · Restricted Project

Feb 14 2022

simon_tatham added a comment to D119591: clang-analyzer plugins require LLVM_ENABLE_PLUGINS also.

I gave this patch a test against our downstream code, and found that it doesn't stop me needing the change I suggested in D119199: in clang/tools/driver/CMakeLists.txt, I had to change

if(CLANG_PLUGIN_SUPPORT)
  export_executable_symbols_for_plugins(clang)
endif()

so that the if statement reads

if(CLANG_PLUGIN_SUPPORT OR LLVM_EXPORT_SYMBOLS_FOR_PLUGINS)
Feb 14 2022, 1:49 AM · Restricted Project

Feb 11 2022

simon_tatham added inline comments to D119199: replace clang LLVM_ENABLE_PLUGINS -> CLANG_PLUGIN_SUPPORT in tests.
Feb 11 2022, 9:28 AM · Restricted Project, Restricted Project
simon_tatham added a comment to D119199: replace clang LLVM_ENABLE_PLUGINS -> CLANG_PLUGIN_SUPPORT in tests.

Hi. This commit seems to have broken the following cmake command, on Windows (with HEAD pointing at 76cad51ba700233d6e3492eddcbb466b6adbc2eb):

cmake -DLLVM_ENABLE_PROJECTS=clang -DLLVM_EXPORT_SYMBOLS_FOR_PLUGINS=ON ..\llvm-project\llvm

The symptom is the same as @cristian.adam shows above:

-- SampleAnalyzerPlugin ignored -- Loadable modules not supported on this platform.
CMake Error at [...]/llvm-project/clang/cmake/modules/AddClang.cmake:185 (target_link_libraries):
  Utility target "SampleAnalyzerPlugin" must not be used as the target of a
  target_link_libraries call.
Call Stack (most recent call first):
  [...]/llvm-project/clang/lib/Analysis/plugins/SampleAnalyzer/CMakeLists.txt:8 (clang_target_link_libraries)

With HEAD pointing at the previous commit, clang/lib/Analysis/plugins/CMakeLists.txt does not add the SampleAnalyzer subdirectory at all, because LLVM_ENABLE_PLUGINS has the value OFF. But CLANG_PLUGIN_SUPPORT is ON, so now it does, and the above error happens.

Feb 11 2022, 4:16 AM · Restricted Project, Restricted Project

Jan 25 2022

simon_tatham committed rGf302e0b5dd40: [AArch64] Exclude optional features from HasV8_0rOps. (authored by simon_tatham).
[AArch64] Exclude optional features from HasV8_0rOps.
Jan 25 2022, 2:55 AM
simon_tatham closed D118045: [AArch64] Exclude optional features from HasV8_0rOps..
Jan 25 2022, 2:55 AM · Restricted Project

Jan 24 2022

simon_tatham requested review of D118045: [AArch64] Exclude optional features from HasV8_0rOps..
Jan 24 2022, 7:23 AM · Restricted Project

Jan 20 2022

simon_tatham committed rGa4ac40e92f71: [AArch64] Remove PRBAR0_ELn and PRLAR0_ELn sysregs. (authored by simon_tatham).
[AArch64] Remove PRBAR0_ELn and PRLAR0_ELn sysregs.
Jan 20 2022, 5:38 AM
simon_tatham closed D117755: [AArch64] Remove PRBAR0_ELn and PRLAR0_ELn sysregs..
Jan 20 2022, 5:38 AM · Restricted Project
simon_tatham committed rG19b9cd4eae6f: [MC] Add a disassembly test for Armv8-R sysregs. (authored by simon_tatham).
[MC] Add a disassembly test for Armv8-R sysregs.
Jan 20 2022, 5:38 AM
simon_tatham requested review of D117755: [AArch64] Remove PRBAR0_ELn and PRLAR0_ELn sysregs..
Jan 20 2022, 1:47 AM · Restricted Project

Jan 12 2022

simon_tatham committed rG42f90a28a32d: [extract_symbols.py] Fix line-splitting of tool output. (authored by simon_tatham).
[extract_symbols.py] Fix line-splitting of tool output.
Jan 12 2022, 1:08 AM
simon_tatham closed D117030: [extract_symbols.py] Fix line-splitting of tool output..
Jan 12 2022, 1:08 AM · Restricted Project

Jan 11 2022

simon_tatham requested review of D117030: [extract_symbols.py] Fix line-splitting of tool output..
Jan 11 2022, 8:27 AM · Restricted Project

Jan 5 2022

simon_tatham accepted D116611: [clang][scandeps] Update Module Cache Path in Test.
Jan 5 2022, 2:35 AM · Restricted Project
simon_tatham added inline comments to D116157: [AArch64] Adding "armv8.8-a" memcpy/memset support..
Jan 5 2022, 2:21 AM · Restricted Project
simon_tatham added inline comments to D116157: [AArch64] Adding "armv8.8-a" memcpy/memset support..
Jan 5 2022, 2:18 AM · Restricted Project

Jan 4 2022

simon_tatham added a comment to D116366: [Support] Add MemoryBuffer::dontNeedIfMmap.

Is that specific machine missing a header? Perhaps HAVE_SYS_MMAN_H isn't defined? @simon_tatham

Jan 4 2022, 1:37 AM · Restricted Project

Dec 3 2021

simon_tatham added a comment to D115014: [clang] RFC: NFC: simplify macro tokens assignment.

Ah, now I see what you mean – I didn't look far enough!

Dec 3 2021, 3:23 AM · Restricted Project
simon_tatham added a comment to D115014: [clang] RFC: NFC: simplify macro tokens assignment.

I don't think so, I'm afraid. If you look at the definition of MacroInfo::tokens_begin() in clang/include/clang/Lex/MacroInfo.h, you see that it doesn't return a raw Token *: it returns a C++ iterator object.

Dec 3 2021, 2:40 AM · Restricted Project

Nov 15 2021

simon_tatham committed rG00ff774fca78: [CMake] Allow passing extra options to extract_symbols.py. (authored by simon_tatham).
[CMake] Allow passing extra options to extract_symbols.py.
Nov 15 2021, 6:02 AM
simon_tatham closed D113557: [CMake] Allow passing extra options to extract_symbols.py..
Nov 15 2021, 6:02 AM · Restricted Project
simon_tatham added a comment to D113557: [CMake] Allow passing extra options to extract_symbols.py..

Summarising what I said about argparse internally:

Nov 15 2021, 5:24 AM · Restricted Project
simon_tatham updated the diff for D113557: [CMake] Allow passing extra options to extract_symbols.py..

Improved the help text for the new variable.

Nov 15 2021, 5:21 AM · Restricted Project
simon_tatham added a comment to D113557: [CMake] Allow passing extra options to extract_symbols.py..

I'm not sure it really makes sense to be able to override the output file location in the context of a build system – surely if you want to do that, you also have to tell cmake to change the OUTPUT parameter of the custom command, or the build products won't end up where the next build step expects them! Perhaps I should move this to after --mangling, though.

Nov 15 2021, 2:30 AM · Restricted Project

Nov 11 2021

simon_tatham committed rG7ac1fd0da993: [extract_symbols.py] Fix llvm-readobj options. (authored by simon_tatham).
[extract_symbols.py] Fix llvm-readobj options.
Nov 11 2021, 1:13 AM
simon_tatham closed D113556: [extract_symbols.py] Fix llvm-readobj options..
Nov 11 2021, 1:13 AM · Restricted Project

Nov 10 2021

simon_tatham requested review of D113557: [CMake] Allow passing extra options to extract_symbols.py..
Nov 10 2021, 3:41 AM · Restricted Project
simon_tatham requested review of D113556: [extract_symbols.py] Fix llvm-readobj options..
Nov 10 2021, 3:41 AM · Restricted Project

Oct 20 2021

simon_tatham abandoned D112070: [llvm-mt] Fix link failure in unusual situations..

In fact, it turns out that libxml2 optionally uses zlib – it's a configure-time option. And I've been able to work around this issue another way now on the platform where I had the problem, by recompiling the libxml2 static library using configure --without-zlib, which doesn't seem to have lost any of the libxml2 functionality that llvm-mt needs.

Oct 20 2021, 1:16 AM · Restricted Project

Oct 19 2021

simon_tatham requested review of D112070: [llvm-mt] Fix link failure in unusual situations..
Oct 19 2021, 6:12 AM · Restricted Project

Oct 15 2021

simon_tatham accepted D111755: [ARM] Don't use TARGET_HEADER_BUILTIN in arm_mve_builtins.inc or arm_cde_builtins.inc.
Oct 15 2021, 2:31 AM · Restricted Project

Sep 1 2021

simon_tatham added a comment to D108227: [GlobalISel] Implement lowering for G_ISNAN + use it in AArch64.

Yes, that seems to have fixed it for me – thanks for the quick response!

Sep 1 2021, 2:00 AM · Restricted Project

Aug 31 2021

simon_tatham added inline comments to D108227: [GlobalISel] Implement lowering for G_ISNAN + use it in AArch64.
Aug 31 2021, 8:19 AM · Restricted Project

Jul 27 2021

simon_tatham added inline comments to D105495: [clang] Make negative getLocWithOffset widening-safe..
Jul 27 2021, 2:50 AM · Restricted Project
simon_tatham updated the diff for D105495: [clang] Make negative getLocWithOffset widening-safe..

I also think it's the caller's responsibility to make sure what they pass in is correctly signed.

Jul 27 2021, 2:50 AM · Restricted Project

Jul 22 2021

simon_tatham added a comment to D105491: [clang] Use i64 for the !srcloc metadata on asm IR nodes..

(But I've pushed this patch anyway, because I'm reasonably confident of the answer; if it turns out that there's some case along those lines that I should have taken care of, I'll fix or revert.)

Jul 22 2021, 2:32 AM · Restricted Project, Restricted Project
simon_tatham committed rGbd41136746a0: [clang] Use i64 for the !srcloc metadata on asm IR nodes. (authored by simon_tatham).
[clang] Use i64 for the !srcloc metadata on asm IR nodes.
Jul 22 2021, 2:25 AM
simon_tatham closed D105491: [clang] Use i64 for the !srcloc metadata on asm IR nodes..
Jul 22 2021, 2:25 AM · Restricted Project, Restricted Project
simon_tatham added a comment to D105491: [clang] Use i64 for the !srcloc metadata on asm IR nodes..

@lattner, thanks for the help. In this case, the real question is whether there's any use case for !srcloc that involves writing it out into a bitcode or IR file and then having a separate instance of clang load it back in again.

Jul 22 2021, 1:36 AM · Restricted Project, Restricted Project

Jul 21 2021

simon_tatham updated subscribers of D105491: [clang] Use i64 for the !srcloc metadata on asm IR nodes..

although it'd be good to get someone more involved in lib/CodeGen to take a quick look / sign off (ideally someone that knows the use case for !srcloc...).

Jul 21 2021, 9:24 AM · Restricted Project, Restricted Project
simon_tatham committed rG21401a72629c: [clang] Introduce SourceLocation::[U]IntTy typedefs. (authored by simon_tatham).
[clang] Introduce SourceLocation::[U]IntTy typedefs.
Jul 21 2021, 2:46 AM
simon_tatham closed D105492: [clang] Introduce SourceLocation::[U]IntTy typedefs..
Jul 21 2021, 2:46 AM · Restricted Project

Jul 20 2021

simon_tatham added inline comments to D105498: [clang] Remove assumption about SourceLocation alignment..
Jul 20 2021, 7:24 AM · Restricted Project
simon_tatham updated the diff for D105498: [clang] Remove assumption about SourceLocation alignment..

Addressed two nits.

Jul 20 2021, 7:23 AM · Restricted Project
simon_tatham added inline comments to D105498: [clang] Remove assumption about SourceLocation alignment..
Jul 20 2021, 7:01 AM · Restricted Project
simon_tatham added inline comments to D105498: [clang] Remove assumption about SourceLocation alignment..
Jul 20 2021, 6:23 AM · Restricted Project
simon_tatham updated the diff for D105498: [clang] Remove assumption about SourceLocation alignment..

... and removed an unused function from the previous version.

Jul 20 2021, 6:08 AM · Restricted Project
simon_tatham updated the diff for D105498: [clang] Remove assumption about SourceLocation alignment..

Split up the allocations as suggested.

Jul 20 2021, 6:02 AM · Restricted Project
simon_tatham updated the diff for D105492: [clang] Introduce SourceLocation::[U]IntTy typedefs..

Renamed types to [U]IntTy. This will affect some of the dependent patches too, but I agree that saving two characters is worthwhile – these names are long enough already :-)

Jul 20 2021, 6:00 AM · Restricted Project
simon_tatham updated the diff for D105491: [clang] Use i64 for the !srcloc metadata on asm IR nodes..

Added an i64 !srcloc to the only existing test of them I could find.

Jul 20 2021, 5:59 AM · Restricted Project, Restricted Project
simon_tatham added a comment to D105491: [clang] Use i64 for the !srcloc metadata on asm IR nodes..

I looked into this yesterday, and realised that I don't actually know what the use case is for emitting !srcloc metadata in an IR file.

Jul 20 2021, 1:47 AM · Restricted Project, Restricted Project

Jul 19 2021

simon_tatham committed rGcef56d58dbbb: [clang] Change set type used for SourceLocation. (authored by simon_tatham).
[clang] Change set type used for SourceLocation.
Jul 19 2021, 5:37 AM
simon_tatham closed D105493: [clang] Change set type used for SourceLocation..
Jul 19 2021, 5:37 AM · Restricted Project

Jul 12 2021

simon_tatham committed rGe49985bb6065: Remove unused parameter from parseMSInlineAsm. (authored by simon_tatham).
Remove unused parameter from parseMSInlineAsm.
Jul 12 2021, 7:07 AM
simon_tatham closed D105490: Remove unused parameter from parseMSInlineAsm..
Jul 12 2021, 7:07 AM · Restricted Project, Restricted Project

Jul 6 2021

simon_tatham added a comment to D97204: [RFC] Clang 64-bit source locations.

This patch doesn't seem to have attracted much review attention in the last couple of weeks. On the theory that perhaps it's just too big and monolithic to review in one go, I've started to break it up into smaller pieces.

Jul 6 2021, 9:31 AM · Restricted Project, Restricted Project, Restricted Project
simon_tatham requested review of D105498: [clang] Remove assumption about SourceLocation alignment..
Jul 6 2021, 9:28 AM · Restricted Project
simon_tatham requested review of D105497: [clang] Serialize source locations as 64-bit in PCH..
Jul 6 2021, 9:27 AM · Restricted Project
simon_tatham requested review of D105495: [clang] Make negative getLocWithOffset widening-safe..
Jul 6 2021, 9:27 AM · Restricted Project
simon_tatham requested review of D105494: [clang] Introduce a union inside ProgramPoint..
Jul 6 2021, 9:27 AM · Restricted Project
simon_tatham requested review of D105493: [clang] Change set type used for SourceLocation..
Jul 6 2021, 9:27 AM · Restricted Project
simon_tatham requested review of D105492: [clang] Introduce SourceLocation::[U]IntTy typedefs..
Jul 6 2021, 9:26 AM · Restricted Project
simon_tatham requested review of D105491: [clang] Use i64 for the !srcloc metadata on asm IR nodes..
Jul 6 2021, 9:26 AM · Restricted Project, Restricted Project
simon_tatham requested review of D105490: Remove unused parameter from parseMSInlineAsm..
Jul 6 2021, 9:25 AM · Restricted Project, Restricted Project

Jun 29 2021

simon_tatham accepted D105124: [ARM][NFC] Remove an unused method.

Good catch!

Jun 29 2021, 9:16 AM · Restricted Project

Jun 24 2021

simon_tatham added a comment to D97204: [RFC] Clang 64-bit source locations.

Hmmm. Two people have pointed out to me that my strategy of having a 32-bit SourceLocations::LowBits and an 0- or 32-bit SourceLocations::OptionalHighBits doesn't actually work, because an empty struct still takes at least 1 byte. So this version of the patch will still increase memory usage in the 32SL configuration, which is just what I was trying to avoid. Whoops.

Jun 24 2021, 6:19 AM · Restricted Project, Restricted Project, Restricted Project

Jun 18 2021

simon_tatham committed rGfd569a11b585: [libclang] Fix error handler in translateSourceLocation. (authored by simon_tatham).
[libclang] Fix error handler in translateSourceLocation.
Jun 18 2021, 5:44 AM
simon_tatham closed D104442: [libclang] Fix error handler in translateSourceLocation..
Jun 18 2021, 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).

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

Jun 17 2021

simon_tatham updated the summary of D97204: [RFC] Clang 64-bit source locations.
Jun 17 2021, 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.

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