[clang] [compiler-rt] [llvm] [AIX] Implement the ifunc attribute. (PR #153049)
    Wael Yehia via llvm-commits 
    llvm-commits at lists.llvm.org
       
    Sun Sep 21 18:41:19 PDT 2025
    
    
  
================
@@ -3361,6 +3382,194 @@ void PPCAIXAsmPrinter::emitModuleCommandLines(Module &M) {
   OutStreamer->emitXCOFFCInfoSym(".GCC.command.line", RSOS.str());
 }
 
+static bool TOCRestoreNeeded(const GlobalIFunc &GI) {
+  auto IsLocalFunc = [&](const Value *V) {
+    if (!isa<Function>(V))
+      return false;
+    auto *F = cast<Function>(V);
+
+    // static functions are local
+    if (F->getLinkage() == GlobalValue::InternalLinkage)
+      return true;
+    // for now, declarations we treat as potentially non-local
+    if (F->isDeclarationForLinker())
+      return false;
+    // hidden visibility definitions cannot be preempted, so treat as local.
+    if (F->getVisibility() == GlobalValue::HiddenVisibility)
----------------
w2yehia wrote:
added protected to the if condition.
https://github.com/llvm/llvm-project/pull/153049
    
    
More information about the llvm-commits
mailing list