search for: destroysource

Displaying 7 results from an estimated 7 matches for "destroysource".

2013 Nov 13
2
[LLVMdev] Proposal: release MDNodes for source modules (LTO+debug info)
...f not remove it. One implementation is to mark a visited MDNode used when traversing the module. After done traversing all modules, we can delete MDNodes in MDNodeSet that are not marked. In LTOCodeGenerator, add a vector of source modules that are added (these source modules will be linked with DestroySource mode). In LTOCodeGenerator:: compile_to_file, delete all source modules that are linked in, then call LLVMContext::removeUnusedMDNodes —> I can’t find a better place to call the function. When we call compile_to_file, we should have done linking in all source modules. Another possibility is to a...
2013 Nov 13
0
[LLVMdev] Proposal: release MDNodes for source modules (LTO+debug info)
...mplementation is to mark a visited MDNode used when traversing the > module. After done traversing all modules, we can delete MDNodes in > MDNodeSet that are not marked. > > In LTOCodeGenerator, add a vector of source modules that are added (these > source modules will be linked with DestroySource mode). > In LTOCodeGenerator:: compile_to_file, delete all source modules that are > linked in, then call LLVMContext::removeUnusedMDNodes > —> I can’t find a better place to call the function. When we > call compile_to_file, we should have done linking in all source modules. > An...
2013 Nov 13
3
[LLVMdev] Proposal: release MDNodes for source modules (LTO+debug info)
...mark a visited MDNode used when traversing the >> module. After done traversing all modules, we can delete MDNodes in >> MDNodeSet that are not marked. >> >> In LTOCodeGenerator, add a vector of source modules that are added (these >> source modules will be linked with DestroySource mode). >> In LTOCodeGenerator:: compile_to_file, delete all source modules that are >> linked in, then call LLVMContext::removeUnusedMDNodes >> —> I can’t find a better place to call the function. When we >> call compile_to_file, we should have done linking in all source...
2013 Jun 27
2
[LLVMdev] Problem with linking modules which use a shared type
...===================== ; ModuleID = 'm2' %T = type { i32 } declare void @f(%T) define void @h(%T) { b: call void @f(%T %0) ret void } However, if both modules are linked together as per // link Linker::LinkModules( m1, m2, Linker::DestroySource, nullptr ); verifyModule(*m1); the type %T in both modules will not be unified, but instead two separate types %T and %0 will be introduced, leading to the following IR code, which of course won't pass the verification any more due to type incompatibilities in the function call: ;...
2013 Nov 13
0
[LLVMdev] Proposal: release MDNodes for source modules (LTO+debug info)
...e used when traversing >>> the module. After done traversing all modules, we can delete MDNodes in >>> MDNodeSet that are not marked. >>> >>> In LTOCodeGenerator, add a vector of source modules that are added >>> (these source modules will be linked with DestroySource mode). >>> In LTOCodeGenerator:: compile_to_file, delete all source modules that >>> are linked in, then call LLVMContext::removeUnusedMDNodes >>> —> I can’t find a better place to call the function. When we >>> call compile_to_file, we should have done linkin...
2013 Jun 28
0
[LLVMdev] Problem with linking modules which use a shared type
...%T = type { i32 } > > declare void @f(%T) > > define void @h(%T) { > b: > call void @f(%T %0) > ret void > } > > > However, if both modules are linked together as per > > // link > Linker::LinkModules( m1, m2, Linker::DestroySource, nullptr ); > verifyModule(*m1); > > > the type %T in both modules will not be unified, but instead two separate > types %T and %0 will be introduced, leading to the following IR code, which > of course won't pass the verification any more due to type > incompatibilitie...
2013 Nov 13
2
[LLVMdev] Proposal: release MDNodes for source modules (LTO+debug info)
...ng >>>> the module. After done traversing all modules, we can delete MDNodes in >>>> MDNodeSet that are not marked. >>>> >>>> In LTOCodeGenerator, add a vector of source modules that are added >>>> (these source modules will be linked with DestroySource mode). >>>> In LTOCodeGenerator:: compile_to_file, delete all source modules that >>>> are linked in, then call LLVMContext::removeUnusedMDNodes >>>> —> I can’t find a better place to call the function. When we >>>> call compile_to_file, we should...