[PATCH] D93451: [Cloning] Copy metadata of global declarations
Ruiling, Song via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Jan 25 02:52:40 PST 2021
ruiling added a comment.
seems that copying the metadata causing the Cloned module still reference some metadata in source modules. and `simplifyExternals(*MergedM);` in `ThinLTOBitcodeWriter.cpp` modifies the metadata in the source module `M`. which is out-of my expectation. I am not familiar with that part of code, so still need some time to continue investigate. I am not sure @pcc Do you have any idea on this?
Actually it is changing a metadata in module `M` from:
`!32 = !DITemplateValueParameter(type: !33, value: { i64, i64 } { i64 ptrtoint (i32 (%class.i*)* @_ZNK1i5m_fn1Ev to i64), i64 0 })`
into
`!32 = !DITemplateValueParameter(type: !33, value: { i64, i64 } { i64 ptrtoint (void ()* @_ZNK1i5m_fn1Ev to i64), i64 0 })`
I dumped the modules before and after my change, this is the only diff of Module `M` before writing out.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D93451/new/
https://reviews.llvm.org/D93451
More information about the llvm-commits
mailing list