Displaying 5 results from an estimated 5 matches for "removedeadargumentsfromcallers".
2016 Feb 27
2
Possible soundness issue with available_externally (split from "RFC: Add guard intrinsics")
...@foo was dividing something by an integer
> ;; argument
>
> We've actually seen the above in our VM (though back then we
> didn't realize that the problem was more general than the one
> case above).
^ This particular case above is already fixed in DeadArgElim:
bool DAE::RemoveDeadArgumentsFromCallers(Function &Fn)
{
// We cannot change the arguments if this TU does not define the function or
// if the linker may choose a function body from another TU, even if the
// nominal linkage indicates that other copies of the function have the same
// semantics. In the below example, the dead...
2016 Feb 27
0
Possible soundness issue with available_externally (split from "RFC: Add guard intrinsics")
...need to use similar logic in
other IPO passes.
We should probably factor it. Maybe we just need to admit mayBeOverridden
in more cases. It's not clear that there is any meaningful delta between
what has been discussed and just putting these cases into that set.
-Chandler
>
> bool DAE::RemoveDeadArgumentsFromCallers(Function &Fn)
> {
> // We cannot change the arguments if this TU does not define the
> function or
> // if the linker may choose a function body from another TU, even if the
> // nominal linkage indicates that other copies of the function have the
> same
> // semant...
2016 Feb 27
1
Possible soundness issue with available_externally (split from "RFC: Add guard intrinsics")
...gt;
> We should probably factor it. Maybe we just need to admit mayBeOverridden in
> more cases. It's not clear that there is any meaningful delta between what
> has been discussed and just putting these cases into that set.
>
> -Chandler
>
>>
>>
>> bool DAE::RemoveDeadArgumentsFromCallers(Function &Fn)
>> {
>> // We cannot change the arguments if this TU does not define the
>> function or
>> // if the linker may choose a function body from another TU, even if the
>> // nominal linkage indicates that other copies of the function have the
>&g...
2016 Feb 25
0
Possible soundness issue with available_externally (split from "RFC: Add guard intrinsics")
Couple of other examples:
void @foo(i32* %ptr) available_externally {
%discard = load i32, i32* %ptr
}
void bar() {
call @foo(i32* %x)
}
==>
void @foo(i32* %ptr) available_externally {
}
void bar() {
call @foo(i32* %x)
}
==>
void @foo(i32* %ptr) available_externally {
}
void bar() {
call @foo(i32* undef) ;; non optimized @foo will crash
}
;;
2016 Feb 25
6
Possible soundness issue with available_externally (split from "RFC: Add guard intrinsics")
Hal Finkel wrote:
> That summary needs unnecessarily broad. So far we've learned that: a) There are issues with atomics b) there are issues
> with a safe-to-speculate attribute we don't yet have c) there might be issues with folding undefs independent of the
> previous two items, but we thus-far lack a concrete example. We don't yet have enough information.
I don't