[PATCH] D47615: [DebugInfo] Adding DISubprogram::setFlags identical to DIType::setFlags
    Roman Tereshin via Phabricator via llvm-commits 
    llvm-commits at lists.llvm.org
       
    Fri Jun  1 08:48:28 PDT 2018
    
    
  
rtereshin added a comment.
In https://reviews.llvm.org/D47615#1119097, @aprantl wrote:
> We generally try to discourage modifying MDNodes after creation since this is an inherently dangerous thing to do since you never know who might be holding on to a pointer to an MDNode. Do you have really good reason to alter the flags on an existing node, or could you also just set the flags correctly at creation time? Even if the answer is yes I wonder if it wouldn't be better to clone a new distinct node with the modified flag.
I'm cloning an existing node to a temporary node, modifying the flags, and converting it to a distinct node.
Do you want me to put all of it in a single method instead of providing a method for modifying the flags?
If so, do we need to change DIType the same way? Currently it has public setFlags method, which is apparently only used by DIBuilder's methods that clone - set flags - convert to a distinct node.
Repository:
  rL LLVM
https://reviews.llvm.org/D47615
    
    
More information about the llvm-commits
mailing list