[PATCH] D133036: [InstCombine] Treat passing undef to noundef params as UB

Tim Neumann via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Sun Nov 13 11:13:13 PST 2022


TimNN added a comment.

I'm sorry for the noise. Further investigation has shown that this happens when Rust is doing (thin) LTO, and I don't think this patch can be considered in any way "at fault" here, so this is the last you'll hear from me on the topic here.

I don't know whether the fault is with how Rust implements (thin) LTO or something on the LLVM side. Basically, after running the `FunctionImporter` on a module, we end up with a `define available_externally void outer` and a `declare void inner`, presumably coming from different modules. `outer` contains the call to `inner` with `poison`, but the parameter is `noundef` on the declaration on `inner`.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D133036



More information about the cfe-commits mailing list