https://gcc.gnu.org/g:e112de41a5d765544cd31b847689859290e0b0a2
commit r16-5158-ge112de41a5d765544cd31b847689859290e0b0a2 Author: Lulu Cheng <[email protected]> Date: Tue Sep 30 20:26:02 2025 +0800 LoongArch: Do not inline when callee is versioned but caller is not. gcc/ChangeLog: * config/loongarch/loongarch.cc (loongarch_can_inline_p): Do not inline when callee is versioned but caller is not. Diff: --- gcc/config/loongarch/loongarch.cc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/gcc/config/loongarch/loongarch.cc b/gcc/config/loongarch/loongarch.cc index 6d587049102b..1f29de5f6e16 100644 --- a/gcc/config/loongarch/loongarch.cc +++ b/gcc/config/loongarch/loongarch.cc @@ -11383,6 +11383,10 @@ loongarch_compute_pressure_classes (reg_class *classes) static bool loongarch_can_inline_p (tree caller, tree callee) { + /* Do not inline when callee is versioned but caller is not. */ + if (DECL_FUNCTION_VERSIONED (callee) && ! DECL_FUNCTION_VERSIONED (caller)) + return false; + tree callee_tree = DECL_FUNCTION_SPECIFIC_TARGET (callee); tree caller_tree = DECL_FUNCTION_SPECIFIC_TARGET (caller);
