search for: ret_3

Displaying 4 results from an estimated 4 matches for "ret_3".

Did you mean: ret__
2016 Feb 10
4
Memory Store/Load Optimization Issue (Emulating stack)
...* %sp_2, i32 4 ; val2 = pop (val2 = foo) %sp_4_ptr = bitcast i8* %sp_3 to i32* %val2 = load i32, i32* %sp_4_ptr, align 4 %sp_4 = getelementptr i8, i8* %sp_3, i32 4 %ret_1 = insertvalue { i32, i32, i8* } undef, i32 %val1, 0 %ret_2 = insertvalue { i32, i32, i8* } %ret_1, i32 %val2, 1 %ret_3 = insertvalue { i32, i32, i8* } %ret_2, i8* %sp_4, 2 ret { i32, i32, i8* } %ret_3 } After optimization ("opt -instcombine ./code.ll -S") define { i32, i32, i8* } @test(i32 %foo, i32 %bar, i8* %sp) { entry: %sp_1 = getelementptr i8, i8* %sp, i64 -4 %sp_1_ptr = bitcast i8* %sp_1 to...
2016 Feb 08
2
Memory Store/Load Optimization Issue (Emulating stack)
...gn 4 %sp_3 = add i32 %sp_2, 4 ; val2 = pop (val2 = foo) %sp_4_ptr = inttoptr i32 %sp_3 to i32* %val2 = load i32, i32* %sp_4_ptr, align 4 %sp_4 = add i32 %sp_3, 4 %ret_1 = insertvalue { i32, i32, i32 } undef, i32 %val1, 0 %ret_2 = insertvalue { i32, i32, i32 } %ret_1, i32 %val2, 1 %ret_3 = insertvalue { i32, i32, i32 } %ret_2, i32 %sp_4, 2 ret { i32, i32, i32 } %ret_3 } This code will "push" two values onto the stack and pop them in reverse order so afterwards "foo" and "bar" will be swapped and returned back. After running this through "opt...
2016 Feb 10
2
Memory Store/Load Optimization Issue (Emulating stack)
...tr = bitcast i8* %sp_3 to i32* >> %val2 = load i32, i32* %sp_4_ptr, align 4 >> %sp_4 = getelementptr i8, i8* %sp_3, i32 4 >> >> %ret_1 = insertvalue { i32, i32, i8* } undef, i32 %val1, 0 >> %ret_2 = insertvalue { i32, i32, i8* } %ret_1, i32 %val2, 1 >> %ret_3 = insertvalue { i32, i32, i8* } %ret_2, i8* %sp_4, 2 >> >> ret { i32, i32, i8* } %ret_3 >> } >> >> After optimization ("opt -instcombine ./code.ll -S") >> >> define { i32, i32, i8* } @test(i32 %foo, i32 %bar, i8* %sp) { >> entry: >>...
2016 Feb 12
2
Memory Store/Load Optimization Issue (Emulating stack)
...tr = bitcast i8* %sp_3 to i32* >> %val2 = load i32, i32* %sp_4_ptr, align 4 >> %sp_4 = getelementptr i8, i8* %sp_3, i32 4 >> >> %ret_1 = insertvalue { i32, i32, i8* } undef, i32 %val1, 0 >> %ret_2 = insertvalue { i32, i32, i8* } %ret_1, i32 %val2, 1 >> %ret_3 = insertvalue { i32, i32, i8* } %ret_2, i8* %sp_4, 2 >> >> ret { i32, i32, i8* } %ret_3 >> } >> >> After optimization ("opt -instcombine ./code.ll -S") >> >> define { i32, i32, i8* } @test(i32 %foo, i32 %bar, i8* %sp) { >> entry: >>...