testcase for PR1335
authorChris Lattner <sabre@nondot.org>
Sun, 15 Apr 2007 21:37:53 +0000 (21:37 +0000)
committerChris Lattner <sabre@nondot.org>
Sun, 15 Apr 2007 21:37:53 +0000 (21:37 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36089 91177308-0d34-0410-b5e6-96231b3b80d8

test/Transforms/Inline/2007-04-15-InlineEH.ll [new file with mode: 0644]

diff --git a/test/Transforms/Inline/2007-04-15-InlineEH.ll b/test/Transforms/Inline/2007-04-15-InlineEH.ll
new file mode 100644 (file)
index 0000000..4984354
--- /dev/null
@@ -0,0 +1,49 @@
+; RUN: llvm-as < %s | opt -inline -disable-output
+; PR1335
+
+target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64"
+target triple = "i686-pc-linux-gnu"
+       %struct.gnat__strings__string_access = type { i8*, %struct.string___XUB* }
+       %struct.string___XUB = type { i32, i32 }
+
+define void @bc__support__high_resolution_time__clock() {
+entry:
+       call void asm "rdtsc\0A\09movl %eax, $0\0A\09movl %edx, $1", "==imr,==imr,~{dirflag},~{fpsr},~{flags},~{dx},~{ax}"( i32* null, i32* null )
+       unreachable
+}
+
+define fastcc void @bc__support__high_resolution_time__initialize_clock_rate() {
+entry:
+       invoke void @gnat__os_lib__getenv( %struct.gnat__strings__string_access* null )
+                       to label %invcont unwind label %cleanup144
+
+invcont:               ; preds = %entry
+       invoke void @ada__calendar__delays__delay_for( )
+                       to label %invcont64 unwind label %cleanup144
+
+invcont64:             ; preds = %invcont
+       invoke void @ada__calendar__clock( )
+                       to label %invcont65 unwind label %cleanup144
+
+invcont65:             ; preds = %invcont64
+       invoke void @bc__support__high_resolution_time__clock( )
+                       to label %invcont67 unwind label %cleanup144
+
+invcont67:             ; preds = %invcont65
+       ret void
+
+cleanup144:            ; preds = %invcont65, %invcont64, %invcont, %entry
+       unwind
+}
+
+declare void @gnat__os_lib__getenv(%struct.gnat__strings__string_access*)
+
+declare void @ada__calendar__delays__delay_for()
+
+declare void @ada__calendar__clock()
+
+define void @bc__support__high_resolution_time___elabb() {
+entry:
+       call fastcc void @bc__support__high_resolution_time__initialize_clock_rate( )
+       ret void
+}