#
c5c4e96f |
| 22-Jun-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Revert remaining part of r93200: "Disable folding sext(trunc(x)) -> x"
This fixes PR5997.
These transforms were disabled because codegen couldn't deal with other uses of trunc(x). This is now handl
Revert remaining part of r93200: "Disable folding sext(trunc(x)) -> x"
This fixes PR5997.
These transforms were disabled because codegen couldn't deal with other uses of trunc(x). This is now handled by the peephole pass.
This causes no regressions on x86-64.
llvm-svn: 159003
show more ...
|
#
3fa32f24 |
| 20-Jun-2012 |
Nuno Lopes <nunoplopes@sapo.pt> |
replace usage of EmitGEPOffset() with TargetData::getIndexedOffset() when the GEP offset is known to be constant. With this change, we avoid relying on the IR Builder to constant fold the operations.
replace usage of EmitGEPOffset() with TargetData::getIndexedOffset() when the GEP offset is known to be constant. With this change, we avoid relying on the IR Builder to constant fold the operations.
No functionality change intended.
llvm-svn: 158829
show more ...
|
Revision tags: llvmorg-3.1.0, llvmorg-3.1.0-rc3 |
|
#
cb2a1a34 |
| 05-May-2012 |
Stepan Dyatkovskiy <stpworld@narod.ru> |
Small fix in InstCombineCasts.cpp. Restored "alloca + bitcast" reducing for case when alloca's size is calculated within the "add/sub/... nsw". Also added fix to 2011-06-13-nsw-alloca.ll test.
llvm-
Small fix in InstCombineCasts.cpp. Restored "alloca + bitcast" reducing for case when alloca's size is calculated within the "add/sub/... nsw". Also added fix to 2011-06-13-nsw-alloca.ll test.
llvm-svn: 156231
show more ...
|
Revision tags: llvmorg-3.1.0-rc2, llvmorg-3.1.0-rc1 |
|
#
ba0a6cab |
| 04-Apr-2012 |
Rafael Espindola <rafael.espindola@gmail.com> |
Always compute all the bits in ComputeMaskedBits. This allows us to keep passing reduced masks to SimplifyDemandedBits, but know about all the bits if SimplifyDemandedBits fails. This allows instcomb
Always compute all the bits in ComputeMaskedBits. This allows us to keep passing reduced masks to SimplifyDemandedBits, but know about all the bits if SimplifyDemandedBits fails. This allows instcombine to simplify cases like the one in the included testcase.
llvm-svn: 154011
show more ...
|
#
8213c8af |
| 06-Feb-2012 |
Chris Lattner <sabre@nondot.org> |
Remove some dead code and tidy things up now that vectors use ConstantDataVector instead of always using ConstantVector.
llvm-svn: 149912
|
#
46a9f016 |
| 20-Jan-2012 |
David Blaikie <dblaikie@gmail.com> |
More dead code removal (using -Wunreachable-code)
llvm-svn: 148578
|
#
518cda42 |
| 17-Dec-2011 |
Dan Gohman <gohman@apple.com> |
The powers that be have decided that LLVM IR should now support 16-bit "half precision" floating-point with a first-class type.
This patch adds basic IR support (but not codegen support).
llvm-svn:
The powers that be have decided that LLVM IR should now support 16-bit "half precision" floating-point with a first-class type.
This patch adds basic IR support (but not codegen support).
llvm-svn: 146786
show more ...
|
#
e6de63df |
| 01-Dec-2011 |
Chad Rosier <mcrosier@apple.com> |
Last bit of TargetLibraryInfo propagation. Also fixed a case for TargetData where it appeared beneficial to pass. More of rdar://10500969
llvm-svn: 145630
|
#
385d9f6c |
| 30-Nov-2011 |
Chad Rosier <mcrosier@apple.com> |
Whitespace.
llvm-svn: 145470
|
#
82e1bd8e |
| 29-Nov-2011 |
Chad Rosier <mcrosier@apple.com> |
Add support for sqrt, sqrtl, and sqrtf in TargetLibraryInfo. Disable (fptrunc (sqrt (fpext x))) -> (sqrtf x) transformation if -fno-builtin is specified. rdar://10466410
llvm-svn: 145460
|
Revision tags: llvmorg-3.0.0, llvmorg-3.0.0-rc4, llvmorg-3.0.0-rc3, llvmorg-3.0.0-rc2, llvmorg-3.0.0-rc1 |
|
#
547b6c5e |
| 27-Sep-2011 |
Benjamin Kramer <benny.kra@googlemail.com> |
Stop emitting instructions with the name "tmp" they eat up memory and have to be uniqued, without any benefit.
If someone prefers %tmp42 to %42, run instnamer.
llvm-svn: 140634
|
#
5fc81ffb |
| 29-Aug-2011 |
Nadav Rotem <nadav.rotem@intel.com> |
Fixes following the CR by Chris and Duncan:
Optimize chained bitcasts of the form A->B->A. Undo r138722 and change isEliminableCastPair to allow this case.
llvm-svn: 138756
|
#
52600ee8 |
| 28-Aug-2011 |
Nadav Rotem <nadav.rotem@intel.com> |
Bitcasts are transitive. Bitcast-Bitcast-X becomes Bitcast-X.
llvm-svn: 138722
|
#
d1b7849d |
| 25-Jul-2011 |
Jay Foad <jay.foad@gmail.com> |
Convert GetElementPtrInst to use ArrayRef.
llvm-svn: 135904
|
#
040dd82f |
| 22-Jul-2011 |
Jay Foad <jay.foad@gmail.com> |
Convert IRBuilder::CreateGEP and IRBuilder::CreateInBoundsGEP to use ArrayRef.
llvm-svn: 135761
|
#
911e12f5 |
| 20-Jul-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Clean up includes of llvm/Analysis/ConstantFolding.h so it's included where it's used and not included where it isn't.
llvm-svn: 135628
|
#
229907cd |
| 18-Jul-2011 |
Chris Lattner <sabre@nondot.org> |
land David Blaikie's patch to de-constify Type, with a few tweaks.
llvm-svn: 135375
|
#
b94674b3 |
| 13-Jul-2011 |
Evan Cheng <evan.cheng@apple.com> |
It's not safe to fold (fptrunc (sqrt (fpext x))) to (sqrtf x) if there is another use of sqrt. rdar://9763193
llvm-svn: 135058
|
#
3c68b626 |
| 08-Jul-2011 |
Bob Wilson <bob.wilson@apple.com> |
Reapply a fixed version of r133285. This tightens up checking for overflow in alloca sizes, based on feedback from Duncan and John about the change in r132926.
llvm-svn: 134749
|
#
c76b9d8c |
| 17-Jun-2011 |
Chad Rosier <mcrosier@apple.com> |
Revert r133285. Causing odd failures on Dragonegg.
llvm-svn: 133301
|
#
23be986a |
| 17-Jun-2011 |
Stuart Hastings <stuart@apple.com> |
Relocate NUW test to cover all binary ops in a dynamic alloca expr. Followup to 132926. rdar://problem/9265821
llvm-svn: 133285
|
#
351a3f88 |
| 13-Jun-2011 |
Stuart Hastings <stuart@apple.com> |
Avoid fusing bitcasts with dynamic allocas if the amount-to-allocate might overflow. Re-typing the alloca to a larger type (e.g. double) hoists a shift into the alloca, potentially exposing overflow
Avoid fusing bitcasts with dynamic allocas if the amount-to-allocate might overflow. Re-typing the alloca to a larger type (e.g. double) hoists a shift into the alloca, potentially exposing overflow in the expression. rdar://problem/9265821
llvm-svn: 132926
show more ...
|
#
35211c60 |
| 27-May-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Final step of instcombine debuginfo; switch a couple more places over to InsertNewInstWith, and use setDebugLoc for the cases which can't be easily handled by the automated mechanisms.
llvm-svn: 132
Final step of instcombine debuginfo; switch a couple more places over to InsertNewInstWith, and use setDebugLoc for the cases which can't be easily handled by the automated mechanisms.
llvm-svn: 132167
show more ...
|
#
1754a259 |
| 18-May-2011 |
Eli Friedman <eli.friedman@gmail.com> |
More instcombine simplifications towards better debug locations.
llvm-svn: 131596
|
#
b9ed18f2 |
| 18-May-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Use ReplaceInstUsesWith instead of replaceAllUsesWith where appropriate in instcombine.
llvm-svn: 131512
|