History log of /llvm-project/llvm/lib/Transforms/Scalar/JumpThreading.cpp (Results 451 – 475 of 567)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 19d0b47b 16-Feb-2010 Duncan Sands <baldrick@free.fr>

There are two ways of checking for a given type, for example isa<PointerType>(T)
and T->isPointerTy(). Convert most instances of the first form to the second form.
Requested by Chris.

llvm-svn: 963

There are two ways of checking for a given type, for example isa<PointerType>(T)
and T->isPointerTy(). Convert most instances of the first form to the second form.
Requested by Chris.

llvm-svn: 96344

show more ...


# 9dff9bec 15-Feb-2010 Duncan Sands <baldrick@free.fr>

Uniformize the names of type predicates: rather than having isFloatTy and
isInteger, we now have isFloatTy and isIntegerTy. Requested by Chris!

llvm-svn: 96223


# d924f636 11-Feb-2010 Chris Lattner <sabre@nondot.org>

Make jump threading honor x|undef -> true and x&undef -> false,
instead of considering x|undef -> x, which may not be true.

llvm-svn: 95850


# 29b15c5c 23-Jan-2010 Chris Lattner <sabre@nondot.org>

third bug from PR6119: the xor dupe extension allows
for arbitrary terminators in predecessors, don't assume
it is a conditional or uncond branch. The testcase shows
an example where they can happen

third bug from PR6119: the xor dupe extension allows
for arbitrary terminators in predecessors, don't assume
it is a conditional or uncond branch. The testcase shows
an example where they can happen with switches.

llvm-svn: 94323

show more ...


# ba2d0b89 23-Jan-2010 Chris Lattner <sabre@nondot.org>

add an early out to ProcessBranchOnXOR to speed it up,
handle the case when we can infer an input to the xor
from all inputs that agree, instead of going into an
infinite loop. Another part of PR619

add an early out to ProcessBranchOnXOR to speed it up,
handle the case when we can infer an input to the xor
from all inputs that agree, instead of going into an
infinite loop. Another part of PR6199

llvm-svn: 94321

show more ...


# de5ab486 23-Jan-2010 Chris Lattner <sabre@nondot.org>

fix a crash in jump threading, PR6119

llvm-svn: 94319


# 573da8ac 12-Jan-2010 Chris Lattner <sabre@nondot.org>

1) Use the new SimplifyInstructionsInBlock routine instead of the copy
in JT.

2) When cloning blocks for PHI or xor conditions, use
instsimplify to simplify the code as we go. This allows us to
sq

1) Use the new SimplifyInstructionsInBlock routine instead of the copy
in JT.

2) When cloning blocks for PHI or xor conditions, use
instsimplify to simplify the code as we go. This allows us to
squish common cases early in JT which opens up opportunities for
subsequent iterations, and allows it to completely simplify the
testcase.

llvm-svn: 93253

show more ...


# af7855d5 12-Jan-2010 Chris Lattner <sabre@nondot.org>

tidy up

llvm-svn: 93222


# eb73bdb2 12-Jan-2010 Chris Lattner <sabre@nondot.org>

Teach jump threading to duplicate small blocks when the branch
condition is a xor with a phi node. This eliminates nonsense
like this from 176.gcc in several places:

LBB166_84:
testl %ea

Teach jump threading to duplicate small blocks when the branch
condition is a xor with a phi node. This eliminates nonsense
like this from 176.gcc in several places:

LBB166_84:
testl %eax, %eax
- setne %al
- xorb %cl, %al
- notb %al
- testb $1, %al
- je LBB166_85
+ je LBB166_69
+ jmp LBB166_85

This is rdar://7391699

llvm-svn: 93221

show more ...


# 6a19ed0b 11-Jan-2010 Chris Lattner <sabre@nondot.org>

some cleanup, and make it obvious that ProcessJumpOnPHI only works
on branches by renaming it and checking for a branch at the call site.

llvm-svn: 93208


# 76e27664 07-Jan-2010 Benjamin Kramer <benny.kra@googlemail.com>

Use a do-while loop instead of while + boolean.

llvm-svn: 92912


# 1efdb455 05-Jan-2010 David Greene <greened@obbligato.org>

Change errs() to dbgs().

llvm-svn: 92614


# f8d22fc7 28-Dec-2009 Chris Lattner <sabre@nondot.org>

Metadata.h doesn't need to include ValueHandle.h anymore.

llvm-svn: 92211


# 6d6f10fe 06-Dec-2009 Chris Lattner <sabre@nondot.org>

fix PR5698

llvm-svn: 90708


# 3c9aca90 01-Dec-2009 Chris Lattner <sabre@nondot.org>

fix PR5640 by tracking whether a block is the header of a loop more
precisely, which prevents us from infinitely peeling the loop.

llvm-svn: 90211


# 9d9812a6 15-Nov-2009 Chris Lattner <sabre@nondot.org>

make PRE of loads preserve the alignment of the moved load instruction.

llvm-svn: 88865


# 5f037b64 15-Nov-2009 Chris Lattner <sabre@nondot.org>

fix a bug handling 'not x' when x is undef.

llvm-svn: 88864


# 5f6b8b2b 12-Nov-2009 Chris Lattner <sabre@nondot.org>

use getPredicateOnEdge to fold comparisons through PHI nodes,
which implements GCC PR18046. This also gets us 360 more
jump threads on 176.gcc.

llvm-svn: 86953


# 22db4b5e 12-Nov-2009 Chris Lattner <sabre@nondot.org>

various fixes to the lattice transfer functions.

llvm-svn: 86952


# c893c4ed 12-Nov-2009 Chris Lattner <sabre@nondot.org>

switch jump threading to use getPredicateOnEdge in one place
making the new LVI stuff smart enough to subsume some special
cases in the old code. Disable them when LVI is around, the
testcase still

switch jump threading to use getPredicateOnEdge in one place
making the new LVI stuff smart enough to subsume some special
cases in the old code. Disable them when LVI is around, the
testcase still passes.

llvm-svn: 86951

show more ...


# ba456169 12-Nov-2009 Chris Lattner <sabre@nondot.org>

with the new code we can thread non-instruction values. This
allows us to handle the test10 testcase.

llvm-svn: 86924


# 3f80d851 12-Nov-2009 Chris Lattner <sabre@nondot.org>

this argument can be an arbitrary value, it doesn't need to be an instruction.

llvm-svn: 86923


# d5e25436 12-Nov-2009 Chris Lattner <sabre@nondot.org>

expose edge information and switch j-t to use it.

llvm-svn: 86920


# 67146695 11-Nov-2009 Chris Lattner <sabre@nondot.org>

pass TD into a SimplifyCmpInst call. Add another case that
uses LVI info when -enable-jump-threading-lvi is passed.

llvm-svn: 86886


# fde1f8d0 11-Nov-2009 Chris Lattner <sabre@nondot.org>

stub out some LazyValueInfo interfaces, and have JumpThreading
start using them in a trivial way when -enable-jump-threading-lvi
is passed. enable-jump-threading-lvi will be my playground for
awhil

stub out some LazyValueInfo interfaces, and have JumpThreading
start using them in a trivial way when -enable-jump-threading-lvi
is passed. enable-jump-threading-lvi will be my playground for
awhile.

llvm-svn: 86789

show more ...


1...<<11121314151617181920>>...23