llvm-project/llvm/lib
Filipe Cabecinhas fb9d2a8775 [DSE] Merge stores when the later store only writes to memory locations the early store also wrote to.
Summary:
This fixes PR31777.

If both stores' values are ConstantInt, we merge the two stores
(shifting the smaller store appropriately) and replace the earlier (and
larger) store with an updated constant.

In the future we should also support vectors of integers. And maybe
float/double if we can.

Reviewers: hfinkel, junbuml, jfb, RKSimon, bkramer

Subscribers: llvm-commits

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

llvm-svn: 310055
2017-08-04 12:28:36 +00:00
..
Analysis [InstCombine] Canonicalize clamp of float types to minmax in fast mode. 2017-08-04 12:22:17 +00:00
AsmParser Debug Info: Add a file: field to DIImportedEntity. 2017-07-19 00:09:54 +00:00
BinaryFormat Revert "Revert "Revert "Revert "Switch external cvtres.exe for llvm's own resource library."""" 2017-07-08 03:06:10 +00:00
Bitcode ThinLTO Minimized Bitcode File Size Reduction 2017-07-21 17:25:20 +00:00
CodeGen Fix typo. 2017-08-03 22:41:12 +00:00
DebugInfo [PDB] Fix section contributions 2017-08-03 21:15:09 +00:00
Demangle [ItaniumDemangle] Fix a exponential string copying bug 2017-05-28 23:24:52 +00:00
ExecutionEngine Delete Default and JITDefault code models 2017-08-03 02:16:21 +00:00
Fuzzer Disable libFuzzer tests on Windows 2017-08-04 00:26:12 +00:00
IR Prevent unused warning in non-assert builds (introduced in r310014). 2017-08-04 05:05:29 +00:00
IRReader
LTO Delete Default and JITDefault code models 2017-08-03 02:16:21 +00:00
LineEditor
Linker [Linker] Add directives to support mixing ARM/Thumb module-level inline asm. 2017-07-12 11:52:28 +00:00
MC Don't pass the code model to MC 2017-08-02 20:32:26 +00:00
Object Don't pass the code model to MC 2017-08-02 20:32:26 +00:00
ObjectYAML [yaml2obj][ELF] Add support for program headers 2017-07-19 20:38:46 +00:00
Option [Bash-autocompletion] Show HelpText with possible flags 2017-07-26 13:36:58 +00:00
Passes [PM] Split LoopUnrollPass and make partial unroller a function pass 2017-08-02 20:35:29 +00:00
ProfileData Fix the bug when SampleProfileWriter writes out number of callsites. 2017-08-03 00:09:18 +00:00
Support [Support] Update comments about stdout, raw_fd_ostream, and outs() 2017-08-04 01:39:23 +00:00
TableGen [BinaryFormat, Option, TableGen] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-06-16 00:43:26 +00:00
Target [AMDGPU] Fixed MSVC build break 2017-08-04 10:53:07 +00:00
Testing Mark LLVMTestingSupport as not installed in LLVMBuild. 2017-06-19 22:01:50 +00:00
ToolDrivers llvm: add llvm-dlltool support to the archiver 2017-07-18 21:26:38 +00:00
Transforms [DSE] Merge stores when the later store only writes to memory locations the early store also wrote to. 2017-08-04 12:28:36 +00:00
WindowsManifest Unlink nodes instead of copying, to avoid memory problems. 2017-07-26 18:33:21 +00:00
XRay Xray docs with description of Flight Data Recorder binary format. 2017-08-02 21:47:27 +00:00
CMakeLists.txt Move manifest utils into separate lib, to reduce libxml2 deps. 2017-07-26 01:21:55 +00:00
LLVMBuild.txt Move manifest utils into separate lib, to reduce libxml2 deps. 2017-07-26 01:21:55 +00:00