修正了 TPC 的一些错误,包括 Test 维护后 TPV 无法重新编译或重编译后越界的部分问题
This commit is contained in:
@@ -1,50 +0,0 @@
|
||||
"""
|
||||
Auto-generated Python stub file from llvmlite.__values.py
|
||||
Module: llvmlite.__values
|
||||
"""
|
||||
|
||||
|
||||
import t, c
|
||||
from stdint import *
|
||||
import string
|
||||
import viperlib
|
||||
import memhub
|
||||
from linkedlist import GSListNode
|
||||
from .__types import LLVMType, TypePrint
|
||||
|
||||
class Value(GSListNode[Value]):
|
||||
Ty: LLVMType | t.CPtr
|
||||
Name: t.CChar | t.CPtr
|
||||
IsConst: t.CInt
|
||||
IntVal: t.CInt64T
|
||||
FloatVal: t.CDouble
|
||||
|
||||
VALUE_SIZE: t.CDefine = 48
|
||||
|
||||
def new_value(pool: memhub.MemBuddy | t.CPtr) -> Value | t.CPtr: pass
|
||||
|
||||
def ConstInt(pool: memhub.MemBuddy | t.CPtr, ty: LLVMType | t.CPtr, val: t.CInt64T, name: t.CChar | t.CPtr) -> Value | t.CPtr: pass
|
||||
|
||||
def ConstNull(pool: memhub.MemBuddy | t.CPtr, ty: LLVMType | t.CPtr, name: t.CChar | t.CPtr) -> Value | t.CPtr: pass
|
||||
|
||||
def ConstZero(pool: memhub.MemBuddy | t.CPtr, ty: LLVMType | t.CPtr) -> Value | t.CPtr: pass
|
||||
|
||||
def ConstFloat(pool: memhub.MemBuddy | t.CPtr, ty: LLVMType | t.CPtr, val: t.CDouble) -> Value | t.CPtr: pass
|
||||
|
||||
def SSAValue(pool: memhub.MemBuddy | t.CPtr, ty: LLVMType | t.CPtr, name: t.CChar | t.CPtr) -> Value | t.CPtr: pass
|
||||
|
||||
def ValuePrint(buf: t.CChar | t.CPtr, size: t.CSizeT, val: Value | t.CPtr, pool: memhub.MemBuddy | t.CPtr) -> t.CInt: pass
|
||||
|
||||
def value_get_ty(val: Value | t.CPtr) -> LLVMType | t.CPtr: pass
|
||||
|
||||
def value_get_next(val: Value | t.CPtr) -> Value | t.CPtr: pass
|
||||
|
||||
def value_set_ty(val: Value | t.CPtr, ty: LLVMType | t.CPtr) -> t.CInt: pass
|
||||
|
||||
def value_set_next(val: Value | t.CPtr, nxt: Value | t.CPtr) -> t.CInt: pass
|
||||
|
||||
def value_set_name(val: Value | t.CPtr, name: t.CChar | t.CPtr) -> t.CInt: pass
|
||||
|
||||
def value_set_isconst(val: Value | t.CPtr, is_const: t.CInt) -> t.CInt: pass
|
||||
|
||||
def _append_str(dst: t.CChar | t.CPtr, dst_size: t.CSizeT, src: t.CChar | t.CPtr) -> t.CInt: pass
|
||||
@@ -1,120 +0,0 @@
|
||||
"""
|
||||
Auto-generated Python stub file from llvmlite.__types.py
|
||||
Module: llvmlite.__types
|
||||
"""
|
||||
|
||||
|
||||
import t, c
|
||||
from stdint import *
|
||||
import viperlib
|
||||
import string
|
||||
import memhub
|
||||
from linkedlist import GSListNode
|
||||
|
||||
class ParamNode(GSListNode[ParamNode]):
|
||||
Ty: t.CVoid | t.CPtr
|
||||
class LLVMType(t.REnum):
|
||||
class Int:
|
||||
Bits: t.CInt
|
||||
class Ptr:
|
||||
Pointee: LLVMType | t.CPtr
|
||||
class Func:
|
||||
Ret: LLVMType | t.CPtr
|
||||
Params: ParamNode | t.CPtr
|
||||
PCount: t.CInt
|
||||
class Array:
|
||||
ElemTy: LLVMType | t.CPtr
|
||||
Count: t.CInt
|
||||
class Struct:
|
||||
Fields: ParamNode | t.CPtr
|
||||
FCount: t.CInt
|
||||
Name: t.CChar | t.CPtr
|
||||
class Float:
|
||||
Bits: t.CInt
|
||||
class Void:
|
||||
pass
|
||||
class Label:
|
||||
pass
|
||||
class Metadata:
|
||||
pass
|
||||
|
||||
def _new_type(pool: memhub.MemBuddy | t.CPtr) -> LLVMType | t.CPtr: pass
|
||||
|
||||
def Int1(pool: memhub.MemBuddy | t.CPtr) -> LLVMType | t.CPtr: pass
|
||||
|
||||
def Int8(pool: memhub.MemBuddy | t.CPtr) -> LLVMType | t.CPtr: pass
|
||||
|
||||
def Int16(pool: memhub.MemBuddy | t.CPtr) -> LLVMType | t.CPtr: pass
|
||||
|
||||
def Int32(pool: memhub.MemBuddy | t.CPtr) -> LLVMType | t.CPtr: pass
|
||||
|
||||
def Int64(pool: memhub.MemBuddy | t.CPtr) -> LLVMType | t.CPtr: pass
|
||||
|
||||
def Ptr(pool: memhub.MemBuddy | t.CPtr, pointee: LLVMType | t.CPtr) -> LLVMType | t.CPtr: pass
|
||||
|
||||
def Func(pool: memhub.MemBuddy | t.CPtr, ret: LLVMType | t.CPtr, params: ParamNode | t.CPtr, count: t.CInt) -> LLVMType | t.CPtr: pass
|
||||
|
||||
def Void(pool: memhub.MemBuddy | t.CPtr) -> LLVMType | t.CPtr: pass
|
||||
|
||||
def Array(pool: memhub.MemBuddy | t.CPtr, elem_ty: LLVMType | t.CPtr, count: t.CInt) -> LLVMType | t.CPtr: pass
|
||||
|
||||
def Struct(pool: memhub.MemBuddy | t.CPtr, fields: ParamNode | t.CPtr, fcount: t.CInt, name: t.CChar | t.CPtr) -> LLVMType | t.CPtr: pass
|
||||
|
||||
def Half(pool: memhub.MemBuddy | t.CPtr) -> LLVMType | t.CPtr: pass
|
||||
|
||||
def Float(pool: memhub.MemBuddy | t.CPtr) -> LLVMType | t.CPtr: pass
|
||||
|
||||
def Double(pool: memhub.MemBuddy | t.CPtr) -> LLVMType | t.CPtr: pass
|
||||
|
||||
def FP128(pool: memhub.MemBuddy | t.CPtr) -> LLVMType | t.CPtr: pass
|
||||
|
||||
def Label(pool: memhub.MemBuddy | t.CPtr) -> LLVMType | t.CPtr: pass
|
||||
|
||||
|
||||
PNODE_SIZE: t.CDefine = 16
|
||||
|
||||
def new_param_node(pool: memhub.MemBuddy | t.CPtr, ty: LLVMType | t.CPtr) -> ParamNode | t.CPtr: pass
|
||||
|
||||
def param_list_append(head: ParamNode | t.CPtr, tail: ParamNode | t.CPtr, node: ParamNode | t.CPtr) -> ParamNode | t.CPtr: pass
|
||||
|
||||
def paramnode_get_ty(node: ParamNode | t.CPtr) -> LLVMType | t.CPtr: pass
|
||||
|
||||
def paramnode_get_next(node: ParamNode | t.CPtr) -> ParamNode | t.CPtr: pass
|
||||
|
||||
def paramnode_set_ty(node: ParamNode | t.CPtr, ty: LLVMType | t.CPtr) -> t.CInt: pass
|
||||
|
||||
def paramnode_set_next(node: ParamNode | t.CPtr, nxt: ParamNode | t.CPtr) -> t.CInt: pass
|
||||
|
||||
|
||||
@t.NoVTable
|
||||
class LLVMTypeCore:
|
||||
Pool: memhub.MemBuddy | t.CPtr
|
||||
def __init__(self: LLVMTypeCore, pool: memhub.MemBuddy | t.CPtr) -> t.CInt: pass
|
||||
def Int1(self: LLVMTypeCore) -> LLVMType | t.CPtr: pass
|
||||
def Int8(self: LLVMTypeCore) -> LLVMType | t.CPtr: pass
|
||||
def Int16(self: LLVMTypeCore) -> LLVMType | t.CPtr: pass
|
||||
def Int32(self: LLVMTypeCore) -> LLVMType | t.CPtr: pass
|
||||
def Int64(self: LLVMTypeCore) -> LLVMType | t.CPtr: pass
|
||||
def Ptr(self: LLVMTypeCore, pointee: LLVMType | t.CPtr) -> LLVMType | t.CPtr: pass
|
||||
def Func(self: LLVMTypeCore, ret: LLVMType | t.CPtr, params: ParamNode | t.CPtr, count: t.CInt) -> LLVMType | t.CPtr: pass
|
||||
def Array(self: LLVMTypeCore, elem_ty: LLVMType | t.CPtr, count: t.CInt) -> LLVMType | t.CPtr: pass
|
||||
def Struct(self: LLVMTypeCore, fields: ParamNode | t.CPtr, fcount: t.CInt, name: t.CChar | t.CPtr) -> LLVMType | t.CPtr: pass
|
||||
def Void(self: LLVMTypeCore) -> LLVMType | t.CPtr: pass
|
||||
def Half(self: LLVMTypeCore) -> LLVMType | t.CPtr: pass
|
||||
def Float(self: LLVMTypeCore) -> LLVMType | t.CPtr: pass
|
||||
def Double(self: LLVMTypeCore) -> LLVMType | t.CPtr: pass
|
||||
def FP128(self: LLVMTypeCore) -> LLVMType | t.CPtr: pass
|
||||
def Label(self: LLVMTypeCore) -> LLVMType | t.CPtr: pass
|
||||
def NewParamNode(self: LLVMTypeCore, ty: LLVMType | t.CPtr) -> ParamNode | t.CPtr: pass
|
||||
def ParamListAppend(self: LLVMTypeCore, head: ParamNode | t.CPtr, tail: ParamNode | t.CPtr, node: ParamNode | t.CPtr) -> ParamNode | t.CPtr: pass
|
||||
def PrintType(self: LLVMTypeCore, buf: t.CChar | t.CPtr, size: t.CSizeT, ty: LLVMType | t.CPtr) -> t.CInt: pass
|
||||
|
||||
def TypePrint(buf: t.CChar | t.CPtr, size: t.CSizeT, ty: LLVMType | t.CPtr, pool: memhub.MemBuddy | t.CPtr) -> t.CInt: pass
|
||||
|
||||
def _strappend(dst: t.CChar | t.CPtr, dst_size: t.CSizeT, src: t.CChar | t.CPtr) -> t.CInt: pass
|
||||
|
||||
def _print_struct_body(buf: t.CChar | t.CPtr, size: t.CSizeT, fields: ParamNode | t.CPtr, pool: memhub.MemBuddy | t.CPtr) -> t.CInt: pass
|
||||
|
||||
def PrintStructDefinition(buf: t.CChar | t.CPtr, size: t.CSizeT, ty: LLVMType | t.CPtr, pool: memhub.MemBuddy | t.CPtr) -> t.CInt: pass
|
||||
|
||||
def get_struct_name(ty: LLVMType | t.CPtr) -> t.CChar | t.CPtr: pass
|
||||
@@ -1,219 +0,0 @@
|
||||
"""
|
||||
Auto-generated Python stub file from llvmlite.__builder.py
|
||||
Module: llvmlite.__builder
|
||||
"""
|
||||
|
||||
|
||||
import t, c
|
||||
from stdint import *
|
||||
import string
|
||||
import viperlib
|
||||
import memhub
|
||||
from linkedlist import GSListNode, GSList
|
||||
from .__types import LLVMType, TypePrint
|
||||
from .__values import Value, new_value, SSAValue
|
||||
from .__function import Function, BasicBlock, block_append_text, function_move_block_to_end, _ll_name_needs_quote
|
||||
|
||||
class IRBuilder:
|
||||
Pool: memhub.MemBuddy | t.CPtr
|
||||
Func: Function | t.CPtr
|
||||
CurBlock: BasicBlock | t.CPtr
|
||||
Counter: t.CInt
|
||||
|
||||
BUILDER_SIZE: t.CDefine = 32
|
||||
|
||||
def new_builder(pool: memhub.MemBuddy | t.CPtr, func: Function | t.CPtr) -> IRBuilder | t.CPtr: pass
|
||||
|
||||
def position_at_end(builder: IRBuilder | t.CPtr, block: BasicBlock | t.CPtr) -> t.CInt: pass
|
||||
|
||||
def _alloc_ssa_name(builder: IRBuilder | t.CPtr) -> t.CChar | t.CPtr: pass
|
||||
|
||||
def _type_str(builder: IRBuilder | t.CPtr, ty: LLVMType | t.CPtr) -> t.CChar | t.CPtr: pass
|
||||
|
||||
def _emit(builder: IRBuilder | t.CPtr, text: t.CChar | t.CPtr) -> t.CInt: pass
|
||||
|
||||
def _mark_terminated(builder: IRBuilder | t.CPtr) -> t.CInt: pass
|
||||
|
||||
def builder_cur_block_is_terminated(builder: IRBuilder | t.CPtr) -> t.CInt: pass
|
||||
|
||||
def build_alloca(builder: IRBuilder | t.CPtr, ty: LLVMType | t.CPtr) -> Value | t.CPtr: pass
|
||||
|
||||
def build_load(builder: IRBuilder | t.CPtr, ty: LLVMType | t.CPtr, ptr: Value | t.CPtr) -> Value | t.CPtr: pass
|
||||
|
||||
def build_store(builder: IRBuilder | t.CPtr, val: Value | t.CPtr, ptr: Value | t.CPtr) -> t.CInt: pass
|
||||
|
||||
def build_add(builder: IRBuilder | t.CPtr, lhs: Value | t.CPtr, rhs: Value | t.CPtr) -> Value | t.CPtr: pass
|
||||
|
||||
def build_sub(builder: IRBuilder | t.CPtr, lhs: Value | t.CPtr, rhs: Value | t.CPtr) -> Value | t.CPtr: pass
|
||||
|
||||
def build_mul(builder: IRBuilder | t.CPtr, lhs: Value | t.CPtr, rhs: Value | t.CPtr) -> Value | t.CPtr: pass
|
||||
|
||||
def build_sdiv(builder: IRBuilder | t.CPtr, lhs: Value | t.CPtr, rhs: Value | t.CPtr) -> Value | t.CPtr: pass
|
||||
|
||||
def build_udiv(builder: IRBuilder | t.CPtr, lhs: Value | t.CPtr, rhs: Value | t.CPtr) -> Value | t.CPtr: pass
|
||||
|
||||
def build_srem(builder: IRBuilder | t.CPtr, lhs: Value | t.CPtr, rhs: Value | t.CPtr) -> Value | t.CPtr: pass
|
||||
|
||||
def build_urem(builder: IRBuilder | t.CPtr, lhs: Value | t.CPtr, rhs: Value | t.CPtr) -> Value | t.CPtr: pass
|
||||
|
||||
def build_and(builder: IRBuilder | t.CPtr, lhs: Value | t.CPtr, rhs: Value | t.CPtr) -> Value | t.CPtr: pass
|
||||
|
||||
def build_or(builder: IRBuilder | t.CPtr, lhs: Value | t.CPtr, rhs: Value | t.CPtr) -> Value | t.CPtr: pass
|
||||
|
||||
def build_xor(builder: IRBuilder | t.CPtr, lhs: Value | t.CPtr, rhs: Value | t.CPtr) -> Value | t.CPtr: pass
|
||||
|
||||
def build_shl(builder: IRBuilder | t.CPtr, lhs: Value | t.CPtr, rhs: Value | t.CPtr) -> Value | t.CPtr: pass
|
||||
|
||||
def build_lshr(builder: IRBuilder | t.CPtr, lhs: Value | t.CPtr, rhs: Value | t.CPtr) -> Value | t.CPtr: pass
|
||||
|
||||
def build_ashr(builder: IRBuilder | t.CPtr, lhs: Value | t.CPtr, rhs: Value | t.CPtr) -> Value | t.CPtr: pass
|
||||
|
||||
def build_fadd(builder: IRBuilder | t.CPtr, lhs: Value | t.CPtr, rhs: Value | t.CPtr) -> Value | t.CPtr: pass
|
||||
|
||||
def build_fsub(builder: IRBuilder | t.CPtr, lhs: Value | t.CPtr, rhs: Value | t.CPtr) -> Value | t.CPtr: pass
|
||||
|
||||
def build_fmul(builder: IRBuilder | t.CPtr, lhs: Value | t.CPtr, rhs: Value | t.CPtr) -> Value | t.CPtr: pass
|
||||
|
||||
def build_fdiv(builder: IRBuilder | t.CPtr, lhs: Value | t.CPtr, rhs: Value | t.CPtr) -> Value | t.CPtr: pass
|
||||
|
||||
def build_frem(builder: IRBuilder | t.CPtr, lhs: Value | t.CPtr, rhs: Value | t.CPtr) -> Value | t.CPtr: pass
|
||||
|
||||
def build_fneg(builder: IRBuilder | t.CPtr, val: Value | t.CPtr) -> Value | t.CPtr: pass
|
||||
|
||||
def _build_binop(builder: IRBuilder | t.CPtr, op: t.CChar | t.CPtr, lhs: Value | t.CPtr, rhs: Value | t.CPtr) -> Value | t.CPtr: pass
|
||||
|
||||
|
||||
ICMP_EQ: t.CDefine = 0
|
||||
ICMP_NE: t.CDefine = 1
|
||||
ICMP_SGT: t.CDefine = 2
|
||||
ICMP_SGE: t.CDefine = 3
|
||||
ICMP_SLT: t.CDefine = 4
|
||||
ICMP_SLE: t.CDefine = 5
|
||||
ICMP_UGT: t.CDefine = 6
|
||||
ICMP_UGE: t.CDefine = 7
|
||||
ICMP_ULT: t.CDefine = 8
|
||||
ICMP_ULE: t.CDefine = 9
|
||||
FCMP_FALSE: t.CDefine = 0
|
||||
FCMP_OEQ: t.CDefine = 1
|
||||
FCMP_OGT: t.CDefine = 2
|
||||
FCMP_OGE: t.CDefine = 3
|
||||
FCMP_OLT: t.CDefine = 4
|
||||
FCMP_OLE: t.CDefine = 5
|
||||
FCMP_ONE: t.CDefine = 6
|
||||
FCMP_ORD: t.CDefine = 7
|
||||
FCMP_UNO: t.CDefine = 8
|
||||
FCMP_UEQ: t.CDefine = 9
|
||||
FCMP_UGT: t.CDefine = 10
|
||||
FCMP_UGE: t.CDefine = 11
|
||||
FCMP_ULT: t.CDefine = 12
|
||||
FCMP_ULE: t.CDefine = 13
|
||||
FCMP_UNE: t.CDefine = 14
|
||||
FCMP_TRUE: t.CDefine = 15
|
||||
|
||||
def _icmp_pred_str(pred: t.CInt) -> t.CChar | t.CPtr: pass
|
||||
|
||||
def _fcmp_pred_str(pred: t.CInt) -> t.CChar | t.CPtr: pass
|
||||
|
||||
def build_icmp(builder: IRBuilder | t.CPtr, pred: t.CInt, lhs: Value | t.CPtr, rhs: Value | t.CPtr) -> Value | t.CPtr: pass
|
||||
|
||||
def build_fcmp(builder: IRBuilder | t.CPtr, pred: t.CInt, lhs: Value | t.CPtr, rhs: Value | t.CPtr) -> Value | t.CPtr: pass
|
||||
|
||||
def build_br(builder: IRBuilder | t.CPtr, target: BasicBlock | t.CPtr) -> t.CInt: pass
|
||||
|
||||
def build_cond_br(builder: IRBuilder | t.CPtr, cond: Value | t.CPtr, then_blk: BasicBlock | t.CPtr, else_blk: BasicBlock | t.CPtr) -> t.CInt: pass
|
||||
|
||||
def build_ret(builder: IRBuilder | t.CPtr, val: Value | t.CPtr) -> t.CInt: pass
|
||||
|
||||
def build_ret_void(builder: IRBuilder | t.CPtr) -> t.CInt: pass
|
||||
|
||||
def build_call(builder: IRBuilder | t.CPtr, callee: t.CChar | t.CPtr, args: Value | t.CPtr, arg_count: t.CInt, ret_ty: LLVMType | t.CPtr, is_variadic: t.CInt) -> Value | t.CPtr: pass
|
||||
|
||||
def build_call_indirect(builder: IRBuilder | t.CPtr, callee_val: Value | t.CPtr, args: Value | t.CPtr, arg_count: t.CInt, ret_ty: LLVMType | t.CPtr) -> Value | t.CPtr: pass
|
||||
|
||||
def build_bitcast(builder: IRBuilder | t.CPtr, val: Value | t.CPtr, to_ty: LLVMType | t.CPtr) -> Value | t.CPtr: pass
|
||||
|
||||
def build_sext(builder: IRBuilder | t.CPtr, val: Value | t.CPtr, to_ty: LLVMType | t.CPtr) -> Value | t.CPtr: pass
|
||||
|
||||
def build_trunc(builder: IRBuilder | t.CPtr, val: Value | t.CPtr, to_ty: LLVMType | t.CPtr) -> Value | t.CPtr: pass
|
||||
|
||||
def build_zext(builder: IRBuilder | t.CPtr, val: Value | t.CPtr, to_ty: LLVMType | t.CPtr) -> Value | t.CPtr: pass
|
||||
|
||||
def build_ptrtoint(builder: IRBuilder | t.CPtr, val: Value | t.CPtr, to_ty: LLVMType | t.CPtr) -> Value | t.CPtr: pass
|
||||
|
||||
def build_inttoptr(builder: IRBuilder | t.CPtr, val: Value | t.CPtr, to_ty: LLVMType | t.CPtr) -> Value | t.CPtr: pass
|
||||
|
||||
def build_fpext(builder: IRBuilder | t.CPtr, val: Value | t.CPtr, to_ty: LLVMType | t.CPtr) -> Value | t.CPtr: pass
|
||||
|
||||
def build_fptrunc(builder: IRBuilder | t.CPtr, val: Value | t.CPtr, to_ty: LLVMType | t.CPtr) -> Value | t.CPtr: pass
|
||||
|
||||
def build_fp2si(builder: IRBuilder | t.CPtr, val: Value | t.CPtr, to_ty: LLVMType | t.CPtr) -> Value | t.CPtr: pass
|
||||
|
||||
def build_si2fp(builder: IRBuilder | t.CPtr, val: Value | t.CPtr, to_ty: LLVMType | t.CPtr) -> Value | t.CPtr: pass
|
||||
|
||||
def build_fp2ui(builder: IRBuilder | t.CPtr, val: Value | t.CPtr, to_ty: LLVMType | t.CPtr) -> Value | t.CPtr: pass
|
||||
|
||||
def build_ui2fp(builder: IRBuilder | t.CPtr, val: Value | t.CPtr, to_ty: LLVMType | t.CPtr) -> Value | t.CPtr: pass
|
||||
|
||||
def build_gep(builder: IRBuilder | t.CPtr, elem_ty: LLVMType | t.CPtr, ptr: Value | t.CPtr, idx: Value | t.CPtr) -> Value | t.CPtr: pass
|
||||
|
||||
def build_gep_array(builder: IRBuilder | t.CPtr, array_ty: LLVMType | t.CPtr, elem_ty: LLVMType | t.CPtr, ptr: Value | t.CPtr, idx: Value | t.CPtr) -> Value | t.CPtr: pass
|
||||
|
||||
def build_gep_struct(builder: IRBuilder | t.CPtr, struct_ty: LLVMType | t.CPtr, field_ty: LLVMType | t.CPtr, ptr: Value | t.CPtr, field_idx: t.CInt) -> Value | t.CPtr: pass
|
||||
|
||||
|
||||
class PhiIncoming(GSListNode[PhiIncoming]):
|
||||
Val: Value | t.CPtr
|
||||
Block: BasicBlock | t.CPtr
|
||||
|
||||
PHIINC_SIZE: t.CDefine = 24
|
||||
|
||||
def new_phi_incoming(pool: memhub.MemBuddy | t.CPtr, val: Value | t.CPtr, block: BasicBlock | t.CPtr) -> PhiIncoming | t.CPtr: pass
|
||||
|
||||
def build_phi(builder: IRBuilder | t.CPtr, ty: LLVMType | t.CPtr, incoming_head: PhiIncoming | t.CPtr, count: t.CInt) -> Value | t.CPtr: pass
|
||||
|
||||
|
||||
class SwitchCase(GSListNode[SwitchCase]):
|
||||
CaseVal: Value | t.CPtr
|
||||
Block: BasicBlock | t.CPtr
|
||||
|
||||
SWCASE_SIZE: t.CDefine = 24
|
||||
|
||||
def new_switch_case(pool: memhub.MemBuddy | t.CPtr, case_val: Value | t.CPtr, block: BasicBlock | t.CPtr) -> SwitchCase | t.CPtr: pass
|
||||
|
||||
def build_switch(builder: IRBuilder | t.CPtr, val: Value | t.CPtr, default_blk: BasicBlock | t.CPtr, cases_head: SwitchCase | t.CPtr, case_count: t.CInt) -> t.CInt: pass
|
||||
|
||||
def build_select(builder: IRBuilder | t.CPtr, cond: Value | t.CPtr, true_val: Value | t.CPtr, false_val: Value | t.CPtr) -> Value | t.CPtr: pass
|
||||
|
||||
def build_unreachable(builder: IRBuilder | t.CPtr) -> t.CInt: pass
|
||||
|
||||
|
||||
ATOMIC_XCHG: t.CDefine = 0
|
||||
ATOMIC_ADD: t.CDefine = 1
|
||||
ATOMIC_SUB: t.CDefine = 2
|
||||
ATOMIC_AND: t.CDefine = 3
|
||||
ATOMIC_NAND: t.CDefine = 4
|
||||
ATOMIC_OR: t.CDefine = 5
|
||||
ATOMIC_XOR: t.CDefine = 6
|
||||
ATOMIC_MAX: t.CDefine = 7
|
||||
ATOMIC_MIN: t.CDefine = 8
|
||||
ATOMIC_UMAX: t.CDefine = 9
|
||||
ATOMIC_UMIN: t.CDefine = 10
|
||||
ATOMIC_ORDER_NOTATOMIC: t.CDefine = 0
|
||||
ATOMIC_ORDER_UNORDERED: t.CDefine = 1
|
||||
ATOMIC_ORDER_MONOTONIC: t.CDefine = 2
|
||||
ATOMIC_ORDER_ACQUIRE: t.CDefine = 3
|
||||
ATOMIC_ORDER_RELEASE: t.CDefine = 4
|
||||
ATOMIC_ORDER_ACQ_REL: t.CDefine = 5
|
||||
ATOMIC_ORDER_SEQ_CST: t.CDefine = 6
|
||||
|
||||
def _atomic_op_str(op: t.CInt) -> t.CChar | t.CPtr: pass
|
||||
|
||||
def _atomic_order_str(ord: t.CInt) -> t.CChar | t.CPtr: pass
|
||||
|
||||
def build_atomicrmw(builder: IRBuilder | t.CPtr, op: t.CInt, ptr: Value | t.CPtr, val: Value | t.CPtr, order: t.CInt) -> Value | t.CPtr: pass
|
||||
|
||||
def build_cmpxchg(builder: IRBuilder | t.CPtr, ptr: Value | t.CPtr, cmp_val: Value | t.CPtr, new_val: Value | t.CPtr, succ_order: t.CInt, fail_order: t.CInt) -> Value | t.CPtr: pass
|
||||
|
||||
def build_inline_asm(builder: IRBuilder | t.CPtr, ret_ty: LLVMType | t.CPtr, asm_text: t.CChar | t.CPtr, constraints: t.CChar | t.CPtr, has_side_effects: t.CInt) -> Value | t.CPtr: pass
|
||||
|
||||
def _append_cstr(dst: t.CChar | t.CPtr, dst_size: t.CSizeT, src: t.CChar | t.CPtr) -> t.CInt: pass
|
||||
@@ -1 +0,0 @@
|
||||
{}
|
||||
@@ -1,41 +0,0 @@
|
||||
"""
|
||||
Auto-generated Python stub file from main.py
|
||||
Module: main
|
||||
"""
|
||||
|
||||
|
||||
import t, c
|
||||
from stdint import *
|
||||
import stdio
|
||||
import string
|
||||
import stdlib
|
||||
import memhub
|
||||
import argparse
|
||||
import w32.win32console as w32cmd
|
||||
import w32.fileio as fileio
|
||||
import w32.win32file
|
||||
import w32.win32base
|
||||
import sys
|
||||
import ast
|
||||
import lib
|
||||
import lib.core.VLogger as VLogger
|
||||
import lib.core.Handles.HandlesTranslator as HandlesTranslator
|
||||
import lib.core.Handles.HandlesStruct as HandlesStruct
|
||||
import lib.core.Handles.HandlesExprCall as HandlesExprCall
|
||||
import lib.core.BuildPipeline as BuildPipeline
|
||||
import lib.core.IncludesScanner as IncludesScanner
|
||||
import lib.core.StubMerger as StubMerger
|
||||
import lib.core.Phase1 as Phase1
|
||||
import lib.core.Phase2 as Phase2
|
||||
import lib.Projectrans.Config as Config
|
||||
import lib.Projectrans.Utils as Utils
|
||||
import llvmlite
|
||||
import subprocess
|
||||
import viperlib
|
||||
import hashlib
|
||||
|
||||
POOL_SIZE: t.CDefine = 1073741824
|
||||
CODE_PAGE: t.CDefine = 65001
|
||||
SRC_BUF_SIZE: t.CDefine = 1048576
|
||||
|
||||
def main() -> int: pass
|
||||
File diff suppressed because one or more lines are too long
@@ -1,13 +1,13 @@
|
||||
001c1416e7a7dc50:lib\core\Handles\HandlesMain.py
|
||||
0035c95a18d4f8e8:includes/w32\fileio.py
|
||||
02885f6f134079c2:lib\core\Handles\HandlesVar.py
|
||||
05c11f22675c60cb:includes/llvmlite\__values.py
|
||||
067c78e9f121dce3:includes/w32\win32process.py
|
||||
06f53cc594b4ac6c:includes/w32\win32sync.py
|
||||
07a8c82a8ca2be90:lib\core\Handles\HandlesExprOps.py
|
||||
0c212981c180e7fb:includes/ast\lexer.py
|
||||
0c56128647a0b845:lib\core\Handles\HandlesType.py
|
||||
0df65b8ed15664b0:includes/hashlib\__sha1.py
|
||||
15f1ded02f3aa5bc:includes/llvmlite\__types.py
|
||||
19f8024d10c828e8:includes/hashlib\__md5.py
|
||||
20cd49775c100a38:includes/json\__writer.py
|
||||
21a7fcfc665f75ef:includes/llvmlite\__module.py
|
||||
@@ -22,9 +22,8 @@
|
||||
3d3edda4a4e6c08b:lib\core\Handles\HandlesAssign.py
|
||||
4020cac9bab5e9f1:lib\core\Handles\HandlesFunctions.py
|
||||
4337fb260448bbe2:includes/ast\astaux.py
|
||||
455ff4e74c3dbfb0:includes/llvmlite\__types.py
|
||||
46ea362b72c10a9e:includes/llvmlite\__builder.py
|
||||
47767b5026a8ee15:includes/ast\exprs.py
|
||||
47775d5e50909338:includes/memhub.py
|
||||
48fa8cc758d3826b:lib\core\Handles\HandlesFor.py
|
||||
49cf633017627a4a:lib\Projectrans\Config.py
|
||||
4dd6b3f1427d1cc5:includes/ast\match.py
|
||||
@@ -35,45 +34,47 @@
|
||||
5dab8cb390496d22:includes/ast\base.py
|
||||
6503c97dde0c79c4:includes/posix.py
|
||||
657e182b27c2a022:includes/ast\stmts.py
|
||||
668790e6c9efdbae:includes/_list.py
|
||||
66de93aaeebc0601:lib\core\Handles\HandlesIf.py
|
||||
6b3bc463fd044545:includes/llvmlite\__verify.py
|
||||
6f62fe05c5ea1ceb:includes/stdio.py
|
||||
6ff26590374ae6fc:includes/hashlib\__sha512.py
|
||||
71e0a3ffcb3ebfad:includes/stdarg.py
|
||||
72e2d5ccb7cedcf1:includes/w32\win32memory.py
|
||||
78bbe886bbe5ca8f:lib\core\Handles\HandlesImports.py
|
||||
7e260c14d2712119:lib\core\Phase2.py
|
||||
7e529fe7a078cfef:includes/w32\win32base.py
|
||||
81eb28ba912467a6:lib\core\Handles\HandlesBody.py
|
||||
83ba314b4637eec9:lib\core\Handles\HandlesBase.py
|
||||
888ea5bd6ab516ae:lib\Projectrans\Utils.py
|
||||
89b3965176cd2407:includes/llvmlite\__function.py
|
||||
8f12094c840be06a:lib\__init__.py
|
||||
90c53dd6db8d41cf:includes/stdlib.py
|
||||
93c1d18e35d188d6:includes/platmacro.py
|
||||
950028de389b7a7b:main.py
|
||||
946e087da91aaada:includes/llvmlite\__builder.py
|
||||
9474791561654346:includes/string.py
|
||||
95394ca8da0f655a:includes/llvmlite\__init__.py
|
||||
96837bcc64032444:includes/hashlib\__init__.py
|
||||
ab6e54ba9a669f76:includes/string.py
|
||||
9d90ff4bae201361:lib\core\StubMerger.py
|
||||
a1a7dbafa49abfd1:lib\core\IncludesScanner.py
|
||||
aba439b7882ad9d6:includes/argparse.py
|
||||
ae0cc890f657076d:lib\core\Handles\HandlesExpr.py
|
||||
af9484a65085bf4b:lib\core\Handles\HandlesNonlocal.py
|
||||
b29b80b6106e4be7:lib\core\Handles\HandlesExprCall.py
|
||||
b547ac4f380bddb6:includes/ast\tokens.py
|
||||
b5a965302cded36b:includes/sys.py
|
||||
b5d05dbd7fee36ef:lib\core\StubMerger.py
|
||||
b8c66c8ff44eb874:includes/hashtable.py
|
||||
bbdf3bbd4c3bc28c:includes/w32\win32console.py
|
||||
bd82e3ca81546c76:lib\core\IncludesScanner.py
|
||||
c3b259b4059f8668:includes/viperlib.py
|
||||
c4f2d483ec0f4db5:lib\core\Handles\HandlesClassDef.py
|
||||
c8d5323b1a4df063:lib\core\Phase1.py
|
||||
c9d54a4158f7f5a8:includes/hashlib\__sha256.py
|
||||
c9f4be41ca1cc2b4:includes/viperio.py
|
||||
d1599ecbac5b6586:lib\core\BuildPipeline.py
|
||||
d4117f5e00a6c3b5:includes/llvmlite\__verify.py
|
||||
d9322f0db660edd8:lib\core\Handles\HandlesReturn.py
|
||||
db7c4a8f09d02a17:lib\core\Phase1.py
|
||||
e0b84369e50c937c:includes/llvmlite\__function.py
|
||||
e5be27ae4fe7ce04:lib\core\Handles\HandlesEnum.py
|
||||
ee084e9fc6ee413a:includes/memhub.py
|
||||
ee52c08239684346:includes/ast\parser.py
|
||||
f2ecbf8ced20575c:includes/_list.py
|
||||
f5522571bcce7bcb:includes/stdint.py
|
||||
f6b51804a0ba8ff0:includes/w32\win32file.py
|
||||
f8e903a99e1d0a57:main.py
|
||||
f9e36e2cd6fa659f:includes/llvmlite\__values.py
|
||||
|
||||
Binary file not shown.
@@ -1,48 +0,0 @@
|
||||
"""
|
||||
Auto-generated Python stub file from string.py
|
||||
Module: string
|
||||
"""
|
||||
|
||||
|
||||
from stdint import *
|
||||
import t, c
|
||||
|
||||
def strcpy(dest: str, src: str) -> str: pass
|
||||
|
||||
def strcat(dest: str, src: str) -> str: pass
|
||||
|
||||
def strncpy(dest: str, src: str, n: t.CSizeT) -> str: pass
|
||||
|
||||
def strlen(src: str) -> t.CSizeT | t.CExport: pass
|
||||
|
||||
def strcmp(str1: str, str2: str) -> t.CInt: pass
|
||||
|
||||
def samestr(str1: str, str2: str) -> bool: pass
|
||||
|
||||
def strncmp(str1: str, str2: str, n: t.CSizeT) -> t.CInt: pass
|
||||
|
||||
def memcmp(ptr1: t.CVoid | t.CPtr, ptr2: t.CVoid | t.CPtr, n: t.CSizeT) -> t.CInt: pass
|
||||
|
||||
def strchr(s: str, cr: t.CInt) -> str: pass
|
||||
|
||||
def strrchr(s: str, cr: t.CInt) -> str: pass
|
||||
|
||||
def strstr(s: str, needle: str) -> str: pass
|
||||
|
||||
def strspn(s: str, skip: str) -> int: pass
|
||||
|
||||
def memset(ptr: t.CVoid | t.CPtr, value: t.CInt, num: t.CSizeT) -> t.CVoid | t.CPtr | t.CExport: pass
|
||||
|
||||
def memset32(ptr: t.CVoid | t.CPtr, value: t.CUInt32T, count: t.CSizeT) -> t.CVoid | t.CPtr: pass
|
||||
|
||||
def memcpy(dest: t.CVoid | t.CPtr, src: t.CVoid | t.CPtr, num: t.CSizeT) -> t.CVoid | t.CPtr | t.CExport: pass
|
||||
|
||||
def memmove(dest: t.CVoid | t.CPtr, src: t.CVoid | t.CPtr, num: t.CSizeT) -> t.CVoid | t.CPtr: pass
|
||||
|
||||
def atoi(src: str) -> t.CInt: pass
|
||||
|
||||
def atoll(src: str) -> t.CInt64T: pass
|
||||
|
||||
def atof(src: str) -> t.CDouble: pass
|
||||
|
||||
def split(s: str, delim: str, result: t.CArray[str]) -> int: pass
|
||||
@@ -1 +0,0 @@
|
||||
{"_load_includes_sha1_set": "读取 _sha1_map.txt,将 includes/ 开头的 SHA1 写入 sha1_set\n sha1_set 大小为 MAX_INCLUDES_SHA1 * 17(每个 SHA1 16字符+null)\n 返回找到的 includes SHA1 数量,-1 表示错误", "_is_in_sha1_set": "检查 sha1 是否在集合中", "WriteIncludesSha1Map": "将 includes 扫描结果写入 _sha1_map.txt(供 StubMerger 使用)\n\n 若 filter_set 不为 None 且 filter_count > 0,只写入 filter_set 中的条目。\n ", "_IsFuncDeclaredOrDefined": "检查 out_buf 中是否已有函数的 declare 或 define 行", "_CommentOutDeclareInBuf": "在 out_buf 中搜索 declare 行(包含 func_sig),将其注释掉", "_CommentOutGlobalInBuf": "在 out_buf 中搜索全局变量定义行(以 global_name 开头),将行首改为 ';'", "_CommentOutOpaqueTypeInBuf": "在 out_buf 中搜索 type_name_prefix 对应的 opaque 声明行,将行首改为 ';'\n\n type_name_prefix 格式: '%\"sha1.ClassName\"'(不含 '=' 和后续内容)\n 返回 1=已注释, 0=未找到\n ", "_HasFullTypeDefinition": "检查 out_buf 中是否已有 type_name_prefix 的完整定义", "_LoadAndAppendStub": "加载依赖 stub 并追加(跳过 header,去重)", "_LoadAndAppendTextDeclares": "从依赖 text.ll 提取 declare(define 转 declare),追加到 out_buf", "_PathToModuleName": "将文件路径转换为模块名\n\n 特殊处理 __init__.py:includes/ast/__init__.py → ast(而非 ast.__init__)\n ", "_BuildIncludesSha1Map": "从 _sha1_map.txt 构建 sha1→module_name 映射,返回条目数", "_FindSha1ByModName": "从模块名查找 SHA1(精确匹配)", "_AddSha1ToSet": "将 SHA1 加入集合,返回新 count", "_BuildReachableSha1Set": "构建可达 SHA1 集合(依赖图按需翻译)", "BuildCombinedIR": "组合本地 stub + 依赖 stubs + 本地 text → out_buf(按需加载)"}
|
||||
@@ -1,60 +0,0 @@
|
||||
"""
|
||||
Auto-generated Python stub file from lib.core.StubMerger.py
|
||||
Module: lib.core.StubMerger
|
||||
"""
|
||||
|
||||
|
||||
import t, c
|
||||
from stdint import *
|
||||
import memhub
|
||||
import string
|
||||
import stdio
|
||||
import stdlib
|
||||
import llvmlite
|
||||
import w32.win32file as win32file
|
||||
import w32.win32base as win32base
|
||||
import w32.fileio as fileio
|
||||
import viperlib
|
||||
import sys
|
||||
import ast
|
||||
import lib.core.IncludesScanner as IncludesScanner
|
||||
import lib.core.Handles.HandlesStruct as HandlesStruct
|
||||
import lib.core.Handles.HandlesImports as HandlesImports
|
||||
import lib.core.Handles.HandlesTranslator as HandlesTranslator
|
||||
|
||||
_mbuddy: t.CExtern | memhub.MemManager | t.CPtr
|
||||
MAX_INCLUDES_SHA1: t.CDefine = 256
|
||||
STUB_READ_BUF_SIZE: t.CDefine = 262144
|
||||
MAX_INCLUDES: t.CDefine = 256
|
||||
|
||||
def _load_includes_sha1_set(pool: memhub.MemBuddy | t.CPtr, temp_dir: str, sha1_set: str) -> int: pass
|
||||
|
||||
def _is_in_sha1_set(sha1: str, sha1_set: str, set_count: int) -> int: pass
|
||||
|
||||
def WriteIncludesSha1Map(mb: memhub.MemBuddy | t.CPtr, temp_dir: str, scan_result: IncludesScanner.ScanResult | t.CPtr, filter_set: t.CChar | t.CPtr, filter_count: int) -> int: pass
|
||||
|
||||
def _IsFuncDeclaredOrDefined(out_buf: bytes, func_sig: str) -> int: pass
|
||||
|
||||
def _CommentOutDeclareInBuf(out_buf: bytes, func_sig: str) -> int: pass
|
||||
|
||||
def _CommentOutGlobalInBuf(out_buf: bytes, global_name: str) -> int: pass
|
||||
|
||||
def _CommentOutOpaqueTypeInBuf(out_buf: bytes, type_name_prefix: str) -> int: pass
|
||||
|
||||
def _HasFullTypeDefinition(out_buf: bytes, type_name_prefix: str) -> int: pass
|
||||
|
||||
def _LoadAndAppendStub(temp_dir: str, td_len: t.CSizeT, dep_sha1: str, dep_buf: bytes, out_buf: bytes, out_size: t.CSizeT, out_pos: t.CSizeT) -> t.CSizeT: pass
|
||||
|
||||
def _LoadAndAppendTextDeclares(temp_dir: str, td_len: t.CSizeT, dep_sha1: str, dep_buf: bytes, out_buf: bytes, out_size: t.CSizeT, out_pos: t.CSizeT) -> t.CSizeT: pass
|
||||
|
||||
def _PathToModuleName(path: str) -> str: pass
|
||||
|
||||
def _BuildIncludesSha1Map(temp_dir: str, td_len: t.CSizeT, sha1_list: t.CChar | t.CPtr, mod_list: t.CChar | t.CPtr) -> int: pass
|
||||
|
||||
def _FindSha1ByModName(sha1_arr: t.CChar | t.CPtr, mod_arr: t.CChar | t.CPtr, count: int, mod_name: str) -> str: pass
|
||||
|
||||
def _AddSha1ToSet(set_buf: t.CChar | t.CPtr, count: int, sha1: str) -> int: pass
|
||||
|
||||
def _BuildReachableSha1Set(mb: memhub.MemBuddy | t.CPtr, source_dir: str, temp_dir: str, reachable_set: t.CChar | t.CPtr) -> int: pass
|
||||
|
||||
def BuildCombinedIR(temp_dir: str, local_sha1: str, out_buf: bytes, out_size: t.CSizeT) -> t.CSizeT: pass
|
||||
@@ -1 +0,0 @@
|
||||
{"FileEntry": "扫描到的文件条目", "ScanResult": "扫描结果集合", "create_scan_result": "创建扫描结果容器,预分配 MAX_FILES 个槽位", "add_file_entry": "添加文件条目到扫描结果,返回 0 成功", "compute_file_sha1": "读取文件内容并计算 SHA1 前16字符(CRLF→LF 后计算,与 Projectrans.py 一致)", "scan_directory_recursive": "递归扫描目录,收集 .py 文件", "scan_includes": "扫描 includes 目录,返回所有 .py 文件的扫描结果", "find_entry_by_module": "按模块名查找文件条目"}
|
||||
@@ -1,45 +0,0 @@
|
||||
"""
|
||||
Auto-generated Python stub file from lib.core.IncludesScanner.py
|
||||
Module: lib.core.IncludesScanner
|
||||
"""
|
||||
|
||||
|
||||
import t, c
|
||||
from stdint import *
|
||||
import memhub
|
||||
import string
|
||||
import stdio
|
||||
import stdlib
|
||||
import w32.win32file as win32file
|
||||
import w32.win32base as win32base
|
||||
import w32.fileio as fileio
|
||||
import hashlib
|
||||
import viperlib
|
||||
|
||||
_mbuddy: t.CExtern | memhub.MemManager | t.CPtr
|
||||
MAX_PATH_LEN: t.CDefine = 512
|
||||
MAX_FILES: t.CDefine = 256
|
||||
|
||||
@t.NoVTable
|
||||
class FileEntry:
|
||||
Path: str
|
||||
Sha1: str
|
||||
RelPath: str
|
||||
ModuleName: str
|
||||
@t.NoVTable
|
||||
class ScanResult:
|
||||
Entries: FileEntry | t.CPtr
|
||||
Count: t.CInt
|
||||
Capacity: t.CInt
|
||||
|
||||
def create_scan_result(pool: memhub.MemBuddy | t.CPtr) -> ScanResult | t.CPtr: pass
|
||||
|
||||
def add_file_entry(result: ScanResult | t.CPtr, pool: memhub.MemBuddy | t.CPtr, abs_path: str, rel_path: str, sha1: str) -> int: pass
|
||||
|
||||
def compute_file_sha1(pool: memhub.MemBuddy | t.CPtr, file_path: str) -> str: pass
|
||||
|
||||
def scan_directory_recursive(pool: memhub.MemBuddy | t.CPtr, root_dir: str, rel_prefix: str, result: ScanResult | t.CPtr) -> int: pass
|
||||
|
||||
def scan_includes(pool: memhub.MemBuddy | t.CPtr, includes_dir: str) -> ScanResult | t.CPtr: pass
|
||||
|
||||
def find_entry_by_module(result: ScanResult | t.CPtr, module_name: str) -> FileEntry | t.CPtr: pass
|
||||
@@ -1,62 +0,0 @@
|
||||
"""
|
||||
Auto-generated Python stub file from llvmlite.__verify.py
|
||||
Module: llvmlite.__verify
|
||||
"""
|
||||
|
||||
|
||||
import t, c
|
||||
from stdint import *
|
||||
import string
|
||||
import viperlib
|
||||
import memhub
|
||||
from linkedlist import GSListNode, GSList
|
||||
from .__function import Function, BasicBlock, Line, Param
|
||||
from .__module import LLVMModule
|
||||
|
||||
VERIFY_OK: t.CDefine = 0
|
||||
VERIFY_ERR_NO_TERMINATOR: t.CDefine = 1
|
||||
VERIFY_ERR_DUPLICATE_DEF: t.CDefine = 2
|
||||
VERIFY_ERR_UNDEFINED_USE: t.CDefine = 3
|
||||
VERIFY_ERR_PHI_NOT_FIRST: t.CDefine = 4
|
||||
|
||||
class NameEntry(GSListNode[NameEntry]):
|
||||
Name: t.CChar | t.CPtr
|
||||
class VerifyResult:
|
||||
ErrorCount: t.CInt
|
||||
WarningCount: t.CInt
|
||||
ErrorCode: t.CInt
|
||||
ErrorBuf: t.CChar | t.CPtr
|
||||
ErrorBufSize: t.CSizeT
|
||||
|
||||
def _new_verify_result(pool: memhub.MemBuddy | t.CPtr, buf_size: t.CSizeT) -> VerifyResult | t.CPtr: pass
|
||||
|
||||
def _report_error(result: VerifyResult | t.CPtr, code: t.CInt, msg: t.CChar | t.CPtr) -> t.CInt: pass
|
||||
|
||||
def _append_cstr(dst: t.CChar | t.CPtr, dst_size: t.CSizeT, src: t.CChar | t.CPtr) -> t.CInt: pass
|
||||
|
||||
def _new_name_table(pool: memhub.MemBuddy | t.CPtr) -> GSList[NameEntry] | t.CPtr: pass
|
||||
|
||||
|
||||
NENTRY_SIZE: t.CDefine = 16
|
||||
|
||||
def _name_table_add(table: GSList[NameEntry] | t.CPtr, pool: memhub.MemBuddy | t.CPtr, name: t.CChar | t.CPtr) -> t.CInt: pass
|
||||
|
||||
def _name_table_contains(table: GSList[NameEntry] | t.CPtr, name: t.CChar | t.CPtr) -> t.CInt: pass
|
||||
|
||||
def _is_char_name(ch: t.CChar) -> t.CInt: pass
|
||||
|
||||
def _extract_def_name(pool: memhub.MemBuddy | t.CPtr, text: t.CChar | t.CPtr) -> t.CChar | t.CPtr: pass
|
||||
|
||||
def _is_terminator(text: t.CChar | t.CPtr) -> t.CInt: pass
|
||||
|
||||
def _is_phi(text: t.CChar | t.CPtr) -> t.CInt: pass
|
||||
|
||||
def _check_uses_in_line(table: GSList[NameEntry] | t.CPtr, text: t.CChar | t.CPtr, def_name: t.CChar | t.CPtr) -> t.CInt: pass
|
||||
|
||||
def _name_matches_at(text: t.CChar | t.CPtr, start: t.CInt, length: t.CInt, table: GSList[NameEntry] | t.CPtr) -> t.CInt: pass
|
||||
|
||||
def _str_matches_at(text: t.CChar | t.CPtr, start: t.CInt, length: t.CInt, target: t.CChar | t.CPtr) -> t.CInt: pass
|
||||
|
||||
def verify_function(pool: memhub.MemBuddy | t.CPtr, func: Function | t.CPtr, result: VerifyResult | t.CPtr) -> t.CInt: pass
|
||||
|
||||
def verify_module(pool: memhub.MemBuddy | t.CPtr, mod: LLVMModule | t.CPtr, result: VerifyResult | t.CPtr) -> t.CInt: pass
|
||||
@@ -1 +0,0 @@
|
||||
{"RunPhase1": "Phase1: 扫描 includes 目录,按需翻译并生成 stub"}
|
||||
@@ -1,32 +0,0 @@
|
||||
"""
|
||||
Auto-generated Python stub file from lib.core.Phase1.py
|
||||
Module: lib.core.Phase1
|
||||
"""
|
||||
|
||||
|
||||
import t, c
|
||||
from stdint import *
|
||||
import stdio
|
||||
import string
|
||||
import stdlib
|
||||
import memhub
|
||||
import viperlib
|
||||
import w32.fileio as fileio
|
||||
import w32.win32file
|
||||
import w32.win32base
|
||||
import ast
|
||||
import llvmlite
|
||||
import lib.core.VLogger as VLogger
|
||||
import lib.core.Handles.HandlesTranslator as HandlesTranslator
|
||||
import lib.core.Handles.HandlesStruct as HandlesStruct
|
||||
import lib.core.Handles.HandlesType as HandlesType
|
||||
import lib.core.Handles.HandlesExprCall as HandlesExprCall
|
||||
import lib.core.Handles.HandlesImports as HandlesImports
|
||||
import lib.core.IncludesScanner as IncludesScanner
|
||||
import lib.core.StubMerger as StubMerger
|
||||
import lib.Projectrans.Config as Config
|
||||
|
||||
_mbuddy: t.CExtern | memhub.MemManager | t.CPtr
|
||||
SRC_BUF_SIZE: t.CDefine = 1048576
|
||||
|
||||
def RunPhase1(mb: memhub.MemBuddy | t.CPtr, includes_dir: str, temp_dir: str, log: VLogger.Logger | t.CPtr) -> int: pass
|
||||
@@ -1,93 +0,0 @@
|
||||
"""
|
||||
Auto-generated Python stub file from llvmlite.__function.py
|
||||
Module: llvmlite.__function
|
||||
"""
|
||||
|
||||
|
||||
import t, c
|
||||
from stdint import *
|
||||
import string
|
||||
import viperlib
|
||||
import memhub
|
||||
import stdio
|
||||
from linkedlist import GSListNode, GSList
|
||||
from .__types import LLVMType, ParamNode, TypePrint
|
||||
|
||||
class Line(GSListNode[Line]):
|
||||
Buf: t.CChar | t.CPtr
|
||||
Len: t.CSizeT
|
||||
class BasicBlock(GSListNode[BasicBlock]):
|
||||
Name: t.CChar | t.CPtr
|
||||
Lines: GSList[Line] | t.CPtr
|
||||
IsTerminated: t.CInt
|
||||
class Param(GSListNode[Param]):
|
||||
Ty: LLVMType | t.CPtr
|
||||
Name: t.CChar | t.CPtr
|
||||
Attrs: t.CChar | t.CPtr
|
||||
class Function(GSListNode[Function]):
|
||||
Name: t.CChar | t.CPtr
|
||||
RetTy: LLVMType | t.CPtr
|
||||
Params: GSList[Param] | t.CPtr
|
||||
Blocks: GSList[BasicBlock] | t.CPtr
|
||||
IsDeclared: t.CInt
|
||||
IsVarArg: t.CInt
|
||||
Attrs: t.CChar | t.CPtr
|
||||
|
||||
LINE_SIZE: t.CDefine = 24
|
||||
|
||||
def new_line(pool: memhub.MemBuddy | t.CPtr, text: t.CChar | t.CPtr) -> Line | t.CPtr: pass
|
||||
|
||||
def _new_gslist(pool: memhub.MemBuddy | t.CPtr, list_size: t.CSizeT) -> t.CPtr: pass
|
||||
|
||||
|
||||
BLOCK_SIZE: t.CDefine = 32
|
||||
|
||||
def new_basic_block(pool: memhub.MemBuddy | t.CPtr, name: t.CChar | t.CPtr) -> BasicBlock | t.CPtr: pass
|
||||
|
||||
|
||||
PARAM_SIZE: t.CDefine = 32
|
||||
|
||||
def new_param(pool: memhub.MemBuddy | t.CPtr, ty: LLVMType | t.CPtr, name: t.CChar | t.CPtr) -> Param | t.CPtr: pass
|
||||
|
||||
|
||||
FUNC_SIZE: t.CDefine = 56
|
||||
|
||||
def new_function(pool: memhub.MemBuddy | t.CPtr, name: t.CChar | t.CPtr, ret_ty: LLVMType | t.CPtr) -> Function | t.CPtr: pass
|
||||
|
||||
def function_add_param(func: Function | t.CPtr, param: Param | t.CPtr) -> t.CInt: pass
|
||||
|
||||
def function_add_block(func: Function | t.CPtr, block: BasicBlock | t.CPtr) -> t.CInt: pass
|
||||
|
||||
def function_move_block_to_end(func: Function | t.CPtr, block: BasicBlock | t.CPtr) -> t.CInt: pass
|
||||
|
||||
def block_append_line(block: BasicBlock | t.CPtr, line: Line | t.CPtr) -> t.CInt: pass
|
||||
|
||||
def block_append_text(pool: memhub.MemBuddy | t.CPtr, block: BasicBlock | t.CPtr, text: t.CChar | t.CPtr) -> t.CInt: pass
|
||||
|
||||
def function_set_attrs(func: Function | t.CPtr, attrs: t.CChar | t.CPtr) -> t.CInt: pass
|
||||
|
||||
def param_set_attrs(param: Param | t.CPtr, attrs: t.CChar | t.CPtr) -> t.CInt: pass
|
||||
|
||||
def _ll_name_needs_quote(name: str) -> t.CInt: pass
|
||||
|
||||
def FunctionPrint(buf: t.CChar | t.CPtr, size: t.CSizeT, func: Function | t.CPtr, pool: memhub.MemBuddy | t.CPtr) -> t.CInt: pass
|
||||
|
||||
def _append_cstr(dst: t.CChar | t.CPtr, dst_size: t.CSizeT, src: t.CChar | t.CPtr) -> t.CInt: pass
|
||||
|
||||
def function_get_name(func: Function | t.CPtr) -> t.CChar | t.CPtr: pass
|
||||
|
||||
def function_get_ret_ty(func: Function | t.CPtr) -> LLVMType | t.CPtr: pass
|
||||
|
||||
def function_get_params(func: Function | t.CPtr) -> GSList[Param] | t.CPtr: pass
|
||||
|
||||
def function_get_param_head(func: Function | t.CPtr) -> Param | t.CPtr: pass
|
||||
|
||||
def function_get_next(func: Function | t.CPtr) -> Function | t.CPtr: pass
|
||||
|
||||
def function_is_declared(func: Function | t.CPtr) -> t.CInt: pass
|
||||
|
||||
def param_get_name(param: Param | t.CPtr) -> t.CChar | t.CPtr: pass
|
||||
|
||||
def param_get_ty(param: Param | t.CPtr) -> LLVMType | t.CPtr: pass
|
||||
|
||||
def param_get_next(param: Param | t.CPtr) -> Param | t.CPtr: pass
|
||||
@@ -1,81 +0,0 @@
|
||||
"""
|
||||
Auto-generated Python stub file from memhub.py
|
||||
Module: memhub
|
||||
"""
|
||||
|
||||
|
||||
import t, c
|
||||
from stdint import *
|
||||
import string
|
||||
import atom
|
||||
import viperio
|
||||
|
||||
MEMHUB_ALIGN: t.CDefine = 8
|
||||
MEMSLAB_MIN_BLOCK: t.CDefine = 16
|
||||
MEMSLAB_BITMAP_BYTES: t.CDefine = 256
|
||||
MEMBUDDY_MIN_BLOCK: t.CDefine = 32
|
||||
MEMBUDDY_MAX_ORDERS: t.CDefine = 32
|
||||
MEMBUDDY_HEADER_SIZE: t.CDefine = 8
|
||||
|
||||
def _align_up(val: t.CSizeT, align: t.CSizeT) -> t.CSizeT: pass
|
||||
|
||||
def _largest_pow2_le(val: t.CSizeT) -> t.CSizeT: pass
|
||||
|
||||
def _block_size_at_order(order: t.CInt) -> t.CSizeT: pass
|
||||
|
||||
|
||||
@t.CVTable
|
||||
class MemManager:
|
||||
__provides__: list[str] = ['__memmgr__']
|
||||
base: t.CVoid | t.CPtr
|
||||
size: t.CSizeT
|
||||
def __init__(self: MemManager, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass
|
||||
def alloc(self: MemManager, size: t.CSizeT) -> t.CVoid | t.CPtr: pass
|
||||
def free(self: MemManager, ptr: t.CVoid | t.CPtr) -> t.CInt: pass
|
||||
def reset(self: MemManager) -> t.CInt: pass
|
||||
def calloc(self: MemManager, count: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr: pass
|
||||
def realloc(self: MemManager, ptr: t.CVoid | t.CPtr, old_size: t.CSizeT, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass
|
||||
def __enter__(self: MemManager) -> 'MemManager' | t.CPtr: pass
|
||||
def __exit__(self: MemManager) -> t.CInt: pass
|
||||
def alloc_buf(self: MemManager, capacity: t.CSizeT) -> viperio.Buf | t.CPtr: pass
|
||||
class MemPool(MemManager):
|
||||
offset: t.CSizeT
|
||||
high_water: t.CSizeT
|
||||
def __init__(self: MemPool, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass
|
||||
def alloc(self: MemPool, size: t.CSizeT) -> t.CVoid | t.CPtr: pass
|
||||
def free(self: MemPool, ptr: t.CVoid | t.CPtr) -> t.CInt: pass
|
||||
def reset(self: MemPool) -> t.CInt: pass
|
||||
class MemSlab(MemManager):
|
||||
block_size: t.CSizeT
|
||||
block_count: t.CSizeT
|
||||
used_count: t.CSizeT
|
||||
free_list: t.CVoid | t.CPtr
|
||||
alloc_map: t.CUInt8T | t.CPtr
|
||||
alloc_map_size: t.CSizeT
|
||||
usable: t.CVoid | t.CPtr
|
||||
usable_size: t.CSizeT
|
||||
def __init__(self: MemSlab, base: t.CVoid | t.CPtr, size: t.CSizeT, block_size: t.CSizeT) -> t.CInt: pass
|
||||
def alloc(self: MemSlab, size: t.CSizeT) -> t.CVoid | t.CPtr: pass
|
||||
def free(self: MemSlab, ptr: t.CVoid | t.CPtr) -> t.CInt: pass
|
||||
def reset(self: MemSlab) -> t.CInt: pass
|
||||
class MemBuddy(MemManager):
|
||||
max_order: t.CInt
|
||||
free_lists: t.CUInt64T | t.CPtr
|
||||
lock_val: t.CVolatile | t.CInt
|
||||
usable: t.CVoid | t.CPtr
|
||||
usable_size: t.CSizeT
|
||||
def __init__(self: MemBuddy, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass
|
||||
def _fl_push(self: MemBuddy, order: t.CInt, block: t.CVoid | t.CPtr) -> t.CInt: pass
|
||||
def _fl_pop(self: MemBuddy, order: t.CInt) -> t.CVoid | t.CPtr: pass
|
||||
def _fl_find_and_remove(self: MemBuddy, order: t.CInt, target: t.CVoid | t.CPtr) -> t.CInt: pass
|
||||
def _buddy_of(self: MemBuddy, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CVoid | t.CPtr: pass
|
||||
def _order_for_size(self: MemBuddy, size: t.CSizeT) -> t.CInt: pass
|
||||
def _split_to_order(self: MemBuddy, to_order: t.CInt) -> t.CVoid | t.CPtr: pass
|
||||
def _coalesce(self: MemBuddy, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CInt: pass
|
||||
def _is_valid_ptr(self: MemBuddy, ptr: t.CVoid | t.CPtr) -> t.CInt: pass
|
||||
def _lock(self: MemBuddy) -> t.CInt: pass
|
||||
def _unlock(self: MemBuddy) -> t.CInt: pass
|
||||
def alloc(self: MemBuddy, size: t.CSizeT) -> t.CVoid | t.CPtr: pass
|
||||
def free(self: MemBuddy, ptr: t.CVoid | t.CPtr) -> t.CInt: pass
|
||||
def reset(self: MemBuddy) -> t.CInt: pass
|
||||
def realloc(self: MemBuddy, ptr: t.CVoid | t.CPtr, old_size: t.CSizeT, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass
|
||||
@@ -1,30 +0,0 @@
|
||||
"""
|
||||
Auto-generated Python stub file from _list.py
|
||||
Module: _list
|
||||
"""
|
||||
|
||||
|
||||
import t, c
|
||||
import memhub
|
||||
import string
|
||||
from stdint import *
|
||||
|
||||
class list[T]:
|
||||
__data__: t.CVoid | t.CPtr
|
||||
__count__: t.CSizeT
|
||||
__capacity__: t.CSizeT
|
||||
__pool__: memhub.MemManager | t.CPtr
|
||||
__elem_size__: t.CSizeT
|
||||
__iter_index__: t.CSizeT
|
||||
def __new__(self: list, pool: memhub.MemManager | t.CPtr, elem_size: t.CSizeT) -> t.CInt: pass
|
||||
def __init__(self: list, pool: memhub.MemManager | t.CPtr, elem_size: t.CSizeT) -> t.CInt: pass
|
||||
def __len__(self: list) -> t.CSizeT: pass
|
||||
def append(self: list, item: T) -> t.CInt: pass
|
||||
def get(self: list, index: t.CSizeT) -> T: pass
|
||||
def __getitem__(self: list, index: t.CSizeT) -> T: pass
|
||||
def set(self: list, index: t.CSizeT, value: T) -> t.CInt: pass
|
||||
def __setitem__(self: list, index: t.CSizeT, value: T) -> t.CInt: pass
|
||||
def pop(self: list) -> T: pass
|
||||
def clear(self: list) -> t.CInt: pass
|
||||
def __iter__(self: list) -> list[T] | t.CPtr: pass
|
||||
def __next__(self: list) -> T: pass
|
||||
Reference in New Issue
Block a user