New testcase for folding in some important situations. The first two
come up a lot in the code generated by the C++ front-end for pointers
to member functions. See PR166.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12217 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/Assembler/2004-03-07-FunctionAddressAlignment.llx b/test/Assembler/2004-03-07-FunctionAddressAlignment.llx
new file mode 100644
index 0000000..13f7392
--- /dev/null
+++ b/test/Assembler/2004-03-07-FunctionAddressAlignment.llx
@@ -0,0 +1,15 @@
+; RUN: llvm-as < %s | llvm-dis | not grep cast
+; All of these should be eliminable
+
+
+int %foo() {
+ ret int and (int cast (int()* %foo to int), int 1)
+}
+
+int %foo2() {
+ ret int and (int 1, int cast (int()* %foo2 to int))
+}
+
+bool %foo3() {
+ ret bool cast (bool()* %foo3 to bool)
+}