Mercurial > lcfOS
view python/ir/llvmtype.py @ 147:4e79484a9d47
Moved core to ir folder
author | Windel Bouwman |
---|---|
date | Fri, 22 Feb 2013 10:33:48 +0100 |
parents | python/ppci/core/llvmtype.py@9e552d34bd60 |
children | 1b4a85bdd99c |
line wrap: on
line source
def Enum(**enums): return type('Enum', (), enums) typeID = Enum(Void=0, Double=3, Integer=10, Function=11, Struct=12, Array=13, Pointer=14, Vector=15) class llvmType: def __init__(self, tid): self.tid = tid class IntegerType(llvmType): def __init__(self, bits): super().__init__(typeID.Integer) self.bits = bits class FunctionType(llvmType): def __init__(self, resultType, parameterTypes): super().__init__(typeID.Function) assert type(parameterTypes) is list self.resultType = resultType self.returnType = resultType self.parameterTypes = parameterTypes # Default types: i8 = IntegerType(8) i16 = IntegerType(16) i32 = IntegerType(32) void = llvmType(typeID.Void)