aboutsummaryrefslogtreecommitdiff
path: root/llvm/tools/llvm-objdump/llvm-objdump.cpp
diff options
context:
space:
mode:
authorChuanqi Xu <yedeng.yd@linux.alibaba.com>2024-06-21 17:05:42 +0800
committerChuanqi Xu <yedeng.yd@linux.alibaba.com>2024-06-21 17:50:30 +0800
commitd4d95ee65159db1ea1a8c4159cfdaf8b81097897 (patch)
tree9708f59f6a6de9d4053e85e6b7b595b1a55c94bf /llvm/tools/llvm-objdump/llvm-objdump.cpp
parent2b5d1fb889fca7287858db0791bfecc1465f23e1 (diff)
downloadllvm-d4d95ee65159db1ea1a8c4159cfdaf8b81097897.zip
llvm-d4d95ee65159db1ea1a8c4159cfdaf8b81097897.tar.gz
llvm-d4d95ee65159db1ea1a8c4159cfdaf8b81097897.tar.bz2
[Serialization] Register identifiers in ahead and don't emit predefined decls
See the added test for the motivation example. In that example, we add a new function declaration in `a.cppm` and this is not used in the reduced BMI of `b.cppm`. We expect that the change won't affect the BMI of `b.cppm`. But it is the not the case. There are 2 reason for unexpected result: 1. We would register the interesting identifiers in a pretty late phase. This may cause some some predefined identifier ID change due to we insert other identifiers during emitting decls and types. 2. In `GenerateNameLookup`, we would generate information for predefined decls. This may not be intended. Since every predefined decl doesn't belong to any module. And this patch solves the first issue by registering the identifiers in the very early posititon to make sure the ID won't get affected by the process to emit decls and types. And we solve the second question by filtering predefined decls simply.
Diffstat (limited to 'llvm/tools/llvm-objdump/llvm-objdump.cpp')
0 files changed, 0 insertions, 0 deletions