[IRBuilder] Deprecate CreateConstGEP2_64() without element type
authorNikita Popov <nikita.ppv@gmail.com>
Sat, 17 Jul 2021 14:03:14 +0000 (16:03 +0200)
committerNikita Popov <nikita.ppv@gmail.com>
Sat, 17 Jul 2021 14:41:51 +0000 (16:41 +0200)
This API is incompatible with opaque pointers and deprecated in
favor of the version that accepts an explicit element type.

llvm/include/llvm/IR/IRBuilder.h

index bd7fa7f..a0a56d1 100644 (file)
@@ -1944,8 +1944,10 @@ public:
     return Insert(GetElementPtrInst::Create(Ty, Ptr, Idxs), Name);
   }
 
-  Value *CreateConstGEP2_64(Value *Ptr, uint64_t Idx0, uint64_t Idx1,
-                            const Twine &Name = "") {
+  LLVM_ATTRIBUTE_DEPRECATED(
+      Value *CreateConstGEP2_64(Value *Ptr, uint64_t Idx0, uint64_t Idx1,
+                                const Twine &Name = ""),
+      "Use the version with explicit element type instead") {
     return CreateConstGEP2_64(
         Ptr->getType()->getScalarType()->getPointerElementType(), Ptr, Idx0,
         Idx1, Name);