[all-commits] [llvm/llvm-project] a1c447: [C API]: Add getters for inline assembly template ...

Justin Bogner via All-commits all-commits at lists.llvm.org
Tue Aug 15 21:52:32 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: a1c447d9ddcdc00a6da9c8147626c1013d60315d
      https://github.com/llvm/llvm-project/commit/a1c447d9ddcdc00a6da9c8147626c1013d60315d
  Author: Justin Bogner <mail at justinbogner.com>
  Date:   2023-08-15 (Tue, 15 Aug 2023)

  Changed paths:
    M llvm/include/llvm-c/Core.h
    M llvm/lib/IR/Core.cpp
    M llvm/test/Bindings/llvm-c/echo.ll
    M llvm/tools/llvm-c-test/echo.cpp

  Log Message:
  -----------
  [C API]: Add getters for inline assembly template string, constraints, and flags

This change adds support for accessing information about inline
assembly calls through the C API, enough to be able to round-trip the
information. This partially addresses https://llvm.org/pr42692 which
points out gaps in the C API

Getters for each of the parameters to LLVMGetInlineAsm/InlineAsm::get
have been added, such that the C API now has enough surface to clone
inline assembly calls

This API currently only returns the raw constraint string via
LLVMGetInlineAsmConstraintString: it may be prudent to also expose the
parsed constraints via InlineAsm::ParseConstraints, but I wasn't sure
how that should look like. This at least exposes the information for
clients

Patch by Benji Smith. Thanks!

Differential Revision: https://reviews.llvm.org/D153185




More information about the All-commits mailing list