diff options
author | Eli Friedman <eli.friedman@gmail.com> | 2009-05-09 08:40:15 +0000 |
---|---|---|
committer | Eli Friedman <eli.friedman@gmail.com> | 2009-05-09 08:40:15 +0000 |
commit | cea03cdb6946841a951f6c622b117459ea5ca157 (patch) | |
tree | df0c0e08bd3eca525e03c215a53ef1988927f43c | |
parent | 777d2306b36816a53bc1ae1244c0dc7d998ae691 (diff) | |
download | external_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.txt | 26 |
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;} + +//===---------------------------------------------------------------------===// + |