forked from M-Labs/artiq
1
0
Fork 0

llvm_ir_generator: handle no-op coercions.

This commit is contained in:
whitequark 2016-11-21 02:25:27 +00:00 committed by Sebastien Bourdeauducq
parent 0da2202179
commit 372e8f9b2b
2 changed files with 6 additions and 0 deletions

View File

@ -849,6 +849,8 @@ class LLVMIRGenerator:
def process_Coerce(self, insn): def process_Coerce(self, insn):
typ, value_typ = insn.type, insn.value().type typ, value_typ = insn.type, insn.value().type
if typ == value_typ:
return self.map(insn.value())
if builtins.is_int(typ) and builtins.is_float(value_typ): if builtins.is_int(typ) and builtins.is_float(value_typ):
return self.llbuilder.fptosi(self.map(insn.value()), self.llty_of_type(typ), return self.llbuilder.fptosi(self.map(insn.value()), self.llty_of_type(typ),
name=insn.name) name=insn.name)

View File

@ -0,0 +1,4 @@
# RUN: %python -m artiq.compiler.testbench.llvmgen %s
def f():
return float(1.0)