Changes

Summary

  1. Recommit: "[MLIR][NVVM] Replace fdiv on fp16 with promoted (fp32) multiplication with reciprocal plus one (conditional) Newton iteration." (details)
  2. [Transforms/Utils] Use predecessors (NFC) (details)
  3. Remove unneeded cl::ZeroOrMore for cl::opt/cl::list options (details)
  4. Remove unneeded cl::ZeroOrMore for cl::opt/cl::list options (details)
Commit 400fef081adbafc358858709861cdb14303de0e9 by csigg
Recommit: "[MLIR][NVVM] Replace fdiv on fp16 with promoted (fp32) multiplication with reciprocal plus one (conditional) Newton iteration."

This change rolls bcfc0a9051014437b55ab932d9aca5ecdca6776b forward (i.e., reverting 369ce54bb302f209239b8ebc77ad824add9df089) with fixed CMakeLists.txt.
The file was addedmlir/test/Dialect/LLVMIR/optimize-for-nvvm.mlir
The file was addedmlir/include/mlir/Dialect/LLVMIR/Transforms/OptimizeForNVVM.h
The file was modifiedmlir/include/mlir/Dialect/LLVMIR/Transforms/Passes.h
The file was modifiedmlir/include/mlir/Dialect/LLVMIR/Transforms/Passes.td
The file was modifiedmlir/test/Target/LLVMIR/nvvmir.mlir
The file was modifiedutils/bazel/llvm-project-overlay/mlir/BUILD.bazel
The file was addedmlir/lib/Dialect/LLVMIR/Transforms/OptimizeForNVVM.cpp
The file was modifiedmlir/lib/Dialect/LLVMIR/Transforms/CMakeLists.txt
The file was modifiedmlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
The file was modifiedmlir/test/Dialect/LLVMIR/nvvm.mlir
Commit 2c4d52467a25aed5ec9ed868fe8b74a1a67d1535 by kazu
[Transforms/Utils] Use predecessors (NFC)
The file was modifiedllvm/lib/Transforms/Utils/Local.cpp
Commit d86a206f06a51c12a9fcf2c20199f4e819751c0c by i
Remove unneeded cl::ZeroOrMore for cl::opt/cl::list options
The file was modifiedllvm/lib/Transforms/IPO/PassManagerBuilder.cpp
The file was modifiedllvm/examples/SpeculativeJIT/SpeculativeJIT.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/ResourcePriorityQueue.cpp
The file was modifiedclang/tools/clang-import-test/clang-import-test.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonVLIWPacketizer.cpp
The file was modifiedllvm/tools/llvm-link/llvm-link.cpp
The file was modifiedllvm/tools/llvm-rtdyld/llvm-rtdyld.cpp
The file was modifiedllvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
The file was modifiedllvm/lib/Analysis/DDGPrinter.cpp
The file was modifiedllvm/tools/llvm-profgen/ProfiledBinary.cpp
The file was modifiedllvm/lib/Analysis/InlineCost.cpp
The file was modifiedllvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
The file was modifiedllvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
The file was modifiedllvm/lib/Transforms/IPO/Attributor.cpp
The file was modifiedllvm/tools/llvm-pdbutil/llvm-pdbutil.cpp
The file was modifiedllvm/lib/Passes/PassBuilderPipelines.cpp
The file was modifiedllvm/lib/Transforms/IPO/SyntheticCountsPropagation.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64StackTaggingPreRA.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonNewValueJump.cpp
The file was modifiedllvm/tools/llc/llc.cpp
The file was modifiedllvm/tools/llvm-jitlink/llvm-jitlink.cpp
The file was modifiedllvm/lib/Transforms/Utils/InlineFunction.cpp
The file was modifiedllvm/tools/llvm-extract/llvm-extract.cpp
The file was modifiedpolly/lib/Support/ScopHelper.cpp
The file was modifiedllvm/lib/CodeGen/MachinePipeliner.cpp
The file was modifiedllvm/tools/llvm-isel-fuzzer/llvm-isel-fuzzer.cpp
The file was modifiedllvm/tools/llvm-profgen/llvm-profgen.cpp
The file was modifiedllvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
The file was modifiedllvm/lib/Transforms/Utils/SampleProfileInference.cpp
The file was modifiedllvm/lib/Transforms/Instrumentation/PGOMemOPSizeOpt.cpp
The file was modifiedclang/tools/clang-offload-bundler/ClangOffloadBundler.cpp
The file was modifiedclang/tools/clang-repl/ClangRepl.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
The file was modifiedllvm/tools/lli/lli.cpp
The file was modifiedclang/lib/CodeGen/CodeGenModule.cpp
The file was modifiedllvm/lib/Analysis/DependenceAnalysis.cpp
The file was modifiedllvm/examples/OrcV2Examples/LLJITWithGDBRegistrationListener/LLJITWithGDBRegistrationListener.cpp
The file was modifiedllvm/tools/bugpoint/OptimizerDriver.cpp
The file was modifiedllvm/lib/Target/ARM/ARMSubtarget.cpp
The file was modifiedllvm/tools/llvm-cov/CodeCoverage.cpp
The file was modifiedclang/lib/CodeGen/CodeGenPGO.cpp
The file was modifiedpolly/lib/Analysis/PolyhedralInfo.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCLoopInstrFormPrep.cpp
The file was modifiedmlir/lib/ExecutionEngine/JitRunner.cpp
The file was modifiedllvm/lib/Transforms/IPO/SampleProfile.cpp
The file was modifiedllvm/tools/llvm-undname/llvm-undname.cpp
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
The file was modifiedclang/tools/clang-rename/ClangRename.cpp
The file was modifiedpolly/lib/Analysis/ScopBuilder.cpp
The file was modifiedllvm/tools/llvm-dwp/llvm-dwp.cpp
The file was modifiedclang-tools-extra/modularize/Modularize.cpp
The file was modifiedpolly/lib/Transform/ScheduleOptimizer.cpp
The file was modifiedllvm/lib/Transforms/Utils/SampleProfileLoaderBaseUtil.cpp
The file was modifiedllvm/unittests/Support/CommandLineTest.cpp
The file was modifiedpolly/lib/Support/RegisterPasses.cpp
The file was modifiedllvm/tools/llvm-libtool-darwin/llvm-libtool-darwin.cpp
The file was modifiedllvm/tools/bugpoint/ExecutionDriver.cpp
The file was modifiedlibc/benchmarks/automemcpy/lib/ResultAnalyzerMain.cpp
The file was modifiedllvm/tools/llvm-profgen/PerfReader.cpp
The file was modifiedllvm/lib/CodeGen/CodeGenPrepare.cpp
The file was modifiedpolly/lib/Analysis/ScopInfo.cpp
The file was modifiedmlir/test/lib/Dialect/Affine/TestVectorizationUtils.cpp
The file was modifiedllvm/lib/CodeGen/VLIWMachineScheduler.cpp
The file was modifiedllvm/lib/CodeGen/ScheduleDAGInstrs.cpp
The file was modifiedllvm/tools/llvm-lto/llvm-lto.cpp
The file was modifiedpolly/lib/CodeGen/PPCGCodeGeneration.cpp
The file was modifiedllvm/tools/llvm-cxxdump/llvm-cxxdump.cpp
The file was modifiedllvm/tools/lto/lto.cpp
Commit 95a134254a403750ddfee7c056efdf2359a7dc8c by i
Remove unneeded cl::ZeroOrMore for cl::opt/cl::list options
The file was modifiedllvm/lib/CodeGen/TargetPassConfig.cpp
The file was modifiedllvm/tools/llvm-pdbutil/llvm-pdbutil.cpp
The file was modifiedllvm/tools/llvm-gsymutil/llvm-gsymutil.cpp
The file was modifiedllvm/tools/llvm-libtool-darwin/llvm-libtool-darwin.cpp
The file was modifiedllvm/lib/CodeGen/VLIWMachineScheduler.cpp
The file was modifiedllvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
The file was modifiedpolly/lib/Transform/MatmulOptimizer.cpp
The file was modifiedclang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
The file was modifiedllvm/lib/Transforms/IPO/Attributor.cpp
The file was modifiedpolly/lib/CodeGen/IslExprBuilder.cpp
The file was modifiedllvm/tools/bugpoint/ExecutionDriver.cpp
The file was modifiedllvm/tools/llvm-rtdyld/llvm-rtdyld.cpp
The file was modifiedllvm/tools/llvm-cov/CodeCoverage.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonCommonGEP.cpp
The file was modifiedpolly/lib/Transform/ScheduleOptimizer.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonFrameLowering.cpp
The file was modifiedllvm/tools/llvm-extract/llvm-extract.cpp
The file was modifiedllvm/tools/opt/opt.cpp
The file was modifiedllvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
The file was modifiedllvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
The file was modifiedllvm/tools/lli/lli.cpp
The file was modifiedllvm/tools/llvm-lto2/llvm-lto2.cpp
The file was modifiedpolly/lib/Support/RegisterPasses.cpp
The file was modifiedllvm/lib/Support/TypeSize.cpp
The file was modifiedllvm/lib/Support/DebugCounter.cpp
The file was modifiedpolly/lib/CodeGen/IslAst.cpp
The file was modifiedllvm/unittests/Support/CommandLineTest.cpp
The file was modifiedclang/tools/clang-rename/ClangRename.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonGenInsert.cpp
The file was modifiedllvm/lib/Transforms/Scalar/LoopFuse.cpp
The file was modifiedllvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
The file was modifiedllvm/tools/llvm-strings/llvm-strings.cpp
The file was modifiedpolly/lib/Transform/DeadCodeElimination.cpp
The file was modifiedllvm/lib/CodeGen/MachinePipeliner.cpp
The file was modifiedpolly/lib/CodeGen/ManagedMemoryRewrite.cpp
The file was modifiedpolly/lib/Analysis/ScopInfo.cpp
The file was modifiedllvm/lib/IR/DiagnosticHandler.cpp
The file was modifiedpolly/lib/CodeGen/PPCGCodeGeneration.cpp
The file was modifiedllvm/examples/OrcV2Examples/LLJITWithRemoteDebugging/LLJITWithRemoteDebugging.cpp
The file was modifiedpolly/lib/Analysis/DependenceInfo.cpp
The file was modifiedpolly/lib/CodeGen/BlockGenerators.cpp
The file was modifiedpolly/lib/CodeGen/CodeGeneration.cpp
The file was modifiedllvm/tools/llvm-lto/llvm-lto.cpp
The file was modifiedllvm/tools/llvm-jitlink/llvm-jitlink.cpp
The file was modifiedpolly/lib/Analysis/ScopDetection.cpp