OSDN Git Service

A relatively simple PPC optimization.
authorChris Lattner <sabre@nondot.org>
Wed, 31 Jan 2007 19:49:20 +0000 (19:49 +0000)
committerChris Lattner <sabre@nondot.org>
Wed, 31 Jan 2007 19:49:20 +0000 (19:49 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33709 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/PowerPC/README.txt

index 1c3e204..2114fde 100644 (file)
@@ -595,3 +595,30 @@ register of that class.  If it is then later necessary to spill that reg, so be
 it.
 
 ===-------------------------------------------------------------------------===
+
+We compile this:
+int test(_Bool X) {
+  return X ? 524288 : 0;
+}
+
+to: 
+_test:
+        cmplwi cr0, r3, 0
+        lis r2, 8
+        li r3, 0
+        beq cr0, LBB1_2 ;entry
+LBB1_1: ;entry
+        mr r3, r2
+LBB1_2: ;entry
+        blr 
+
+instead of:
+_test:
+        addic r2,r3,-1
+        subfe r0,r2,r3
+        slwi r3,r0,19
+        blr
+
+This sort of thing occurs a lot due to globalopt.
+
+===-------------------------------------------------------------------------===