History log of /llvm-project/llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp (Results 451 – 475 of 549)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 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


1...<<11121314151617181920>>...22