1041053469
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 |
||
---|---|---|
.. | ||
2008-09-09-DirectCall.ll | ||
2008-09-09-UsedByGlobal.ll | ||
callback-calls.ll | ||
do-nothing-intrinsic.ll | ||
ignore-assumelike-calls.ll | ||
ignore-callback-uses.ll | ||
llvm-used.ll | ||
no-intrinsics.ll | ||
non-leaf-intrinsics.ll | ||
printer.ll |