tree ed7a69dd3823364436954bd6994ad9da81aab13f
parent 46adbffcd581c4eb255b0c183331b0132ab12dd1
author Andrew Rogers <andrurogerz@gmail.com> 1748905104 -0700
committer GitHub <noreply@github.com> 1748905104 -0700
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJoPiyQCRC1aQ7uu5UhlAAAdO4QAIck5xS9eacROvYvLu3x5nOW
 5jeFRsoCRCZ/IhYrMXc8eg2FDY6Pj4OhrOHMw+3/mJjfrOrEFxpGn9KBL41BqxpU
 qFcDyeZM6SWH4spNSRW5BUZvwfR7IJMydWHCmrCTpMURI6Dl37fQ+SgiPTjc7C6t
 P9QQYdnQjhjupLKtA9g98wRLGhDnM6prWQ/EzPL03PPtPRt5h/XXsXdr/nAvCXAz
 COsiVoXGHvmXnYoJyog6tGlUkn+ywddSABRGGWpyEwtCqoLjRjV5go8au2m9Vs1r
 0bA6JldrTB8ReTmfL1vUwjOEg7k3Ue5csPAB+2eY7tAXlIT83t6KDcw9YSgbLHW9
 roYueug2QNtLVUu6TpWXjYXQFepscuxBm9A6gLiXp9AjZWtctr7rFpWzFNUi9pKO
 v1URhaHl5qxAcajTZnTeS+iW8k2aofTWQbMuXPdwhxoTS40dfqLVwW2E+5/0qJ3v
 xMVJ8YKSbgnGUIv2pSlWUDAmCETU5LFt2PxrtGy/8hA9Kli60Gg2SSV4rOjUmSJQ
 v/rBPCVaLvSUIZKCEaTj7WEpvI2GRaYc0j1rmcweweLQId1ZphOmPaJ6PTOn6n1U
 uVIt5AswlNk0/8Rwav6zQ6SwuGQyOWVDnk0hOFdKFFwg4eAIPmnDH6QY/Cq4S8I3
 IPpbDBnNoGmK3LVEDolL
 =gtCX
 -----END PGP SIGNATURE-----
 

[llvm] annotate interfaces in llvm/IR for DLL export (#141650)

## Purpose

This patch is one in a series of code-mods that annotate LLVM’s public
interface for export. This patch annotates the `llvm/IR`,
`llvm/IRPrinter`, and `llvm/IRReader` libraries. These annotations
currently have no meaningful impact on the LLVM build; however, they are
a prerequisite to support an LLVM Windows DLL (shared library) build.

## Background

This effort is tracked in #109483. Additional context is provided in
[this
discourse](https://discourse.llvm.org/t/psa-annotating-llvm-public-interface/85307),
and documentation for `LLVM_ABI` and related annotations is found in the
LLVM repo
[here](https://github.com/llvm/llvm-project/blob/main/llvm/docs/InterfaceExportAnnotations.rst).

The bulk of these changes were generated automatically using the
[Interface Definition Scanner (IDS)](https://github.com/compnerd/ids)
tool, followed formatting with `git clang-format`.

The following manual adjustments were also applied after running IDS on
Linux:
- Add `#include "llvm/Support/Compiler.h"` to files where it was not
auto-added by IDS due to no pre-existing block of include statements.
- Add `LLVM_ABI_FRIEND` to friend member functions declared with
`LLVM_ABI`
- Add `LLVM_TEMPLATE_ABI` and `LLVM_EXPORT_TEMPLATE` to exported
instantiated templates
- Add `LLVM_ABI` to a subset of private class methods and fields that
require export
- Add `LLVM_ABI` to a small number of symbols that require export but
are not declared in headers
- Reorder `LLVM_ABI` with `[[deprecated]]` and `[[nodiscard]]`
attributes.

## Validation

Local builds and tests to validate cross-platform compatibility. This
included llvm, clang, and lldb on the following configurations:

- Windows with MSVC
- Windows with Clang
- Linux with GCC
- Linux with Clang
- Darwin with Clang