diff options
| author | Chris Lattner <sabre@nondot.org> | 2006-12-12 04:24:17 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2006-12-12 04:24:17 +0000 |
| commit | f65ce046db71daf4a4be78dbb7993296510e064c (patch) | |
| tree | acfa952de1fdf389657ece3be3a9b30ac4c4662b | |
| parent | 6ba11fbd7561afe50bf817d204ddbecf8d1062fc (diff) | |
| download | bcm5719-llvm-f65ce046db71daf4a4be78dbb7993296510e064c.tar.gz bcm5719-llvm-f65ce046db71daf4a4be78dbb7993296510e064c.zip | |
new testcase for pr1045
llvm-svn: 32467
| -rw-r--r-- | llvm/test/Regression/Transforms/ScalarRepl/2006-12-11-SROA-Crash.ll | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/llvm/test/Regression/Transforms/ScalarRepl/2006-12-11-SROA-Crash.ll b/llvm/test/Regression/Transforms/ScalarRepl/2006-12-11-SROA-Crash.ll new file mode 100644 index 00000000000..dbabe299959 --- /dev/null +++ b/llvm/test/Regression/Transforms/ScalarRepl/2006-12-11-SROA-Crash.ll @@ -0,0 +1,24 @@ +; RUN: llvm-as < %s | opt -scalarrepl -disable-output +; PR1045 + +target datalayout = "e-p:32:32" +target endian = little +target pointersize = 32 +target triple = "i686-pc-linux-gnu" + "struct.__gnu_cxx::balloc::_Inclusive_between<__gnu_cxx::bitmap_allocator<char>::_Alloc_block*>" = type { "struct.__gnu_cxx::bitmap_allocator<char>::_Alloc_block"* } + "struct.__gnu_cxx::bitmap_allocator<char>" = type { ubyte } + "struct.__gnu_cxx::bitmap_allocator<char>::_Alloc_block" = type { [8 x sbyte] } + +implementation ; Functions: + +void %_ZN9__gnu_cxx16bitmap_allocatorIwE27_M_deallocate_single_objectEPw() { +entry: + %this_addr.i = alloca "struct.__gnu_cxx::balloc::_Inclusive_between<__gnu_cxx::bitmap_allocator<char>::_Alloc_block*>"* ; <"struct.__gnu_cxx::balloc::_Inclusive_between<__gnu_cxx::bitmap_allocator<char>::_Alloc_block*>"**> [#uses=3] + %tmp = alloca "struct.__gnu_cxx::balloc::_Inclusive_between<__gnu_cxx::bitmap_allocator<char>::_Alloc_block*>", align 4 ; <"struct.__gnu_cxx::balloc::_Inclusive_between<__gnu_cxx::bitmap_allocator<char>::_Alloc_block*>"*> [#uses=1] + store "struct.__gnu_cxx::balloc::_Inclusive_between<__gnu_cxx::bitmap_allocator<char>::_Alloc_block*>"* %tmp, "struct.__gnu_cxx::balloc::_Inclusive_between<__gnu_cxx::bitmap_allocator<char>::_Alloc_block*>"** %this_addr.i + %tmp.i = load "struct.__gnu_cxx::balloc::_Inclusive_between<__gnu_cxx::bitmap_allocator<char>::_Alloc_block*>"** %this_addr.i ; <"struct.__gnu_cxx::balloc::_Inclusive_between<__gnu_cxx::bitmap_allocator<char>::_Alloc_block*>"*> [#uses=1] + %tmp.i = bitcast "struct.__gnu_cxx::balloc::_Inclusive_between<__gnu_cxx::bitmap_allocator<char>::_Alloc_block*>"* %tmp.i to "struct.__gnu_cxx::bitmap_allocator<char>"* ; <"struct.__gnu_cxx::bitmap_allocator<char>"*> [#uses=0] + %tmp1.i = load "struct.__gnu_cxx::balloc::_Inclusive_between<__gnu_cxx::bitmap_allocator<char>::_Alloc_block*>"** %this_addr.i ; <"struct.__gnu_cxx::balloc::_Inclusive_between<__gnu_cxx::bitmap_allocator<char>::_Alloc_block*>"*> [#uses=1] + %tmp.i = getelementptr "struct.__gnu_cxx::balloc::_Inclusive_between<__gnu_cxx::bitmap_allocator<char>::_Alloc_block*>"* %tmp1.i, int 0, uint 0 ; <"struct.__gnu_cxx::bitmap_allocator<char>::_Alloc_block"**> [#uses=0] + unreachable +} |

