diff options
author | Chris Lattner <sabre@nondot.org> | 2006-01-14 20:07:07 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2006-01-14 20:07:07 +0000 |
commit | 426b2455977432d014b6f60fae54da86713cd1fc (patch) | |
tree | bf603170ed84ef849c8478a7f4576176e5825151 /test/Transforms/Inline | |
parent | 4c2881ecb97ca9306396b74a61a6ce05f2b9a4f4 (diff) | |
download | external_llvm-426b2455977432d014b6f60fae54da86713cd1fc.zip external_llvm-426b2455977432d014b6f60fae54da86713cd1fc.tar.gz external_llvm-426b2455977432d014b6f60fae54da86713cd1fc.tar.bz2 |
New testcase for a regression last night: the -inline pass wasn't updating
callgraph to include new edges do to inserted llvm.stacksave/llvm.stackrestore
calls.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25319 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Transforms/Inline')
-rw-r--r-- | test/Transforms/Inline/2006-01-14-CallGraphUpdate.ll | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/test/Transforms/Inline/2006-01-14-CallGraphUpdate.ll b/test/Transforms/Inline/2006-01-14-CallGraphUpdate.ll new file mode 100644 index 0000000..c40fe6f --- /dev/null +++ b/test/Transforms/Inline/2006-01-14-CallGraphUpdate.ll @@ -0,0 +1,26 @@ +; RUN: llvm-as < %s | opt -inline -prune-eh -disable-output + + "struct.std::__codecvt_abstract_base<char,char,__mbstate_t>" = type { "struct.std::locale::facet" } + "struct.std::basic_streambuf<wchar_t,std::char_traits<wchar_t> >" = type { int (...)**, int*, int*, int*, int*, int*, int*, "struct.std::locale" } + "struct.std::ios_base" = type { int (...)**, int, int, uint, uint, uint, "struct.std::ios_base::_Callback_list"*, "struct.std::ios_base::_Words", [8 x "struct.std::ios_base::_Words"], int, "struct.std::ios_base::_Words"*, "struct.std::locale" } + "struct.std::ios_base::_Callback_list" = type { "struct.std::ios_base::_Callback_list"*, void (uint, "struct.std::ios_base"*, int)*, int, int } + "struct.std::ios_base::_Words" = type { sbyte*, int } + "struct.std::locale" = type { "struct.std::locale::_Impl"* } + "struct.std::locale::_Impl" = type { int, "struct.std::locale::facet"**, uint, "struct.std::locale::facet"**, sbyte** } + "struct.std::locale::facet" = type { int (...)**, int } + "struct.std::ostreambuf_iterator<wchar_t,std::char_traits<wchar_t> >" = type { "struct.std::basic_streambuf<wchar_t,std::char_traits<wchar_t> >"*, int } + +implementation ; Functions: + +void %_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewl("struct.std::ostreambuf_iterator<wchar_t,std::char_traits<wchar_t> >"* %agg.result, "struct.std::__codecvt_abstract_base<char,char,__mbstate_t>"* %this, "struct.std::basic_streambuf<wchar_t,std::char_traits<wchar_t> >"* %__s.0__, int %__s.1__, "struct.std::ios_base"* %__io, int %__fill, int %__v) { +entry: + tail call fastcc void %_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIlEES3_S3_RSt8ios_basewT_( ) + ret void +} + +fastcc void %_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIlEES3_S3_RSt8ios_basewT_() { +entry: + %tmp.38 = shl uint 0, ubyte 3 ; <uint> [#uses=1] + %tmp.39 = alloca sbyte, uint %tmp.38 ; <sbyte*> [#uses=0] + ret void +} |