Integrate LLVM at llvm/llvm-project@08163cd9d82690e808c28515523b5fd0923d7b38 (#17116)

diff --git a/compiler/plugins/input/TOSA/InputConversion/TosaToLinalgExt.cpp b/compiler/plugins/input/TOSA/InputConversion/TosaToLinalgExt.cpp
index 799dd04..600b002 100644
--- a/compiler/plugins/input/TOSA/InputConversion/TosaToLinalgExt.cpp
+++ b/compiler/plugins/input/TOSA/InputConversion/TosaToLinalgExt.cpp
@@ -32,7 +32,7 @@
                                 PatternRewriter &rewriter) const final {
     auto values = op.getValuesIn();
     auto indices = llvm::cast<Value>(op.getIndices());
-    auto updates = op.getInput();
+    auto updates = llvm::cast<Value>(op.getInput());
     auto valuesTy = llvm::dyn_cast<RankedTensorType>(values.getType());
     auto indicesTy = llvm::dyn_cast<RankedTensorType>(indices.getType());
     auto updatesTy = llvm::dyn_cast<RankedTensorType>(updates.getType());
diff --git a/compiler/src/iree/compiler/Codegen/Common/GenericVectorization.cpp b/compiler/src/iree/compiler/Codegen/Common/GenericVectorization.cpp
index 4e49c80..82cf51f 100644
--- a/compiler/src/iree/compiler/Codegen/Common/GenericVectorization.cpp
+++ b/compiler/src/iree/compiler/Codegen/Common/GenericVectorization.cpp
@@ -76,7 +76,7 @@
       Value operand = operandDimPair.first;
       unsigned operandDim = operandDimPair.second;
       maybeDimBound = ValueBoundsConstraintSet::computeConstantBound(
-          presburger::BoundType::UB, operand, operandDim,
+          presburger::BoundType::UB, {operand, operandDim},
           /*stopCondition=*/nullptr, /*closedUB=*/true);
 
       if (succeeded(maybeDimBound)) {
@@ -212,7 +212,7 @@
           LLVM_DEBUG(VEC_DBGS() << "Dim #" << dim << ": ");
           FailureOr<int64_t> maybeDimBound =
               ValueBoundsConstraintSet::computeConstantBound(
-                  presburger::BoundType::UB, op, dim,
+                  presburger::BoundType::UB, {op, dim},
                   /*stopCondition=*/nullptr, /*closedUB=*/true);
           if (failed(maybeDimBound)) {
             LLVM_DEBUG(llvm::dbgs() << "failed\n");
diff --git a/compiler/src/iree/compiler/Codegen/Common/PadDynamicAlloc.cpp b/compiler/src/iree/compiler/Codegen/Common/PadDynamicAlloc.cpp
index 86072c4..17b286e 100644
--- a/compiler/src/iree/compiler/Codegen/Common/PadDynamicAlloc.cpp
+++ b/compiler/src/iree/compiler/Codegen/Common/PadDynamicAlloc.cpp
@@ -49,7 +49,7 @@
     Value dim = allocOp.getDynamicSizes()[dynamicDimIdx++];
     dim = skipAffineMaxZero(dim);
     auto ub = ValueBoundsConstraintSet::computeConstantBound(
-        presburger::BoundType::UB, dim, /*dim=*/std::nullopt,
+        presburger::BoundType::UB, {dim, /*dim=*/std::nullopt},
         /*stopCondition=*/nullptr, /*closedUB=*/true);
     if (failed(ub)) {
       return allocOp.emitOpError(
diff --git a/compiler/src/iree/compiler/Codegen/LLVMGPU/LLVMGPUTensorPad.cpp b/compiler/src/iree/compiler/Codegen/LLVMGPU/LLVMGPUTensorPad.cpp
index ee5dd19..cc49c95 100644
--- a/compiler/src/iree/compiler/Codegen/LLVMGPU/LLVMGPUTensorPad.cpp
+++ b/compiler/src/iree/compiler/Codegen/LLVMGPU/LLVMGPUTensorPad.cpp
@@ -35,8 +35,8 @@
     } else {
       FailureOr<int64_t> upperBound =
           ValueBoundsConstraintSet::computeConstantBound(
-              presburger::BoundType::UB, size.get<Value>(),
-              /*dim=*/std::nullopt,
+              presburger::BoundType::UB,
+              {size.get<Value>(), /*dim=*/std::nullopt},
               /*stopCondition=*/nullptr, /*closedUB=*/true);
       if (failed(upperBound))
         return failure();
diff --git a/compiler/src/iree/compiler/Codegen/Transforms/Transforms.cpp b/compiler/src/iree/compiler/Codegen/Transforms/Transforms.cpp
index c6deeae..e7547b5 100644
--- a/compiler/src/iree/compiler/Codegen/Transforms/Transforms.cpp
+++ b/compiler/src/iree/compiler/Codegen/Transforms/Transforms.cpp
@@ -153,7 +153,8 @@
     }
     // Non-scalable target: Assume everything is fixed-size.
     auto ub = ValueBoundsConstraintSet::computeConstantBound(
-        presburger::BoundType::UB, value, {}, /*stopCondition=*/nullptr,
+        presburger::BoundType::UB, {value, std::nullopt},
+        /*stopCondition=*/nullptr,
         /*closedUB=*/true);
     if (failed(ub))
       return failure();
diff --git a/third_party/llvm-project b/third_party/llvm-project
index 6f1e23b..08163cd 160000
--- a/third_party/llvm-project
+++ b/third_party/llvm-project
@@ -1 +1 @@
-Subproject commit 6f1e23b47d428d792866993ed26f4173d479d43d
+Subproject commit 08163cd9d82690e808c28515523b5fd0923d7b38