mirror of
https://github.com/RPCSX/llvm.git
synced 2025-02-01 10:02:42 +00:00
Preserve CFG in MergedLoadStoreMotion. This fixes PR24426.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250660 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
899fdb1533
commit
a05c4c2bca
@ -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…
x
Reference in New Issue
Block a user