From cf9893d28cea3b3d541b497ee2a45ee6cf177407 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Mon, 5 Nov 2007 19:22:50 +0000 Subject: [PATCH] clarify why prototype::codegen returns a function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43725 91177308-0d34-0410-b5e6-96231b3b80d8 --- docs/tutorial/LangImpl3.html | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/docs/tutorial/LangImpl3.html b/docs/tutorial/LangImpl3.html index 2e961d2f610..3733a66bfcf 100644 --- a/docs/tutorial/LangImpl3.html +++ b/docs/tutorial/LangImpl3.html @@ -293,7 +293,13 @@ Function *PrototypeAST::Codegen() { -

This code packs a lot of power into a few lines. The first step is to create +

This code packs a lot of power into a few lines. Note first that this +function returns a Function* instead of a Value*. Because a "prototype" really +talks about the external interface for a function (not the value computed by +an expression), it makes sense for it to return the LLVM Function it corresponds +to when codegen'd.

+ +

The next step is to create the FunctionType that should be used for a given Prototype. Since all function arguments in Kaleidoscope are of type double, the first line creates a vector of "N" LLVM Double types. It then uses the FunctionType::get -- 2.34.1