[llvm-commits] [llvm] r159546 - in /llvm/trunk: lib/Transforms/IPO/GlobalOpt.cpp test/Transforms/GlobalOpt/unnamed-addr.ll
Duncan Sands
baldrick at free.fr
Mon Jul 2 11:55:40 PDT 2012
Author: baldrick
Date: Mon Jul 2 13:55:39 2012
New Revision: 159546
URL: http://llvm.org/viewvc/llvm-project?rev=159546&view=rev
Log:
GlobalOpt forgot to handle bitcast when analyzing globals. Found by inspection.
Modified:
llvm/trunk/lib/Transforms/IPO/GlobalOpt.cpp
llvm/trunk/test/Transforms/GlobalOpt/unnamed-addr.ll
Modified: llvm/trunk/lib/Transforms/IPO/GlobalOpt.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/IPO/GlobalOpt.cpp?rev=159546&r1=159545&r2=159546&view=diff
==============================================================================
--- llvm/trunk/lib/Transforms/IPO/GlobalOpt.cpp (original)
+++ llvm/trunk/lib/Transforms/IPO/GlobalOpt.cpp Mon Jul 2 13:55:39 2012
@@ -254,6 +254,8 @@
GS.StoredType = GlobalStatus::isStored;
}
}
+ } else if (isa<BitCastInst>(I)) {
+ if (AnalyzeGlobal(I, GS, PHIUsers)) return true;
} else if (isa<GetElementPtrInst>(I)) {
if (AnalyzeGlobal(I, GS, PHIUsers)) return true;
} else if (isa<SelectInst>(I)) {
Modified: llvm/trunk/test/Transforms/GlobalOpt/unnamed-addr.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/GlobalOpt/unnamed-addr.ll?rev=159546&r1=159545&r2=159546&view=diff
==============================================================================
--- llvm/trunk/test/Transforms/GlobalOpt/unnamed-addr.ll (original)
+++ llvm/trunk/test/Transforms/GlobalOpt/unnamed-addr.ll Mon Jul 2 13:55:39 2012
@@ -26,7 +26,9 @@
entry:
%arrayidx4 = getelementptr inbounds [4 x i8]* @d, i64 0, i64 %i
%tmp5 = load i8* %arrayidx4, align 1
- %cmp = icmp eq i8 %tmp5, 42
+ %array0 = bitcast [4 x i8]* @d to i8*
+ %tmp6 = load i8* %array0, align 1
+ %cmp = icmp eq i8 %tmp5, %tmp6
ret i1 %cmp
}
More information about the llvm-commits
mailing list