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:
parent
e895ac195c
commit
c9f385dfda
@ -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>();
|
||||
|
18
test/Transforms/GVN/pr24426.ll
Normal file
18
test/Transforms/GVN/pr24426.ll
Normal 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
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user