[PATCH] D83370: [CallGraph] Ignore callback uses
Johannes Doerfert via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Jul 10 14:00:51 PDT 2020
jdoerfert added inline comments.
================
Comment at: llvm/test/Transforms/Attributor/IPConstantProp/arg-count-mismatch.ll:47
+; IS__CGSCC_OPM-NEXT: [[CALL:%.*]] = call i16 bitcast (i16 (i16, i16)* @bar to i16 (i16)*)(i16 [[A]])
+; IS__CGSCC_OPM-NEXT: ret i16 [[CALL]]
;
----------------
The problem here is the missing "reference" edge in the old call graph. Before the patch `bar` is externally callable and `foo` calls an external function. With the patch, neither is the case but `foo` is also not calling `bar` (I think).
The solution is to verify we are looking at a callback call and not any abstract call site. Callback calls cause such "reference" edges since D82572.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D83370/new/
https://reviews.llvm.org/D83370
More information about the llvm-commits
mailing list