[PATCH] D77535: [GlobalISel] Add extended inline assembler support

Konstantin Schwarz via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Apr 6 03:13:22 PDT 2020


kschwarz created this revision.
kschwarz added reviewers: dsanders, arsenm, aemerson, volkan, t.p.northover, paquette.
Herald added subscribers: hiraditya, rovka, wdng.
Herald added a project: LLVM.

So far, GlobalISel only supports very basic inline assembler constructs (no input/output operands, only simple memory clobbers).

Thid patch adds support for generic register, immediate, memory and clobber constraints.
Before moving on with target specific operand constraints, I'd like to get some feedback on the general approach.
This patch will be accompanied by a corresponding RFC on the llvm-dev list.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D77535

Files:
  llvm/include/llvm/CodeGen/TargetLowering.h
  llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
  llvm/lib/CodeGen/GlobalISel/RegBankSelect.cpp
  llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
  llvm/lib/Target/AArch64/AArch64InstructionSelector.cpp
  llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-inline-asm.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D77535.255268.patch
Type: text/x-patch
Size: 42128 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200406/2cecc470/attachment.bin>


More information about the llvm-commits mailing list