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 (26 w, 6 d)

Recent Activity

Fri, Oct 11

ostannard committed rG9f6a873268e1: Dead Virtual Function Elimination (authored by ostannard).
Dead Virtual Function Elimination
Fri, Oct 11, 5:14 AM
ostannard closed D63932: [GlobalDCE] Dead Virtual Function Elimination.
Fri, Oct 11, 5:10 AM · Restricted Project, Restricted Project
ostannard committed rL374539: Dead Virtual Function Elimination.
Dead Virtual Function Elimination
Fri, Oct 11, 5:08 AM

Thu, Oct 10

ostannard added a comment to D63932: [GlobalDCE] Dead Virtual Function Elimination.

Ping

Thu, Oct 10, 3:19 AM · Restricted Project, Restricted Project
ostannard committed rG4f454b227545: [IfCvt][ARM] Optimise diamond if-conversion for code size (authored by ostannard).
[IfCvt][ARM] Optimise diamond if-conversion for code size
Thu, Oct 10, 3:01 AM
ostannard closed D67350: [IfCvt][ARM] Optimise diamond if-conversion for code size.
Thu, Oct 10, 3:01 AM · Restricted Project
ostannard committed rL374301: [IfCvt][ARM] Optimise diamond if-conversion for code size.
[IfCvt][ARM] Optimise diamond if-conversion for code size
Thu, Oct 10, 3:01 AM

Wed, Oct 9

ostannard added a comment to D67350: [IfCvt][ARM] Optimise diamond if-conversion for code size.

Ping

Wed, Oct 9, 2:47 AM · Restricted Project

Mon, Oct 7

ostannard added a comment to D57529: Add .dword direcrive support for aarch64 mc.

A patch adding the same functionality was added back in May: D61719, rL360381.

Mon, Oct 7, 3:34 AM · Restricted Project

Thu, Oct 3

ostannard added a comment to D63932: [GlobalDCE] Dead Virtual Function Elimination.

Ping

Thu, Oct 3, 2:37 AM · Restricted Project, Restricted Project

Tue, Oct 1

ostannard accepted D68241: [ARM] Identity shuffles are legal.

LGTM

Tue, Oct 1, 5:23 AM · Restricted Project
ostannard added a comment to D67350: [IfCvt][ARM] Optimise diamond if-conversion for code size.

Ping

Tue, Oct 1, 4:03 AM · Restricted Project

Mon, Sep 23

ostannard added a comment to D63932: [GlobalDCE] Dead Virtual Function Elimination.

This makes the IR self-contained, which is good, but it also make the interpretation of the IR modal, which isn't great. It means that suddenly the rules of interpretation of what is valid to do or not changes according to this module flag.

Mon, Sep 23, 3:47 PM · Restricted Project, Restricted Project

Fri, Sep 20

ostannard accepted D67741: [MTE] Handle MTE instructions in AArch64LoadStoreOptimizer..

LGTM

Fri, Sep 20, 2:36 AM · Restricted Project

Thu, Sep 19

ostannard added inline comments to D67741: [MTE] Handle MTE instructions in AArch64LoadStoreOptimizer..
Thu, Sep 19, 2:55 AM · Restricted Project
ostannard added a comment to D63932: [GlobalDCE] Dead Virtual Function Elimination.

Ping

Thu, Sep 19, 1:48 AM · Restricted Project, Restricted Project

Tue, Sep 17

ostannard added a comment to D67350: [IfCvt][ARM] Optimise diamond if-conversion for code size.

Ping.

Tue, Sep 17, 6:32 AM · Restricted Project

Sep 16 2019

ostannard accepted D67375: [ARM] VFPv2 only supports 16 D registers..

LGTM

Sep 16 2019, 2:21 AM · Restricted Project
ostannard accepted D67467: [ARM] Update clang for removal of vfp2d16 and vfp2d16sp.

LGTM

Sep 16 2019, 2:21 AM · Restricted Project, Restricted Project

Sep 12 2019

ostannard added a comment to D63932: [GlobalDCE] Dead Virtual Function Elimination.

Ping

Sep 12 2019, 3:13 AM · Restricted Project, Restricted Project

Sep 11 2019

ostannard accepted D67160: [clang,ARM] Default to -fno-lax-vector-conversions in ARM v8.1-M..

LGTM

Sep 11 2019, 6:31 AM · Restricted Project
ostannard added a comment to D67375: [ARM] VFPv2 only supports 16 D registers..

This patch looks good, but presumably needs the clang half to be committed at the same time?

Sep 11 2019, 6:15 AM · Restricted Project

Sep 10 2019

ostannard updated the diff for D67350: [IfCvt][ARM] Optimise diamond if-conversion for code size.
  • Limit to minsize (-Oz)
  • Count common instructions at the start of the true/false blocks
  • Non-analyzable branches and branches in forked diamonds will be merged, not removed
Sep 10 2019, 4:00 AM · Restricted Project
ostannard added inline comments to D67350: [IfCvt][ARM] Optimise diamond if-conversion for code size.
Sep 10 2019, 3:54 AM · Restricted Project
ostannard added inline comments to D67350: [IfCvt][ARM] Optimise diamond if-conversion for code size.
Sep 10 2019, 3:34 AM · Restricted Project

Sep 9 2019

ostannard created D67350: [IfCvt][ARM] Optimise diamond if-conversion for code size.
Sep 9 2019, 5:45 AM · Restricted Project
ostannard accepted D67169: [ARM] Prevent generating NEON stack accesses under MVE..

LGTM

Sep 9 2019, 2:13 AM · Restricted Project
ostannard committed rG6b9aedaec681: [ARM][MVE] Decoding of uqrshl and sqrshl accepts unpredictable encodings (authored by ostannard).
[ARM][MVE] Decoding of uqrshl and sqrshl accepts unpredictable encodings
Sep 9 2019, 1:58 AM
ostannard committed rL371374: [ARM][MVE] Decoding of uqrshl and sqrshl accepts unpredictable encodings.
[ARM][MVE] Decoding of uqrshl and sqrshl accepts unpredictable encodings
Sep 9 2019, 1:49 AM
ostannard closed D66939: [ARM][MVE] Decoding of uqrshl and sqrshl accepts unpredictable encodings.
Sep 9 2019, 1:49 AM · Restricted Project
ostannard accepted D67214: [ARM] Remove some spurious MVE reduction instructions..

LGTM

Sep 9 2019, 1:21 AM · Restricted Project
ostannard accepted D66939: [ARM][MVE] Decoding of uqrshl and sqrshl accepts unpredictable encodings.

LGTM. Do you have commit access, or should I commit this for you?

Sep 9 2019, 1:12 AM · Restricted Project

Sep 6 2019

ostannard committed rL371188: Request commit access for olista01.
Request commit access for olista01
Sep 6 2019, 2:40 AM
ostannard committed rL371186: Request commit access for ostannard.
Request commit access for ostannard
Sep 6 2019, 2:40 AM

Sep 5 2019

ostannard requested changes to D67216: [cfi] Add flag to always generate .debug_frame.

Does the name of the -falways-need-cfi option match any existing compiler (google doesn't find anything)? If not, I think it would make more sense as a -g option, as it's similar to -gline-tables-only.

Sep 5 2019, 2:56 AM · Restricted Project, Restricted Project

Sep 4 2019

ostannard requested changes to D67160: [clang,ARM] Default to -fno-lax-vector-conversions in ARM v8.1-M..

Test?

Sep 4 2019, 6:39 AM · Restricted Project

Sep 3 2019

ostannard accepted D65863: [ARM] Add support for the s,j,x,N,O inline asm constraints.

LGTM with one small change.

Sep 3 2019, 5:24 AM · Restricted Project, Restricted Project
ostannard committed rG3be2df2418ee: [ARM][MVE] Decoding of VMSR doesn't diagnose some unpredictable encodings (authored by ostannard).
[ARM][MVE] Decoding of VMSR doesn't diagnose some unpredictable encodings
Sep 3 2019, 2:55 AM
ostannard committed rL370729: [ARM][MVE] Decoding of VMSR doesn't diagnose some unpredictable encodings.
[ARM][MVE] Decoding of VMSR doesn't diagnose some unpredictable encodings
Sep 3 2019, 2:55 AM
ostannard closed D66938: [ARM][MVE] Decoding of VMSR doesn't diagnose some unpredictable encodings.
Sep 3 2019, 2:55 AM · Restricted Project
ostannard committed rG39bf484d92b7: Bug fix on function epilog optimization (ARM backend) (authored by ostannard).
Bug fix on function epilog optimization (ARM backend)
Sep 3 2019, 2:55 AM
ostannard committed rL370728: Bug fix on function epilog optimization (ARM backend).
Bug fix on function epilog optimization (ARM backend)
Sep 3 2019, 2:50 AM
ostannard closed D66730: Bug fix on function epilog optimization (ARM backend).
Sep 3 2019, 2:50 AM · Restricted Project
ostannard added a comment to D66730: Bug fix on function epilog optimization (ARM backend).

Yep, I can commit it for you.

Sep 3 2019, 2:46 AM · Restricted Project
ostannard requested changes to D66939: [ARM][MVE] Decoding of uqrshl and sqrshl accepts unpredictable encodings.
Sep 3 2019, 1:57 AM · Restricted Project
ostannard accepted D66730: Bug fix on function epilog optimization (ARM backend).

LGTM

Sep 3 2019, 1:57 AM · Restricted Project
ostannard accepted D66938: [ARM][MVE] Decoding of VMSR doesn't diagnose some unpredictable encodings.

LGTM with one style nit.

Sep 3 2019, 1:46 AM · Restricted Project
ostannard accepted D66997: [ARM] Fix MVE ldst offset ranges.

LGTM

Sep 3 2019, 1:46 AM · Restricted Project

Sep 2 2019

ostannard accepted D66588: [ARM NEON] Avoid duplicated decarations.
Sep 2 2019, 8:47 AM · Restricted Project, Restricted Project
ostannard added a comment to D66588: [ARM NEON] Avoid duplicated decarations.

LGTM with one small nit.

Sep 2 2019, 8:47 AM · Restricted Project, Restricted Project
ostannard updated the diff for D63932: [GlobalDCE] Dead Virtual Function Elimination.
Sep 2 2019, 7:18 AM · Restricted Project, Restricted Project
ostannard added a comment to D63932: [GlobalDCE] Dead Virtual Function Elimination.

It isn't that common, but it seems worth doing if it can be done easily.

Sep 2 2019, 7:18 AM · Restricted Project, Restricted Project
ostannard accepted D66214: [ARM] Use MQPR not QPR for MVE registers.

LGTM, thanks.

Sep 2 2019, 3:56 AM · Restricted Project

Aug 17 2019

ostannard accepted D66010: [ARM] MVE sext costs.

LGTM

Aug 17 2019, 4:59 AM · Restricted Project

Aug 16 2019

ostannard requested changes to D66010: [ARM] MVE sext costs.
Aug 16 2019, 5:20 AM · Restricted Project
ostannard accepted D66008: [ARM] MVE sext of a load is also free..

LGTM

Aug 16 2019, 5:15 AM · Restricted Project
ostannard accepted D66009: [ARM] Don't pretend we know how to generate MVE VLDn.

LGTM with a minor style nit.

Aug 16 2019, 5:13 AM · Restricted Project
ostannard accepted D66285: [ARM] Correct register for narrowing and widening MVE loads and stores..

LGTM, thanks

Aug 16 2019, 5:13 AM · Restricted Project
ostannard added inline comments to D66285: [ARM] Correct register for narrowing and widening MVE loads and stores..
Aug 16 2019, 2:20 AM · Restricted Project

Aug 15 2019

ostannard accepted D66222: [ARM] Fix alignment checks for BE VLDRH.

LGTM

Aug 15 2019, 2:40 AM · Restricted Project
ostannard added a comment to rL367389: [ARM][ParallelDSP] Convert to function pass.

Hi Sam, this patch seems to have caused a correctness regression in the telecomm-gsm and toast benchmarks when compiled for Arm. Logs at http://lab.llvm.org:8011/builders/clang-native-arm-lnt-perf/builds/170/. Would you mind looking into this?

Aug 15 2019, 2:10 AM

Aug 14 2019

ostannard added inline comments to D66214: [ARM] Use MQPR not QPR for MVE registers.
Aug 14 2019, 6:05 AM · Restricted Project

Aug 9 2019

ostannard accepted D65957: [ARM] Fix detection of duplicates when parsing reg list operands.

LGTM

Aug 9 2019, 2:31 AM · Restricted Project
ostannard accepted D65873: [ARM] Fix encoding of APSR in CLRM instruction.

LGTM

Aug 9 2019, 2:13 AM · Restricted Project

Aug 5 2019

ostannard committed rG8ed8353fc45e: Reland: Fix and test inter-procedural register allocation for ARM (authored by ostannard).
Reland: Fix and test inter-procedural register allocation for ARM
Aug 5 2019, 2:05 AM
ostannard committed rL367819: Reland: Fix and test inter-procedural register allocation for ARM.
Reland: Fix and test inter-procedural register allocation for ARM
Aug 5 2019, 2:05 AM

Aug 2 2019

ostannard accepted D65581: [ARM] MVE big endian bitcasts.

LGTM

Aug 2 2019, 3:49 AM · Restricted Project
ostannard committed rG4b7239ebaca7: [IPRA][ARM] Disable no-CSR optimisation for ARM (authored by ostannard).
[IPRA][ARM] Disable no-CSR optimisation for ARM
Aug 2 2019, 3:25 AM
ostannard committed rGf6b00c279a55: Fix and test inter-procedural register allocation for ARM (authored by ostannard).
Fix and test inter-procedural register allocation for ARM
Aug 2 2019, 3:25 AM
ostannard committed rL367670: [IPRA][ARM] Disable no-CSR optimisation for ARM.
[IPRA][ARM] Disable no-CSR optimisation for ARM
Aug 2 2019, 3:23 AM
ostannard closed D64910: [IPRA][ARM] Disable no-CSR optimisation for ARM.
Aug 2 2019, 3:23 AM · Restricted Project
ostannard committed rL367669: Fix and test inter-procedural register allocation for ARM.
Fix and test inter-procedural register allocation for ARM
Aug 2 2019, 3:22 AM
ostannard closed D64908: Fix and test inter-procedural register allocation for ARM.
Aug 2 2019, 3:22 AM · Restricted Project
ostannard updated the diff for D64908: Fix and test inter-procedural register allocation for ARM.
  • Switch to using ArrayRef instead of null-terminated array
Aug 2 2019, 2:55 AM · Restricted Project
ostannard updated the diff for D64910: [IPRA][ARM] Disable no-CSR optimisation for ARM.
Aug 2 2019, 2:55 AM · Restricted Project
ostannard added inline comments to D64908: Fix and test inter-procedural register allocation for ARM.
Aug 2 2019, 2:45 AM · Restricted Project

Aug 1 2019

ostannard accepted D65448: [AArch64] Implement initial SVE calling convention support.

LGTM, thanks

Aug 1 2019, 9:15 AM · Restricted Project
ostannard added a reviewer for D64908: Fix and test inter-procedural register allocation for ARM: dmgreen.

Ping.

Aug 1 2019, 9:09 AM · Restricted Project
ostannard added a reviewer for D64910: [IPRA][ARM] Disable no-CSR optimisation for ARM: dmgreen.

Ping.

Aug 1 2019, 9:08 AM · Restricted Project
ostannard updated the diff for D63932: [GlobalDCE] Dead Virtual Function Elimination.
  • Add LTOPostLink metadata, instead of internalising vcall visibility at LTO time
Aug 1 2019, 9:07 AM · Restricted Project, Restricted Project
ostannard added a comment to D63932: [GlobalDCE] Dead Virtual Function Elimination.

Partial linking will indeed prevent dropping the virtual functions, but it should not prevent clearing the pointer to the virtual function in the vtable. The linker should then be able to drop the virtual function body as part of --gc-sections during the final link.

Aug 1 2019, 7:08 AM · Restricted Project, Restricted Project

Jul 31 2019

ostannard accepted D65505: [ARM] Reject CSEL instructions with invalid operands.

LGTM

Jul 31 2019, 6:59 AM · Restricted Project
ostannard added a comment to D63932: [GlobalDCE] Dead Virtual Function Elimination.
  • Take the example from my earlier message, give the "main executable" and "DSO" hidden visibility, build the "main executable" with LTO and the "DSO" without LTO, and statically link them both into the same executable. We run into the same problem where the Plugin1 vtable is potentially not referenced and thus misoptimised. Yes, this is a violation of the LTO visibility rules, but the example shows that we only detect it sometimes. I think that if we did want to detect cases where the LTO visibility rules are clearly being violated, the outcome should be to issue a diagnostic and not to silently proceed with optimizations disabled, since the violation might be masking other undetected issues. That really seems orthogonal to this patch, though.
Jul 31 2019, 5:49 AM · Restricted Project, Restricted Project
ostannard accepted D65175: [ARM] Transform compare of masked value to shift on Thumb1..

LGTM, thanks

Jul 31 2019, 3:03 AM · Restricted Project
ostannard accepted D65364: AArch64: Add a tagged-globals backend feature..

LGTM

Jul 31 2019, 2:17 AM · Restricted Project
ostannard accepted D65465: SelectionDAG, MI, AArch64: Widen target flags fields/arguments from unsigned char to unsigned..

LGTM

Jul 31 2019, 2:08 AM · Restricted Project

Jul 30 2019

ostannard accepted D65442: [AArch64] Update MTE system register encodings.

LGTM

Jul 30 2019, 10:04 AM · Restricted Project
ostannard updated the diff for D63932: [GlobalDCE] Dead Virtual Function Elimination.
  • Rebase
  • Don't emit llvm.assume when not necessary (we already weren't checking for it's presence in GlobalDCE)
  • s/"public"/"default"/ in IR docs
Jul 30 2019, 9:45 AM · Restricted Project, Restricted Project
ostannard added a comment to D65448: [AArch64] Implement initial SVE calling convention support.

Out of interest, why does the ABI allow functions which don't have SVE args/returns to clobber the P registers? For Z registers, we've got to be compatible with old code which only needed to save the bottom half of v8-v15, but there should be no existing code which uses P registers, so we could enforce a mixture of callee- and caller-saved P registers for all code. Existing code is already compliant with this, because it doesn't touch the P regs.

Jul 30 2019, 9:40 AM · Restricted Project
ostannard added a reviewer for D65448: [AArch64] Implement initial SVE calling convention support: ostannard.
Jul 30 2019, 9:17 AM · Restricted Project
ostannard added inline comments to D65364: AArch64: Add a tagged-globals backend feature..
Jul 30 2019, 8:16 AM · Restricted Project
ostannard added a comment to D63932: [GlobalDCE] Dead Virtual Function Elimination.

In that example, with everything having default ELF visibility, all of the vtables will get vcall_visibility public, which can't be optimised by VFE, and won't ever be relaxed to one of the tighter visibilities.

Jul 30 2019, 7:04 AM · Restricted Project, Restricted Project

Jul 29 2019

ostannard added a comment to D65351: [ARM] Lower "(x<<c) > 0x80000000U" to "lsls" on Thumb1..

Would this also be profitable for Thumb2?

Jul 29 2019, 7:36 AM · Restricted Project

Jul 25 2019

ostannard accepted D63707: [AArch64] Define ETE and TRBE system registers.

Ok, but please add a comment, probably in AArch64.td, explaining this, and that turning it on by default is only temporary.

Jul 25 2019, 5:13 AM · Restricted Project
ostannard added a comment to D64910: [IPRA][ARM] Disable no-CSR optimisation for ARM.

Ping

Jul 25 2019, 3:27 AM · Restricted Project
ostannard added a comment to D64908: Fix and test inter-procedural register allocation for ARM.

Ping

Jul 25 2019, 3:27 AM · Restricted Project
ostannard accepted D64759: [CodeGen] Don't resolve the stack protector frame accesses until PEI.

This patch LGTM now, and +1 to the idea of documenting the attacks we do/don't expect to be able to defend against.

Jul 25 2019, 3:14 AM · Restricted Project

Jul 24 2019

ostannard added inline comments to D64759: [CodeGen] Don't resolve the stack protector frame accesses until PEI.
Jul 24 2019, 6:19 AM · Restricted Project
ostannard added inline comments to D65175: [ARM] Transform compare of masked value to shift on Thumb1..
Jul 24 2019, 1:56 AM · Restricted Project

Jul 22 2019

ostannard committed rL366669: [IPRA][ARM] Make use of the "returned" parameter attribute.
[IPRA][ARM] Make use of the "returned" parameter attribute
Jul 22 2019, 3:25 AM