<br>                Hi,<br><br>  Currently, llvm treats the loads from a null address as unreachable code, i.e.:<br>     load i32* null<br>is transformed by some optimization pass into<br>    unreachable<br><br>This presents problems in JIT compilers like mono which implement null pointer checks by trapping SIGSEGV signals. It also<br>
looks incorrect since it changes program behavior, which might be undefined in general, but it is quite well defined on unix.<br>Is there a way to prevent llvm from doing this besides marking all loads as volatile ?<br><br>
                          thanks<br>                              <br>                              Zoltan<br><br>