search for: linknamedmdnodes

Displaying 4 results from an estimated 4 matches for "linknamedmdnodes".

2011 Aug 04
2
[LLVMdev] metadata linking bug or by design
...global values. Current trunk version links NamedMDNodes before that, though the comment says otherwise: "We do this after linking GlobalValues so that MDNodes that reference GlobalValues are properly remapped". see ModuleLinker::run in lib/Linker/LinkModules.cpp. If I move the call to linkNamedMDNodes in ModuleLinker::run to the last step (just before return false), everything looks good. Not sure if linkNamedMDNodes must be called earlier. - xi On Thu, Aug 4, 2011 at 1:22 PM, Devang Patel <dpatel at apple.com> wrote: > > On Aug 4, 2011, at 8:21 AM, Xi Wang wrote: > >> Hi...
2011 Aug 04
0
[LLVMdev] metadata linking bug or by design
...trunk version links NamedMDNodes before that, though > the comment says otherwise: "We do this after linking GlobalValues so > that MDNodes that reference GlobalValues are properly remapped". see > ModuleLinker::run in lib/Linker/LinkModules.cpp. > > If I move the call to linkNamedMDNodes in ModuleLinker::run to the > last step (just before return false), everything looks good. Not sure > if linkNamedMDNodes must be called earlier. I made that change in response to Chris's change ValueMapper. Metadata mapping is being investigated as part of PR 10553 anyway. So Ill fix...
2011 Aug 04
0
[LLVMdev] metadata linking bug or by design
On Aug 4, 2011, at 8:21 AM, Xi Wang wrote: > Hi, > > It seems that current linker "drops" updated llvm::Value * references > in metadata. Here goes an example. We have a two-line source file > a.c: > > static int x; > void foo() { x = 1; } > > and a similar b.c: > > static int x; > void bar() { x = 1; } > > They both have an internal
2011 Aug 04
2
[LLVMdev] metadata linking bug or by design
Hi, It seems that current linker "drops" updated llvm::Value * references in metadata. Here goes an example. We have a two-line source file a.c: static int x; void foo() { x = 1; } and a similar b.c: static int x; void bar() { x = 1; } They both have an internal variable x; one of them will be renamed (to x1) during linking. clang -emit-llvm -c -g a.c clang -emit-llvm -c -g b.c