Make positions of elements in MemRef descriptor private

Previous commits removed all uses of LLVMTypeConverter::k*PosInMemRefDescriptor
outside of the MemRefDescriptor class. These numbers are an implementation
detail and can be hidden under a layer of more semantic APIs.

PiperOrigin-RevId: 280442444
Change-Id: I078df90f707e95ab79c77cb25e7cb46ae087e3ea
diff --git a/third_party/mlir/include/mlir/Conversion/StandardToLLVM/ConvertStandardToLLVM.h b/third_party/mlir/include/mlir/Conversion/StandardToLLVM/ConvertStandardToLLVM.h
index f0bf3a4..e50a8a5 100644
--- a/third_party/mlir/include/mlir/Conversion/StandardToLLVM/ConvertStandardToLLVM.h
+++ b/third_party/mlir/include/mlir/Conversion/StandardToLLVM/ConvertStandardToLLVM.h
@@ -82,12 +82,6 @@
   Value *promoteOneMemRefDescriptor(Location loc, Value *operand,
                                     OpBuilder &builder);
 
-  static constexpr unsigned kAllocatedPtrPosInMemRefDescriptor = 0;
-  static constexpr unsigned kAlignedPtrPosInMemRefDescriptor = 1;
-  static constexpr unsigned kOffsetPosInMemRefDescriptor = 2;
-  static constexpr unsigned kSizePosInMemRefDescriptor = 3;
-  static constexpr unsigned kStridePosInMemRefDescriptor = 4;
-
 protected:
   /// LLVM IR module used to parse/create types.
   llvm::Module *module;
diff --git a/third_party/mlir/lib/Conversion/StandardToLLVM/ConvertStandardToLLVM.cpp b/third_party/mlir/lib/Conversion/StandardToLLVM/ConvertStandardToLLVM.cpp
index e0edb0b..59a112d 100644
--- a/third_party/mlir/lib/Conversion/StandardToLLVM/ConvertStandardToLLVM.cpp
+++ b/third_party/mlir/lib/Conversion/StandardToLLVM/ConvertStandardToLLVM.cpp
@@ -157,11 +157,11 @@
 //   int64_t sizes[Rank]; // omitted when rank == 0
 //   int64_t strides[Rank]; // omitted when rank == 0
 // };
-constexpr unsigned LLVMTypeConverter::kAllocatedPtrPosInMemRefDescriptor;
-constexpr unsigned LLVMTypeConverter::kAlignedPtrPosInMemRefDescriptor;
-constexpr unsigned LLVMTypeConverter::kOffsetPosInMemRefDescriptor;
-constexpr unsigned LLVMTypeConverter::kSizePosInMemRefDescriptor;
-constexpr unsigned LLVMTypeConverter::kStridePosInMemRefDescriptor;
+static constexpr unsigned kAllocatedPtrPosInMemRefDescriptor = 0;
+static constexpr unsigned kAlignedPtrPosInMemRefDescriptor = 1;
+static constexpr unsigned kOffsetPosInMemRefDescriptor = 2;
+static constexpr unsigned kSizePosInMemRefDescriptor = 3;
+static constexpr unsigned kStridePosInMemRefDescriptor = 4;
 Type LLVMTypeConverter::convertMemRefType(MemRefType type) {
   int64_t offset;
   SmallVector<int64_t, 4> strides;
@@ -243,7 +243,7 @@
   if (value) {
     structType = value->getType().cast<LLVM::LLVMType>();
     indexType = value->getType().cast<LLVM::LLVMType>().getStructElementType(
-        LLVMTypeConverter::kOffsetPosInMemRefDescriptor);
+        kOffsetPosInMemRefDescriptor);
   }
 }
 
@@ -257,35 +257,31 @@
 
 /// Builds IR extracting the allocated pointer from the descriptor.
 Value *MemRefDescriptor::allocatedPtr(OpBuilder &builder, Location loc) {
-  return extractPtr(builder, loc,
-                    LLVMTypeConverter::kAllocatedPtrPosInMemRefDescriptor);
+  return extractPtr(builder, loc, kAllocatedPtrPosInMemRefDescriptor);
 }
 
 /// Builds IR inserting the allocated pointer into the descriptor.
 void MemRefDescriptor::setAllocatedPtr(OpBuilder &builder, Location loc,
                                        Value *ptr) {
-  setPtr(builder, loc, LLVMTypeConverter::kAllocatedPtrPosInMemRefDescriptor,
-         ptr);
+  setPtr(builder, loc, kAllocatedPtrPosInMemRefDescriptor, ptr);
 }
 
 /// Builds IR extracting the aligned pointer from the descriptor.
 Value *MemRefDescriptor::alignedPtr(OpBuilder &builder, Location loc) {
-  return extractPtr(builder, loc,
-                    LLVMTypeConverter::kAlignedPtrPosInMemRefDescriptor);
+  return extractPtr(builder, loc, kAlignedPtrPosInMemRefDescriptor);
 }
 
 /// Builds IR inserting the aligned pointer into the descriptor.
 void MemRefDescriptor::setAlignedPtr(OpBuilder &builder, Location loc,
                                      Value *ptr) {
-  setPtr(builder, loc, LLVMTypeConverter::kAlignedPtrPosInMemRefDescriptor,
-         ptr);
+  setPtr(builder, loc, kAlignedPtrPosInMemRefDescriptor, ptr);
 }
 
 /// Builds IR extracting the offset from the descriptor.
 Value *MemRefDescriptor::offset(OpBuilder &builder, Location loc) {
   return builder.create<LLVM::ExtractValueOp>(
       loc, indexType, value,
-      builder.getI64ArrayAttr(LLVMTypeConverter::kOffsetPosInMemRefDescriptor));
+      builder.getI64ArrayAttr(kOffsetPosInMemRefDescriptor));
 }
 
 /// Builds IR inserting the offset into the descriptor.
@@ -293,15 +289,14 @@
                                  Value *offset) {
   value = builder.create<LLVM::InsertValueOp>(
       loc, structType, value, offset,
-      builder.getI64ArrayAttr(LLVMTypeConverter::kOffsetPosInMemRefDescriptor));
+      builder.getI64ArrayAttr(kOffsetPosInMemRefDescriptor));
 }
 
 /// Builds IR extracting the pos-th size from the descriptor.
 Value *MemRefDescriptor::size(OpBuilder &builder, Location loc, unsigned pos) {
   return builder.create<LLVM::ExtractValueOp>(
       loc, indexType, value,
-      builder.getI64ArrayAttr(
-          {LLVMTypeConverter::kSizePosInMemRefDescriptor, pos}));
+      builder.getI64ArrayAttr({kSizePosInMemRefDescriptor, pos}));
 }
 
 /// Builds IR inserting the pos-th size into the descriptor
@@ -309,8 +304,7 @@
                                Value *size) {
   value = builder.create<LLVM::InsertValueOp>(
       loc, structType, value, size,
-      builder.getI64ArrayAttr(
-          {LLVMTypeConverter::kSizePosInMemRefDescriptor, pos}));
+      builder.getI64ArrayAttr({kSizePosInMemRefDescriptor, pos}));
 }
 
 /// Builds IR extracting the pos-th size from the descriptor.
@@ -318,8 +312,7 @@
                                 unsigned pos) {
   return builder.create<LLVM::ExtractValueOp>(
       loc, indexType, value,
-      builder.getI64ArrayAttr(
-          {LLVMTypeConverter::kStridePosInMemRefDescriptor, pos}));
+      builder.getI64ArrayAttr({kStridePosInMemRefDescriptor, pos}));
 }
 
 /// Builds IR inserting the pos-th stride into the descriptor
@@ -327,8 +320,7 @@
                                  Value *stride) {
   value = builder.create<LLVM::InsertValueOp>(
       loc, structType, value, stride,
-      builder.getI64ArrayAttr(
-          {LLVMTypeConverter::kStridePosInMemRefDescriptor, pos}));
+      builder.getI64ArrayAttr({kStridePosInMemRefDescriptor, pos}));
 }
 
 Value *MemRefDescriptor::extractPtr(OpBuilder &builder, Location loc,
@@ -346,7 +338,7 @@
 
 LLVM::LLVMType MemRefDescriptor::getElementType() {
   return value->getType().cast<LLVM::LLVMType>().getStructElementType(
-      LLVMTypeConverter::kAlignedPtrPosInMemRefDescriptor);
+      kAlignedPtrPosInMemRefDescriptor);
 }
 
 namespace {