[LLVMdev] Redundancy in Named Metadata

Xiaolong Tang xiaolong.snake at gmail.com
Wed Jun 20 07:53:25 PDT 2012


Hi All, 

I have a question about named metadata, i.e. NamedMDNode. 

I have one dedicated named metadata node, say
"clang.global.func.type", for conveying information about functions
defined in each translation unit. In the module resulting from each
translation unit, the dedicated (named metadata) node does not have
redundancy. However, this dedicated (named metadata) node contains
redundancy in the module resulting from linking all individual modules
(from different translation units).

For example, below !522 occurs twice. 
  !clang.global.func.type = !{ ... !522, ... , !522, ... }

So my question is: Is there any way to eliminate such redundancy? 

The "NamedMDNode" does not declare any erasing and removing operands
operations. 

Xiaolong




More information about the llvm-dev mailing list