[llvm] [HLSL][RootSignature] Implement serialization of `RootConstants` and `RootFlags` (PR #141130)

Jan Patrick Lehr via llvm-commits llvm-commits at lists.llvm.org
Thu May 29 11:05:29 PDT 2025


jplehr wrote:

I think this patch caused some issues on our buildbot: https://lab.llvm.org/buildbot/#/builders/10/builds/6308
Can you please take a look at this?

```
FAILED: tools/clang/unittests/AllClangUnitTests 
: && /usr/bin/c++ -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -fno-common -Woverloaded-virtual -fno-strict-aliasing -O3 -DNDEBUG -Wl,--gc-sections tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Lex/DependencyDirectivesScannerTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Lex/HeaderMapTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Lex/HeaderSearchTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Lex/LexerTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Lex/LexHLSLRootSignatureTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Lex/ModuleDeclStateTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Lex/PPCallbacksTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Lex/PPConditionalDirectiveRecordTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Lex/PPDependencyDirectivesTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Lex/PPMemoryAllocationsTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Parse/ParseHLSLRootSignatureTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Driver/DistroTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Driver/DXCModeTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Driver/GCCVersionTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Driver/ToolChainTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Driver/ModuleCacheTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Driver/MultilibBuilderTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Driver/MultilibTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Driver/SanitizerArgsTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Analysis/CFGDominatorTree.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Analysis/CFGTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Analysis/CloneDetectionTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Analysis/ExprMutationAnalyzerTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Analysis/IntervalPartitionTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Analysis/MacroExpansionContextTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Analysis/UnsafeBufferUsageTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Analysis/FlowSensitive/ArenaTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Analysis/FlowSensitive/ASTOpsTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Analysis/FlowSensitive/CFGMatchSwitchTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Analysis/FlowSensitive/CachedConstAccessorsLatticeTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Analysis/FlowSensitive/ChromiumCheckModelTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Analysis/FlowSensitive/DataflowAnalysisContextTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Analysis/FlowSensitive/DataflowEnvironmentTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Analysis/FlowSensitive/DebugSupportTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Analysis/FlowSensitive/DeterminismTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Analysis/FlowSensitive/LoggerTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Analysis/FlowSensitive/Ma
ls/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Analysis/FlowSensitive/MultiVarConstantPropagationTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Analysis/FlowSensitive/RecordOpsTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Analysis/FlowSensitive/SignAnalysisTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Analysis/FlowSensitive/SimplifyConstraintsTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Analysis/FlowSensitive/SingleVarConstantPropagationTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Analysis/FlowSensitive/SmartPointerAccessorCachingTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Analysis/FlowSensitive/TestingSupport.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Analysis/FlowSensitive/TestingSupportTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Analysis/FlowSensitive/TransferBranchTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Analysis/FlowSensitive/TransferTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Analysis/FlowSensitive/TypeErasedDataflowAnalysisTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Analysis/FlowSensitive/UncheckedOptionalAccessModelTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Analysis/FlowSensitive/ValueTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Analysis/FlowSensitive/WatchedLiteralsSolverTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/StaticAnalyzer/AnalyzerOptionsTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/StaticAnalyzer/APSIntTypeTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/StaticAnalyzer/BlockEntranceCallbackTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/StaticAnalyzer/BugReportInterestingnessTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/StaticAnalyzer/CallDescriptionTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/StaticAnalyzer/CallEventTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/StaticAnalyzer/ConflictingEvalCallsTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/StaticAnalyzer/ExprEngineVisitTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/StaticAnalyzer/FalsePositiveRefutationBRVisitorTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/StaticAnalyzer/IsCLibraryFunctionTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/StaticAnalyzer/MemRegionDescriptiveNameTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/StaticAnalyzer/NoStateChangeFuncVisitorTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/StaticAnalyzer/ObjcBug-124477.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/StaticAnalyzer/ParamRegionTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/StaticAnalyzer/RangeSetTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/StaticAnalyzer/RegisterCustomCheckersTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/StaticAnalyzer/StoreTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/StaticAnalyzer/SymbolReaperTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/StaticAnalyzer/SValSimplifyerTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/StaticAnalyzer/SValTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/StaticAnalyzer/TestReturnValueUnderConstruction.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/StaticAnalyzer/Z3CrosscheckOracleTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/ASTMatchers/ASTMatchersInternalTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/ASTMatchers/ASTMatchersNodeTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/ASTMatchers/ASTMatchersNarrowingTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/ASTMatchers/ASTMatchersTraversalTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/ASTMatchers/GtestMatch
ittests/CMakeFiles/AllClangUnitTests.dir/Tooling/FixItTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Tooling/HeaderAnalysisTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Tooling/HeaderIncludesTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Tooling/StandardLibraryTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Tooling/LexicallyOrderedRecursiveASTVisitorTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Tooling/LookupTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Tooling/QualTypeNamesTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Tooling/RangeSelectorTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Tooling/DependencyScanning/DependencyScannerTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Tooling/DependencyScanning/DependencyScanningFilesystemTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Tooling/RecursiveASTVisitorTests/Attr.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Tooling/RecursiveASTVisitorTests/BitfieldInitializer.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Tooling/RecursiveASTVisitorTests/CallbacksLeaf.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Tooling/RecursiveASTVisitorTests/CallbacksUnaryOperator.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Tooling/RecursiveASTVisitorTests/CallbacksBinaryOperator.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Tooling/RecursiveASTVisitorTests/CallbacksCompoundAssignOperator.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Tooling/RecursiveASTVisitorTests/CallbacksCallExpr.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Tooling/RecursiveASTVisitorTests/Class.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Tooling/RecursiveASTVisitorTests/Concept.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Tooling/RecursiveASTVisitorTests/ConstructExpr.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Tooling/RecursiveASTVisitorTests/CXXBoolLiteralExpr.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Tooling/RecursiveASTVisitorTests/CXXMemberCall.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Tooling/RecursiveASTVisitorTests/CXXMethodDecl.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Tooling/RecursiveASTVisitorTests/CXXOperatorCallExprTraverser.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Tooling/RecursiveASTVisitorTests/DeclRefExpr.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Tooling/RecursiveASTVisitorTests/DeductionGuide.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Tooling/RecursiveASTVisitorTests/ImplicitCtor.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Tooling/RecursiveASTVisitorTests/ImplicitCtorInitializer.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Tooling/RecursiveASTVisitorTests/InitListExprPostOrder.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Tooling/RecursiveASTVisitorTests/InitListExprPostOrderNoQueue.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Tooling/RecursiveASTVisitorTests/InitListExprPreOrder.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Tooling/RecursiveASTVisitorTests/InitListExprPreOrderNoQueue.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Tooling/RecursiveASTVisitorTests/IntegerLiteral.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Tooling/RecursiveASTVisitorTests/LambdaDefaultCapture.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Tooling/RecursiveASTVisitorTests/LambdaExpr.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Tooling/RecursiveASTVisitorTests/LambdaTemplateParams.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Tooling/RecursiveASTVisitorTests/MemberPointerTypeLoc.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Tooling/RecursiveASTVisitorTests/NestedNameSpecifiers.cpp.o tools/clang/unittests/CMa
.dir/CodeGen/TBAAMetadataTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/CodeGen/CheckTargetFeaturesTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/libclang/LibclangTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/DirectoryWatcher/DirectoryWatcherTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Index/IndexTests.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/InstallAPI/HeaderFileTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/InstallAPI/FileListTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Serialization/ForceCheckFileInputTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Serialization/InMemoryModuleCacheTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Serialization/ModuleCacheTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Serialization/NoCommentsTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Serialization/PreambleInNamedModulesTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Serialization/LoadSpecLazilyTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Serialization/SourceLocationEncodingTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Serialization/VarDeclConstantInitTest.cpp.o tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Support/TimeProfilerTest.cpp.o -o tools/clang/unittests/AllClangUnitTests  -Wl,-rpath,/home/botworker/builds/openmp-offload-amdgpu-runtime-2/llvm.build/lib  lib/libllvm_gtest_main.so.21.0git  lib/libLLVMTestingAnnotations.so.21.0git  lib/libclangTesting.so.21.0git  lib/libclang.so.21.0.0git  lib/libclangDirectoryWatcher.so.21.0git  lib/libLLVMTestingSupport.so.21.0git  lib/libclangAnalysisFlowSensitiveModels.so.21.0git  lib/libclangDynamicASTMatchers.so.21.0git  lib/libclangDependencyScanning.so.21.0git  lib/libclangToolingInclusionsStdlib.so.21.0git  lib/libclangTransformer.so.21.0git  lib/libclangToolingSyntax.so.21.0git  lib/libclangFrontendTool.so.21.0git  lib/libclangCodeGen.so.21.0git  lib/libclangTooling.so.21.0git  lib/libllvm_gtest.so.21.0git  lib/libLLVMX86CodeGen.so.21.0git  lib/libLLVMX86AsmParser.so.21.0git  lib/libLLVMX86Desc.so.21.0git  lib/libLLVMX86Disassembler.so.21.0git  lib/libLLVMX86Info.so.21.0git  lib/libLLVMAMDGPUCodeGen.so.21.0git  lib/libLLVMAMDGPUAsmParser.so.21.0git  lib/libLLVMAMDGPUDisassembler.so.21.0git  lib/libLLVMAMDGPUDesc.so.21.0git  lib/libLLVMAMDGPUInfo.so.21.0git  lib/libLLVMAMDGPUUtils.so.21.0git  lib/libclangAnalysisFlowSensitive.so.21.0git  lib/libclangToolingRefactoring.so.21.0git  lib/libclangStaticAnalyzerFrontend.so.21.0git  lib/libclangStaticAnalyzerCore.so.21.0git  lib/libclangCrossTU.so.21.0git  lib/libclangIndex.so.21.0git  lib/libclangFormat.so.21.0git  lib/libclangToolingInclusions.so.21.0git  lib/libclangToolingCore.so.21.0git  lib/libclangInstallAPI.so.21.0git  lib/libclangFrontend.so.21.0git  lib/libclangParse.so.21.0git  lib/libclangDriver.so.21.0git  lib/libLLVMOption.so.21.0git  lib/libclangSerialization.so.21.0git  lib/libclangSema.so.21.0git  lib/libclangAnalysis.so.21.0git  lib/libclangASTMatchers.so.21.0git  lib/libclangRewrite.so.21.0git  lib/libclangAST.so.21.0git  lib/libclangLex.so.21.0git  lib/libclangBasic.so.21.0git  lib/libLLVMFrontendOpenMP.so.21.0git  lib/libLLVMMC.so.21.0git  lib/libLLVMBitReader.so.21.0git  lib/libLLVMCore.so.21.0git  lib/libLLVMBitstreamReader.so.21.0git  lib/libLLVMTargetParser.so.21.0git  lib/libLLVMSupport.so.21.0git  -Wl,-rpath-link,/home/botworker/builds/openmp-offload-amdgpu-runtime-2/llvm.build/lib && :
/usr/bin/ld: tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Parse/ParseHLSLRootSignatureTest.cpp.o: undefined reference to symbol '_ZN4llvm4hlsl7rootsiglsERNS_11raw_ostreamERKNS1_9RootFlagsE'
/usr/bin/ld: /home/botworker/builds/openmp-offload-amdgpu-runtime-2/llvm.build/lib/libLLVMFrontendHLSL.so.21.0git: error adding symbols: DSO missing from command line
```

https://github.com/llvm/llvm-project/pull/141130


More information about the llvm-commits mailing list