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 {} {} {}, {}'
|
return ('icmp {} {} {}, {}'
|
||||||
.format(insn.cnd, ty2s(insn.ty),
|
.format(insn.cnd, ty2s(insn.ty),
|
||||||
oper2s(insn.left), oper2s(insn.right)))
|
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):
|
elif isinstance(insn, Zext):
|
||||||
return ('zext {} {} to {}'
|
return ('zext {} {} to {}'
|
||||||
.format(ty2s(insn.from_ty), oper2s(insn.oper),
|
.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
|
# TODO
|
||||||
print('icmp {} {}, {}'
|
print('icmp {} {}, {}'
|
||||||
.format(cnd, left_v, right_v))
|
.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):
|
elif isinstance(next_insn, ll.Zext):
|
||||||
oper = next_insn.oper
|
oper = next_insn.oper
|
||||||
from_ty = next_insn.from_ty
|
from_ty = next_insn.from_ty
|
||||||
|
|
Loading…
Reference in New Issue
Block a user