diff options
author | Duncan Sands <baldrick@free.fr> | 2012-10-04 13:53:21 +0000 |
---|---|---|
committer | Duncan Sands <baldrick@free.fr> | 2012-10-04 13:53:21 +0000 |
commit | 7508f946bc4b5022cc4612c8c7492f2e23043976 (patch) | |
tree | cd85fa0a48cf3d8c309f93f60bbbde9b9cccaf2b /test/Transforms/MemCpyOpt | |
parent | ffcf6dffee69bd586ab8aa3e24ebbca1d5d279e7 (diff) | |
download | llvm-7508f946bc4b5022cc4612c8c7492f2e23043976.tar.gz llvm-7508f946bc4b5022cc4612c8c7492f2e23043976.tar.bz2 llvm-7508f946bc4b5022cc4612c8c7492f2e23043976.tar.xz |
In my recent change to avoid use of underaligned memory I didn't notice that
cpyDest can be mutated in some cases, which would then cause a crash later if
indeed the memory was underaligned. This brought down several buildbots, so
I guess the underaligned case is much more common than I thought!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165228 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Transforms/MemCpyOpt')
-rw-r--r-- | test/Transforms/MemCpyOpt/2008-03-13-ReturnSlotBitcast.ll | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/test/Transforms/MemCpyOpt/2008-03-13-ReturnSlotBitcast.ll b/test/Transforms/MemCpyOpt/2008-03-13-ReturnSlotBitcast.ll index 61ba3c7e6c..597b69dee3 100644 --- a/test/Transforms/MemCpyOpt/2008-03-13-ReturnSlotBitcast.ll +++ b/test/Transforms/MemCpyOpt/2008-03-13-ReturnSlotBitcast.ll @@ -9,11 +9,11 @@ declare void @g(%a*) define float @f() { entry: %a_var = alloca %a - %b_var = alloca %b + %b_var = alloca %b, align 1 call void @g(%a* %a_var) %a_i8 = bitcast %a* %a_var to i8* %b_i8 = bitcast %b* %b_var to i8* - call void @llvm.memcpy.p0i8.p0i8.i32(i8* %b_i8, i8* %a_i8, i32 4, i32 4, i1 false) + call void @llvm.memcpy.p0i8.p0i8.i32(i8* %b_i8, i8* %a_i8, i32 4, i32 1, i1 false) %tmp1 = getelementptr %b* %b_var, i32 0, i32 0 %tmp2 = load float* %tmp1 ret float %tmp2 |