From 62c08dd4a1a1e8755ec6cc7cd458fa532c8b5c85 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Thu, 8 Dec 2005 07:13:28 +0000 Subject: [PATCH] Add another important case we miss git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24639 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/PowerPC/README.txt | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/lib/Target/PowerPC/README.txt b/lib/Target/PowerPC/README.txt index 580affb688d..2897655d2d0 100644 --- a/lib/Target/PowerPC/README.txt +++ b/lib/Target/PowerPC/README.txt @@ -222,3 +222,22 @@ The two-addr pass or RA needs to learn when it is profitable to commute an instruction to avoid a copy AFTER the 2-addr instruction. The 2-addr pass currently only commutes to avoid inserting a copy BEFORE the two addr instr. +===-------------------------------------------------------------------------=== + +Compile offsets from allocas: + +int *%test() { + %X = alloca { int, int } + %Y = getelementptr {int,int}* %X, int 0, uint 1 + ret int* %Y +} + +into a single add, not two: + +_test: + addi r2, r1, -8 + addi r3, r2, 4 + blr + +--> important for C++. + -- 2.34.1