llvm-project/llvm/lib
David Majnemer d346a37737 [SimplifyCFG] Stop inserting calls to llvm.trap for UB
SimplifyCFG had logic to insert calls to llvm.trap for two very
particular IR patterns: stores and invokes of undef/null.

While InstCombine canonicalizes certain undefined behavior IR patterns
to stores of undef, phase ordering means that this cannot be relied upon
in general.

There are much better tools than llvm.trap: UBSan and ASan.

N.B. I could be argued into reverting this change if a clear argument as
to why it is important that we synthesize llvm.trap for stores, I'd be
hard pressed to see why it'd be useful for invokes...

llvm-svn: 273778
2016-06-25 08:04:19 +00:00
..
Analysis [InstSimplify] Replace calls to null with undef 2016-06-25 07:37:30 +00:00
AsmParser Remangle intrinsics names when types are renamed 2016-06-24 15:10:29 +00:00
Bitcode Remangle intrinsics names when types are renamed 2016-06-24 15:10:29 +00:00
CodeGen [SimplifyCFG] Stop inserting calls to llvm.trap for UB 2016-06-25 08:04:19 +00:00
DebugInfo [CodeView] Healthy paranoia around strings 2016-06-24 19:34:41 +00:00
ExecutionEngine Fix lib/ExecutionEngine/IntelJITEvents/IntelJITEventListener.cpp for r273701 2016-06-24 22:38:30 +00:00
Fuzzer [libfuzzer] moving is_ascii handler inside mutation dispatcher. 2016-06-23 20:44:48 +00:00
IR The absence of noreturn doesn't ensure mayReturn 2016-06-25 00:55:12 +00:00
IRReader Remove autoconf support 2016-01-26 21:29:08 +00:00
LTO [UpdateCompilerUsed] API rename and cleanup, suggested by Rafaael. 2016-06-22 19:50:42 +00:00
LibDriver LibDriver: Silently do nothing when provided no inputs. 2016-04-13 19:36:04 +00:00
LineEditor Fix Clang-tidy modernize-deprecated-headers warnings in some files; other minor fixes. 2016-03-28 17:40:08 +00:00
Linker IR: New representation for CFI and virtual call optimization pass metadata. 2016-06-24 21:21:32 +00:00
MC Fix instance of -Wdelete-incomplete 2016-06-22 23:25:26 +00:00
Object Thread Expected<...> up from libObject’s getSymbolAddress() for symbols to allow 2016-06-24 18:24:42 +00:00
ObjectYAML [obj2yaml] [yaml2obj] Support for MachO Universal binaries 2016-06-24 20:42:28 +00:00
Option Option parser: class for consuming a joined arg in addition to all remaining args 2016-04-15 00:23:30 +00:00
Passes [PM] Port float2int to the new pass manager 2016-06-24 23:32:02 +00:00
ProfileData [Coverage] Clarify ownership of a MemoryBuffer in the reader (NFC) 2016-06-21 22:22:33 +00:00
Support [APInt] Don't shift into the sign bit 2016-06-24 21:15:36 +00:00
TableGen Avoid copies of std::strings and APInt/APFloats where we only read from it 2016-06-08 10:01:20 +00:00
Target [AMDGPU] Emit debugger prologue and emit the rest of the debugger fields in the kernel code header 2016-06-25 03:11:28 +00:00
Transforms [SimplifyCFG] Stop inserting calls to llvm.trap for UB 2016-06-25 08:04:19 +00:00
CMakeLists.txt Move ObjectYAML code to a new library. 2016-03-01 19:15:06 +00:00
LLVMBuild.txt Add LLVMBuild for ObjectYAML. 2016-03-01 21:29:33 +00:00