Changes in directory llvm/lib/Target:
README.txt updated: 1.5 -> 1.6 --- Log message: new test --- Diffs of the changes: (+12 -0) README.txt | 12 ++++++++++++ 1 files changed, 12 insertions(+) Index: llvm/lib/Target/README.txt diff -u llvm/lib/Target/README.txt:1.5 llvm/lib/Target/README.txt:1.6 --- llvm/lib/Target/README.txt:1.5 Sun Feb 5 02:26:16 2006 +++ llvm/lib/Target/README.txt Wed Feb 15 13:52:06 2006 @@ -64,3 +64,15 @@ //===---------------------------------------------------------------------===// +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. + _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits