- Jan 08, 2010
-
-
Chris Lattner authored
llvm-svn: 93007
-
Chris Lattner authored
llvm-svn: 92964
-
Chris Lattner authored
that feeds into a zext, similar to the patch I did yesterday for sext. There is a lot of room for extension beyond this patch. llvm-svn: 92962
-
- Jan 07, 2010
-
-
Benjamin Kramer authored
llvm-svn: 92912
-
Duncan Sands authored
are prepared to look through. llvm-svn: 92898
-
Chris Lattner authored
llvm-svn: 92892
-
Chris Lattner authored
to an element of a vector in a static ctor) which occurs with an unrelated patch I'm testing. Annoyingly, EvaluateStoreInto basically does exactly the same stuff as InsertElement constant folding, but it now handles vectors, and you can't insertelement into a vector. It would be 'really nice' if GEP into a vector were not legal. llvm-svn: 92889
-
- Jan 06, 2010
-
-
Eric Christopher authored
it work for any integer size return type. llvm-svn: 92853
-
Duncan Sands authored
phi nodes when deciding which pointers point to local memory. I actually checked long ago how useful this is, and it isn't very: it hardly ever fires in the testsuite, but since Chris wants it here it is! llvm-svn: 92836
-
Mikhail Glushenkov authored
llvm-svn: 92831
-
Duncan Sands authored
memcpy, memset and other intrinsics that only access their arguments to be readnone if the intrinsic's arguments all point to local memory. This improves the testcase in the README to readonly, but it could in theory be made readnone, however this would involve more sophisticated analysis that looks through the memcpy. llvm-svn: 92829
-
Chris Lattner authored
llvm-svn: 92824
-
Chris Lattner authored
Previously, instcombine would only promote an expression tree to the larger type if doing so eliminated two casts. This is because a need to manually do the sign extend after the promoted expression tree with two shifts. Now, we keep track of whether the result of the computation is going to be properly sign extended already. If so, we can unconditionally promote the expression, which allows us to zap more sext's. This implements rdar://6598839 (aka gcc pr38751) llvm-svn: 92815
-
Chris Lattner authored
llvm-svn: 92800
-
- Jan 05, 2010
-
-
Chris Lattner authored
llvm-svn: 92795
-
Chris Lattner authored
llvm-svn: 92792
-
Chris Lattner authored
llvm-svn: 92790
-
Chris Lattner authored
The only difference is that EvaluateInDifferentType checks to ensure they are profitable before doing them :) llvm-svn: 92788
-
Chris Lattner authored
llvm-svn: 92775
-
Chris Lattner authored
llvm-svn: 92773
-
Benjamin Kramer authored
llvm-svn: 92771
-
Chris Lattner authored
llvm-svn: 92770
-
Chris Lattner authored
llvm-svn: 92768
-
Chris Lattner authored
llvm-svn: 92766
-
Benjamin Kramer authored
llvm-svn: 92760
-
Chris Lattner authored
llvm-svn: 92745
-
Dan Gohman authored
llvm-svn: 92739
-
Dan Gohman authored
llvm-svn: 92735
-
Dan Gohman authored
non-zero trip count. Use SmallVector's pop_back_val(). llvm-svn: 92734
-
Dan Gohman authored
llvm-svn: 92733
-
Dan Gohman authored
RecursivelyDeleteDeadPHINode, and DeleteDeadPHIs return a flag indicating whether they made any changes. llvm-svn: 92732
-
Benjamin Kramer authored
llvm-svn: 92727
-
Benjamin Kramer authored
Avoid going through the LLVMContext for type equality where it's safe to dereference the type pointer. llvm-svn: 92726
-
Chris Lattner authored
llvm-svn: 92712
-
Chris Lattner authored
it does make sense to keep them together, at least for now. llvm-svn: 92711
-
Chris Lattner authored
llvm-svn: 92710
-
Chris Lattner authored
llvm-svn: 92709
-
Chris Lattner authored
llvm-svn: 92708
-
Chris Lattner authored
llvm-svn: 92707
-
Chris Lattner authored
leading/trailing bits. Patch by Alastair Lynn! llvm-svn: 92706
-