forked from OSchip/llvm-project
84d4618659
when it detects undefined behavior. llvm.trap generally codegens into some thing really small (e.g. a 2 byte ud2 instruction on x86) and debugging this sort of thing is "nontrivial". For example, we now compile: void foo() { *(int*)0 = 42; } into: _foo: pushl %ebp movl %esp, %ebp ud2 Some may even claim that this is a security hole, though that seems dubious to me. This addresses rdar://7958343 - Optimizing away null dereference potentially allows arbitrary code execution llvm-svn: 103356 |
||
---|---|---|
.. | ||
Hello | ||
IPO | ||
InstCombine | ||
Instrumentation | ||
Scalar | ||
Utils | ||
Makefile |