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);

Reply via email to