This is an archive of the discontinued LLVM Phabricator instance.

[AArch64] Add BRB IALL and BRB INJ instructions
ClosedPublic

Authored by tmatheson on Dec 29 2020, 5:50 AM.

Details

Summary

BRB IALL: Invalidate the Branch Record Buffer
BRB INJ: Branch Record Injection into the Branch Record Buffer

Parser changes based on work by Simon Tatham.

These are two-word mnemonics. The assembly parser works by special-casing
the mnemonic in order to parse the second word as a plain identifier token.

Diff Detail

Event Timeline

tmatheson created this revision.Dec 29 2020, 5:50 AM
tmatheson requested review of this revision.Dec 29 2020, 5:50 AM
Herald added a project: Restricted Project. · View Herald TranscriptDec 29 2020, 5:50 AM
chill added a subscriber: chill.Dec 29 2020, 9:22 AM
chill added inline comments.
llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
3782

Would it be possible to accept both lower and upper case of the keyword operands?
e.g. with https://github.com/llvm/llvm-project/blob/main/llvm/lib/Target/AArch64/AArch64InstrFormats.td#L11289

tmatheson updated this revision to Diff 314107.Dec 30 2020, 5:43 AM

Accept both lower and upper case of the keyword operands

tmatheson marked an inline comment as done.Dec 30 2020, 5:49 AM
MarkMurrayARM requested changes to this revision.Jan 5 2021, 3:46 AM
MarkMurrayARM added a subscriber: MarkMurrayARM.
MarkMurrayARM added inline comments.
llvm/lib/Target/AArch64/AArch64InstrInfo.td
837

Can these two not be combined with the bits 7-5 and the "iall"/"inj" parameterised?

This revision now requires changes to proceed.Jan 5 2021, 3:46 AM
tmatheson updated this revision to Diff 314570.Jan 5 2021, 4:50 AM

Combine BRB_IALL and BRB_INJ common parts into class BRBEI

tmatheson marked an inline comment as done.Jan 5 2021, 4:51 AM
This revision is now accepted and ready to land.Jan 5 2021, 5:14 AM
This revision was landed with ongoing or failed builds.Jan 6 2021, 4:14 AM
This revision was automatically updated to reflect the committed changes.