forked from M-Labs/artiq
llvm_ir_generator: handle no-op coercions.
This commit is contained in:
parent
eb18466820
commit
7af41bd29c
@ -848,6 +848,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)
|
||||||
|
4
artiq/test/lit/codegen/noop_coercion.py
Normal file
4
artiq/test/lit/codegen/noop_coercion.py
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
# RUN: %python -m artiq.compiler.testbench.llvmgen %s
|
||||||
|
|
||||||
|
def f():
|
||||||
|
return float(1.0)
|
Loading…
Reference in New Issue
Block a user