[llvm] [llvm][EmbedBitcodePass] Prevent modifying the module with ThinLTO (PR #139999)

Paul Kirth via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 10 15:04:08 PDT 2025


ilovepi wrote:

@nikic for whatever reason I could't get your reproducer to work. It took about 12 days, but I got this out of cvise (would love to know how you got something so small so fast!).

```
//RUN: clang -cc1 -debug-info-kind=constructor -flto=thin -ffat-lto-objects -emit-llvm bad.reduced.cpp
void pn_condition_free(int *);

template <class T, void(T *)> struct auto_free {};
struct handler {
  auto_free<int, pn_condition_free> last_condition;
};

struct proactor {
  proactor();
  void connect(handler *) {}
};

void test() {
  handler chsh;
  proactor client;
  client.connect(0);
}
```

This still hits the unreachable for me, though I'm still very confused about when things go off the rails once the module is being cloned.


https://github.com/llvm/llvm-project/pull/139999


More information about the llvm-commits mailing list