Displaying 4 results from an estimated 4 matches for "test4a".
Did you mean:
test46
2013 May 30
1
[LLVMdev] Expected behavior of calling bitcasted functions?
...void bitcast (void (i8*)* @test1a to void (i32*)*)(i32* %A)
Undefined behavior: Call argument type mismatches callee parameter type
call void bitcast (void (i8)* @test2a to void (i32)*)(i32 %A)
Undefined behavior: Call return type mismatches callee return type
%X = call i32 bitcast (i8 ()* @test4a to i32 ()*)()
Undefined behavior: Call argument count mismatches callee argument count
%X = call i32 bitcast (i32 (i32)* @test6a to i32 ()*)()
Undefined behavior: Call argument count mismatches callee argument count
call void bitcast (void ()* @test7a to void (i32)*)(i32 5)
--------------...
2013 May 30
0
[LLVMdev] Expected behavior of calling bitcasted functions?
Hello,
This is an interesting example. Whenever I see strange things like this, I
use opt's -lint.
In this case, opt -lint reports:
Undefined behavior: Call return type mismatches callee return type
%call = call float @alias_f32(float %tmp2) #1
You'll get a similar report when the parameter types mismatch.
Pete
On Wed, May 29, 2013 at 5:40 PM, Arsenault, Matthew <
2013 May 30
3
[LLVMdev] Expected behavior of calling bitcasted functions?
Hi,
I'm not sure what the expected behavior of calling a bitcasted function is. Suppose you have a case like this (which you get on the source level from attribute alias):
@alias_f32 = alias bitcast (i32 (i32)* @func_i32 to float (float)*)
define internal i32 @func_i32(i32 %v) noinline nounwind {
entry:
ret i32 %v
}
define void @bitcast_alias_scalar(float* noalias %source, float* noalias
2014 Nov 03
8
[LLVMdev] [PATCH] Protection against stack-based memory corruption errors using SafeStack
...0
+ %0 = load i8** %a.addr, align 8
+ %call = call i8* @strcpy(i8* %arraydecay, i8* %0)
+ %arraydecay1 = getelementptr inbounds [4 x i8]* %buf, i32 0, i32 0
+ %call2 = call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([4 x i8]* @.str, i32 0, i32 0), i8* %arraydecay1)
+ ret void
+}
+
+; test4a: struct { [4 x i8] }
+; no safestack attribute
+; Requires no protector.
+define void @test4a(i8* %a) nounwind uwtable {
+entry:
+; LINUX-I386: test4a:
+; LINUX-I386-NOT: movl __llvm__unsafe_stack_ptr
+; LINUX-I386: .cfi_endproc
+
+; LINUX-X64: test4a:
+; LINUX-X64-NOT: movq %fs:640
+; LI...