Issue 174036
Summary [EntryExitInstrumenter] Calls incorrectly get removed after skipping `available_externally`
Labels new issue
Assignees
Reporter cardigan1008
    In https://github.com/llvm/llvm-project/commit/e6f76378c20bebec85f66c1574bb6bb928a79025, it skips instrumentation on `available_externally` functions, but overlooks that instrumentation previously provided the only observable side effect anchoring calls to such functions. Once removed, later passes (including inlining and call simplification) may incorrectly treat those calls as removable no-ops. 

Alive2 proof: https://alive2.llvm.org/ce/z/BMiptW

Exposed from https://github.com/llvm/llvm-project/commit/e6f76378c20bebec85f66c1574bb6bb928a79025, cc @MaskRay 
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to