Displaying 2 results from an estimated 2 matches for "_z7returnsi".
2010 May 08
2
[LLVMdev] Should the function operand flag 'sret' match the flag in function declaration?
...time I saw such situation coming from c++ compiler, attributes
'noalias sret' appear on both call and declaration.
Does such situation make sense, or (as I guess it is) a bug in verifier?
I think verifier should match at least 'sret' flag in call and declaration.
...
call void @_Z7returnsi(%struct.MyString* %z, i32 %1) nounwind
...
declare void @_Z7returnsi(%struct.MyString* noalias sret, i32)
...
Yuri
2010 May 08
0
[LLVMdev] Should the function operand flag 'sret' match the flag in function declaration?
...rom c++ compiler, attributes
> 'noalias sret' appear on both call and declaration.
>
> Does such situation make sense, or (as I guess it is) a bug in verifier?
> I think verifier should match at least 'sret' flag in call and declaration.
>
> ...
> call void @_Z7returnsi(%struct.MyString* %z, i32 %1) nounwind
> ...
> declare void @_Z7returnsi(%struct.MyString* noalias sret, i32)
> ...
The verifier flags and rejects *invalid* IR, not IR with undefined behavior. Dan has been working on a pass (in lib/Analysis/Lint.cpp) that should catch this sort of thing....