1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 02:52:53 +02:00

Preserve CFG in MergedLoadStoreMotion. This fixes PR24426.

llvm-svn: 250660
This commit is contained in:
Jakub Staszak 2015-10-18 19:34:10 +00:00
parent e895ac195c
commit c9f385dfda
2 changed files with 19 additions and 0 deletions

View File

@ -118,6 +118,7 @@ public:
private:
// This transformation requires dominator postdominator info
void getAnalysisUsage(AnalysisUsage &AU) const override {
AU.setPreservesCFG();
AU.addRequired<TargetLibraryInfoWrapperPass>();
AU.addRequired<AAResultsWrapperPass>();
AU.addPreserved<GlobalsAAWrapperPass>();

View File

@ -0,0 +1,18 @@
; RUN: opt < %s -memcpyopt -mldst-motion -gvn -S | FileCheck %s
declare void @check(i8)
declare void @write(i8* %res)
define void @test1() {
%1 = alloca [10 x i8]
%2 = bitcast [10 x i8]* %1 to i8*
call void @write(i8* %2)
%3 = load i8, i8* %2
; CHECK-NOT: undef
call void @check(i8 %3)
ret void
}