llvm-project/llvm/lib
Tom Stellard 28d662164d InstCombine: Avoid introducing poison values when lowering llvm.amdgcn.[us]bfe
Summary:
When the 3rd argument to these intrinsics is zero, lowering them
to shift instructions produces poison values, since we end up with
shift amounts equal to the number of bits in the shifted value.  This
means we can only lower these intrinsics if we can prove that the
3rd argument is not zero.

Reviewers: arsenm

Reviewed By: arsenm

Subscribers: bnieuwenhuizen, jvesely, wdng, nhaehnle, llvm-commits

Differential Revision: https://reviews.llvm.org/D53739

llvm-svn: 346422
2018-11-08 17:57:57 +00:00
..
Analysis [SCEV][NFC] Verify IR in isLoop[Entry,Backedge]GuardedByCond 2018-11-08 05:07:58 +00:00
AsmParser [ThinLTO] Split NotEligibleToImport into legality and inlinability flags 2018-11-06 19:41:35 +00:00
BinaryFormat Revert r343317 2018-09-28 17:01:50 +00:00
Bitcode [ThinLTO] Split NotEligibleToImport into legality and inlinability flags 2018-11-06 19:41:35 +00:00
CodeGen NFC: DebugInfo: Track the origin CU rather than just the base address for range lists 2018-11-08 00:35:54 +00:00
DebugInfo [LLD] Fix Microsoft precompiled headers cross-compile on Linux 2018-11-08 14:42:37 +00:00
Demangle Fix clang -Wimplicit-fallthrough warnings across llvm, NFC 2018-11-01 19:54:45 +00:00
ExecutionEngine [ORC] Fix hex printing of uint64_t values. 2018-10-31 05:16:14 +00:00
FuzzMutate [New PM] Introducing PassInstrumentation framework 2018-09-20 17:08:45 +00:00
Fuzzer
IR [IR] add optional parameter for copying IR flags to compare instructions 2018-11-07 00:00:42 +00:00
IRReader
LTO [ThinLTO] Add an option to disable (thin)lto internalization. 2018-11-05 15:49:46 +00:00
LineEditor
Linker llvm-link: Improve diagnostic for module-level metadata mismatch 2018-10-09 01:17:27 +00:00
MC [WebAssembly] Parsing missing directives to produce valid .o 2018-11-02 22:04:33 +00:00
Object Revert "[MSP430] Add MC layer" 2018-11-08 16:21:29 +00:00
ObjectYAML [WebAssembly] Add shared memory support to limits field 2018-11-06 17:27:25 +00:00
OptRemarks Reland: [OptRemarks] Add library for parsing optimization remarks 2018-10-10 18:43:42 +00:00
Option [opt] Change the parameter of OptTable::PrintHelp from Name to Usage and don't append "[options] <inputs>" 2018-10-10 00:15:31 +00:00
Passes [LoopUnroll] allow customization for new-pass-manager version of LoopUnroll 2018-10-31 14:33:14 +00:00
ProfileData Support for remapping profile data when symbols change, for sample-based 2018-10-10 21:31:01 +00:00
Support Extend virtual file system with `isLocal` method 2018-11-08 00:01:32 +00:00
TableGen [TableGen] fix assert in !cast when used out of definition in a multiclass 2018-10-10 10:52:57 +00:00
Target Revert "[MSP430] Add MC layer" 2018-11-08 16:21:29 +00:00
Testing Fix error with SmallString implicit conversion. 2018-09-06 22:47:32 +00:00
ToolDrivers [opt] Change the parameter of OptTable::PrintHelp from Name to Usage and don't append "[options] <inputs>" 2018-10-10 00:15:31 +00:00
Transforms InstCombine: Avoid introducing poison values when lowering llvm.amdgcn.[us]bfe 2018-11-08 17:57:57 +00:00
WindowsManifest Convert line endings of lib/WindowsManifest/CMakeLists.txt to unix. 2018-04-07 04:28:08 +00:00
XRay [XRay] Clean up more std::copy(...)'s 2018-11-07 11:52:22 +00:00
CMakeLists.txt Reland: [OptRemarks] Add library for parsing optimization remarks 2018-10-10 18:43:42 +00:00
LLVMBuild.txt Reland: [OptRemarks] Add library for parsing optimization remarks 2018-10-10 18:43:42 +00:00