#
f0af17da |
| 10-Jan-2010 |
Chris Lattner <sabre@nondot.org> |
enhance CanEvaluateZExtd to handle shift left and sext, allowing more expressions to be promoted and casts eliminated.
llvm-svn: 93096
|
#
7723e2b1 |
| 10-Jan-2010 |
Chris Lattner <sabre@nondot.org> |
remove an xform subsumed by EvaluateInDifferentType.
llvm-svn: 93095
|
#
c95a7a21 |
| 10-Jan-2010 |
Chris Lattner <sabre@nondot.org> |
clean up this xform by using m_Trunc.
llvm-svn: 93092
|
#
883550af |
| 10-Jan-2010 |
Chris Lattner <sabre@nondot.org> |
inline and remove the rest of commonIntCastTransforms.
llvm-svn: 93091
|
#
c3aca384 |
| 10-Jan-2010 |
Chris Lattner <sabre@nondot.org> |
Inline the expression type promotion/demotion stuff out of commonIntCastTransforms into the callers, eliminating a switch, and allowing the static predicate methods to be moved down to live next to
Inline the expression type promotion/demotion stuff out of commonIntCastTransforms into the callers, eliminating a switch, and allowing the static predicate methods to be moved down to live next to the corresponding function. No functionality change.
llvm-svn: 93089
show more ...
|
#
9242ae04 |
| 08-Jan-2010 |
Chris Lattner <sabre@nondot.org> |
mplement a theoretical fixme.
llvm-svn: 93024
|
#
10840e9e |
| 08-Jan-2010 |
Chris Lattner <sabre@nondot.org> |
rename CanEvaluateInDifferentType -> CanEvaluateTruncated and simplify it now that it is only used for truncates.
llvm-svn: 93021
|
#
3057c379 |
| 07-Jan-2010 |
Chris Lattner <sabre@nondot.org> |
Enhance instcombine to reason more strongly about promoting computation 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.
Enhance instcombine to reason more strongly about promoting computation 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
show more ...
|
#
4339f2ab |
| 06-Jan-2010 |
Chris Lattner <sabre@nondot.org> |
tweaks suggested by Duncan
llvm-svn: 92824
|
#
98748c09 |
| 06-Jan-2010 |
Chris Lattner <sabre@nondot.org> |
Teach instcombine's sext elimination logic to be more aggressive. Previously, instcombine would only promote an expression tree to the larger type if doing so eliminated two casts. This is because a
Teach instcombine's sext elimination logic to be more aggressive. 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
show more ...
|
#
8600dd3d |
| 05-Jan-2010 |
Chris Lattner <sabre@nondot.org> |
simplify this code.
llvm-svn: 92800
|
#
554d0564 |
| 05-Jan-2010 |
Chris Lattner <sabre@nondot.org> |
make this a static function instead of a method.
llvm-svn: 92795
|
#
a93c63c2 |
| 05-Jan-2010 |
Chris Lattner <sabre@nondot.org> |
more rearrangement and cleanup, fix my test failure.
llvm-svn: 92792
|
#
f476ef50 |
| 05-Jan-2010 |
Chris Lattner <sabre@nondot.org> |
cleanup
llvm-svn: 92790
|
#
f88dd5ed |
| 05-Jan-2010 |
Chris Lattner <sabre@nondot.org> |
remove two trunc xforms that are subsumed by EvaluateInDifferentType. The only difference is that EvaluateInDifferentType checks to ensure they are profitable before doing them :)
llvm-svn: 92788
|
#
44a63815 |
| 05-Jan-2010 |
Chris Lattner <sabre@nondot.org> |
just remove this xform which is subsumed by others.
llvm-svn: 92775
|
#
b82a840e |
| 05-Jan-2010 |
Chris Lattner <sabre@nondot.org> |
move a trunc-specific transform out of commonIntCastTransforms into visitTrunc.
llvm-svn: 92773
|
#
fd7e42b6 |
| 05-Jan-2010 |
Chris Lattner <sabre@nondot.org> |
move a zext specific xform out of commonIntCastTransforms into visitZExt and modernize it.
llvm-svn: 92770
|
#
aaccc8de |
| 05-Jan-2010 |
Chris Lattner <sabre@nondot.org> |
move a trunc-specific xform out of commonIntCastTransforms into visitTrunc
llvm-svn: 92768
|
#
a81a6dff |
| 05-Jan-2010 |
Benjamin Kramer <benny.kra@googlemail.com> |
Convert a ton of simple integer type equality tests to the new predicate.
llvm-svn: 92760
|
#
ccce8bae |
| 05-Jan-2010 |
Benjamin Kramer <benny.kra@googlemail.com> |
Avoid going through the LLVMContext for type equality where it's safe to dereference the type pointer.
llvm-svn: 92726
|
#
59d95743 |
| 04-Jan-2010 |
Chris Lattner <sabre@nondot.org> |
move some more cast-related stuff
llvm-svn: 92471
|
#
92be2adb |
| 04-Jan-2010 |
Chris Lattner <sabre@nondot.org> |
move the [Can]EvaluateInDifferentType functions out to InstCombineCasts.cpp
llvm-svn: 92469
|
#
2b295a0e |
| 04-Jan-2010 |
Chris Lattner <sabre@nondot.org> |
split 943 lines of instcombine out to a new InstCombineCasts.cpp file. InstructionCombining.cpp is now down to a svelte 9300 lines :)
llvm-svn: 92468
|