Page MenuHomePhabricator

ostannard (Oliver Stannard (Linaro))
User

Projects

User does not belong to any projects.

User Details

User Since
Apr 11 2019, 6:15 AM (76 w, 3 d)

Recent Activity

Tue, Sep 15

ostannard committed rG2744c2e29572: [libcxx] Disable failing test for no-exceptions build (authored by ostannard).
[libcxx] Disable failing test for no-exceptions build
Tue, Sep 15, 6:29 AM
ostannard closed D87682: [libcxx] Disable failing test for no-exceptions build.
Tue, Sep 15, 6:28 AM · Restricted Project
ostannard requested review of D87682: [libcxx] Disable failing test for no-exceptions build.
Tue, Sep 15, 3:44 AM · Restricted Project

Tue, Sep 8

ostannard accepted D72932: [ARM] Follow AACPS standard for volatile bit-fields access width.

LGTM

Tue, Sep 8, 8:26 AM · Restricted Project, Restricted Project
ostannard accepted D66012: [AArch64][Statepoints] Statepoint support for AArch64..

I don't know too much about statepoints or GC, but you have addressed all of @reames comments, and the AArch64 parts and code style look correct to me, so LGTM.

Tue, Sep 8, 2:31 AM · Restricted Project

Mon, Sep 7

ostannard added inline comments to D72932: [ARM] Follow AACPS standard for volatile bit-fields access width.
Mon, Sep 7, 6:07 AM · Restricted Project, Restricted Project

Aug 25 2020

ostannard accepted D86535: [AArch64][AsmParser] Fix bug in operand printer.

LGTM

Aug 25 2020, 6:34 AM · Restricted Project

Aug 7 2020

ostannard committed rGbe8b3f0c2204: [AArch64] Disable waitid.cpp test for AArch64 (authored by ostannard).
[AArch64] Disable waitid.cpp test for AArch64
Aug 7 2020, 2:42 AM

Aug 3 2020

ostannard added a comment to D69384: [HotColdSplit] Add unlikely attribute to outlined function.

This test case has been failing on many of the ARM and AArch64 bots all weekend, e.g. http://lab.llvm.org:8011/builders/clang-cmake-armv7-quick/builds/19408, would you mind looking into this?

Aug 3 2020, 6:54 AM · Restricted Project

Jul 21 2020

ostannard accepted D84227: [ARM] Fix Asm/Disasm of TBB/TBH instructions.

LGTM

Jul 21 2020, 8:20 AM · Restricted Project

Jul 17 2020

ostannard added a comment to D72932: [ARM] Follow AACPS standard for volatile bit-fields access width.

You haven't addressed my earlier inline comments.

Jul 17 2020, 2:27 AM · Restricted Project, Restricted Project

Jul 16 2020

ostannard accepted D83947: [ARM] halfword store hits llvm_unreachable with big-endian.

LGTM

Jul 16 2020, 8:48 AM · Restricted Project

Jul 14 2020

ostannard committed rG57909b0a53d8: [llvm-objdump] Add entry_value and stack_value opcodes (authored by ostannard).
[llvm-objdump] Add entry_value and stack_value opcodes
Jul 14 2020, 2:26 AM
ostannard committed rG1d7311e0524f: [llvm-objdump] Add simple memory expressions to variable display (authored by ostannard).
[llvm-objdump] Add simple memory expressions to variable display
Jul 14 2020, 2:26 AM
ostannard committed rGc15e04ee5e41: [DebugInfo] Add unit test for compact expression printer (authored by ostannard).
[DebugInfo] Add unit test for compact expression printer
Jul 14 2020, 2:26 AM
ostannard accepted D83685: [AArch64][AsmParser] Add rcpc support in .arch_extension.

LGTM

Jul 14 2020, 12:57 AM · Restricted Project

Jul 9 2020

ostannard committed rGdc4a6f5db4f0: [llvm-objdump] Display locations of variables alongside disassembly (authored by ostannard).
[llvm-objdump] Display locations of variables alongside disassembly
Jul 9 2020, 1:58 AM
ostannard closed D70720: [llvm-objdump] Display locations of variables alongside disassembly.
Jul 9 2020, 1:58 AM · debug-info, Restricted Project
ostannard added a comment to D70720: [llvm-objdump] Display locations of variables alongside disassembly.

This was blocked on D76291 for a while, but that is now committed, so I'll re-land this today.

Jul 9 2020, 1:11 AM · debug-info, Restricted Project

Jul 8 2020

ostannard committed rGa50c7ebfd0f0: [Support] Fix signed/unsigned comparison warning (authored by ostannard).
[Support] Fix signed/unsigned comparison warning
Jul 8 2020, 3:26 AM

Jul 6 2020

ostannard committed rGe80b81d1cbf8: [Support] Fix formatted_raw_ostream for UTF-8 (authored by ostannard).
[Support] Fix formatted_raw_ostream for UTF-8
Jul 6 2020, 8:29 AM
ostannard closed D76291: [Support] Fix formatted_raw_ostream for UTF-8.
Jul 6 2020, 8:29 AM · Restricted Project, Restricted Project

Jul 2 2020

ostannard updated the diff for D76291: [Support] Fix formatted_raw_ostream for UTF-8.
Jul 2 2020, 3:10 AM · Restricted Project, Restricted Project

Jun 24 2020

ostannard added a comment to D79785: [ARM] Register pressure with -mthumb forces register reload before each call.

That sounds very fragile - I can easily imagine future, unrelated changes removing that COPY, or emitting one in the case which doesn't currently have one, which would completely change the effect of this patch.

Jun 24 2020, 3:12 AM · Restricted Project

Jun 18 2020

ostannard added a comment to D79785: [ARM] Register pressure with -mthumb forces register reload before each call.

only if the register holding function's address got spilled

Jun 18 2020, 2:41 AM · Restricted Project

Jun 17 2020

ostannard accepted D81997: [AArch64] SLSHardening: compute correct thunk name for X29..

LGTM

Jun 17 2020, 8:03 AM · Restricted Project
ostannard accepted D75169: [ARM] Supporting lowering of half-precision FP arguments and returns in AArch32's backend.

I don't think it makes sense to make f16 legal for targets which don't have any arithmetic operations on it, since that would be contrary to the definition of "legal". I'd also expect doing so to introduce a lot more complexity than this patch.

Jun 17 2020, 6:26 AM · Restricted Project, Restricted Project
ostannard added inline comments to D81997: [AArch64] SLSHardening: compute correct thunk name for X29..
Jun 17 2020, 3:12 AM · Restricted Project

Jun 16 2020

ostannard added a comment to D79785: [ARM] Register pressure with -mthumb forces register reload before each call.

I'd expect to see some extra checks to decide if reverting the indirect-call optimisation is profitable or not. If the loaded address is used more than three times, without being spilled, then I think it's better to leave the calls as indirect ones. If you don't think this is ever likely to be worthwhile for thumb 1, then it would be better to modify ARMTargetLowering::LowerCall to not do the transformation in the first place.

Jun 16 2020, 6:37 AM · Restricted Project
ostannard accepted D81860: [ARM] Fix crash trying to generate i1 immediates.

LGTM

Jun 16 2020, 1:36 AM · Restricted Project

Jun 15 2020

ostannard accepted D81746: [AArch64] Fix BTI instruction emission..

LGTM

Jun 15 2020, 4:19 AM · Restricted Project

Jun 12 2020

ostannard accepted D81428: [ARM] Moving CMSE handling of half arguments and return to the backend.

LGTM

Jun 12 2020, 2:08 AM · Restricted Project, Restricted Project

Jun 10 2020

ostannard accepted D81405: [AArch64] Avoid incompatibility between SLSBLR mitigation and BTI codegen..

I think we could make this conditional based on whether the caller has BTI enabled, because:

  • If the caller has BTI enabled, then we correctly use X16 for a BTI callee, or wastefully (but still with correct behaviour) use X16 for a non-BTI callee.
  • If the caller has BTI disabled, then it must be in a page with BTI disabled, and so is able to use BR with any register, even if the destination is BTI-protected.
Jun 10 2020, 8:43 AM · Restricted Project
ostannard accepted D81402: [AArch64] Extend AArch64SLSHardeningPass to harden BLR instructions..

LGTM, with some comments which can be addressed later given the time-sensitivity of this.

Jun 10 2020, 8:43 AM · Restricted Project
ostannard accepted D81556: [ARM] VCVTT instruction selection.

LGTM. Maybe we should rename MQPR and DPR_VFP2 since they're not really specific to those architectures, but obviously not in this patch.

Jun 10 2020, 6:34 AM · Restricted Project
ostannard added a comment to D81428: [ARM] Moving CMSE handling of half arguments and return to the backend.

Is this expected to work for the soft-float calling convention, or is clang still passing half-precision values as integer types for that? If the former, then this needs some tests for that case.

Jun 10 2020, 2:41 AM · Restricted Project, Restricted Project
ostannard accepted D81451: [ARM][Clang] Removing lowering of half-precision FP arguments and returns from Clang's CodeGen.

LGTM, thanks for working on this patch series, this looks much clearer than doing it in clang.

Jun 10 2020, 2:41 AM · Restricted Project
ostannard accepted D81400: [AArch64] Introduce AArch64SLSHardeningPass, implementing hardening of RET and BR instructions..

LGTM

Jun 10 2020, 2:08 AM · Restricted Project

Jun 8 2020

ostannard added a comment to D81405: [AArch64] Avoid incompatibility between SLSBLR mitigation and BTI codegen..

I have the same concern as in D81402: will this still work if the call to the thunk goes through a long-branch veneer or PLT, which could clobber x16 and x17?

Jun 8 2020, 10:29 AM · Restricted Project
ostannard accepted D81404: [AArch64] Add clang command line support for -mharden-sls=.

LGTM, inline comment could be done as a follow-up patch given that this is time-sensitive (recently published security vulnerability).

Jun 8 2020, 9:56 AM · Restricted Project
ostannard added a comment to D81402: [AArch64] Extend AArch64SLSHardeningPass to harden BLR instructions..

A few nits, but given the time sensitivity of this the only blocking one is how this will work with PLTs or long-branch veneers,

Jun 8 2020, 9:56 AM · Restricted Project
ostannard accepted D81401: [NFC] Refactor ThunkInserter to make it available for all targets..

LGTM

Jun 8 2020, 9:22 AM · Restricted Project
ostannard added a comment to D81400: [AArch64] Introduce AArch64SLSHardeningPass, implementing hardening of RET and BR instructions..

The pre-commit test failures are in the newly added test, so need to be fixed before this can be committed. My inline comments could be addressed as follow up patches given that this is related to a recently-published security vulnerability.

Jun 8 2020, 9:22 AM · Restricted Project
ostannard accepted D81399: [AArch64] Fix branch, terminator, etc properties for BRA* instructions..

LGTM

Jun 8 2020, 9:22 AM · Restricted Project
ostannard added inline comments to D80928: [BFloat] Add convert/copy instrinsic support.
Jun 8 2020, 4:51 AM · Restricted Project, Restricted Project
ostannard added a comment to D81373: [ARM] Basic bfloat support.

Since this patch adds loads, stores, moves and the calling convention, couldn't those be tested here, without waiting for intrinsics?

Jun 8 2020, 4:51 AM · Restricted Project
ostannard accepted D81257: [AArch64] Allow BTI mnemonics in the HINT space with BTI disabled.

LGTM

Jun 8 2020, 4:51 AM · Restricted Project

Jun 4 2020

ostannard added a comment to D80629: [yaml2obj] - Allocate the file space for SHT_NOBITS sections in some cases..

This is causing the 32-bit ARM bots to fail test tools/obj2yaml/ELF/program-headers.yaml. It looks like an out of memory error, but it has been happening consistently for a large number of builds now, and looks related to this change.

Jun 4 2020, 2:40 AM · Restricted Project

May 28 2020

ostannard accepted D79711: [ARM] Add poly64_t on AArch32..

Ok, LGTM.

May 28 2020, 7:02 AM · Restricted Project

May 27 2020

ostannard accepted D80573: [zorg] Update container-based Linaro slaves.

LGTM

May 27 2020, 7:00 AM
ostannard added inline comments to D80573: [zorg] Update container-based Linaro slaves.
May 27 2020, 1:35 AM

May 26 2020

ostannard added a comment to D79711: [ARM] Add poly64_t on AArch32..

Should poly128_t be available on AArch32 too? I don't see anything in the ACLE version you linked restricting it to AArch64 only, and the intrinsics reference has a number of intrinsics available for both ISAs using it.

May 26 2020, 5:22 AM · Restricted Project

May 22 2020

ostannard accepted D79706: [CodeGen][BFloat] Add bfloat MVT type.

LGTM

May 22 2020, 4:45 AM · Restricted Project

May 21 2020

ostannard accepted D78634: AArch64: materialize large stack offset into xzr correctly..

LGTM

May 21 2020, 5:22 AM · Restricted Project

May 20 2020

ostannard accepted D79721: [Clang][AArch64] Capturing proper pointer alignment for Neon vld1 intrinsicts.

LGTM

May 20 2020, 4:18 AM · Restricted Project

May 19 2020

ostannard added a comment to D80028: [AArch64] Support expression results as immediate values in mov.
  • Testing that the expression is the subtraction of two SymbolRefs seems needlessly restrictive, could we accept any expression, and reject it in the AsmBackend if it can't be fully resolved or converted to a relocation?
  • Does this check that the value fits into a 16 bit immediate? The GNU assembler also seems to accept expressions which fit into a MOVZ/MOVN with a shift, though I can't see that being very useful for expressions involving symbol addresses.
  • This needs tests.
May 19 2020, 9:16 AM · Restricted Project

Apr 22 2020

ostannard added a comment to D78634: AArch64: materialize large stack offset into xzr correctly..

Actually, if the destination is XZR, the adds won't have any effect, so surely we don't need to emit any instructions? Could we just early-return without emitting anything if DestReg == XZR?

Apr 22 2020, 7:00 AM · Restricted Project
ostannard added inline comments to D78634: AArch64: materialize large stack offset into xzr correctly..
Apr 22 2020, 7:00 AM · Restricted Project
ostannard closed D78620: [LNT] Update to match API change in PIP.

Committed as 5acafc540ad61c4cab90fbe3323c795d5210b72f.

Apr 22 2020, 5:55 AM
ostannard created D78620: [LNT] Update to match API change in PIP.
Apr 22 2020, 2:40 AM

Apr 20 2020

ostannard committed rG78fe93030f55: [LSan] Disable a failing test on ARM (authored by ostannard).
[LSan] Disable a failing test on ARM
Apr 20 2020, 10:17 AM
ostannard closed D78496: [LSan] Disable a failing test on ARM.
Apr 20 2020, 10:17 AM · Restricted Project
ostannard accepted D78372: [AArch64] Allow PAC mnemonics in the HINT space with PAC disabled.

It would be nice to also print the mnemonic as a comment on the hint instruction, as these will commonly show up in compiled code. It looks like AArch64InstPrinter has access to a CommentStream which could be used for this.

Apr 20 2020, 9:43 AM · Restricted Project
ostannard created D78496: [LSan] Disable a failing test on ARM.
Apr 20 2020, 8:05 AM · Restricted Project
ostannard added a reviewer for D76291: [Support] Fix formatted_raw_ostream for UTF-8: kristof.beyls.

Ping.

Apr 20 2020, 6:25 AM · Restricted Project, Restricted Project

Apr 9 2020

ostannard added a comment to D76291: [Support] Fix formatted_raw_ostream for UTF-8.

Ping.

Apr 9 2020, 3:13 AM · Restricted Project, Restricted Project
ostannard created D77783: [MachineVerifier] Relax verifier for predicated returns.
Apr 9 2020, 2:40 AM · Restricted Project
ostannard added a comment to D69936: [IPRA][ARM] Spill extra registers at -Oz.

I think the failure was a bug in the machine verifier: D77783.

Apr 9 2020, 2:40 AM · Restricted Project

Apr 6 2020

ostannard accepted D76849: [ARM] unwinding .pad instructions missing in execute-only prologue.

LGTM

Apr 6 2020, 6:27 AM · Restricted Project
ostannard committed rGa294d9eb2152: Revert "[IPRA][ARM] Spill extra registers at -Oz" (authored by ostannard).
Revert "[IPRA][ARM] Spill extra registers at -Oz"
Apr 6 2020, 2:41 AM
ostannard added a reverting change for rG73cea83a6f5a: [IPRA][ARM] Spill extra registers at -Oz: rGa294d9eb2152: Revert "[IPRA][ARM] Spill extra registers at -Oz".
Apr 6 2020, 2:41 AM

Apr 2 2020

ostannard committed rGaf39151f3c54: Revert "[lld] Initial commit for new Mach-O backend" (authored by ostannard).
Revert "[lld] Initial commit for new Mach-O backend"
Apr 2 2020, 5:24 AM
ostannard added a reverting change for rG03f43b3aca36: [lld] Initial commit for new Mach-O backend: rGaf39151f3c54: Revert "[lld] Initial commit for new Mach-O backend".
Apr 2 2020, 5:24 AM
ostannard added a comment to D69936: [IPRA][ARM] Spill extra registers at -Oz.

Thanks for the reproducer, I'll look into this.

Apr 2 2020, 5:23 AM · Restricted Project

Apr 1 2020

ostannard added a comment to rG03f43b3aca36: [lld] Initial commit for new Mach-O backend.

This is causing a compile failure on the 32-bit ARM bots:

Apr 1 2020, 1:40 AM

Mar 31 2020

ostannard accepted D76998: [ARM] add ARMv8.6-A Activity monitors virtualization extension.

LGTM

Mar 31 2020, 9:22 AM · Restricted Project
ostannard added inline comments to D76998: [ARM] add ARMv8.6-A Activity monitors virtualization extension.
Mar 31 2020, 2:10 AM · Restricted Project

Mar 30 2020

ostannard added inline comments to D76998: [ARM] add ARMv8.6-A Activity monitors virtualization extension.
Mar 30 2020, 5:55 AM · Restricted Project
ostannard created D77051: [test-suite] Work around undefined behaviour in lencod.
Mar 30 2020, 4:50 AM

Mar 25 2020

ostannard added inline comments to D76518: [ARM] CMSE code generation.
Mar 25 2020, 8:37 AM · Restricted Project

Mar 23 2020

ostannard added a comment to D6379: Only warn about DWARF2 supporting one section per compilation unit for code sections.

It looks like the issues this is warning about isn't the .debug_line section, but the DW_AT_low/high_pc attributes of the compilation unit DIE. With DWARF3 we can emit a DW_AT_ranges attribute instead, but that didn't exist in DWARF2.

Mar 23 2020, 4:53 AM

Mar 19 2020

ostannard closed D69906: [ARM] Track epilogue instructions with FrameDestroy flag (NFC).

Committed as rG6739805e24

Mar 19 2020, 3:11 AM · Restricted Project

Mar 18 2020

ostannard updated the diff for D76291: [Support] Fix formatted_raw_ostream for UTF-8.
Mar 18 2020, 9:14 AM · Restricted Project, Restricted Project
ostannard committed rG73cea83a6f5a: [IPRA][ARM] Spill extra registers at -Oz (authored by ostannard).
[IPRA][ARM] Spill extra registers at -Oz
Mar 18 2020, 7:04 AM
ostannard closed D69936: [IPRA][ARM] Spill extra registers at -Oz.
Mar 18 2020, 7:03 AM · Restricted Project
ostannard committed rG6739805e24cd: [ARM] Track epilogue instructions with FrameDestroy flag (NFC) (authored by ostannard).
[ARM] Track epilogue instructions with FrameDestroy flag (NFC)
Mar 18 2020, 7:03 AM
ostannard accepted D74619: [ARM] Enabling range checks on Neon intrinsics' lane arguments.

I agree with @dnsampaio here, it's better to match the existing style, and avoid irrelevant churn in the git history.

Mar 18 2020, 6:30 AM · Restricted Project
ostannard updated the diff for D76291: [Support] Fix formatted_raw_ostream for UTF-8.
  • I managed to reproduce the lsl-zero.s test failure on windows, this turned out to be because the test merges stdout and stderr, which can result in them being interleaved in ways which breaks tests. The test doesn't check anything in stderr, so fixed by redirecting that to /dev/null.
  • The unit test was failing when built with MSVC, fixed by explicitly using UTF-8 string literals.
Mar 18 2020, 4:18 AM · Restricted Project, Restricted Project
ostannard added inline comments to D76291: [Support] Fix formatted_raw_ostream for UTF-8.
Mar 18 2020, 4:18 AM · Restricted Project, Restricted Project

Mar 17 2020

ostannard created D76291: [Support] Fix formatted_raw_ostream for UTF-8.
Mar 17 2020, 9:05 AM · Restricted Project, Restricted Project
ostannard added a comment to D70720: [llvm-objdump] Display locations of variables alongside disassembly.

See D76291 for that split-put patch.

Mar 17 2020, 9:05 AM · debug-info, Restricted Project
ostannard added a comment to D70720: [llvm-objdump] Display locations of variables alongside disassembly.

@thakis, thanks for reverting, sorry I wasn't more proactive about that yesterday.

Mar 17 2020, 7:25 AM · debug-info, Restricted Project

Mar 16 2020

ostannard added a comment to D70720: [llvm-objdump] Display locations of variables alongside disassembly.

My reply by email doesn't seem to have made it into phab, so repeating here (sorry for spamming everyone who did get the email):

Mar 16 2020, 10:55 AM · debug-info, Restricted Project
ostannard added a comment to D69906: [ARM] Track epilogue instructions with FrameDestroy flag (NFC).

The pre-commit test failure is also failing on the buildbots, not related to this patch.

Mar 16 2020, 6:59 AM · Restricted Project
ostannard added a comment to D70720: [llvm-objdump] Display locations of variables alongside disassembly.

I forgot to restrict the new tests to only run when the relevant disassembler is built, should be fixed by rG161f70eae6cd and rG2878c6693875.

Mar 16 2020, 6:26 AM · debug-info, Restricted Project
ostannard committed rGf4cb9c919e28: Disable llvm-objdump --debug-vars tests on Windows (authored by ostannard).
Disable llvm-objdump --debug-vars tests on Windows
Mar 16 2020, 5:53 AM
ostannard committed rG2878c6693875: Don't run PowerPC objdump tests when PowerPC backend not built (authored by ostannard).
Don't run PowerPC objdump tests when PowerPC backend not built
Mar 16 2020, 5:17 AM
ostannard created D76225: [llvm-objdump] Add constant value opcodes to variable display.
Mar 16 2020, 5:17 AM · Restricted Project
ostannard created D76223: [llvm-objdump] Add frame register opcode to variable display.
Mar 16 2020, 5:17 AM · Restricted Project
ostannard created D76224: [llvm-objdump] Add call_frame_cfa locations to variable display.
Mar 16 2020, 5:17 AM · Restricted Project