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 (93 w, 21 m)

Recent Activity

Fri, Jan 15

ostannard closed D94167: [ARM][GISel] Treat calls as variadic even if only fixed arguments provided.

Committed as rG3676ef1053.

Fri, Jan 15, 1:37 AM · Restricted Project
ostannard committed rG3676ef105389: [ARM][GISel] Treat calls as variadic even if only fixed arguments provided (authored by ostannard).
[ARM][GISel] Treat calls as variadic even if only fixed arguments provided
Fri, Jan 15, 1:37 AM

Thu, Jan 14

ostannard added reviewers for D94167: [ARM][GISel] Treat calls as variadic even if only fixed arguments provided: yroux, DavidSpickett.

Ping.

Thu, Jan 14, 8:27 AM · Restricted Project

Thu, Jan 7

ostannard added a comment to rG9b228f107d43: [llvm] Use BasicBlock::phis() (NFC).

This is causing compiler crashes during the second stage of the 2-stage buildbots (e.g. http://lab.llvm.org:8011/#/builders/7/builds/1140), so I've reverted it in rG76f6b125cef1.

Thu, Jan 7, 1:46 AM
ostannard added a reverting change for rG9b228f107d43: [llvm] Use BasicBlock::phis() (NFC): rG76f6b125cef1: Revert "[llvm] Use BasicBlock::phis() (NFC)".
Thu, Jan 7, 1:45 AM
ostannard committed rG76f6b125cef1: Revert "[llvm] Use BasicBlock::phis() (NFC)" (authored by ostannard).
Revert "[llvm] Use BasicBlock::phis() (NFC)"
Thu, Jan 7, 1:45 AM

Wed, Jan 6

ostannard requested review of D94167: [ARM][GISel] Treat calls as variadic even if only fixed arguments provided.
Wed, Jan 6, 4:18 AM · Restricted Project
ostannard added a reverting change for rGb7718b617557: Reland D93848 "[sanitizer] Define SANITIZER_GLIBC to refine SANITIZER_LINUX…: rG4839378ca05f: Revert "[sanitizer] Define SANITIZER_GLIBC to refine SANITIZER_LINUX feature….
Wed, Jan 6, 2:33 AM
ostannard committed rG4839378ca05f: Revert "[sanitizer] Define SANITIZER_GLIBC to refine SANITIZER_LINUX feature… (authored by ostannard).
Revert "[sanitizer] Define SANITIZER_GLIBC to refine SANITIZER_LINUX feature…
Wed, Jan 6, 2:33 AM
ostannard added a reverting change for D93848: [sanitizer] Define SANITIZER_GLIBC to refine SANITIZER_LINUX feature detection and support musl: rG4839378ca05f: Revert "[sanitizer] Define SANITIZER_GLIBC to refine SANITIZER_LINUX feature….
Wed, Jan 6, 2:33 AM · Restricted Project, Restricted Project
ostannard added a comment to D93848: [sanitizer] Define SANITIZER_GLIBC to refine SANITIZER_LINUX feature detection and support musl.

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

Wed, Jan 6, 2:33 AM · Restricted Project, Restricted Project
ostannard closed D94085: [simd_ops] Build tests with -fpic.

Committed as 224328460d75e1fa16a23901b3aa494b89e0a842.

Wed, Jan 6, 1:46 AM · Restricted Project

Tue, Jan 5

ostannard requested review of D94085: [simd_ops] Build tests with -fpic.
Tue, Jan 5, 6:22 AM · Restricted Project

Dec 18 2020

ostannard accepted D93221: [ARM] Add clang command line support for -mharden-sls=.

Ok, LGTM

Dec 18 2020, 9:40 AM · Restricted Project
ostannard accepted D92469: [ARM] harden-sls-blr: avoid r12 and lr in indirect calls.

LGTM

Dec 18 2020, 6:20 AM · Restricted Project
ostannard accepted D92468: [ARM] Harden indirect calls against SLS.

LGTM

Dec 18 2020, 6:19 AM · Restricted Project
ostannard accepted D92395: [ARM] Implement harden-sls-retbr for ARM mode.

LGTM

Dec 18 2020, 6:18 AM · Restricted Project
ostannard accepted D92574: [AArch64] Add support for ls64 to the .arch_extension asm directive.

LGTM

Dec 18 2020, 6:17 AM · Restricted Project
ostannard accepted D93538: [AArch64] Updating .arch_extension negative tests.

LGTM

Dec 18 2020, 6:16 AM · Restricted Project
ostannard added inline comments to D92574: [AArch64] Add support for ls64 to the .arch_extension asm directive.
Dec 18 2020, 1:42 AM · Restricted Project
ostannard accepted D92391: [AArch64] Add support for the SPE-EEF feature.

LGTM

Dec 18 2020, 1:36 AM · Restricted Project
ostannard accepted D92389: [AArch64] Add support for the Branch Record Buffer extension.

LGTM

Dec 18 2020, 1:35 AM · Restricted Project

Dec 17 2020

ostannard accepted D93231: [ARM] Adding v8.7-A command-line support for the ARM target.

LGTM

Dec 17 2020, 2:43 AM · Restricted Project, Restricted Project
ostannard accepted D91772: [ARM][AArch64] Adding basic support for the v8.7-A architecture.

LGTM

Dec 17 2020, 2:41 AM · Restricted Project
ostannard added a comment to D93221: [ARM] Add clang command line support for -mharden-sls=.

Why is this restricted to v7-A or later? The DSB and ISB instructions have existed since v6T2 and v6M.

Dec 17 2020, 2:40 AM · Restricted Project
ostannard added inline comments to D92469: [ARM] harden-sls-blr: avoid r12 and lr in indirect calls.
Dec 17 2020, 2:27 AM · Restricted Project
ostannard added inline comments to D92468: [ARM] Harden indirect calls against SLS.
Dec 17 2020, 2:12 AM · Restricted Project
ostannard accepted D92396: [ARM] Implement harden-sls-retbr for Thumb mode.

LGTM

Dec 17 2020, 1:47 AM · Restricted Project
ostannard added inline comments to D92395: [ARM] Implement harden-sls-retbr for ARM mode.
Dec 17 2020, 1:41 AM · Restricted Project

Dec 8 2020

ostannard added a comment to D91772: [ARM][AArch64] Adding basic support for the v8.7-A architecture.

The code changes look good, but this is missing tests for the new TLBI operands..

Dec 8 2020, 3:38 AM · Restricted Project
ostannard accepted D92388: [NFC][AArch64] Capturing multiple feature requirements in AsmParser messages.

LGTM

Dec 8 2020, 3:28 AM · Restricted Project

Dec 7 2020

ostannard committed rG7d04e70627aa: [Lit] Fix flaky test on heavily loaded bots (authored by ostannard).
[Lit] Fix flaky test on heavily loaded bots
Dec 7 2020, 1:06 AM
ostannard closed D92563: [Lit] Fix flaky test on heavily loaded bots.
Dec 7 2020, 1:06 AM · Restricted Project

Dec 3 2020

ostannard requested review of D92563: [Lit] Fix flaky test on heavily loaded bots.
Dec 3 2020, 3:01 AM · Restricted Project

Nov 19 2020

ostannard added inline comments to D91773: [AArch64] Add SubtargetFeatures for v8.7-A options.
Nov 19 2020, 5:28 AM · Restricted Project
ostannard accepted D91775: [AArch64] Adding the v8.7-A LD64B/ST64B Accelerator extension.

LGTM with one minor comment.

Nov 19 2020, 5:27 AM · Restricted Project
ostannard accepted D91774: [AArch64] Add a GPR64x8 register class.

LGTM

Nov 19 2020, 5:23 AM · Restricted Project
ostannard added a comment to D91772: [ARM][AArch64] Adding basic support for the v8.7-A architecture.

The pre-commit test failures look relevant, so should be investigated.

Nov 19 2020, 3:30 AM · Restricted Project
ostannard accepted D91776: [ARM][AAarch64] Initial command-line support for v8.7-A.

LGTM

Nov 19 2020, 3:11 AM · Restricted Project, Restricted Project
ostannard added inline comments to D91773: [AArch64] Add SubtargetFeatures for v8.7-A options.
Nov 19 2020, 3:05 AM · Restricted Project
ostannard accepted D91771: [NFC][AArch64] Move AArch64 MSR/MRS into a new decoder namespace.

LGTM

Nov 19 2020, 2:50 AM · Restricted Project
ostannard accepted D91733: [compiler-rt] [builtins] Use _Float16 on extendhfsf2, truncdfhf2 __truncsfhf2 if available.

LGTM

Nov 19 2020, 1:48 AM · Restricted Project
ostannard accepted D91732: [compiler-rt] [builtins] Support conversion between fp16 and fp128.

Also, __fp16 is a storage format and promoted to 'float' for argument passing

Nov 19 2020, 1:43 AM · Restricted Project
ostannard accepted D91731: [AArch64] Lower fptrunc/fpext from/to FP128t to/from FP16.

LGTM

Nov 19 2020, 1:23 AM · Restricted Project

Nov 18 2020

ostannard added a comment to D90175: [AArch64] Support conversion between fp16 and fp128.

They are enabled iff the compiler supports _Float16.

Nov 18 2020, 1:47 AM · Restricted Project, Restricted Project

Nov 6 2020

ostannard accepted D90918: [Arm][MC] Remove unused prefixes in .arch_extension fp tests.

LGTM

Nov 6 2020, 6:28 AM · Restricted Project
ostannard accepted D90913: [AArch64][MC] Remove unused prefix in v8.4-a trace test.

LGTM

Nov 6 2020, 1:54 AM · Restricted Project

Oct 27 2020

ostannard added a comment to D90153: [AArch64][AsmParser] Remove 'x31' alias for 'sp/xzr' register..

I'm not aware of any official policy about this, but I don't think it's worth going through a multi-release deprecation process for something which is called out in the architecture manual as not valid.

Oct 27 2020, 7:47 AM · Restricted Project
ostannard accepted D90153: [AArch64][AsmParser] Remove 'x31' alias for 'sp/xzr' register..

Using x31 is confusing and not compatible with the GNU assembler, which are both god reasons to reject it. Also, the only occurrence of x31 in the architecture manual is this:

Oct 27 2020, 2:26 AM · Restricted Project

Oct 12 2020

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

LGTM

Oct 12 2020, 9:35 AM · Restricted Project, Restricted Project

Oct 8 2020

ostannard added inline comments to D88880: [IndVarSimplify] Add loop-flattening.
Oct 8 2020, 7:58 AM · Restricted Project
ostannard added inline comments to D88880: [IndVarSimplify] Add loop-flattening.
Oct 8 2020, 6:41 AM · Restricted Project
ostannard added inline comments to D72932: [ARM] Follow AACPS standard for volatile bit-fields access width.
Oct 8 2020, 6:13 AM · Restricted Project, Restricted Project

Oct 2 2020

ostannard accepted D88660: [AArch64] Add CPU Cortex-R82.

LGTM, but please split the unrelated change out into a separate patch.

Oct 2 2020, 3:00 AM · Restricted Project, Restricted Project

Sep 15 2020

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

Sep 8 2020

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

LGTM

Sep 8 2020, 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.

Sep 8 2020, 2:31 AM · Restricted Project

Sep 7 2020

ostannard added inline comments to D72932: [ARM] Follow AACPS standard for volatile bit-fields access width.
Sep 7 2020, 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