aboutsummaryrefslogtreecommitdiffstats
path: root/test/Transforms/Inline
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2006-01-14 20:07:07 +0000
committerChris Lattner <sabre@nondot.org>2006-01-14 20:07:07 +0000
commit426b2455977432d014b6f60fae54da86713cd1fc (patch)
treebf603170ed84ef849c8478a7f4576176e5825151 /test/Transforms/Inline
parent4c2881ecb97ca9306396b74a61a6ce05f2b9a4f4 (diff)
downloadexternal_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.ll26
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
+}