summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEli Friedman <eli.friedman@gmail.com>2009-05-09 08:40:15 +0000
committerEli Friedman <eli.friedman@gmail.com>2009-05-09 08:40:15 +0000
commitcea03cdb6946841a951f6c622b117459ea5ca157 (patch)
treedf0c0e08bd3eca525e03c215a53ef1988927f43c
parent777d2306b36816a53bc1ae1244c0dc7d998ae691 (diff)
downloadexternal_llvm-cea03cdb6946841a951f6c622b117459ea5ca157.zip
external_llvm-cea03cdb6946841a951f6c622b117459ea5ca157.tar.gz
external_llvm-cea03cdb6946841a951f6c622b117459ea5ca157.tar.bz2
Remove a completed optimization. Add a potential optimization I ran
into. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71352 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Target/README.txt26
1 files changed, 9 insertions, 17 deletions
diff --git a/lib/Target/README.txt b/lib/Target/README.txt
index 71e8738..2af2d61 100644
--- a/lib/Target/README.txt
+++ b/lib/Target/README.txt
@@ -909,23 +909,6 @@ multiply hi's into a comparison against the mullo.
//===---------------------------------------------------------------------===//
-SROA is not promoting the union on the stack in this example, we should end
-up with no allocas.
-
-union vec2d {
- double e[2];
- double v __attribute__((vector_size(16)));
-};
-typedef union vec2d vec2d;
-
-static vec2d a={{1,2}}, b={{3,4}};
-
-vec2d foo () {
- return (vec2d){ .v = a.v + b.v * (vec2d){{5,5}}.v };
-}
-
-//===---------------------------------------------------------------------===//
-
Better mod/ref analysis for scanf would allow us to eliminate the vtable and a
bunch of other stuff from this example (see PR1604):
@@ -1725,3 +1708,12 @@ The arg promotion pass should make use of nocapture to make its alias analysis
stuff much more precise.
//===---------------------------------------------------------------------===//
+
+The following functions should be optimized to use a select instead of a
+branch (from gcc PR40072):
+
+char char_int(int m) {if(m>7) return 0; return m;}
+int int_char(char m) {if(m>7) return 0; return m;}
+
+//===---------------------------------------------------------------------===//
+