From 006e69265e2460407af4fa416a0f2ee5fe85f7fc Mon Sep 17 00:00:00 2001 From: Massimiliano Culpo Date: Fri, 30 Jun 2023 15:08:11 +0200 Subject: Optimize grounding of "can_inherit_flags" --- lib/spack/spack/solver/concretize.lp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/lib/spack/spack/solver/concretize.lp b/lib/spack/spack/solver/concretize.lp index f1126f9fb0..307a8719a8 100644 --- a/lib/spack/spack/solver/concretize.lp +++ b/lib/spack/spack/solver/concretize.lp @@ -1148,12 +1148,15 @@ error(100, "Compiler {1}@{2} requested for {0} cannot be found. Set install_miss % propagate flags when compiler match can_inherit_flags(PackageNode, DependencyNode, FlagType) + :- same_compiler(PackageNode, DependencyNode), + not attr("node_flag_set", DependencyNode, FlagType, _), + flag_type(FlagType). + +same_compiler(PackageNode, DependencyNode) :- depends_on(PackageNode, DependencyNode), node_compiler(PackageNode, CompilerID), node_compiler(DependencyNode, CompilerID), - not attr("node_flag_set", DependencyNode, FlagType, _), - compiler_id(CompilerID), - flag_type(FlagType). + compiler_id(CompilerID). node_flag_inherited(DependencyNode, FlagType, Flag) :- attr("node_flag_set", PackageNode, FlagType, Flag), -- cgit v1.2.3-70-g09d2