Page MenuHomePhabricator

peter.smith (Peter Smith)
User

Projects

User does not belong to any projects.

User Details

User Since
Apr 11 2016, 8:56 AM (363 w, 3 d)

Recent Activity

Mon, Mar 27

peter.smith accepted D140202: [lld][ARM][2/3]Big Endian support - Word invariant support.

One tiny change to add some punctuation to a comment. This can be done prior to commit, no need to post another review.

Mon, Mar 27, 8:24 AM · Restricted Project, Restricted Project

Mon, Mar 20

peter.smith added inline comments to D140202: [lld][ARM][2/3]Big Endian support - Word invariant support.
Mon, Mar 20, 11:17 AM · Restricted Project, Restricted Project
peter.smith added a comment to D140202: [lld][ARM][2/3]Big Endian support - Word invariant support.

This looks correct, although I think there are a few places where we can simplify the code to remove the explicit endianness.

Mon, Mar 20, 11:10 AM · Restricted Project, Restricted Project

Wed, Mar 15

peter.smith added a comment to D139092: [LLD][ELF] Cortex-M Security Extensions (CMSE) Support.

I think that's all the comments I have for this round.

Wed, Mar 15, 9:36 AM · Restricted Project, Restricted Project
peter.smith added a comment to D139092: [LLD][ELF] Cortex-M Security Extensions (CMSE) Support.

A few more comments on some things that don't look right compared to the GNU ld interface.

Wed, Mar 15, 4:29 AM · Restricted Project, Restricted Project
peter.smith added a comment to D140202: [lld][ARM][2/3]Big Endian support - Word invariant support.

I think I've spotted a problem in .ARM.exidx table compression. I also think we can get rid of config->be32 for this patch as nothing else reads it.

Wed, Mar 15, 3:11 AM · Restricted Project, Restricted Project

Tue, Mar 14

peter.smith added a comment to D139092: [LLD][ELF] Cortex-M Security Extensions (CMSE) Support.

I've not finished checking yet, but thought it worth sending the comments that I have so far. Only thing that I can spot that looks wrong is that CMSE is M-profile only so the attributes check looks like it needs adjusting. The remainder are nit level comments.

Tue, Mar 14, 11:53 AM · Restricted Project, Restricted Project
peter.smith added a comment to D145786: [LLD] Increase thunk pass limit.

In some other cases of iterative algorithms like this, we change the algorithm after a few passes to a version that converges faster. For example, you could consider adding extra padding after inserted thunks, in anticipation of the need for more thunks.

Tue, Mar 14, 7:58 AM · Restricted Project, Restricted Project

Mon, Mar 13

peter.smith added a comment to D140202: [lld][ARM][2/3]Big Endian support - Word invariant support.

A few small comments to move an error message to Driver.cpp and to remove the --be32 option. This will mean updating the tests.

Mon, Mar 13, 12:10 PM · Restricted Project, Restricted Project
peter.smith accepted D142932: Multilib YAML parsing.
Mon, Mar 13, 9:28 AM · Restricted Project, Restricted Project
peter.smith accepted D143587: [Docs] Multilib design.

I've set approved from the Arm side. Please leave some time for people in the US time zone to leave any final comments or ask for extensions. I've left a suggestion that can be applied prior to commit if you want to take it up.

Mon, Mar 13, 9:27 AM · Restricted Project, Restricted Project
peter.smith accepted D143075: BareMetal ToolChain multilib layering.

I've set approved from the Arm side. Please leave some time for people in the US time zone to leave any final comments or ask for extensions.

Mon, Mar 13, 9:26 AM · Restricted Project, Restricted Project
peter.smith accepted D143059: [Driver] Enable selecting multiple multilibs.

I've set approved from the Arm side. Please leave some time for people in the US time zone to leave any final comments or ask for extensions.

Mon, Mar 13, 9:26 AM · Restricted Project, Restricted Project
peter.smith accepted D142986: Enable multilib.yaml in the BareMetal ToolChain.

I've set approved from the Arm side. Please leave some time for people in the US time zone to leave any final comments or ask for extensions.

Mon, Mar 13, 9:25 AM · Restricted Project, Restricted Project
peter.smith accepted D142933: Add -print-multi-selection-flags-experimental option.

I've set approved from the Arm side. Please leave some time for people in the US time zone to leave any final comments or ask for extensions.

Mon, Mar 13, 9:23 AM · Restricted Project, Restricted Project
peter.smith added a comment to D142932: Multilib YAML parsing.

I've set approved from the Arm side. Please leave some time for people in the US time zone to leave any final comments or ask for extensions. I've left some comments that can be applied prior to commit if you want to take them up.

Mon, Mar 13, 9:23 AM · Restricted Project, Restricted Project
peter.smith accepted D145567: [Driver] Rename multilib flags to tags.

Actually click the button this time to set approval, see previous comment.

Mon, Mar 13, 9:22 AM · Restricted Project, Restricted Project
peter.smith added a comment to D145567: [Driver] Rename multilib flags to tags.

I've set approved from the Arm side. Please leave some time for people in the US time zone to leave any final comments or ask for extensions.
From looking at the source code alone - assuming that most people would not track down the commit message/review for extra context - I found it difficult to work out the convention for when Flags is used and when Tags is used. I've made a suggestion for some comments. This can be applied prior to commit if you want to take it up.

Mon, Mar 13, 9:21 AM · Restricted Project, Restricted Project
peter.smith accepted D142905: [Driver] Change multilib selection algorithm.

I've set approved from the Arm side. Please leave some time for people in the US time zone to leave any final comments or ask for extensions. I've left a suggestion for a comment, but this can be applied prior to commit if you want to take it up.

Mon, Mar 13, 9:20 AM · Restricted Project, Restricted Project

Fri, Mar 10

peter.smith requested review of D145786: [LLD] Increase thunk pass limit.
Fri, Mar 10, 5:40 AM · Restricted Project, Restricted Project

Tue, Mar 7

peter.smith added a comment to D144083: [JITLink] Initial AArch32 backend.

Just one small comment about when traversing relocations from .ARM.exidx sections get implemented.

Tue, Mar 7, 9:13 AM · Restricted Project, Restricted Project

Fri, Mar 3

peter.smith accepted D145199: [ELF] Mention section name for STT_SECTION in reportRangeError().

Looks like a good improvement, one small suggestion on the text, but no strong opinion on it if you prefer the original.

Fri, Mar 3, 1:33 AM · Restricted Project, Restricted Project

Feb 28 2023

peter.smith added inline comments to D144083: [JITLink] Initial AArch32 backend.
Feb 28 2023, 1:39 AM · Restricted Project, Restricted Project

Feb 27 2023

peter.smith added a comment to D144083: [JITLink] Initial AArch32 backend.

A few small comments concentrating on the Arm specifics.

Feb 27 2023, 8:51 AM · Restricted Project, Restricted Project

Feb 24 2023

peter.smith added a comment to D144083: [JITLink] Initial AArch32 backend.

Thanks for the update. Will try and take a look next week. Ran out of time today.

Feb 24 2023, 10:33 AM · Restricted Project, Restricted Project

Feb 23 2023

peter.smith accepted D144585: [Nomination] Adding Nvidia Compiler security representative to the LLVM security group..

LGTM too.

Feb 23 2023, 1:00 AM · Restricted Project, Restricted Project

Feb 15 2023

peter.smith added inline comments to D144083: [JITLink] Initial AArch32 backend.
Feb 15 2023, 12:00 PM · Restricted Project, Restricted Project
peter.smith added a comment to D144083: [JITLink] Initial AArch32 backend.

I've taken a look from the Arm side, for initial support I think a lot of the comments don't need attention, but may be worth considering for future revisions. While what's here looks similar to other JITLink backends, I don't have any experience with it so I'll need to defer to someone else more familiar with its code base. Very happy to look at the Arm specifics though.

Feb 15 2023, 10:45 AM · Restricted Project, Restricted Project
peter.smith accepted D144079: [AArch64InstPrinter][llvm-objdump] Print ADR PC-relative label as a target address hexadecimal form.

Thanks for the updates. I agree with SImon that this is an improvement worth having.

Feb 15 2023, 9:22 AM · Restricted Project, Restricted Project
peter.smith added a comment to D144079: [AArch64InstPrinter][llvm-objdump] Print ADR PC-relative label as a target address hexadecimal form.

No objections from me. I guess that --no-print-imm-hex is not honoured as we are not printing the immediate anymore?

Feb 15 2023, 2:03 AM · Restricted Project, Restricted Project

Feb 13 2023

peter.smith added a comment to D143763: [Clang] Add clangMinimumVersion to multilib.yaml.

No objections to MaskRay's suggestion to merge with an earlier patch. I've made some suggestions to make the error messages be a bit more specific about what is wrong.

Feb 13 2023, 8:14 AM · Restricted Project, Restricted Project

Feb 10 2023

peter.smith added a comment to D143075: BareMetal ToolChain multilib layering.

No comments on the implementation.

Feb 10 2023, 8:06 AM · Restricted Project, Restricted Project
peter.smith added inline comments to D143587: [Docs] Multilib design.
Feb 10 2023, 8:04 AM · Restricted Project, Restricted Project
peter.smith added a comment to D142933: Add -print-multi-selection-flags-experimental option.

Thanks for the updates, changes look good to me. I think that we can get away without trying to break the floating point options into flags, at least for how floating point units are available in hardware today.

Feb 10 2023, 7:41 AM · Restricted Project, Restricted Project
peter.smith added a comment to D143587: [Docs] Multilib design.

Thanks for the update, one nit in the language, otherwise looks good to me. It is a good reflection of the implementation.

Feb 10 2023, 6:52 AM · Restricted Project, Restricted Project
peter.smith added a comment to D143059: [Driver] Enable selecting multiple multilibs.

A couple of small suggestions but otherwise looks good to me.

Feb 10 2023, 4:13 AM · Restricted Project, Restricted Project
peter.smith added a comment to D142986: Enable multilib.yaml in the BareMetal ToolChain.

Looks good to me. Some small suggestions around execute-only as I expect this to be a useful multilib variant.

Feb 10 2023, 3:32 AM · Restricted Project, Restricted Project
peter.smith added a comment to D142905: [Driver] Change multilib selection algorithm.

Thanks for the updates, I'm happy with the changes and don't have any more comments. Happy to give my implicit approval.

Feb 10 2023, 3:01 AM · Restricted Project, Restricted Project
peter.smith added a comment to D142893: [NFC] Class for building MultilibSet.

Thanks for the updates, I'm happy with the changes and don't have any more comments. Happy to give my implicit approval.

Feb 10 2023, 3:00 AM · Restricted Project, Restricted Project

Feb 9 2023

peter.smith added a comment to D143587: [Docs] Multilib design.

Thanks very much for writing this. Will be worth updating the RFC with a link as I think that this is an approachable place to comment on the format and selection model without the implementation detail. I'm happy with what has been written so far. My suggestions are mostly additions rather than modifications.

Feb 9 2023, 7:53 AM · Restricted Project, Restricted Project
peter.smith accepted D143600: [ELF][docs] Mention LLD_REPRODUCE and LLD_VERSION.

LGTM, a couple of small suggestions.

Feb 9 2023, 2:00 AM · Restricted Project, Restricted Project

Feb 8 2023

peter.smith added a comment to D143543: [docs] Update "production quality" targets for lld/ELF.

Looks good to me on the Arm side.

Feb 8 2023, 1:20 AM · Restricted Project, Restricted Project

Feb 6 2023

peter.smith added inline comments to D142933: Add -print-multi-selection-flags-experimental option.
Feb 6 2023, 11:42 AM · Restricted Project, Restricted Project
peter.smith added a comment to D142905: [Driver] Change multilib selection algorithm.

A couple of small stylisitic suggestions.

Feb 6 2023, 9:44 AM · Restricted Project, Restricted Project
peter.smith added a comment to D142893: [NFC] Class for building MultilibSet.

Looks good so far. Some stylistic suggestions.

Feb 6 2023, 9:20 AM · Restricted Project, Restricted Project
peter.smith accepted D143297: [compiler-rt][builtins] Support builtins for armv8m.base.

Thanks for the update, I'm happy with the changes. Best wait a bit to let anyone in the US timezone comment.

Feb 6 2023, 7:00 AM · Restricted Project, Restricted Project
peter.smith added inline comments to D143297: [compiler-rt][builtins] Support builtins for armv8m.base.
Feb 6 2023, 3:21 AM · Restricted Project, Restricted Project
peter.smith added a comment to D143297: [compiler-rt][builtins] Support builtins for armv8m.base.

Looks OK to me. I think we can simplify by always using the movs instruction.

Feb 6 2023, 3:20 AM · Restricted Project, Restricted Project

Feb 3 2023

peter.smith accepted D143136: [ELF] -z notext: avoid dynamic relocations in .eh_frame.

LGTM as avoiding text segment relocations when we can is probably better than trying to add dynamic relocations.

Feb 3 2023, 9:53 AM · Restricted Project, Restricted Project
peter.smith added a comment to D143039: [AArch64] Unconditionally use DW_EH_PE_indirect|DW_EH_PE_pcrel personality/lsda/ttype encodings.

The Code Models https://github.com/ARM-software/abi-aa/blob/main/sysvabi64/sysvabi64.rst#7code-models do clarify that the text segment includes ro-data explicitly for the benefit of signed 32-bit offsets, however I don't think that this should change the decision here to use sdata8 for AArch64 targets. So no objections from me.

Feb 3 2023, 9:28 AM · Restricted Project, Restricted Project

Jan 31 2023

peter.smith added a comment to D142960: [docs] Rewrite/improve the docs for LLVM_NATIVE_TOOL_DIR.

No objections, if the option isn't needed then we should remove it from the mandatory part.

Jan 31 2023, 3:24 AM · Restricted Project, Restricted Project
peter.smith added a comment to D142404: [docs] Prefer setting LLVM_HOST_TRIPLE instead of LLVM_DEFAULT_TARGET_TRIPLE and LLVM_TARGET_ARCH.

No objections. The intention is to cross-compile LLVM to run on another target and this change preserves that. I'm not well versed in the subtle differences between the CMake variables so I'm happy for others to take the lead on that part.

Jan 31 2023, 3:21 AM · Restricted Project, Restricted Project

Jan 23 2023

peter.smith added a comment to D139097: [ARM] Add option --print-raw-value to llvm-nm to dump raw symbol values in case of ARM.

@peter.smith Were you able to discuss the issue with the GNU team? Can you start a discussion on binutils@sourceware.org regarding this?

My apologies, my day job is very busy at the moment and I've not had chance. I should be able to ask our own internal team later this week, most likely Friday.

I've asked internally. I'll report back as soon as I get an answer, or next week if I don't.

Jan 23 2023, 8:36 AM · Restricted Project, Restricted Project
peter.smith accepted D142229: [docs] add early Arm arch support improvements to release notes.

Thanks for the update, LGTM.

Jan 23 2023, 7:38 AM · Restricted Project, Restricted Project
peter.smith added a comment to D142229: [docs] add early Arm arch support improvements to release notes.

I think this is pretty close. I think we shouldn't claim full support for Armv4 as we don't support the R_ARMV4BX relocation yet.

Jan 23 2023, 7:11 AM · Restricted Project, Restricted Project
peter.smith added a comment to D142317: [Support] Avoid using main thread for llvm::parallelFor()..

Perhaps I'm missing something here, but I thought that thread_local variables are zero initialized.

That is my understanding too. An unitialized TLS variable is assigned to .tbss which is the TLS equivalent of .bss.

Jan 23 2023, 6:50 AM · Restricted Project, Restricted Project

Jan 20 2023

peter.smith added a comment to D139097: [ARM] Add option --print-raw-value to llvm-nm to dump raw symbol values in case of ARM.

@peter.smith Were you able to discuss the issue with the GNU team? Can you start a discussion on binutils@sourceware.org regarding this?

My apologies, my day job is very busy at the moment and I've not had chance. I should be able to ask our own internal team later this week, most likely Friday.

Jan 20 2023, 6:47 AM · Restricted Project, Restricted Project

Jan 18 2023

peter.smith added a comment to D139097: [ARM] Add option --print-raw-value to llvm-nm to dump raw symbol values in case of ARM.

@peter.smith Were you able to discuss the issue with the GNU team? Can you start a discussion on binutils@sourceware.org regarding this?

Jan 18 2023, 8:14 AM · Restricted Project, Restricted Project

Jan 11 2023

peter.smith accepted D141272: [lld][ARM] support position independent thunks for Armv4(T).

I'm happy with these from the Arm v4 support perspective. I think some TODO comments may no longer apply, but these can easily be fixed up pre-commit.

Jan 11 2023, 7:42 AM · Restricted Project, Restricted Project

Jan 10 2023

peter.smith added a comment to D141322: [compiler-rt] support armv5t, armv6.

Looks good to me too.

Jan 10 2023, 1:13 AM · Restricted Project, Restricted Project

Dec 20 2022

peter.smith added a comment to D139097: [ARM] Add option --print-raw-value to llvm-nm to dump raw symbol values in case of ARM.

@peter.smith Can you address @MaskRay comments to start a discussion on binutils@sourceware.org to discuss the expected nm behavior?

Dec 20 2022, 7:17 AM · Restricted Project, Restricted Project

Dec 16 2022

peter.smith added a comment to D140203: [lld][ARM][3/3]Complete Arm BE32 big-endian support and add tests.

The title implies that this is just adding tests. Can you update the title to include something like Complete Arm BE32 big-endian support and add tests; or move the SyntheticSections change back to Patch [2/3]

Dec 16 2022, 7:47 AM · Restricted Project, Restricted Project
peter.smith added a comment to D140202: [lld][ARM][2/3]Big Endian support - Word invariant support.

It will be worth adding to the description of the difference between BE32 and BE8. BE32 is the legacy way of handling big-endian on Arm systems prior to ArmV6. In this model all relocatable object files are BigEndian, and all the instructions and data are BigEndian. In ArmV6 the byte-invariant BE8 mode was added, in the output ELF file (executable/shared library) this is the same model as AArch64 where the ELF file and Data are big-endian but instructions are little-endian. In contrast to AArch64 relocatable object files are identical in BE8 and BE32, the linker is expected to endian reverse big-endian instructions from big-endian to little-endian. In modern Arm systems BE32 support has been removed, leaving only BE8. However BE32 is a necessary pre-requisite to support BE8.

Dec 16 2022, 7:39 AM · Restricted Project, Restricted Project
peter.smith added a comment to D140201: [lld][ARM][NFCI][1/3]Big Endian support - Removing assumptions.

I've noticed a couple of places where a .word is written in two 16-bit halves. This won't change the result for little-endian to little-endian writes, but could affect big-endian results later. It may also be worth adding [NFCI] to the title as this is a refactoring change (No Functional Changes Intended). Otherwise looks good to me.

Dec 16 2022, 7:22 AM · Restricted Project, Restricted Project
peter.smith accepted D139888: [lld][ARM] support absolute thunks for Armv4T Thumb and interworking.

Thanks for the updates, I'm happy from the Arm side. Will be worth waiting some time to give MaskRay some time to take a look.

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

Dec 14 2022

peter.smith added inline comments to D139888: [lld][ARM] support absolute thunks for Armv4T Thumb and interworking.
Dec 14 2022, 1:28 AM · Restricted Project, Restricted Project

Dec 13 2022

peter.smith added a comment to D139888: [lld][ARM] support absolute thunks for Armv4T Thumb and interworking.

Thanks for the updates. One more suggestion on the naming, but I've not got a strong opinion.

Dec 13 2022, 8:11 AM · Restricted Project, Restricted Project
peter.smith 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.

When I added the Thunk support I borrowed terminology from Arm's linker. It uses ABS as short for ABSOLUTE which was its term for Non-PI or position dependent.

Dec 13 2022, 3:07 AM · Restricted Project, Restricted Project

Dec 8 2022

peter.smith added a comment to D139097: [ARM] Add option --print-raw-value to llvm-nm to dump raw symbol values in case of ARM.

I recommend a test with --numeric-sort when --print-raw-values is used. As I understand it the numeric sort will use the values with thumb/mips bit cleared, which will mean that when printed some symbols will look out of order. This will look a bit weird but is probably better than having different sorting orders.

Dec 8 2022, 8:58 AM · Restricted Project, Restricted Project

Dec 6 2022

peter.smith added a comment to D139097: [ARM] Add option --print-raw-value to llvm-nm to dump raw symbol values in case of ARM.

I don't think adding state to the shared llvm/Object/ELFObjectFile.h is the right thing to do there. I think that bit of code is used in too many places that are relying on the behaviour being what it is without having it mutated by a stateful parameter. I think you could add an additional member function that retrieved the symbol without any additional processing, I think this would show the intent more clearly, as well as not adding state. llvm-nm could call that function when wanting raw symbol addresses.

Dec 6 2022, 12:03 PM · Restricted Project, Restricted Project

Dec 5 2022

peter.smith added a comment to D139092: [LLD][ELF] Cortex-M Security Extensions (CMSE) Support.

Thanks for posting this I've got about half way through. I'll need to re-read the specification as well. Will comment more as I have them.

Dec 5 2022, 11:24 AM · Restricted Project, Restricted Project
peter.smith added a comment to D139097: [ARM] Add option --print-raw-value to llvm-nm to dump raw symbol values in case of ARM.

Shouldn't nm just print the raw value stored in the symbol table like what readelf does ?

$ llvm-readelf -s a.o

Symbol table '.symtab' contains 2 entries:
   Num:    Value  Size Type    Bind   Vis       Ndx Name
     0: 00000000     0 NOTYPE  LOCAL  DEFAULT   UND
     1: 00001003     0 FUNC    GLOBAL DEFAULT     1 foo
$ llvm-nm a.o
00001002 T foo
Dec 5 2022, 2:19 AM · Restricted Project, Restricted Project

Dec 1 2022

peter.smith accepted D138725: [compiler-rt] support armv4t.

Thanks for the updates LGTM too.

Dec 1 2022, 8:21 AM · Restricted Project, Restricted Project
peter.smith added a comment to D139097: [ARM] Add option --print-raw-value to llvm-nm to dump raw symbol values in case of ARM.

Which version of nm are you using? The arm-none-eabi-nm from the Arm GNU toolchain (at least in my GCC toolchain) strips off the bottom bit of Thumb STT_FUNC like llvm-nm. The x86_64 version does not and prints the value with the bottom bit set. As such I think that llvm-nm for Arm targets should match arm-non-eabi-nm. I guess if there is a way to pass a triple to llvm-nm that is non-Arm then it shouldn't strip the bottom bit.

Dec 1 2022, 7:21 AM · Restricted Project, Restricted Project

Nov 29 2022

peter.smith added a comment to D138725: [compiler-rt] support armv4t.

Code changes LGTM. I've made some suggestions for the comments and names.

Nov 29 2022, 10:22 AM · Restricted Project, Restricted Project
peter.smith accepted D138898: [Nomination] Adding Mozilla representative to security group.
Nov 29 2022, 6:35 AM · Restricted Project, Restricted Project

Nov 25 2022

peter.smith added a comment to D138725: [compiler-rt] support armv4t.

Will take a look next week. I think you should be able to get v5t support from the same changes as the overall Arm/Thumb instruction. That could be done in a follow up patch though.

Nov 25 2022, 10:09 AM · Restricted Project, Restricted Project

Oct 28 2022

peter.smith added a comment to D136385: Add support for MC/DC in LLVM Source-Based Code Coverage.

I've got about as far as the clang changes. As I mentioned in Discourse I'm not familiar enough in this area to give good feedback on the implementation, most if not all my comments fall under the bike shedding category. Will need to leave the high-level feedback to people that are more experienced in this area.

Oct 28 2022, 2:55 AM · Restricted Project, Restricted Project, Restricted Project, Restricted Project

Oct 24 2022

peter.smith accepted D136569: [ELF] Add --no-warnings/-w.

I think it makes sense as the first level of warning control and matching the GNU ld featureset is useful.

Oct 24 2022, 1:24 AM · Restricted Project, Restricted Project

Oct 21 2022

peter.smith accepted D136381: [ELF] Suppress "duplicate symbol" when resolving STB_WEAK and STB_GNU_UNIQUE in different COMDATs.

Is this symptomatic of a problem in Clang or GCC? It looks like they are not generating the same groups for the same source file which I would expect considering that both claim to implement the itanium ABI. I couldn't understand at first why the STB_GNU_UNIQUE symbols were not getting discarded as part of a non-prevailing group, however the clang and gcc (I used aarch64-none-linux-gnu-g++ (fsf-10.39) 10.1.1 20200629) generated groups have different signatures so we end up with two groups with one STB_GNU_UNIQUE and one STB_WEAK.

Oct 21 2022, 4:22 AM · Restricted Project, Restricted Project

Sep 23 2022

peter.smith accepted D134521: [AArch64] Enable FeatureFuseAdrpAdd for all cpus.

LGTM. I think all CPUs can benefit from the linker relaxation of the fused sequence. Worth leaving some time for any other reviewer to object.

Sep 23 2022, 1:45 AM · Restricted Project, Restricted Project

Sep 21 2022

peter.smith accepted D133679: [ELF] Parallelize --compress-debug-sections=zstd.

Thanks for the update. Code changes look good to me and are localised to ZSTD. Will be worth leaving a little bit of time for objections from other reviewers.

Sep 21 2022, 1:03 AM · Restricted Project, Restricted Project

Sep 20 2022

peter.smith added a comment to D133679: [ELF] Parallelize --compress-debug-sections=zstd.

I've left some comments based on a first read of the code. The code looks reasonable to me. I'm not in a position to mention if this gives bad peformance on Windows (if there is a ZSTD consumer on that platform anyway) though.

Sep 20 2022, 9:43 AM · Restricted Project, Restricted Project

Sep 14 2022

peter.smith added a comment to D131389: [AArch64] Add Missing v8.8a ALLINT PSTATE.

A reference I found helpful when looking at this in revision ia of the Arm ARM (https://developer.arm.com/documentation/ddi0487/ia/?lang=en) Instructions for accessing the PSTATE fields

CFINV ; Inverts the value of PSTATE.C
MSR DAIFSet, #Imm4 ; Used to set any or all of DAIF to 1
MSR DAIFClr, #Imm4 ; Used to clear any or all of DAIF to 0
MSR SPSel, #Imm4 ; Used to select the Stack Pointer, between SP_EL0 and SP_ELx
MSR UAO, #Imm4 ; Used to set the value of PSTATE.UAO
MSR PAN, #Imm4 ; Used to set the value of PSTATE.PAN
MSR DIT, #Imm4 ; Used to set the value of PSTATE.DIT
MSR SSBS, #Imm4 ; Used to set the value of PSTATE.SSBS
MSR TCO, #Imm4 ; Used to set the value of PSTATE.TCO
MSR ALLINT, #Imm1 ; Used to set the value of PSTATE.ALLINT
Sep 14 2022, 7:16 AM · Restricted Project, Restricted Project

Sep 12 2022

peter.smith added a comment to D133003: [ELF] Parallelize relocation scanning.

No objections from me. Some small suggestions for comments and a way that might catch someone using the relocs array before mergeRels has been called.

Sep 12 2022, 10:12 AM · Restricted Project, Restricted Project

Sep 9 2022

peter.smith accepted D133548: [ELF] Add --compress-debug-sections=zstd.

LGTM. I'm taking https://groups.google.com/g/generic-abi/c/satyPkuMisk as an acceptance that ELFCOMPRESS_ZSTD will make into ELF.

Sep 9 2022, 7:38 AM · Restricted Project, Restricted Project

Sep 1 2022

peter.smith accepted D133109: [LLVM][ARM] Remove options for armv2, 2A, 3 and 3M.

LGTM. GCC no longer supports Arm architecture prior to v4 so it is likely the alternative of adding support for v3 is not worth it. The only Arm machines running v2 are likely to be the Acorn Archimedes family, these have their own object file format so are unlikely to benefit from LLVM support.

Sep 1 2022, 8:19 AM · Restricted Project, Restricted Project, Restricted Project

Aug 31 2022

peter.smith accepted D128958: Add assembler plumbing for sanitize_memtag.

One really small comment, that is only a suggestion. This looks good to me. I've set approved, but please give a bit of time to see if there are any objections.

Aug 31 2022, 8:51 AM · Restricted Project, Restricted Project, Restricted Project
peter.smith added a comment to D128958: Add assembler plumbing for sanitize_memtag.

I can take a look from the perspective of the ABI, not too familiar with the implementation but will try my best. I'm running a bit behind schedule so it may be a few days before I can comment. Very happy if others want to approve, particularly on the implementation.

Aug 31 2022, 5:17 AM · Restricted Project, Restricted Project, Restricted Project
peter.smith accepted D132706: [Symbolizer] Handle {{{bt}}} symbolizer markup element..

Thanks for the updates. Looks good to me.

Aug 31 2022, 1:08 AM · Restricted Project, Restricted Project

Aug 30 2022

peter.smith added a comment to D132706: [Symbolizer] Handle {{{bt}}} symbolizer markup element..

Do you need to update the docs/SymbolizerMarkupFormat.rst to say that backtrace is now implemented?

Aug 30 2022, 10:12 AM · Restricted Project, Restricted Project

Aug 25 2022

peter.smith added inline comments to D132386: [AArch64][PAC] Lower auth/resign into checked sequence..
Aug 25 2022, 2:31 AM · Restricted Project, Restricted Project

Aug 24 2022

peter.smith added a comment to D131247: [ELF] Parallelize writes of different OutputSections.

On a M1 MacBook Air (8 GiB) using the lld speed test https://s3-us-west-2.amazonaws.com/linker-tests/lld-speed-test.tar.xz I didn't see any significant differences with the patch. Both Chromium and Clang GDB index were within a small fraction of a percentage faster. Mozilla showed the largest difference with the patch being about 3% faster. I think most of the results are that this doesn't make a lot of difference on an M1. Which isn't an ideal target to do benchmarking on, nor does it have many threads + some of the CPUs are efficiency cores. However it does at least show that this patch isn't going to harm results either.

Aug 24 2022, 7:33 AM · Restricted Project, Restricted Project
peter.smith added inline comments to D132386: [AArch64][PAC] Lower auth/resign into checked sequence..
Aug 24 2022, 3:00 AM · Restricted Project, Restricted Project
peter.smith added a comment to D131247: [ELF] Parallelize writes of different OutputSections.

Just to say, no objections so far. I don't have a lot of easy access to targets that haven't been benchmarked on already. One that I do have is an M1 Macbook Air. I should be able to cross-compile Clang for AArch64 ELF on that. Although not an ideal machine for benchmarking it may give some info on how this performs on Apple Silicon.

Aug 24 2022, 2:31 AM · Restricted Project, Restricted Project

Aug 17 2022

peter.smith added a comment to D128958: Add assembler plumbing for sanitize_memtag.

Thanks very much for writing the ABI doc. Will take a look and leave comments on the pull request.

Aug 17 2022, 1:29 AM · Restricted Project, Restricted Project, Restricted Project

Aug 11 2022

peter.smith added a comment to D131247: [ELF] Parallelize writes of different OutputSections.

Not a lot to add over what has already been said. IIUC we do have code to detect when an Output Section overlaps and the user has to explicitly choose --noinhibit-exec to force the write? I think that non-deterministic output is reasonable in that case. Perhaps --noinhibit-exec could imply --threads=1 if we were concerned about people relying on order of output.

Aug 11 2022, 1:31 AM · Restricted Project, Restricted Project

Aug 5 2022

peter.smith accepted D131115: [Symbolizer] Implement pc element in symbolizing filter..

Thanks for the explanation. LGTM. May be worth waiting a day or so to see if anyone else on the review has any further comments.

Aug 5 2022, 1:27 AM · Restricted Project, Restricted Project

Aug 4 2022

peter.smith added a comment to D131115: [Symbolizer] Implement pc element in symbolizing filter..

Implementation looks good to me. One quick question to clarify my understanding.

Aug 4 2022, 10:43 AM · Restricted Project, Restricted Project
peter.smith accepted D130187: [Symbolizer] Implement data symbolizer markup element..

Thanks for the update. Looks good to me.

Aug 4 2022, 2:07 AM · Restricted Project, Restricted Project