[clang] [llvm] [IR][HLSL] Add llvm.structured.gep instruction (PR #176145)

Sebastian Neubauer via cfe-commits cfe-commits at lists.llvm.org
Thu Jan 15 11:17:51 PST 2026


Nathan =?utf-8?q?Gauër?= <brioche at google.com>,
Nathan =?utf-8?q?Gauër?= <brioche at google.com>,
Nathan =?utf-8?q?Gauër?= <brioche at google.com>,
Nathan =?utf-8?q?Gauër?= <brioche at google.com>
Message-ID:
In-Reply-To: <llvm.org/llvm/llvm-project/pull/176145 at github.com>


================
@@ -1923,6 +1924,20 @@ class IRBuilderBase {
     return Insert(new AtomicRMWInst(Op, Ptr, Val, *Align, Ordering, SSID));
   }
 
+  StructuredGEPInst *CreateStructuredGEP(Type *BaseType, Value *PtrBase,
+                                         ArrayRef<llvm::Value *> Indices,
+                                         const Twine &Name = "") {
+    SmallVector<llvm::Value *, 4> Args;
----------------
Flakebi wrote:

nit: The general rule is to not add inline sizes to SmallVector unless there is evidence to prefer a certain size.
On average, the default turns out to be better than explicit sizes.

https://github.com/llvm/llvm-project/pull/176145


More information about the cfe-commits mailing list