mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-23 17:32:49 +00:00
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
This commit is contained in:
parent
777d2306b3
commit
cea03cdb69
@ -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;}
|
||||
|
||||
//===---------------------------------------------------------------------===//
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user