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 (41 w, 3 d)

Recent Activity

Today

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

It will require changing all possible initializations, with a sensible value.

Mon, Jan 27, 3:31 AM · Restricted Project

Thu, Jan 23

ostannard updated the diff for D70720: [llvm-objdump] Display locations of variables alongside disassembly.

Added ASCII output mode. It turns out that the unicode line drawing characters do work correctly on windows (at least windows 10, I don't have easy access to anything older to test with), I've left unicode as the default.

Thu, Jan 23, 2:18 AM · debug-info, Restricted Project
ostannard added inline comments to D70720: [llvm-objdump] Display locations of variables alongside disassembly.
Thu, Jan 23, 2:18 AM · debug-info, Restricted Project

Mon, Jan 20

ostannard added a reviewer for D72932: [ARM] Follow AACPS standard for volatile bit-fields access width: ostannard.
Mon, Jan 20, 8:52 AM · Restricted Project
ostannard added a comment to D72932: [ARM] Follow AACPS standard for volatile bit-fields access width.

Why are you doing this in CodeGen, rather than adjusting the existing layout code in CGRecordLowering? Doing it this way will result in AdjustAAPCSBitfieldLValue being called for every access to the bitfield, rather than just once. This is probably more fragile too, because it's spreading the logic across multiple parts of the codebase, and has to undo some of the layout done by CGRecordLowering.

Mon, Jan 20, 8:44 AM · Restricted Project

Fri, Jan 17

ostannard accepted D72923: [AArch64] Make AArch64 specific assembly directives case insensitive.

LGTM

Fri, Jan 17, 8:15 AM · Restricted Project
ostannard accepted D72686: [AsmParser] Make generic directives and aliases case insensitive..

LGTM

Fri, Jan 17, 2:24 AM · Restricted Project
ostannard accepted D70286: Merge memtag instructions with adjacent stack slots..

LGTM

Fri, Jan 17, 2:24 AM · Restricted Project

Thu, Jan 16

ostannard added a comment to rG61bd19206f61: [libc++] Explicitly enumerate std::string external instantiations..

Thanks, our libc++ bots are passing now too: http://lab.llvm.org:8011/builders/libcxx-libcxxabi-libunwind-aarch64-linux/builds/2636

Thu, Jan 16, 2:08 AM

Tue, Jan 14

ostannard added a comment to D72686: [AsmParser] Make generic directives and aliases case insensitive..

"The names are case insensitive for most targets, and usually written in lower case."

Tue, Jan 14, 10:04 AM · Restricted Project

Mon, Jan 13

ostannard committed rG6a634a5dba84: Revert "[libc++] Explicitly enumerate std::string external instantiations." (authored by ostannard).
Revert "[libc++] Explicitly enumerate std::string external instantiations."
Mon, Jan 13, 5:57 AM
ostannard added a reverting change for rG61bd19206f61: [libc++] Explicitly enumerate std::string external instantiations.: rG6a634a5dba84: Revert "[libc++] Explicitly enumerate std::string external instantiations.".
Mon, Jan 13, 5:57 AM
ostannard added a comment to rG61bd19206f61: [libc++] Explicitly enumerate std::string external instantiations..

There are also some test failures (link errors caused by undefined references) on the ARM/AArch64 bots caused by this, so I'm going to revert it.

Mon, Jan 13, 5:57 AM
ostannard committed rG6c203149b60e: [clang] Remove raw string literals in macros (authored by ostannard).
[clang] Remove raw string literals in macros
Mon, Jan 13, 4:43 AM
ostannard committed rGb96ec492d34e: [clangd] Remove raw string literals in macros (authored by ostannard).
[clangd] Remove raw string literals in macros
Mon, Jan 13, 3:48 AM

Thu, Jan 9

ostannard added inline comments to D70286: Merge memtag instructions with adjacent stack slots..
Thu, Jan 9, 2:39 AM · Restricted Project

Wed, Jan 8

ostannard accepted D70286: Merge memtag instructions with adjacent stack slots..

LGTM

Wed, Jan 8, 2:02 AM · Restricted Project
ostannard accepted D72222: [Driver][CodeGen] Add -fpatchable-function-entry=N[,0].

LGTM

Wed, Jan 8, 1:26 AM · Restricted Project

Mon, Jan 6

ostannard added inline comments to D70286: Merge memtag instructions with adjacent stack slots..
Mon, Jan 6, 9:47 AM · Restricted Project
ostannard accepted D72074: [ARM] Use the correct opcodes for Thumb2 segmented stack frame lowering.

LGTM

Mon, Jan 6, 7:38 AM · Restricted Project
ostannard added inline comments to D72221: Support function attribute patchable_function_entry.
Mon, Jan 6, 7:22 AM · Restricted Project
ostannard added a comment to D72215: [AArch64] Add function attribute "patchable-function-entry" to add NOPs at function entry.

How does this interact with the AArch64 "branch-target-enforcement" attribute? For the generated, unpatched code to be correct the function needs to start with a BTI or PAC instruction if it could be indirectly called. Presumably the code doing the patching would also need to be aware of this.

Mon, Jan 6, 7:11 AM · Restricted Project
ostannard added inline comments to D72222: [Driver][CodeGen] Add -fpatchable-function-entry=N[,0].
Mon, Jan 6, 6:46 AM · Restricted Project
ostannard accepted D72123: Lower TAGPstack with negative offset to SUBG..

LGTM

Mon, Jan 6, 6:17 AM · Restricted Project
ostannard accepted D72075: [ARM] Use correct TRAP opcode for thumb in FastISel.

LGTM

Mon, Jan 6, 2:26 AM · Restricted Project

Dec 12 2019

ostannard updated the diff for D70720: [llvm-objdump] Display locations of variables alongside disassembly.
  • Remove D70756 from patch
  • Use -- style options in test comments
Dec 12 2019, 2:25 AM · debug-info, Restricted Project
ostannard added a comment to D70720: [llvm-objdump] Display locations of variables alongside disassembly.

Sorry about that, I'd been marking comments as "done" as I went, but forgot to actually click "submit". I also accidentally included D70756 in the patch.

Dec 12 2019, 2:25 AM · debug-info, Restricted Project
ostannard accepted D70635: Reland [AArch64][MachineOutliner] Return address signing for outlined functions.

LGTM, thanks.

Dec 12 2019, 1:03 AM · Restricted Project

Dec 11 2019

ostannard updated the diff for D70720: [llvm-objdump] Display locations of variables alongside disassembly.
  • Made suggested changes to tests. I've enabled strict whitespace checking just for the one test in which we check compatibility with other options which affect the layout of the output, because the disassembly uses tabs in a way which doesn't always display well in text editors.
  • getLocations now works correctly with -ffunction-sections, so removed the workaround
  • Removed unused parameters related to DW_AT_frame_base
  • Get endianness form the DWARFunit, no need to pass it around separately
  • Don't create/destroy formatted_raw_ostream as often
Dec 11 2019, 9:23 AM · debug-info, Restricted Project
ostannard committed rG6ae3d310bd94: Revert "Reland [AArch64][MachineOutliner] Return address signing for outlined… (authored by ostannard).
Revert "Reland [AArch64][MachineOutliner] Return address signing for outlined…
Dec 11 2019, 4:09 AM
ostannard added a reverting change for rGcec2d5c17457: Reland [AArch64][MachineOutliner] Return address signing for outlined functions: rG6ae3d310bd94: Revert "Reland [AArch64][MachineOutliner] Return address signing for outlined….
Dec 11 2019, 4:09 AM

Dec 10 2019

Herald added a reviewer for D70756: llvm-symbolizer: support DW_FORM_loclistx locations.: jhenderson.
Dec 10 2019, 2:59 AM · Restricted Project

Dec 9 2019

ostannard updated the diff for D70720: [llvm-objdump] Display locations of variables alongside disassembly.

Made the suggested changes in the code. However, after rebasing the DWARF5 tests are failing, as the location lists are being parsed incorrectly. I'll update the tests once I've figured out that's changed there.

Dec 9 2019, 7:38 AM · debug-info, Restricted Project

Dec 6 2019

ostannard accepted D70533: [AArch64] Fix a bug with jump table generation.

LGTM

Dec 6 2019, 4:02 AM · Restricted Project

Dec 4 2019

ostannard updated the diff for D70720: [llvm-objdump] Display locations of variables alongside disassembly.
  • Use a switch statement in PrettyPrintDWARFOps
Dec 4 2019, 3:57 AM · debug-info, Restricted Project

Dec 3 2019

ostannard updated the diff for D70720: [llvm-objdump] Display locations of variables alongside disassembly.

Remove most DWARF opcodes except for simple registers, I'll add the rest back in later patches.

Dec 3 2019, 2:58 AM · debug-info, Restricted Project
ostannard added inline comments to D70720: [llvm-objdump] Display locations of variables alongside disassembly.
Dec 3 2019, 2:51 AM · debug-info, Restricted Project

Dec 2 2019

ostannard added a comment to D70680: [ARM][Thumb2] Fix ADD/SUB invalid writes to SP.

This looks like multiple bug-fixes in one patch, could they be split up?

Dec 2 2019, 9:48 AM · Restricted Project
ostannard requested changes to D70533: [AArch64] Fix a bug with jump table generation.
Dec 2 2019, 9:48 AM · Restricted Project
ostannard accepted D70635: Reland [AArch64][MachineOutliner] Return address signing for outlined functions.

LGTM

Dec 2 2019, 9:39 AM · Restricted Project
ostannard added a comment to D70720: [llvm-objdump] Display locations of variables alongside disassembly.

Is there a particular reason you've used ARM rather than x86 for these tests? A loose convention from my experience is that tests that require a target, but where the target doesn't actually matter, are written for X86.

Dec 2 2019, 3:53 AM · debug-info, Restricted Project

Nov 29 2019

ostannard added inline comments to D70756: llvm-symbolizer: support DW_FORM_loclistx locations..
Nov 29 2019, 6:49 AM · Restricted Project
ostannard added a parent revision for D70720: [llvm-objdump] Display locations of variables alongside disassembly: D70756: llvm-symbolizer: support DW_FORM_loclistx locations..
Nov 29 2019, 6:41 AM · debug-info, Restricted Project
ostannard added a child revision for D70756: llvm-symbolizer: support DW_FORM_loclistx locations.: D70720: [llvm-objdump] Display locations of variables alongside disassembly.
Nov 29 2019, 6:41 AM · Restricted Project
ostannard updated the diff for D70720: [llvm-objdump] Display locations of variables alongside disassembly.

Now ready for review:

  • Added tests, including a more complex expression emitted by GCC, and high register numbers needed for PPC.
  • Print parentheses when needed by complex expressions, matching C operator precedence.
  • Add command-line option to docs.
  • Work correctly with -S and -l options (interleaved source code and line numbers), remove extra line number printing I added before I realised those options exist.
Nov 29 2019, 6:41 AM · debug-info, Restricted Project
ostannard added inline comments to D70635: Reland [AArch64][MachineOutliner] Return address signing for outlined functions.
Nov 29 2019, 3:30 AM · Restricted Project

Nov 28 2019

ostannard accepted D70813: [AArch64][v8.3a] Don't emit LDRA '[xN]!' alias in disassembly..

LGTM

Nov 28 2019, 5:59 AM · Restricted Project

Nov 27 2019

ostannard updated the diff for D70720: [llvm-objdump] Display locations of variables alongside disassembly.

Not ready for review yet, but added DW_OP_regx and DW_OP_bregx needed for PPC.

Nov 27 2019, 7:22 AM · debug-info, Restricted Project
ostannard added a comment to D69936: [IPRA][ARM] Spill extra registers at -Oz.

Ping

Nov 27 2019, 5:49 AM · Restricted Project

Nov 26 2019

ostannard created D70720: [llvm-objdump] Display locations of variables alongside disassembly.
Nov 26 2019, 8:44 AM · debug-info, Restricted Project

Nov 21 2019

ostannard accepted D70129: [AArch64] [FrameLowering] Allow conditional insertion of CFI instruction.

LGTM

Nov 21 2019, 2:10 AM · Restricted Project

Nov 20 2019

ostannard added inline comments to D70129: [AArch64] [FrameLowering] Allow conditional insertion of CFI instruction.
Nov 20 2019, 6:23 AM · Restricted Project

Nov 19 2019

ostannard accepted D70341: MTE: add more unchecked instructions..

LGTM

Nov 19 2019, 1:55 AM · Restricted Project

Nov 14 2019

ostannard accepted D68711: Implement target(branch-protection) attribute for AArch64.

LGTM, thanks

Nov 14 2019, 5:31 AM · Restricted Project, Restricted Project

Nov 7 2019

ostannard added a parent revision for D69936: [IPRA][ARM] Spill extra registers at -Oz: D69906: [ARM] Track epilogue instructions with FrameDestroy flag (NFC).
Nov 7 2019, 3:03 AM · Restricted Project
ostannard added a child revision for D69906: [ARM] Track epilogue instructions with FrameDestroy flag (NFC): D69936: [IPRA][ARM] Spill extra registers at -Oz.
Nov 7 2019, 3:03 AM · Restricted Project
ostannard created D69936: [IPRA][ARM] Spill extra registers at -Oz.
Nov 7 2019, 3:03 AM · Restricted Project

Nov 6 2019

ostannard created D69906: [ARM] Track epilogue instructions with FrameDestroy flag (NFC).
Nov 6 2019, 9:50 AM · Restricted Project

Nov 4 2019

ostannard committed rG73c3137a82c9: Fix static analysis warnings in ARM calling convention lowering (authored by ostannard).
Fix static analysis warnings in ARM calling convention lowering
Nov 4 2019, 9:23 AM
ostannard closed D69801: Fix static analysis warnings in ARM calling convention lowering (NFC).

Committed https://reviews.llvm.org/rG73c3137a82c96789f4a2b8ec9427d23fa73498d8

Nov 4 2019, 9:22 AM · Restricted Project
ostannard accepted D68996: [AArch64][SVE] Spilling/filling of SVE callee-saves..

LGTM, thanks

Nov 4 2019, 5:33 AM · Restricted Project
ostannard accepted D69509: [ARM] Attempt to use whole register vmovs for MVE shuffles..

LGTM with a few nits.

Nov 4 2019, 5:30 AM · Restricted Project
ostannard created D69801: Fix static analysis warnings in ARM calling convention lowering (NFC).
Nov 4 2019, 5:15 AM · Restricted Project
ostannard added inline comments to D68711: Implement target(branch-protection) attribute for AArch64.
Nov 4 2019, 2:04 AM · Restricted Project, Restricted Project

Nov 1 2019

ostannard added a comment to D69097: [AArch64][MachineOutliner] Return address signing for outlined functions.

I've reverted this (rGa3f474542) because it is causing failures when an instruction which modifies SP gets outlined. here's a reproducer:

Nov 1 2019, 9:10 AM · Restricted Project
ostannard committed rGa3f474542881: Revert "[AArch64][MachineOutliner] Return address signing for outlined… (authored by ostannard).
Revert "[AArch64][MachineOutliner] Return address signing for outlined…
Nov 1 2019, 9:10 AM
ostannard added a reverting change for rG70caa1fc30c3: [AArch64][MachineOutliner] Return address signing for outlined functions: rGa3f474542881: Revert "[AArch64][MachineOutliner] Return address signing for outlined….
Nov 1 2019, 9:10 AM
ostannard added a reverting change for rG55314d323738: [MachineOutliner][NFC] Fix FileCheck regex in two of test-cases: rGa3f474542881: Revert "[AArch64][MachineOutliner] Return address signing for outlined….
Nov 1 2019, 9:10 AM

Oct 30 2019

ostannard added a comment to D68996: [AArch64][SVE] Spilling/filling of SVE callee-saves..

I'd like to see some more tests for this, in particular:

  • Different combinations of register types being saved, e.g. only P regs without X or Z regs.
  • Check that pairing of other register types still works in the presence of SVE callee-saved registers.
Oct 30 2019, 7:11 AM · Restricted Project
ostannard accepted D69097: [AArch64][MachineOutliner] Return address signing for outlined functions.

LGTM, thanks!

Oct 30 2019, 3:27 AM · Restricted Project

Oct 29 2019

ostannard added inline comments to D69097: [AArch64][MachineOutliner] Return address signing for outlined functions.
Oct 29 2019, 9:09 AM · Restricted Project
ostannard requested changes to D69097: [AArch64][MachineOutliner] Return address signing for outlined functions.
Oct 29 2019, 8:40 AM · Restricted Project
ostannard accepted D67216: [cfi] Add flag to always generate .debug_frame.

LGTM

Oct 29 2019, 7:30 AM · Restricted Project, Restricted Project

Oct 28 2019

ostannard added a comment to D68711: Implement target(branch-protection) attribute for AArch64.

I think this also needs a check to make sure the selected architecture supports PAC/BTI. Gcc gives an unknown target attribute or pragma error if this is used for a non-AArch64 target.

Oct 28 2019, 7:06 AM · Restricted Project, Restricted Project
ostannard added inline comments to D69097: [AArch64][MachineOutliner] Return address signing for outlined functions.
Oct 28 2019, 6:16 AM · Restricted Project

Oct 21 2019

ostannard accepted D69118: [AArch64] Move the branch relaxation pass after BTI insertion.

LGTM

Oct 21 2019, 6:11 PM · Restricted Project

Oct 18 2019

ostannard added a comment to D69097: [AArch64][MachineOutliner] Return address signing for outlined functions.

So, if a, b and c participate in outlining, a and b have sign-return-address=all and c has sign-return-address=non-leaf, the new outlined function should behave like having sign-return-address=non-leaf? Or should we only allow outlining if the attributes match?

Oct 18 2019, 2:40 AM · Restricted Project
ostannard accepted D68353: [AArch64] Remove overlapping definitions (NFC).

LGTM

Oct 18 2019, 2:29 AM · Restricted Project
ostannard added a comment to D69118: [AArch64] Move the branch relaxation pass after BTI insertion.

For testing, we have the SPACE pseudo-instruction, which can be used to emulate very large basic blocks, maybe you could reduce your reproducer using that?

Oct 18 2019, 2:29 AM · Restricted Project
ostannard added a comment to D67216: [cfi] Add flag to always generate .debug_frame.

How about -f[no-]force-dwarf-frame, which I think matches the spelling and behaviour of the existing -fforce-enable-int128 and -fforce-emit-vtables options?

Oct 18 2019, 1:54 AM · Restricted Project, Restricted Project

Oct 17 2019

ostannard requested changes to D69097: [AArch64][MachineOutliner] Return address signing for outlined functions.

It looks like you're emitting PAC instructions but not AUT, so I'd expect this to fault when the outlined function returns. Or is some other code already returning using RETAA/RETAB? In which case, the test should check that.

Oct 17 2019, 5:26 AM · Restricted Project
ostannard added a comment to D67216: [cfi] Add flag to always generate .debug_frame.

I don't like the idea of adding a -gno-dwarf-frame option which doesn't always disable emission of .debug_frame. Since it doesn't make sense to emit other debug info without .debug_frame, maybe we should just not have a negative option?

Oct 17 2019, 3:22 AM · Restricted Project, Restricted Project
ostannard committed rG3b598b9c867a: Reland: Dead Virtual Function Elimination (authored by ostannard).
Reland: Dead Virtual Function Elimination
Oct 17 2019, 2:58 AM
ostannard committed rL375094: Reland: Dead Virtual Function Elimination.
Reland: Dead Virtual Function Elimination
Oct 17 2019, 2:58 AM

Oct 11 2019

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

Oct 10 2019

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

Ping

Oct 10 2019, 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
Oct 10 2019, 3:01 AM
ostannard closed D67350: [IfCvt][ARM] Optimise diamond if-conversion for code size.
Oct 10 2019, 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
Oct 10 2019, 3:01 AM

Oct 9 2019

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

Ping

Oct 9 2019, 2:47 AM · Restricted Project

Oct 7 2019

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.

Oct 7 2019, 3:34 AM · Restricted Project

Oct 3 2019

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

Ping

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

Oct 1 2019

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

LGTM

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

Ping

Oct 1 2019, 4:03 AM · Restricted Project

Sep 23 2019

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.

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

Sep 20 2019

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

LGTM

Sep 20 2019, 2:36 AM · Restricted Project

Sep 19 2019

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

Ping

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