olista01 (Oliver Stannard)
User

Projects

User does not belong to any projects.

User Details

User Since
Feb 5 2014, 1:36 AM (205 w, 6 d)

Recent Activity

Today

olista01 added inline comments to D41863: [AArch64] Fix incorrect LD1 of 16-bit FP vectors in big endian.
Tue, Jan 16, 2:03 AM

Fri, Jan 5

olista01 added a comment to D39910: [ARM] Issue an eror when non-general-purpose registers used in address operands (alternative).

I approved this patch back in November.

Fri, Jan 5, 2:43 AM

Thu, Jan 4

olista01 committed rL321799: [ARM] Fix endianness of Thumb .inst.w directive.
[ARM] Fix endianness of Thumb .inst.w directive
Thu, Jan 4, 5:58 AM
olista01 closed D41185: [ARM] Fix endianness of Thumb .inst.w directive.
Thu, Jan 4, 5:58 AM
olista01 added a comment to D41185: [ARM] Fix endianness of Thumb .inst.w directive.

This is described in the "Instruction endianness" section in the architecture reference manual, which is section A3.3.1 in the latest version of the v7-A/R manual. Here's the relevant bit:

Thu, Jan 4, 2:08 AM
olista01 added a comment to D41185: [ARM] Fix endianness of Thumb .inst.w directive.

Ping.

Thu, Jan 4, 1:41 AM

Dec 13 2017

olista01 created D41185: [ARM] Fix endianness of Thumb .inst.w directive.
Dec 13 2017, 7:33 AM

Dec 4 2017

olista01 accepted D40362: [TableGen][AsmMatcherEmitter] Only choose specific diagnostic for enabled instruction.

This is very similar to what I'm doing with the multiple-near-miss diagnostics, trying to only emit messages which point out exactly what is wrong with an instruction, rather than simply the first thing the assembler found wrong. Hopefully this will be made obsolete once I get the near-miss mechanism completed and ported to non-ARM targets, but this looks like a reasonable point fix in the meantime. LGTM.

Dec 4 2017, 9:14 AM
olista01 accepted D40706: Fix function pointer tail calls in armv8-M.base.
Dec 4 2017, 8:32 AM
olista01 reopened D36747: [Asm, ARM] Add fallback diag for multiple invalid operands.

I've reverted this because it is causing a buildbot failure - http://lab.llvm.org:8011/builders/llvm-clang-x86_64-expensive-checks-win/builds/6552/steps/test-check-all/logs/stdio.

Dec 4 2017, 5:48 AM
olista01 committed rL319654: Revert r319649 - [Asm, ARM] Add fallback diag for multiple invalid operands.
Revert r319649 - [Asm, ARM] Add fallback diag for multiple invalid operands
Dec 4 2017, 5:43 AM
olista01 committed rL319649: [Asm, ARM] Add fallback diag for multiple invalid operands.
[Asm, ARM] Add fallback diag for multiple invalid operands
Dec 4 2017, 4:03 AM
olista01 closed D36747: [Asm, ARM] Add fallback diag for multiple invalid operands by committing rL319649: [Asm, ARM] Add fallback diag for multiple invalid operands.
Dec 4 2017, 4:03 AM
olista01 added a reviewer for D36747: [Asm, ARM] Add fallback diag for multiple invalid operands: javed.absar.
Dec 4 2017, 3:12 AM
olista01 added a comment to D36747: [Asm, ARM] Add fallback diag for multiple invalid operands.

Ping

Dec 4 2017, 2:18 AM

Dec 1 2017

olista01 requested changes to D40706: Fix function pointer tail calls in armv8-M.base.

Could you also add a test for the (i32, i64) case? We can currently emit the tail call for that (because r1 is not used).

Dec 1 2017, 7:07 AM

Nov 29 2017

olista01 committed rL319303: [ARM] Add support for armv7e-m to the .arch directive.
[ARM] Add support for armv7e-m to the .arch directive
Nov 29 2017, 2:12 AM
olista01 closed D40370: [arm] Add support for armv7e-m to the .arch directive. by committing rL319303: [ARM] Add support for armv7e-m to the .arch directive.
Nov 29 2017, 2:12 AM

Nov 28 2017

olista01 accepted D39910: [ARM] Issue an eror when non-general-purpose registers used in address operands (alternative).
Nov 28 2017, 1:51 AM
olista01 accepted D40370: [arm] Add support for armv7e-m to the .arch directive..
Nov 28 2017, 1:45 AM

Nov 27 2017

olista01 added a comment to D39910: [ARM] Issue an eror when non-general-purpose registers used in address operands (alternative).

This patch doesn't have full context (git diff -U999999), please use that in future as it makes reviewing easier.

Nov 27 2017, 7:05 AM
olista01 abandoned D39192: [ARM] processInstruction must return true if it makes a change.
Nov 27 2017, 2:38 AM

Nov 22 2017

olista01 updated the diff for D36747: [Asm, ARM] Add fallback diag for multiple invalid operands.

Add messages to assertions.

Nov 22 2017, 3:03 AM

Nov 21 2017

olista01 added a comment to D39910: [ARM] Issue an eror when non-general-purpose registers used in address operands (alternative).

It looks like there are a lot of inaccuracies here still with regards to accepting r13/sp and r15/pc. Rejecting non-GPRs is obviously an improvement, but I don't think we should be adding diagnostics which give wrong information to the user.

Nov 21 2017, 10:47 AM
olista01 committed rL318777: [ARM] Remove pre-UAL FLDM/FSTM aliases.
[ARM] Remove pre-UAL FLDM/FSTM aliases
Nov 21 2017, 8:21 AM
olista01 closed D39196: [ARM] Remove pre-UAL FLDM/FSTM aliases by committing rL318777: [ARM] Remove pre-UAL FLDM/FSTM aliases.
Nov 21 2017, 8:21 AM
olista01 added a comment to D39196: [ARM] Remove pre-UAL FLDM/FSTM aliases.

Ping, the dependency (D39195) is now committed.

Nov 21 2017, 7:39 AM
olista01 committed rL318771: [ARM] Don't omit non-default predication code.
[ARM] Don't omit non-default predication code
Nov 21 2017, 7:34 AM
olista01 closed D39193: [ARM] Don't omit non-default predication code by committing rL318771: [ARM] Don't omit non-default predication code.
Nov 21 2017, 7:34 AM
olista01 updated the diff for D39193: [ARM] Don't omit non-default predication code.

Fix comment.

Nov 21 2017, 7:28 AM
olista01 added inline comments to D39193: [ARM] Don't omit non-default predication code.
Nov 21 2017, 7:25 AM
olista01 committed rL318770: [Asm] Improve "too few operands" errors.
[Asm] Improve "too few operands" errors
Nov 21 2017, 7:17 AM
olista01 closed D36746: [Asm] Improve "too few operands" errors by committing rL318770: [Asm] Improve "too few operands" errors.
Nov 21 2017, 7:17 AM
olista01 committed rL318769: [Asm] Finish matching once end of formal and actual lists reached (NFC).
[Asm] Finish matching once end of formal and actual lists reached (NFC)
Nov 21 2017, 7:13 AM
olista01 closed D36744: [Asm] Finish matching once end of formal and actual lists reached (NFC) by committing rL318769: [Asm] Finish matching once end of formal and actual lists reached (NFC).
Nov 21 2017, 7:13 AM
olista01 committed rL318766: [ARM] Add diagnostics for SPR/DPR lists.
[ARM] Add diagnostics for SPR/DPR lists
Nov 21 2017, 7:06 AM
olista01 closed D39195: [ARM] Add diagnostics for SPR/DPR lists by committing rL318766: [ARM] Add diagnostics for SPR/DPR lists.
Nov 21 2017, 7:06 AM
olista01 added a comment to D36747: [Asm, ARM] Add fallback diag for multiple invalid operands.

Ping

Nov 21 2017, 4:01 AM
olista01 added a comment to D39195: [ARM] Add diagnostics for SPR/DPR lists.

Ping

Nov 21 2017, 4:01 AM
olista01 added a comment to D39193: [ARM] Don't omit non-default predication code.

Ping

Nov 21 2017, 4:01 AM
olista01 added a comment to D36746: [Asm] Improve "too few operands" errors.

Ping

Nov 21 2017, 4:01 AM
olista01 added a comment to D36744: [Asm] Finish matching once end of formal and actual lists reached (NFC).

Ping

Nov 21 2017, 4:01 AM
olista01 added a comment to D40011: [TableGen] AsmMatcher: Fix bug with reported diagnostic for operand..

It's a shame that we have to fall back the the general "invalid operand for instruction" in all of these cases, but I don't see any easy fix for that, and it's obviously better than emitting the wrong diagnostic.

Nov 21 2017, 3:32 AM
olista01 accepted D40011: [TableGen] AsmMatcher: Fix bug with reported diagnostic for operand..
Nov 21 2017, 3:32 AM
olista01 created D40292: [Docs] Add TOC entries for opcode documentation.
Nov 21 2017, 3:22 AM

Nov 14 2017

olista01 committed rL318155: [Docs] Add tablegen backend for target opcode documentation.
[Docs] Add tablegen backend for target opcode documentation
Nov 14 2017, 7:35 AM
olista01 closed D31025: [Docs] Add tablegen backend for target opcode documentatio by committing rL318155: [Docs] Add tablegen backend for target opcode documentation.
Nov 14 2017, 7:35 AM

Nov 13 2017

olista01 added a comment to D39909: [ARM] Issue an eror when non-general-purpose registers used in address operands.

Hi Momchil,

Nov 13 2017, 3:20 AM

Nov 9 2017

olista01 added a comment to D38175: [ARM] Make sure assembler rejects PC as an operand for VMOV.F16.

Hi Andre,

Nov 9 2017, 6:48 AM
olista01 updated the diff for D31025: [Docs] Add tablegen backend for target opcode documentatio.

Instead of only printing the operands that appear in the assembly string (some of which correspond to more then one MachineOperand), print a flattened list of operands. Kristof's example instruction now generates this documentation:

Nov 9 2017, 6:10 AM

Nov 8 2017

olista01 added a comment to D31025: [Docs] Add tablegen backend for target opcode documentatio.

Ping.

Nov 8 2017, 8:03 AM

Nov 7 2017

olista01 added reviewers for D39712: [ARM] Add an alias for psr and psr_nzcvq: javed.absar, rengolin.

Hi Leslie,

Nov 7 2017, 1:54 AM

Oct 24 2017

olista01 committed rL316442: [ARM] Tighten up CHECK lines in a test.
[ARM] Tighten up CHECK lines in a test
Oct 24 2017, 7:21 AM
olista01 closed D39238: [ARM] Tighten up CHECK lines in a test by committing rL316442: [ARM] Tighten up CHECK lines in a test.
Oct 24 2017, 7:20 AM
olista01 committed rL316441: [ARM] Error for invalid shift in memory operand.
[ARM] Error for invalid shift in memory operand
Oct 24 2017, 7:19 AM
olista01 closed D39237: [ARM] Error for invalid shift in memory operand by committing rL316441: [ARM] Error for invalid shift in memory operand.
Oct 24 2017, 7:19 AM
olista01 created D39238: [ARM] Tighten up CHECK lines in a test.
Oct 24 2017, 6:26 AM
olista01 created D39237: [ARM] Error for invalid shift in memory operand.
Oct 24 2017, 6:25 AM
olista01 committed rL316423: [ARM] Replace development diagnostics with normal DEBUG macro.
[ARM] Replace development diagnostics with normal DEBUG macro
Oct 24 2017, 2:47 AM
olista01 closed D39194: [ARM] Include operand class name in dev diags by committing rL316423: [ARM] Replace development diagnostics with normal DEBUG macro.
Oct 24 2017, 2:47 AM
olista01 added a dependency for D39196: [ARM] Remove pre-UAL FLDM/FSTM aliases: D39195: [ARM] Add diagnostics for SPR/DPR lists.
Oct 24 2017, 2:47 AM
olista01 added a dependent revision for D39195: [ARM] Add diagnostics for SPR/DPR lists: D39196: [ARM] Remove pre-UAL FLDM/FSTM aliases.
Oct 24 2017, 2:47 AM
olista01 updated the diff for D39196: [ARM] Remove pre-UAL FLDM/FSTM aliases.

I've double-checked, and the FLDMX and FSTMX are the only pre-UAL VFP instructions that don't have a UAL syntax, so I've removed all of the FLDMS anbd FLDMD aliases.

Oct 24 2017, 2:41 AM
olista01 updated the diff for D39194: [ARM] Include operand class name in dev diags.
  • Remove the -arm-asm-parser-dev-diags option
  • Print the extra info straight to dbgs(), rather than appending to the diagnostic
Oct 24 2017, 2:16 AM
olista01 committed rL316421: [ARM] tSETEND needs IsThumb.
[ARM] tSETEND needs IsThumb
Oct 24 2017, 2:06 AM
olista01 closed D39190: [ARM] tSETEND needs IsThumb by committing rL316421: [ARM] tSETEND needs IsThumb.
Oct 24 2017, 2:06 AM
olista01 committed rL316420: [ARM] Remove tCPS alias which just crashed.
[ARM] Remove tCPS alias which just crashed
Oct 24 2017, 1:56 AM
olista01 closed D39191: [ARM] Remove tCPS alias which just crashed by committing rL316420: [ARM] Remove tCPS alias which just crashed.
Oct 24 2017, 1:56 AM

Oct 23 2017

olista01 added a comment to D39194: [ARM] Include operand class name in dev diags.

Isn't this going to be enabled by default some time in the near future?

Oct 23 2017, 3:21 PM
olista01 added a comment to D39194: [ARM] Include operand class name in dev diags.

Normal users will only ever see the "invalid operand for instruction" part of the diagnostic, regardess of whether they have assertions enabled or not. The extra info is only enabled when the -arm-arm-parser-dev-diags option is used (the "if (DevDiags)" check above), which isn't even exposed as a clang option (you'd need to pass it through with -mllvm).

Oct 23 2017, 3:00 PM
olista01 added a comment to D39192: [ARM] processInstruction must return true if it makes a change.

It will probably take me a while to get the patch that uncovers this out, as it's quite complex (adding optional operands in the asm matcher, to remove some hacks like shouldOmitCCOutOperand in the asm parser and get more precise diagnostics), and I'm only working on this as a side project. Since this "bug" isn't observable at the moment I'm fine to leave this in review until the optional operands patch is published, so that it's clear why it is necessary. However, I think it should still be a separate patch, as it's not really related to the optional operands change, and would need to go in before it to avoid test failures.

Oct 23 2017, 2:53 PM
olista01 added a reviewer for D39196: [ARM] Remove pre-UAL FLDM/FSTM aliases: compnerd.

+Saleem, who added these aliases in 2013.

Oct 23 2017, 2:46 PM
olista01 added a comment to D39194: [ARM] Include operand class name in dev diags.

Why do you think this should be kept downstream? It's a debug option which I've found useful while adding diagnostics for assembly options, none of which I plan on keeping downstream.

Oct 23 2017, 2:33 PM
olista01 added a comment to D39192: [ARM] processInstruction must return true if it makes a change.

I'm not aware of any test case that can trigger this at the moment, because we get lucky with the ordering of opcodes in the assembly matcher table. However, other patches that I'm working on change that.

Oct 23 2017, 2:27 PM
olista01 added a comment to D39190: [ARM] tSETEND needs IsThumb.

It's _not_ OK to select the Thumb version of this instruction in ARM mode, and that's what this patch is preventing. Normally, the T1I base class sets the Predicates list to [IsThumb], but the Requires class overrides the whole list rather than appending to it, so we need to explicitly include IsThumb in the list here. The ARM version of this instruction does have IsARM in the Predicates list, so doesn't get selected for Thumb targets.

Oct 23 2017, 2:24 PM
olista01 created D39196: [ARM] Remove pre-UAL FLDM/FSTM aliases.
Oct 23 2017, 10:00 AM
olista01 created D39195: [ARM] Add diagnostics for SPR/DPR lists.
Oct 23 2017, 10:00 AM
olista01 created D39194: [ARM] Include operand class name in dev diags.
Oct 23 2017, 9:59 AM
olista01 created D39193: [ARM] Don't omit non-default predication code.
Oct 23 2017, 9:58 AM
olista01 created D39192: [ARM] processInstruction must return true if it makes a change.
Oct 23 2017, 9:57 AM
olista01 updated the diff for D39190: [ARM] tSETEND needs IsThumb.

Updated patch with more context.

Oct 23 2017, 9:56 AM
olista01 created D39191: [ARM] Remove tCPS alias which just crashed.
Oct 23 2017, 9:55 AM
olista01 created D39190: [ARM] tSETEND needs IsThumb.
Oct 23 2017, 9:55 AM

Oct 13 2017

olista01 accepted D38347: [PATCH][ARM] Fix disassembly for conditional VMRS and VMSR instructions in ARM mode.
Oct 13 2017, 2:27 AM

Oct 12 2017

olista01 added inline comments to D36691: [AsmParser] Add DiagnosticString to register classes in tablegen.
Oct 12 2017, 2:29 AM
olista01 committed rL315571: [AsmParser] Suppress compile warning for targets with no register diags.
[AsmParser] Suppress compile warning for targets with no register diags
Oct 12 2017, 2:28 AM

Oct 11 2017

olista01 closed D31878: [Asm] Add debug tracing in table-generated assembly matcher.

Committed as https://reviews.llvm.org/rL315445.

Oct 11 2017, 2:18 AM
olista01 committed rL315445: [Asm] Add debug tracing in table-generated assembly matcher.
[Asm] Add debug tracing in table-generated assembly matcher
Oct 11 2017, 2:18 AM
olista01 accepted D38452: Mark test as a long-test.

LGTM.

Oct 11 2017, 2:06 AM

Oct 10 2017

olista01 committed rL315305: [ARM, Asm] Harden GNU LDRD/STRD aliases against invalid inputs.
[ARM, Asm] Harden GNU LDRD/STRD aliases against invalid inputs
Oct 10 2017, 5:38 AM
olista01 closed D36732: [ARM, Asm] Harden GNU LDRD/STRD aliases against invalid inputs by committing rL315305: [ARM, Asm] Harden GNU LDRD/STRD aliases against invalid inputs.
Oct 10 2017, 5:38 AM
olista01 committed rL315304: [ARM, Asm] Add diagnostics for floating-point register operands.
[ARM, Asm] Add diagnostics for floating-point register operands
Oct 10 2017, 5:35 AM
olista01 closed D36693: [ARM, Asm] Add diagnostics for floating-point register operands by committing rL315304: [ARM, Asm] Add diagnostics for floating-point register operands.
Oct 10 2017, 5:35 AM
olista01 committed rL315303: [ARM, Asm] Add diagnostics for general-purpose register operands.
[ARM, Asm] Add diagnostics for general-purpose register operands
Oct 10 2017, 5:32 AM
olista01 closed D36692: [ARM, Asm] Add diagnostics for general-purpose register operands by committing rL315303: [ARM, Asm] Add diagnostics for general-purpose register operands.
Oct 10 2017, 5:32 AM
olista01 committed rL315295: [AsmParser] Add DiagnosticString to register classes in tablegen.
[AsmParser] Add DiagnosticString to register classes in tablegen
Oct 10 2017, 4:00 AM
olista01 closed D36691: [AsmParser] Add DiagnosticString to register classes in tablegen by committing rL315295: [AsmParser] Add DiagnosticString to register classes in tablegen.
Oct 10 2017, 4:00 AM
olista01 added a comment to D31530: [ARM] Use new assembler diags for ARM.

Yes, I agree that it would be good to get this turned on for all targets. I'm developing it on ARM only at the moment so that I can make changes to the general mechanism without breaking lots of target's tests. Once it's stabilised, here's what I think needs doing to use it for other targets:

  • Move the ReportNearMisses and FilterNearMisses from the ARM asm parser to somewhere target-independent. There is some ARM-specific code in there at the moment, so this will need some sort of callbacks into the target asm parser.
  • Switch each asm parser to use the new mechanism. This should involve changing the signature of MatchInstruction, implementing any target-specific callbacks needed, and flipping the bit in the tablegen. I think the biggest part of this work will be updating the tests to match the new diagnostic format.
Oct 10 2017, 3:58 AM
olista01 updated the diff for D31878: [Asm] Add debug tracing in table-generated assembly matcher.

Changes:

  • Move MII at the base class
  • Make MII a reference
Oct 10 2017, 3:03 AM

Oct 4 2017

olista01 added inline comments to D38315: WIP: [ARM] Add f16 type support and code generation (part 1/2).
Oct 4 2017, 2:51 AM