[LLVMdev] loads from a null address and optimizations

Kenneth Uildriks kennethuil at gmail.com
Sun Sep 6 15:53:48 PDT 2009


On Sun, Sep 6, 2009 at 5:32 PM, Eli Friedman<eli.friedman at gmail.com> wrote:
> On Sun, Sep 6, 2009 at 3:19 PM, Kenneth Uildriks<kennethuil at gmail.com> wrote:
>> It would be unfortunate in a way if "this instruction can trap and go
>> there" is taken to mean "if this instruction has no effect other than
>> a possible trap, the instruction and the trapping behavior *must* be
>> preserved".
>
> What exactly would the semantics be if the instruction *might* trap?
> I somehow can't imagine it being useful.
>
> -Eli
>
I'm not sure I understand the question.  Instructions that are
guaranteed to trap can be optimized into unconditional traps.  So
we're talking about instructions that *might* trap in any case.

I was saying that if the only possible effect of an instruction is a
trap, do we really want optimizers to preserve it in every case?



More information about the llvm-dev mailing list