I am working on a application that uses arrays of interfaces and combinable functions. Here is the simplified example: https://github.com/zivke/app_somanetcon ... iler-crash
I am having problems compiling it, as it always crashes the same way as long as I keep defining the counter_plugin function as combinable. Compiling this application produces this error:
Both operands to a binary operator are not of the same type!
%delta = sub i64 %deref20, i32 %baseTime
Both operands to ICmp instruction are not of the same type!
%cmpDelta = icmp sle i64 %delta, i32 %currentDelta
Stored value type does not match pointer operand type!
store i64 %delta, i32* @__timer_delta
i32Call parameter type does not match function signature!
%deref20 = load i64* %frame.time
i32 call void @llvm.xcore.setd.p1i8(i8 addrspace(1)* %timer18, i64 %deref20)
Both operands to a binary operator are not of the same type!
%delta = sub i64 %deref19, i32 %baseTime
Both operands to ICmp instruction are not of the same type!
%cmpDelta = icmp sle i64 %delta, i32 %currentDelta
Stored value type does not match pointer operand type!
store i64 %delta, i32* @__timer_delta
i32Call parameter type does not match function signature!
%deref19 = load i64* %frame.time
i32 call void @llvm.xcore.setd.p1i8(i8 addrspace(1)* %timer17, i64 %deref19)
Both operands to a binary operator are not of the same type!
%delta = sub i64 %deref20, i32 %baseTime
Both operands to ICmp instruction are not of the same type!
%cmpDelta = icmp sle i64 %delta, i32 %currentDelta
Stored value type does not match pointer operand type!
store i64 %delta, i32* @__timer_delta
i32Call parameter type does not match function signature!
%deref20 = load i64* %frame.time
i32 call void @llvm.xcore.setd.p1i8(i8 addrspace(1)* %timer18, i64 %deref20)
Both operands to a binary operator are not of the same type!
%delta = sub i64 %deref19, i32 %baseTime
Both operands to ICmp instruction are not of the same type!
%cmpDelta = icmp sle i64 %delta, i32 %currentDelta
Stored value type does not match pointer operand type!
store i64 %delta, i32* @__timer_delta
i32Call parameter type does not match function signature!
%deref19 = load i64* %frame.time
i32 call void @llvm.xcore.setd.p1i8(i8 addrspace(1)* %timer17, i64 %deref19)
LLVM ERROR: Broken module found, compilation aborted!
xmake[1]: *** [.build_Release/src/counter_plugin.xc.o] Error 1
xmake: *** [bin/Release/app_somanetconnect_slave.xe] Error 2
I might be wrong, but this looks like the compiler has crashed. Any help is appreciated.
Thanks
Compiler crashing?
-
- Member
- Posts: 11
- Joined: Fri Aug 01, 2014 12:21 pm
-
- Respected Member
- Posts: 275
- Joined: Fri Mar 12, 2010 6:03 pm
Definitely a bug. Can you report it on the XMOS website please? Go to Design Support, Support, TECHNICAL ENQUIRIES - SEND US A TICKET, bug report, Report a Bug.
https://www.xmos.com/rt3/SelfService/Cr ... t-bug.html
https://www.xmos.com/rt3/SelfService/Cr ... t-bug.html