llvm-project/llvm/test/Analysis/CallGraph
Johannes Doerfert 1041053469 [CallGraph][FIX] Ensure generic intrinsics are represented in the CG
Intrinsics have historically been excluded from the call graph with an
exception of 3 special ones added at some point. This meant that passes
depending on the call graph needed to handle intrinsics explicitly as
the underlying assumption, namely that intrinsics can't call or modify
things, doesn't hold. We are slowly moving away from special handling of
intrinsics, or at least towards explicitly checking what intrinsics we
want to handle differently.

This patch:
 - Includes most intrinsics in the call graph. Debug intrinsics are
   still excluded.
 - Removes the special handling of intrinsics in the GlobalsAA pass.
 - Removes the `IntrinsicInst::isLeaf` method.

Properly
Fixes: https://github.com/llvm/llvm-project/issues/52706

See also:
https://discourse.llvm.org/t/intrinsics-are-not-special-stop-pretending-i-mean-it/67545

Differential Revision: https://reviews.llvm.org/D14119
2023-01-10 11:38:58 -08:00
..
2008-09-09-DirectCall.ll [NFC] Port all Analysis/CallGraph tests to -passes= syntax 2022-12-09 01:04:44 +03:00
2008-09-09-UsedByGlobal.ll [NFC] Port all Analysis/CallGraph tests to -passes= syntax 2022-12-09 01:04:44 +03:00
callback-calls.ll [NFC] Port all Analysis/CallGraph tests to -passes= syntax 2022-12-09 01:04:44 +03:00
do-nothing-intrinsic.ll
ignore-assumelike-calls.ll [CallGraph][FIX] Ensure generic intrinsics are represented in the CG 2023-01-10 11:38:58 -08:00
ignore-callback-uses.ll [NFC] Port all Analysis/CallGraph tests to -passes= syntax 2022-12-09 01:04:44 +03:00
llvm-used.ll Function: Respect IgnoreLLVMUsed with addrspacecasted functions 2022-12-16 14:24:03 -05:00
no-intrinsics.ll [NFC] Port all Analysis/CallGraph tests to -passes= syntax 2022-12-09 01:04:44 +03:00
non-leaf-intrinsics.ll [CallGraph][FIX] Ensure generic intrinsics are represented in the CG 2023-01-10 11:38:58 -08:00
printer.ll