Skip to content

[llvm] Enable building Analysis plugins on Cygwin #151397

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jul 31, 2025

Conversation

jeremyd2019
Copy link
Contributor

In #112303 they were enabled for Windows dylib builds, but the condition excluded Cygwin in that case. Their dynamic libraries work the same way, so adjust the condition accordingly.

This fixes the plugin tests on Cygwin.

In llvm#112303 they were enabled for Windows dylib builds, but the condition
excluded Cygwin in that case.  Their dynamic libraries work the same
way, so adjust the condition accordingly.

This fixes the plugin tests on Cygwin.
@jeremyd2019 jeremyd2019 requested a review from mstorsjo July 30, 2025 21:31
@llvmbot llvmbot added the llvm:analysis Includes value tracking, cost tables and constant folding label Jul 30, 2025
@llvmbot
Copy link
Member

llvmbot commented Jul 30, 2025

@llvm/pr-subscribers-llvm-analysis

Author: None (jeremyd2019)

Changes

In #112303 they were enabled for Windows dylib builds, but the condition excluded Cygwin in that case. Their dynamic libraries work the same way, so adjust the condition accordingly.

This fixes the plugin tests on Cygwin.


Full diff: https://github.com/llvm/llvm-project/pull/151397.diff

2 Files Affected:

  • (modified) llvm/unittests/Analysis/InlineAdvisorPlugin/CMakeLists.txt (+1-1)
  • (modified) llvm/unittests/Analysis/InlineOrderPlugin/CMakeLists.txt (+1-1)
diff --git a/llvm/unittests/Analysis/InlineAdvisorPlugin/CMakeLists.txt b/llvm/unittests/Analysis/InlineAdvisorPlugin/CMakeLists.txt
index deabf110f2e43..d9da627ad52e3 100644
--- a/llvm/unittests/Analysis/InlineAdvisorPlugin/CMakeLists.txt
+++ b/llvm/unittests/Analysis/InlineAdvisorPlugin/CMakeLists.txt
@@ -2,7 +2,7 @@
 # libraries, but expects them to exist in the process loading the plugin. This 
 # doesn't work with DLLs on Windows (where a shared library can't have undefined
 # references), so just skip this testcase on Windows.
-if ((NOT WIN32 OR LLVM_BUILD_LLVM_DYLIB) AND NOT CYGWIN)
+if ((NOT WIN32 AND NOT CYGWIN) OR LLVM_BUILD_LLVM_DYLIB)
   unset(LLVM_LINK_COMPONENTS)
   add_llvm_library(InlineAdvisorPlugin MODULE BUILDTREE_ONLY
     InlineAdvisorPlugin.cpp
diff --git a/llvm/unittests/Analysis/InlineOrderPlugin/CMakeLists.txt b/llvm/unittests/Analysis/InlineOrderPlugin/CMakeLists.txt
index 0b37cebe3da6d..941e18efc1a52 100644
--- a/llvm/unittests/Analysis/InlineOrderPlugin/CMakeLists.txt
+++ b/llvm/unittests/Analysis/InlineOrderPlugin/CMakeLists.txt
@@ -2,7 +2,7 @@
 # libraries, but expects them to exist in the process loading the plugin. This 
 # doesn't work with DLLs on Windows (where a shared library can't have undefined
 # references), so just skip this testcase on Windows.
-if ((NOT WIN32 OR LLVM_BUILD_LLVM_DYLIB) AND NOT CYGWIN)
+if ((NOT WIN32 AND NOT CYGWIN) OR LLVM_BUILD_LLVM_DYLIB)
   unset(LLVM_LINK_COMPONENTS)
   add_llvm_library(InlineOrderPlugin MODULE BUILDTREE_ONLY
     InlineOrderPlugin.cpp

Copy link
Member

@mstorsjo mstorsjo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@jeremyd2019 jeremyd2019 merged commit e5402c9 into llvm:main Jul 31, 2025
11 checks passed
@jeremyd2019 jeremyd2019 deleted the llvm-analysis-plugins-cygwin branch July 31, 2025 17:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
llvm:analysis Includes value tracking, cost tables and constant folding
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants