[llvm-commits] [llvm] r152935 - in /llvm/trunk: lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp test/Transforms/InstCombine/2012-03-16-StoreAlignment.ll

Bill Wendling isanbard at gmail.com
Fri Mar 16 11:20:54 PDT 2012


Author: void
Date: Fri Mar 16 13:20:54 2012
New Revision: 152935

URL: http://llvm.org/viewvc/llvm-project?rev=152935&view=rev
Log:
Revert r152907.

Removed:
    llvm/trunk/test/Transforms/InstCombine/2012-03-16-StoreAlignment.ll
Modified:
    llvm/trunk/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp

Modified: llvm/trunk/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp?rev=152935&r1=152934&r2=152935&view=diff
==============================================================================
--- llvm/trunk/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp (original)
+++ llvm/trunk/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp Fri Mar 16 13:20:54 2012
@@ -379,22 +379,10 @@
     unsigned EffectiveStoreAlign = StoreAlign != 0 ? StoreAlign :
       TD->getABITypeAlignment(Val->getType());
 
-    if (KnownAlign > EffectiveStoreAlign) {
+    if (KnownAlign > EffectiveStoreAlign)
       SI.setAlignment(KnownAlign);
-    } else if (StoreAlign == 0) {
-      unsigned PtrAlign = 0;
-      if (GlobalValue *GV = dyn_cast<GlobalValue>(Ptr->stripPointerCasts()))
-        PtrAlign = GV->getAlignment();
-
-      if (PtrAlign != 0 && PtrAlign < EffectiveStoreAlign)
-        // The pointer alignment may be less than the effective store
-        // alignment. If so, then we don't want to increase the alignment here,
-        // since that could lead to code-gen using instructions which require a
-        // higher alignment than the pointer guarantees.
-        SI.setAlignment(PtrAlign);
-      else
-        SI.setAlignment(EffectiveStoreAlign);
-    }
+    else if (StoreAlign == 0)
+      SI.setAlignment(EffectiveStoreAlign);
   }
 
   // Don't hack volatile/atomic stores.

Removed: llvm/trunk/test/Transforms/InstCombine/2012-03-16-StoreAlignment.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/InstCombine/2012-03-16-StoreAlignment.ll?rev=152934&view=auto
==============================================================================
--- llvm/trunk/test/Transforms/InstCombine/2012-03-16-StoreAlignment.ll (original)
+++ llvm/trunk/test/Transforms/InstCombine/2012-03-16-StoreAlignment.ll (removed)
@@ -1,12 +0,0 @@
-; RUN: opt < %s -S -instcombine | FileCheck %s                                                                                                                                                                          
-target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128"
-
-%0 = type { i32, i8, i8, i8 }
-
- at G = external hidden global %0, align 4
-
-define void @f1(i64 %a1) nounwind ssp align 2 {
-; CHECK: store i64 %a1, i64* bitcast (%0* @G to i64*), align 4                                                                                                                                                          
-  store i64 %a1, i64* bitcast (%0* @G to i64*)
-  ret void
-}





More information about the llvm-commits mailing list