[llvm-dev] a tagged architecture, the elephant in the undef / poison room
Matthias Braun via llvm-dev
llvm-dev at lists.llvm.org
Fri Jun 16 13:05:13 PDT 2017
> On Jun 16, 2017, at 12:31 PM, John Regehr via llvm-dev <llvm-dev at lists.llvm.org> wrote:
>
>> Only freezing it will
>> replace it with something concrete such that if x is poison then
>> freeze(x) == freeze(x), etc.
>
> Nit: it's not true that freeze(x) == freeze(x) in the current proposal. Each freeze can choose its own value.
Just for my understanding: Freeze is an instruction isn't it? So this example has to read either:
%a = freeze(poison)
%b = freeze(poison)
%cond = icmp eq %a, %b
then %cond isn't necessarily true (and also not necessarily false).
While:
%a = freeze(poison)
%cond = icmp eq %a, %a
is always true. Right?
- Matthias
More information about the llvm-dev
mailing list