Lines Matching refs:variables
26 for an imperative language with mutable variables.
36 To understand why mutable variables cause complexities in SSA
78 In this example, the loads from the G and H global variables are
90 assignments to mutable variables?". The issue here is that LLVM
111 to talk about how LLVM represents stack variables.
115 operator. Notice how the type of the @G/@H global variables is actually
118 *name* actually refers to the address for that space. Stack variables
137 to functions, you can store it in other variables, etc. In our example
167 variables without the need to create Phi nodes at all:
209 pass is the answer to dealing with mutable variables, and we highly
211 variables in certain circumstances:
214 them, it promotes them. It does not apply to global variables or heap
241 for local mutable variables. As such, the most common clients of LLVM
242 are using this to handle a bulk of their variables. You can be sure
246 fast-paths for variables that are only used in a single block,
247 variables that only have one assignment point, good heuristics to
256 mutable variables now!
265 #. The ability to mutate variables with the '=' operator.
266 #. The ability to define new variables.
269 variables for incoming arguments as well as for induction variables, and
271 variables is a useful thing regardless of whether you will be mutating
299 In order to mutate variables, we have to change our existing variables
315 At this point in Kaleidoscope's development, it only supports variables
318 variables in addition to other user-defined variables. This means that
337 /// the function. This is used for mutable variables etc.
352 variable references. In our new scheme, variables live on the stack, so
369 the things that define the variables to set up the alloca. We'll start
402 variables <LangImpl05.html#code-generation-for-the-for-loop>`_. The big difference is that we
406 To support mutable argument variables, we need to also make allocas for
550 Now that all symbol table references are updated to use stack variables,
614 Now that we have an assignment operator, we can mutate loop variables
637 own local variables, let's add this next!
691 is allowed to access the variables defined by the var/in.
767 Once all the variables are parsed, we then parse the body and create the
795 // Register all variables and emit their initializer.
800 Basically it loops over all the variables, installing them one at a
833 point to it. Once all the variables are installed in the symbol table,
847 // Pop all our variables from scope.
860 optimizes all of our stack variables into SSA registers, inserting PHI
868 mutable variables and var/in support. To build this example, use: