diff options
-rw-r--r-- | lib/Transforms/Scalar/MemCpyOptimizer.cpp | 3 | ||||
-rw-r--r-- | test/Transforms/MemCpyOpt/form-memset.ll | 7 |
2 files changed, 7 insertions, 3 deletions
diff --git a/lib/Transforms/Scalar/MemCpyOptimizer.cpp b/lib/Transforms/Scalar/MemCpyOptimizer.cpp index 0d3c5c7bdc..41e10ba858 100644 --- a/lib/Transforms/Scalar/MemCpyOptimizer.cpp +++ b/lib/Transforms/Scalar/MemCpyOptimizer.cpp @@ -517,6 +517,9 @@ bool MemCpyOpt::processStore(StoreInst *SI, BasicBlock::iterator &BBI) { } bool MemCpyOpt::processMemSet(MemSetInst *MSI, BasicBlock::iterator &BBI) { + // Temporarily disable this. + return false; + // See if there is another memset or store neighboring this memset which // allows us to widen out the memset to do a single larger store. if (isa<ConstantInt>(MSI->getLength()) && !MSI->isVolatile()) diff --git a/test/Transforms/MemCpyOpt/form-memset.ll b/test/Transforms/MemCpyOpt/form-memset.ll index 1ac97e9e6b..86fe6c4abd 100644 --- a/test/Transforms/MemCpyOpt/form-memset.ll +++ b/test/Transforms/MemCpyOpt/form-memset.ll @@ -202,9 +202,10 @@ entry: %arrayidx = getelementptr inbounds i32* %P, i64 1 store i32 0, i32* %arrayidx, align 4 ret void + ; FIXME: Disabled. ; CHECK: @test5 -; CHECK-NOT: store -; CHECK: call void @llvm.memset.p0i8.i64(i8* %1, i8 0, i64 15, i32 4, i1 false) +; CHECK: store +; CHECK-NOT: call void @llvm.memset.p0i8.i64(i8* %1, i8 0, i64 15, i32 4, i1 false) } ;; Memset followed by memset. @@ -217,6 +218,6 @@ entry: tail call void @llvm.memset.p0i8.i64(i8* %1, i8 0, i64 12, i32 1, i1 false) ret void ; CHECK: @test6 -; CHECK: call void @llvm.memset.p0i8.i64(i8* %2, i8 0, i64 24, i32 1, i1 false) +; CHECK-NOT: call void @llvm.memset.p0i8.i64(i8* %2, i8 0, i64 24, i32 1, i1 false) } |