1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-26 22:42:46 +02:00
llvm-mirror/lib
Erik Eckstein 724d66d0e1 [DeadStoreElimination] remove a redundant store even if the load is in a different block.
DeadStoreElimination does eliminate a store if it stores a value which was loaded from the same memory location.
So far this worked only if the store is in the same block as the load.
Now we can also handle stores which are in a different block than the load.
Example:

define i32 @test(i1, i32*) {
entry:
  %l2 = load i32, i32* %1, align 4
  br i1 %0, label %bb1, label %bb2
bb1:
  br label %bb3
bb2:
  ; This store is redundant
  store i32 %l2, i32* %1, align 4
  br label %bb3
bb3:
  ret i32 0
}

Differential Revision: http://reviews.llvm.org/D11854

llvm-svn: 244901
2015-08-13 15:36:11 +00:00
..
Analysis [PM/AA] Remove the AliasDebugger pass. 2015-08-12 22:54:47 +00:00
AsmParser Fix with a bit more care. (but only a bit) 2015-08-03 20:55:00 +00:00
Bitcode Rangify for loop, NFC. 2015-08-10 07:04:29 +00:00
CodeGen [WinEHPrepare] Update demotion logic 2015-08-13 14:30:10 +00:00
DebugInfo Fix some comment typos. 2015-08-08 18:27:36 +00:00
ExecutionEngine [mips][mcjit] Calculate correct addend for HI16 and PCHI16 reloc 2015-08-13 15:12:49 +00:00
Fuzzer Fix missing space in libfuzzer's help text. 2015-08-12 20:00:10 +00:00
IR Remove raw_svector_ostream::resync and users. It's no-op after r244870. 2015-08-13 12:42:25 +00:00
IRReader Return a unique_ptr from getLazyBitcodeModule and parseBitcodeFile. NFC. 2015-06-16 22:27:55 +00:00
LibDriver There is only one saver of strings. 2015-08-13 01:07:02 +00:00
LineEditor
Linker Linker: Move distinct MDNodes instead of cloning 2015-08-03 17:09:38 +00:00
LTO Remove access to the DataLayout in the TargetMachine 2015-07-24 16:04:22 +00:00
MC Remove raw_svector_ostream::resync and users. It's no-op after r244870. 2015-08-13 12:42:25 +00:00
Object Convert getSymbolSection to return an ErrorOr. 2015-08-07 23:27:14 +00:00
Option Add an ArgList::AddAllArgs that accepts a vector of OptSpecifier. 2015-07-29 17:34:41 +00:00
Passes
ProfileData Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
Support Modify raw_svector_ostream to use its SmallString without additional buffering. 2015-08-13 06:19:52 +00:00
TableGen TableGen: Support folding casts from bits to int 2015-07-31 01:12:06 +00:00
Target [SystemZ] Support large LLVM IR struct return values 2015-08-13 13:37:06 +00:00
Transforms [DeadStoreElimination] remove a redundant store even if the load is in a different block. 2015-08-13 15:36:11 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile