[PATCH] D118694: [Bitcode] Add partial support for opaque pointer auto-upgrade

Nikita Popov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Feb 1 04:09:47 PST 2022


nikic created this revision.
nikic added a reviewer: opaque-pointers.
Herald added subscribers: dexonsmith, hiraditya.
nikic requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

Auto-upgrades that rely on the pointer element type do not work in opaque pointer mode. The idea behind this patch is that we can instead work with type IDs, for which we can retain the pointer element type. For typed pointer bitcode, we will have a distinct type ID for pointers with distinct element type, even if there will only be a single corresponding opaque pointer type.

The disclaimer here is that this is only the first step of the change, and there are still more getPointerElementType() calls to remove. I expect that two more patches will be needed: 1. Track all "contained" type IDs, which will allow us to handle function params (which are contained in the function type) and GEPs (which may use vectors of pointers) 2. Track type IDs for values, which is e.g. necessary to handle loads.


https://reviews.llvm.org/D118694

Files:
  llvm/lib/Bitcode/Reader/BitcodeReader.cpp
  llvm/test/Bitcode/aggregateInstructions.3.2.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D118694.404880.patch
Type: text/x-patch
Size: 7887 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220201/7a692b93/attachment.bin>


More information about the llvm-commits mailing list