[PATCH] D73835: [IRBuilder] Virtualize IRBuilder

Nikita Popov via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Sun Feb 16 08:12:57 PST 2020


nikic reopened this revision.
nikic added a comment.
This revision is now accepted and ready to land.

Reverted because of failures on http://lab.llvm.org:8011/builders/llvm-clang-x86_64-expensive-checks-win/builds/22164. Not sure why this is the only builder that's failing, but I believe the problematic code is https://github.com/llvm/llvm-project/blob/af480e8c63b27ad247b8430cf124da8bcdf752f8/llvm/lib/IR/DIBuilder.cpp#L898-L910. Without NRVO this may copy `IRBuilder<>`, which is now self-referential due to the Folder/Inserter references in IRBuilderBase.

I'm not sure what the right way to fix this is. Should I add an explicit copy constructor? I guess that would also involve explicit move ctor and copy/move assignment, which seems pretty ugly. Maybe it makes more sense to explicitly delete it and just avoid the copy constructor in that particular code?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D73835/new/

https://reviews.llvm.org/D73835





More information about the cfe-commits mailing list