[PATCH] D92873: [cmake] Make ExecutionEngine/Orc/Shared depend on intrinsics_gen to fix modules build

Raphael Isemann via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Dec 8 11:28:41 PST 2020


teemperor created this revision.
teemperor added a reviewer: JDevlieghere.
Herald added subscribers: hiraditya, mgorny.
teemperor requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

The LLVM_ENABLE_MODULES builds currently randomly fail due depending on the
headers generated by the intrinsics_gen target, but the current dependency only model
the non-modules dependencies:

  While building module 'LLVM_ExecutionEngine' imported from llvm-project/llvm/lib/ExecutionEngine/Orc/Shared/TargetProcessControlTypes.cpp:13:
  While building module 'LLVM_intrinsic_gen' imported from llvm-project/llvm/include/llvm/ExecutionEngine/Orc/ThreadSafeModule.h:17:
  In file included from <module-includes>:1:
  In file included from llvm-project/llvm/include/llvm/IR/Argument.h:18:
  llvm/include/llvm/IR/Attributes.h:75:14: fatal error: 'llvm/IR/Attributes.inc' file not found
      #include "llvm/IR/Attributes.inc"
               ^~~~~~~~~~~~~~~~~~~~~~~~

Depending on whether intrinsics_gen runs before compiling Orc/Shared files we either fail or include an outdated Attributes.inc
in module builds. The Clang modules require these additional dependencies as including/importing one module requires all
includes headers by that module to be parsable.


Repository:
  rLLDB LLDB

https://reviews.llvm.org/D92873

Files:
  llvm/lib/ExecutionEngine/Orc/Shared/CMakeLists.txt


Index: llvm/lib/ExecutionEngine/Orc/Shared/CMakeLists.txt
===================================================================
--- llvm/lib/ExecutionEngine/Orc/Shared/CMakeLists.txt
+++ llvm/lib/ExecutionEngine/Orc/Shared/CMakeLists.txt
@@ -5,6 +5,9 @@
   ADDITIONAL_HEADER_DIRS
   ${LLVM_MAIN_INCLUDE_DIR}/llvm/ExecutionEngine/Orc
 
+  DEPENDS
+  intrinsics_gen
+
   LINK_COMPONENTS
   Support
   )


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D92873.310295.patch
Type: text/x-patch
Size: 399 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20201208/170b0ed9/attachment.bin>


More information about the llvm-commits mailing list