Navigate in an structure, selecting elements
* inbound: Is the pointer inbounds? (computed pointer doesn't overflow)
* ptr: Location of the structure
- * indexes: A list of indexes to select the correct value. For example
- the first element of the third element of the structure ptr
- is selected with [3,1] (zero indexed)
+ * indexes: A list of indexes to select the correct value.
-}
- | GetElemPtr Bool LlvmVar [Int]
+ | GetElemPtr Bool LlvmVar [LlvmVar]
{- |
Cast the variable from to the to type. This is an abstraction of three
-}
| Phi LlvmType [(LlvmVar,LlvmVar)]
+ {- |
+ Inline assembly expression. Syntax is very similar to the style used by GCC.
+ * assembly: Actual inline assembly code.
+ * contraints: Operand constraints.
+ * return ty: Return type of function.
+ * vars: Any variables involved in the assembly code.
+ * sideeffect: Does the expression have side effects not visible from the
+ constraints list.
+ * alignstack: Should the stack be conservatively aligned before this
+ expression is executed.
+ -}
+ | Asm LMString LMString LlvmType [LlvmVar] Bool Bool
+
deriving (Show, Eq)