summaryrefslogtreecommitdiffstats
path: root/llvm
diff options
context:
space:
mode:
authorReid Spencer <rspencer@reidspencer.com>2007-02-08 06:45:02 +0000
committerReid Spencer <rspencer@reidspencer.com>2007-02-08 06:45:02 +0000
commit530d2e3051f4a89fc95a5f399ada80d128271f59 (patch)
treeeec33577d41c328b397ee5a9be6c6149029d932e /llvm
parente796b6de451ed58229c29b3748cd69ec2ccf059f (diff)
downloadbcm5719-llvm-530d2e3051f4a89fc95a5f399ada80d128271f59.tar.gz
bcm5719-llvm-530d2e3051f4a89fc95a5f399ada80d128271f59.zip
For PR1187:
Add some interesting CSRETCC upgrade cases. llvm-svn: 34041
Diffstat (limited to 'llvm')
-rw-r--r--llvm/test/Assembler/2007-02-07-UpgradeCSRETCC.ll21
1 files changed, 21 insertions, 0 deletions
diff --git a/llvm/test/Assembler/2007-02-07-UpgradeCSRETCC.ll b/llvm/test/Assembler/2007-02-07-UpgradeCSRETCC.ll
new file mode 100644
index 00000000000..85ad246c0af
--- /dev/null
+++ b/llvm/test/Assembler/2007-02-07-UpgradeCSRETCC.ll
@@ -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
+}
OpenPOWER on IntegriCloud