mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-27 12:26:08 +00:00
remove two implemented items
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26728 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -56,20 +56,6 @@ Number 1 is the preferred solution.
|
|||||||
|
|
||||||
//===---------------------------------------------------------------------===//
|
//===---------------------------------------------------------------------===//
|
||||||
|
|
||||||
DAG combine this into mul A, 8:
|
|
||||||
|
|
||||||
int %test(int %A) {
|
|
||||||
%B = mul int %A, 8 ;; shift
|
|
||||||
%C = add int %B, 7 ;; dead, no demanded bits.
|
|
||||||
%D = and int %C, -8 ;; dead once add is gone.
|
|
||||||
ret int %D
|
|
||||||
}
|
|
||||||
|
|
||||||
This sort of thing occurs in the alloca lowering code and other places that
|
|
||||||
are generating alignment of an already aligned value.
|
|
||||||
|
|
||||||
//===---------------------------------------------------------------------===//
|
|
||||||
|
|
||||||
Turn this into a signed shift right in instcombine:
|
Turn this into a signed shift right in instcombine:
|
||||||
|
|
||||||
int f(unsigned x) {
|
int f(unsigned x) {
|
||||||
@@ -81,14 +67,6 @@ http://gcc.gnu.org/ml/gcc-patches/2006-02/msg01492.html
|
|||||||
|
|
||||||
//===---------------------------------------------------------------------===//
|
//===---------------------------------------------------------------------===//
|
||||||
|
|
||||||
We should reassociate:
|
|
||||||
int f(int a, int b){ return a * a + 2 * a * b + b * b; }
|
|
||||||
into:
|
|
||||||
int f(int a, int b) { return a * (a + 2 * b) + b * b; }
|
|
||||||
to eliminate a multiply.
|
|
||||||
|
|
||||||
//===---------------------------------------------------------------------===//
|
|
||||||
|
|
||||||
On targets with expensive 64-bit multiply, we could LSR this:
|
On targets with expensive 64-bit multiply, we could LSR this:
|
||||||
|
|
||||||
for (i = ...; ++i) {
|
for (i = ...; ++i) {
|
||||||
|
Reference in New Issue
Block a user