[llvm] [ADT] Make set_subtract more efficient when subtrahend is larger (NFC) (PR #98702)
LLVM Continuous Integration via llvm-commits
llvm-commits at lists.llvm.org
Wed Jul 17 13:59:17 PDT 2024
llvm-ci wrote:
LLVM Buildbot has detected a new failure on builder `mlir-nvidia` running on `mlir-nvidia` while building `llvm` at step 5 "build-check-mlir-build-only".
Full details are available at: https://lab.llvm.org/buildbot/#/builders/138/builds/1400
Here is the relevant piece of the build log for the reference:
```
Step 5 (build-check-mlir-build-only) failure: build (failure)
...
166.257 [1799/16/3090] Building CXX object tools/mlir/lib/Dialect/Vector/Transforms/CMakeFiles/obj.MLIRVectorTransforms.dir/LowerVectorBroadcast.cpp.o
166.285 [1798/16/3091] Building CXX object tools/mlir/lib/Dialect/Vector/Transforms/CMakeFiles/obj.MLIRVectorTransforms.dir/LowerVectorContract.cpp.o
166.289 [1797/16/3092] Linking CXX shared library lib/libMLIRArmNeonDialect.so.19.0git
166.293 [1796/16/3093] Building CXX object tools/mlir/lib/Dialect/ArmSME/IR/CMakeFiles/obj.MLIRArmSMEDialect.dir/Utils.cpp.o
166.296 [1795/16/3094] Creating library symlink lib/libMLIRArmNeonDialect.so
166.330 [1794/16/3095] Building CXX object tools/mlir/lib/Dialect/ArmNeon/Transforms/CMakeFiles/obj.MLIRArmNeonTransforms.dir/LowerContractionToSMMLAPattern.cpp.o
166.332 [1793/16/3096] Building CXX object tools/mlir/lib/Dialect/ArmSME/Transforms/CMakeFiles/obj.MLIRArmSMETransforms.dir/EnableArmStreaming.cpp.o
166.342 [1792/16/3097] Building CXX object tools/mlir/lib/Dialect/ArmSME/IR/CMakeFiles/obj.MLIRArmSMEDialect.dir/ArmSME.cpp.o
166.373 [1791/16/3098] Building CXX object tools/mlir/lib/Dialect/ArmSME/Transforms/CMakeFiles/obj.MLIRArmSMETransforms.dir/VectorLegalization.cpp.o
166.379 [1790/16/3099] Building CXX object tools/mlir/lib/Analysis/CMakeFiles/obj.MLIRAnalysis.dir/Liveness.cpp.o
FAILED: tools/mlir/lib/Analysis/CMakeFiles/obj.MLIRAnalysis.dir/Liveness.cpp.o
CCACHE_CPP2=yes CCACHE_HASHDIR=yes /usr/bin/ccache /usr/bin/clang++ -DBUILD_EXAMPLES -DGTEST_HAS_RTTI=0 -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/vol/worker/mlir-nvidia/mlir-nvidia/llvm.obj/tools/mlir/lib/Analysis -I/vol/worker/mlir-nvidia/mlir-nvidia/llvm.src/mlir/lib/Analysis -I/vol/worker/mlir-nvidia/mlir-nvidia/llvm.obj/include -I/vol/worker/mlir-nvidia/mlir-nvidia/llvm.src/llvm/include -I/vol/worker/mlir-nvidia/mlir-nvidia/llvm.src/mlir/include -I/vol/worker/mlir-nvidia/mlir-nvidia/llvm.obj/tools/mlir/include -fPIC -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Wundef -Werror=mismatched-tags -Werror=global-constructors -O3 -DNDEBUG -fno-exceptions -funwind-tables -fno-rtti -UNDEBUG -std=c++17 -MD -MT tools/mlir/lib/Analysis/CMakeFiles/obj.MLIRAnalysis.dir/Liveness.cpp.o -MF tools/mlir/lib/Analysis/CMakeFiles/obj.MLIRAnalysis.dir/Liveness.cpp.o.d -o tools/mlir/lib/Analysis/CMakeFiles/obj.MLIRAnalysis.dir/Liveness.cpp.o -c /vol/worker/mlir-nvidia/mlir-nvidia/llvm.src/mlir/lib/Analysis/Liveness.cpp
In file included from /vol/worker/mlir-nvidia/mlir-nvidia/llvm.src/mlir/lib/Analysis/Liveness.cpp:19:
/vol/worker/mlir-nvidia/mlir-nvidia/llvm.src/llvm/include/llvm/ADT/SetOperations.h:109:20: error: no viable conversion from 'typename SmallPtrSet<Value, 16>::iterator' (aka 'SmallPtrSetIterator<mlir::Value>') to 'mlir::Value'
S1.erase(SI);
^~
/vol/worker/mlir-nvidia/mlir-nvidia/llvm.src/mlir/lib/Analysis/Liveness.cpp:80:11: note: in instantiation of function template specialization 'llvm::set_subtract<llvm::SmallPtrSet<mlir::Value, 16>, llvm::SmallPtrSet<mlir::Value, 16> >' requested here
llvm::set_subtract(useValues, defValues);
^
/vol/worker/mlir-nvidia/mlir-nvidia/llvm.src/mlir/include/mlir/IR/Value.h:96:7: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'typename SmallPtrSet<Value, 16>::iterator' (aka 'SmallPtrSetIterator<mlir::Value>') to 'const mlir::Value &' for 1st argument
class Value {
^
/vol/worker/mlir-nvidia/mlir-nvidia/llvm.src/mlir/include/mlir/IR/Value.h:96:7: note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'typename SmallPtrSet<Value, 16>::iterator' (aka 'SmallPtrSetIterator<mlir::Value>') to 'mlir::Value &&' for 1st argument
/vol/worker/mlir-nvidia/mlir-nvidia/llvm.src/mlir/include/mlir/IR/Value.h:98:13: note: candidate constructor not viable: no known conversion from 'typename SmallPtrSet<Value, 16>::iterator' (aka 'SmallPtrSetIterator<mlir::Value>') to 'detail::ValueImpl *' for 1st argument
constexpr Value(detail::ValueImpl *impl = nullptr) : impl(impl) {}
^
/vol/worker/mlir-nvidia/mlir-nvidia/llvm.src/llvm/include/llvm/ADT/SmallPtrSet.h:361:22: note: passing argument to parameter 'Ptr' here
bool erase(PtrType Ptr) {
^
1 error generated.
166.380 [1790/15/3100] Building CXX object tools/mlir/lib/Dialect/ArmSME/Transforms/CMakeFiles/obj.MLIRArmSMETransforms.dir/OuterProductFusion.cpp.o
166.388 [1790/14/3101] Building CXX object tools/mlir/lib/Dialect/ArmSVE/Transforms/CMakeFiles/obj.MLIRArmSVETransforms.dir/LegalizeForLLVMExport.cpp.o
166.411 [1790/13/3102] Building CXX object tools/mlir/lib/Dialect/ArmSVE/IR/CMakeFiles/obj.MLIRArmSVEDialect.dir/ArmSVEDialect.cpp.o
168.538 [1790/12/3103] Building CXX object tools/mlir/lib/Analysis/CMakeFiles/obj.MLIRAnalysis.dir/CFGLoopInfo.cpp.o
169.233 [1790/11/3104] Building CXX object lib/Target/X86/CMakeFiles/LLVMX86CodeGen.dir/X86TargetMachine.cpp.o
170.939 [1790/10/3105] Building CXX object lib/Target/X86/CMakeFiles/LLVMX86CodeGen.dir/X86InstCombineIntrinsic.cpp.o
171.224 [1790/9/3106] Building CXX object lib/Target/X86/CMakeFiles/LLVMX86CodeGen.dir/X86TargetTransformInfo.cpp.o
171.327 [1790/8/3107] Building CXX object tools/mlir/lib/ExecutionEngine/CMakeFiles/obj.MLIRExecutionEngineUtils.dir/OptUtils.cpp.o
171.984 [1790/7/3108] Building CXX object tools/llc/CMakeFiles/llc.dir/NewPMDriver.cpp.o
172.583 [1790/6/3109] Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/ScalarEvolution.cpp.o
174.486 [1790/5/3110] Building CXX object lib/Passes/CMakeFiles/LLVMPasses.dir/StandardInstrumentations.cpp.o
176.832 [1790/4/3111] Building CXX object lib/Passes/CMakeFiles/LLVMPasses.dir/PassBuilder.cpp.o
178.254 [1790/3/3112] Building CXX object tools/mlir/lib/Dialect/Linalg/Transforms/CMakeFiles/obj.MLIRLinalgTransforms.dir/DataLayoutPropagation.cpp.o
183.086 [1790/2/3113] Building CXX object lib/Transforms/Vectorize/CMakeFiles/LLVMVectorize.dir/SLPVectorizer.cpp.o
213.664 [1790/1/3114] Building CXX object lib/Target/X86/CMakeFiles/LLVMX86CodeGen.dir/X86ISelLowering.cpp.o
ninja: build stopped: subcommand failed.
```
https://github.com/llvm/llvm-project/pull/98702
More information about the llvm-commits
mailing list