Integrate llvm-project to 5cf714bb2f75552b10e1eb62fd07aec4b6033881. (#15000)

This the next breaking API change, breaking on this commit:

```
    [mlir][SCF] scf.for: Consistent API around `initArgs` (#66512)

    * Always use the auto-generated `getInitArgs` function. Remove the
    hand-written `getInitOperands` duplicate.
    * Remove `hasIterOperands` and `getNumIterOperands`. The names were
    inconsistent because the "arg" is called `initArgs` in TableGen. Use
    `getInitArgs().size()` instead.
    * Fix verification around ops with no results.
```

Should be a mechanical fix.

---------

Co-authored-by: Groverkss <groverkss@gmail.com>
diff --git a/compiler/src/iree/compiler/Codegen/Common/ForOpCanonicalizationPass.cpp b/compiler/src/iree/compiler/Codegen/Common/ForOpCanonicalizationPass.cpp
index 31d042a..5b52f89 100644
--- a/compiler/src/iree/compiler/Codegen/Common/ForOpCanonicalizationPass.cpp
+++ b/compiler/src/iree/compiler/Codegen/Common/ForOpCanonicalizationPass.cpp
@@ -96,7 +96,7 @@
     SmallVector<Operation *, 8> resultOps;
     auto terminator = cast<scf::YieldOp>(forOp.getBody()->getTerminator());
     auto returnValues = llvm::to_vector<8>(terminator.getOperands());
-    auto initArgs = llvm::to_vector<8>(forOp.getIterOperands());
+    auto initArgs = llvm::to_vector<8>(forOp.getInitArgs());
     for (auto [index, iterArg] : llvm::enumerate(forOp.getRegionIterArgs())) {
       if (!iterArg.hasOneUse())
         continue;
@@ -167,7 +167,7 @@
       return failure();
 
     // Bit cast all init values from v8f16 to v4f32.
-    auto ivInitValues = llvm::to_vector<8>(forOp.getIterOperands());
+    auto ivInitValues = llvm::to_vector<8>(forOp.getInitArgs());
     for (unsigned index : ivIndices) {
       Value oldValue = ivInitValues[index];
       ivInitValues[index] = rewriter.create<vector::BitCastOp>(
diff --git a/compiler/src/iree/compiler/Codegen/LLVMGPU/Utils/LLVMGPULayoutAnalysisAndDistribution.cpp b/compiler/src/iree/compiler/Codegen/LLVMGPU/Utils/LLVMGPULayoutAnalysisAndDistribution.cpp
index 443f128..d5fae45 100644
--- a/compiler/src/iree/compiler/Codegen/LLVMGPU/Utils/LLVMGPULayoutAnalysisAndDistribution.cpp
+++ b/compiler/src/iree/compiler/Codegen/LLVMGPU/Utils/LLVMGPULayoutAnalysisAndDistribution.cpp
@@ -961,7 +961,7 @@
   // We will be using dummy values instead of the old operands
   // only for those operands that are being distributed
   SmallVector<Value> newOperands;
-  auto operands = llvm::to_vector(loop.getIterOperands());
+  auto operands = llvm::to_vector(loop.getInitArgs());
   for (auto operand : operands) {
     if (!layoutMap.count(operand)) {
       newOperands.push_back(operand);
@@ -1018,7 +1018,7 @@
   rewriter.setInsertionPoint(forOp);
 
   SmallVector<Value> newOperands;
-  for (const auto &operand : llvm::enumerate(forOp.getIterOperands())) {
+  for (const auto &operand : llvm::enumerate(forOp.getInitArgs())) {
     if (!simdToSimtMap.count(operand.value())) {
       continue;
     }
@@ -1044,7 +1044,7 @@
       continue;
     // Replace the yield of old value with the for op argument to make it easier
     // to remove the dead code.
-    yieldOperands[operand.index()] = loop.getIterOperands()[operand.index()];
+    yieldOperands[operand.index()] = loop.getInitArgs()[operand.index()];
     yieldOperands.push_back(simdToSimtMap.at(operand.value()));
   }
   rewriter.create<scf::YieldOp>(yieldOp.getLoc(), yieldOperands);
diff --git a/compiler/src/iree/compiler/Codegen/Transforms/RemoveSingleIterationLoop.cpp b/compiler/src/iree/compiler/Codegen/Transforms/RemoveSingleIterationLoop.cpp
index db4062e..a49fed4 100644
--- a/compiler/src/iree/compiler/Codegen/Transforms/RemoveSingleIterationLoop.cpp
+++ b/compiler/src/iree/compiler/Codegen/Transforms/RemoveSingleIterationLoop.cpp
@@ -181,9 +181,9 @@
     // The first iteration is always run and the second iteration is never run
     // so the loop always have 1 iteration. Inline its body and remove the loop.
     SmallVector<Value> blockArgs;
-    blockArgs.reserve(op.getNumIterOperands() + 1);
+    blockArgs.reserve(op.getInitArgs().size() + 1);
     blockArgs.push_back(op.getLowerBound());
-    llvm::append_range(blockArgs, op.getIterOperands());
+    llvm::append_range(blockArgs, op.getInitArgs());
     replaceOpWithRegion(rewriter, op, op.getLoopBody(), blockArgs);
     return success();
   }
diff --git a/compiler/src/iree/compiler/Dialect/VM/Target/C/TranslateToCpp.cpp b/compiler/src/iree/compiler/Dialect/VM/Target/C/TranslateToCpp.cpp
index 45a45da..0a05ee8 100644
--- a/compiler/src/iree/compiler/Dialect/VM/Target/C/TranslateToCpp.cpp
+++ b/compiler/src/iree/compiler/Dialect/VM/Target/C/TranslateToCpp.cpp
@@ -247,7 +247,7 @@
 
   raw_indented_ostream &os = emitter.ostream();
 
-  OperandRange operands = forOp.getIterOperands();
+  OperandRange operands = forOp.getInitArgs();
   Block::BlockArgListType iterArgs = forOp.getRegionIterArgs();
   Operation::result_range results = forOp.getResults();
 
diff --git a/third_party/llvm-project b/third_party/llvm-project
index c7737f0..5cf714b 160000
--- a/third_party/llvm-project
+++ b/third_party/llvm-project
@@ -1 +1 @@
-Subproject commit c7737f026ade4b49200da4d33ed08b89a10e990a
+Subproject commit 5cf714bb2f75552b10e1eb62fd07aec4b6033881