[PATCH] D139209: [IRMover] Remove UB implying parameter attributes when necessary

Matt Arsenault via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jan 13 07:02:14 PST 2023


arsenm added inline comments.


================
Comment at: llvm/lib/Linker/IRMover.cpp:1577-1579
+  if (DstF && SrcF && DstF->isDeclaration() && !SrcF->isDeclaration()) {
+    assert(DstF->arg_size() == SrcF->arg_size() &&
+           "Dst and Src should have the same signature.");
----------------
TimNN wrote:
> arsenm wrote:
> > I thought we casted the function type at callsites for different signatures in different modules, so this wouldn't hold?
> @tejohnson do you have any input on this?
> 
> (I last looked at this code in-depth in early December, but don't remember seeing anything relevant. `ninja check-all` is also clean and in a brief test `IRMover` would happily import a function with a different signature without creating any bitcasts).
These days it would appear as a callsite with a different type from the callee, there's no explicit bitcast with opaque pointers


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D139209



More information about the llvm-commits mailing list