Add bitcast.
This commit is contained in:
parent
b509ba2595
commit
d48042b01e
4
ll.py
4
ll.py
|
@ -102,6 +102,10 @@ def insn2s(insn):
|
|||
return ('icmp {} {} {}, {}'
|
||||
.format(insn.cnd, ty2s(insn.ty),
|
||||
oper2s(insn.left), oper2s(insn.right)))
|
||||
elif isinstance(insn, Bitcast):
|
||||
return ('bitcast {} {} to {}'
|
||||
.format(ty2s(insn.from_ty), oper2s(insn.oper),
|
||||
ty2s(insn.to_ty)))
|
||||
elif isinstance(insn, Zext):
|
||||
return ('zext {} {} to {}'
|
||||
.format(ty2s(insn.from_ty), oper2s(insn.oper),
|
||||
|
|
10
stepper.py
10
stepper.py
|
@ -51,6 +51,16 @@ def step(insns, terminator, blocks, stack_frames, ssa_env, global_env, memory,
|
|||
# TODO
|
||||
print('icmp {} {}, {}'
|
||||
.format(cnd, left_v, right_v))
|
||||
elif isinstance(next_insn, ll.Bitcast):
|
||||
oper = next_insn.oper
|
||||
from_ty = next_insn.from_ty
|
||||
to_ty = next_insn.to_ty
|
||||
oper_v = eval_oper(oper, ssa_env, global_env)
|
||||
res = oper_v
|
||||
|
||||
# TODO
|
||||
print('bitcast {} {} to {}'
|
||||
.format(ll.ty2s(from_ty), oper_v, ll.ty2s(to_ty)))
|
||||
elif isinstance(next_insn, ll.Zext):
|
||||
oper = next_insn.oper
|
||||
from_ty = next_insn.from_ty
|
||||
|
|
Loading…
Reference in New Issue
Block a user