translator: add callbacks support
This commit is contained in:
@@ -1,22 +1,45 @@
|
||||
declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i32, i1)
|
||||
attributes #0 = { nounwind "stack-protector-buffer-size"="8" "target-cpu"="cortex-m3" "target-features"="+hwdiv,+strict-align" }
|
||||
declare void @wait(i32 %loops) #0
|
||||
define void @program_forward() #0
|
||||
define void @programRotationRight() #0
|
||||
{
|
||||
call void @engine_forward()
|
||||
call void @engine_turn_right()
|
||||
call void @wait(i32 10)
|
||||
ret void
|
||||
}
|
||||
declare void @leds_init() #0
|
||||
declare void @engine_init() #0
|
||||
define void @program_backward() #0
|
||||
define void @setCurProgram(i32 %program) #0
|
||||
{
|
||||
%program.addr = alloca i32, align 4
|
||||
store i32 %program, i32* %program.addr, align 4
|
||||
ret void
|
||||
}
|
||||
define void @programBackward() #0
|
||||
{
|
||||
call void @engine_backward()
|
||||
call void @wait(i32 10)
|
||||
ret void
|
||||
}
|
||||
declare void @leds_init() #0
|
||||
define void @programForward(i32 %delay) #0
|
||||
{
|
||||
%delay.addr = alloca i32, align 4
|
||||
store i32 %delay, i32* %delay.addr, align 4
|
||||
call void @engine_forward()
|
||||
call void @wait(i32 10)
|
||||
ret void
|
||||
}
|
||||
define void @procNextProgramPending() #0
|
||||
{
|
||||
ret void
|
||||
}
|
||||
declare void @engine_init() #0
|
||||
declare void @user_btn_init(void ()* %program) #0
|
||||
define void @setNextProgramPending() #0
|
||||
{
|
||||
ret void
|
||||
}
|
||||
declare void @engine_backward() #0
|
||||
define void @program_rotation_left() #0
|
||||
define void @programRotationLeft() #0
|
||||
{
|
||||
call void @engine_turn_left()
|
||||
call void @wait(i32 10)
|
||||
@@ -26,16 +49,12 @@ define void @kotlin_main() #0
|
||||
{
|
||||
call void @leds_init()
|
||||
call void @engine_init()
|
||||
call void @user_btn_init(void ()* @setNextProgramPending)
|
||||
call void @setCurProgram(i32 0)
|
||||
ret void
|
||||
}
|
||||
declare void @engine_stop() #0
|
||||
declare void @engine_forward() #0
|
||||
define void @program_rotation_right() #0
|
||||
{
|
||||
call void @engine_turn_right()
|
||||
call void @wait(i32 10)
|
||||
ret void
|
||||
}
|
||||
declare void @engine_turn_left() #0
|
||||
declare void @engine_turn_right() #0
|
||||
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
package org.kotlinnative.translator.llvm.types
|
||||
|
||||
/**
|
||||
* Created by user on 7/13/16.
|
||||
*/
|
||||
Reference in New Issue
Block a user