Add isConstant argument to MDBuilder::createTBAAStructTagNode
[oota-llvm.git] / docs / InAlloca.rst
index 8bc83d8622f91c339f5c60073cf77200bd837f27..c7609cddb4f9c71f83e5276b8443cfb8fe7389c4 100644 (file)
@@ -5,8 +5,6 @@ Design and Usage of the InAlloca Attribute
 Introduction
 ============
 
-.. Warning:: This feature is unstable and not fully implemented.
-
 The :ref:`inalloca <attr_inalloca>` attribute is designed to allow
 taking the address of an aggregate argument that is being passed by
 value through memory.  Primarily, this feature is required for
@@ -54,11 +52,11 @@ that passes two default-constructed ``Foo`` objects to ``g`` in the
     entry:
       %base = call i8* @llvm.stacksave()
       %memargs = alloca <{ %struct.Foo, %struct.Foo }>
-      %b = getelementptr <{ %struct.Foo, %struct.Foo }>*, i32 1
+      %b = getelementptr <{ %struct.Foo, %struct.Foo }>* %memargs, i32 1
       call void @Foo_ctor(%struct.Foo* %b)
 
       ; If a's ctor throws, we must destruct b.
-      %a = getelementptr <{ %struct.Foo, %struct.Foo }>*, i32 0
+      %a = getelementptr <{ %struct.Foo, %struct.Foo }>* %memargs, i32 0
       invoke void @Foo_ctor(%struct.Foo* %a)
           to label %invoke.cont unwind %invoke.unwind