For PR1187:
authorReid Spencer <rspencer@reidspencer.com>
Thu, 8 Feb 2007 06:45:02 +0000 (06:45 +0000)
committerReid Spencer <rspencer@reidspencer.com>
Thu, 8 Feb 2007 06:45:02 +0000 (06:45 +0000)
Add some interesting CSRETCC upgrade cases.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34041 91177308-0d34-0410-b5e6-96231b3b80d8

test/Assembler/2007-02-07-UpgradeCSRETCC.ll [new file with mode: 0644]

diff --git a/test/Assembler/2007-02-07-UpgradeCSRETCC.ll b/test/Assembler/2007-02-07-UpgradeCSRETCC.ll
new file mode 100644 (file)
index 0000000..85ad246
--- /dev/null
@@ -0,0 +1,21 @@
+; For PR1187
+; RUN: llvm-upgrade < %s > /dev/null
+
+%mystruct = type { int, double }
+%glob = global %mystruct { int 3, double 42.0 }
+%fptr = external global void (i32)*
+
+implementation
+
+csretcc void %nada(%mystruct * %ptr, int %val) {
+  ret void
+}
+
+int %main(int %argc, ubyte** %argv) {
+  %astr = alloca %mystruct
+  call void %nada(%mystruct* %astr, i32 7)
+  %fptr = alloca void (%mystruct*, i32)*
+  %f = load void (%mystruct*, i32)**%fptr
+  call csretcc void %f(%mystruct* %astr, i32 7)
+  ret int 0
+}